作者:唐其彪,單位:中國移動智慧家庭運(yùn)營中心
隨著網(wǎng)絡(luò)應(yīng)用的增多,家庭設(shè)備的增加,IPv4地址枯竭的問題越來越嚴(yán)重。盡管IPv6可以從根本上解決IPv4地址空間不足問題,但目前眾多網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)應(yīng)用大多是基于IPv4的,因此在IPv6廣泛應(yīng)用之前,使用一些過渡技術(shù)(如CIDR、私網(wǎng)地址等)是解決這個問題的主要方式,NAT就是這眾多過渡技術(shù)中的一種。NAT技術(shù)也被應(yīng)用在了中國移動自研的“云網(wǎng)關(guān)”架構(gòu)中。
Part 01●??NAT技術(shù)簡介?●
NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)是將IP數(shù)據(jù)報文頭中的IP地址轉(zhuǎn)換為另一個IP地址的過程。在實際應(yīng)用中,NAT主要用于實現(xiàn)私有網(wǎng)絡(luò)訪問公共網(wǎng)絡(luò)的功能。這種通過使用少量的公網(wǎng)IP地址代表較多的私網(wǎng)IP地址的方式,將有助于減緩可用IP地址空間的枯竭。
(一)NAT的類型
根據(jù)NAT轉(zhuǎn)換是對報文中的源地址進(jìn)行轉(zhuǎn)換還是對目的地址進(jìn)行轉(zhuǎn)換,NAT可以分為源NAT、目的NAT和雙向NAT,下面我們分別介紹這三種NAT類型。
1.源NAT
源NAT在NAT轉(zhuǎn)換時,僅對報文中的源地址進(jìn)行轉(zhuǎn)換,主要應(yīng)用于私網(wǎng)用戶訪問公網(wǎng)的場景。當(dāng)私網(wǎng)用戶主機(jī)訪問Internet時,私網(wǎng)用戶主機(jī)發(fā)送的報文到達(dá)NAT設(shè)備后,設(shè)備通過源NAT技術(shù)將報文中的私網(wǎng)IPv4地址轉(zhuǎn)換成公網(wǎng)IPv4地址,從而使私網(wǎng)用戶可以正常訪問Internet。
2.目的NAT
目的NAT在NAT轉(zhuǎn)換時,僅對報文中的目的地址和目的端口號進(jìn)行轉(zhuǎn)換,主要應(yīng)用于公網(wǎng)用戶訪問私網(wǎng)服務(wù)的場景。當(dāng)公網(wǎng)用戶主機(jī)發(fā)送的報文到達(dá)NAT設(shè)備后,設(shè)備通過目的NAT技術(shù)將報文中的公網(wǎng)IPv4地址轉(zhuǎn)換成私網(wǎng)IPv4地址,從而使公網(wǎng)用戶可以使用公網(wǎng)地址訪問私網(wǎng)服務(wù)。
3.雙向NAT
雙向NAT指的是在轉(zhuǎn)換過程中同時轉(zhuǎn)換報文的源信息和目的信息。雙向NAT不是一個單獨(dú)的功能,而是源NAT和目的NAT的組合。雙向NAT是針對同一條流,在其經(jīng)過設(shè)備時同時轉(zhuǎn)換報文的源地址和目的地址。雙向NAT主要應(yīng)用在同時有外網(wǎng)用戶訪問內(nèi)部服務(wù)器和私網(wǎng)用戶訪問內(nèi)部服務(wù)器的場景。
(二)NAT支持的特殊協(xié)議
NAT不僅實現(xiàn)了一般的地址轉(zhuǎn)換功能,同時提供了完善的地址轉(zhuǎn)換ALG (Application Layer Gateway,應(yīng)用級網(wǎng)關(guān))機(jī)制,使其可以支持一些特殊的應(yīng)用協(xié)議,而不需要對NAT平臺進(jìn)行任何的修改,具有良好的可擴(kuò)充性。這些特殊協(xié)議的報文載荷里攜帶了地址或端口信息,該信息也可能需要進(jìn)行地址轉(zhuǎn)換。可支持的特殊協(xié)議包括:FTP(File Transfer Protocol,文件傳輸協(xié)議)、PPTP(Point-to-Point Tunneling Protocol,點(diǎn)到點(diǎn)隧道協(xié)議)、ICMP(Internet Control Message Protocol,因特網(wǎng)控制消息協(xié)議)、DNS(Domain Name System,域名系統(tǒng))、ILS(Internet Locator Service,Internet定位服務(wù))、RTSP(Real Time Streaming Protocol,實時流協(xié)議)、H.323、SIP(Session Initiation Protocol,會話發(fā)起協(xié)議)、NetMeeting 3.01、NBT(NetBIOS over TCP/IP,基于TCP/IP的網(wǎng)絡(luò)基本輸入輸出系統(tǒng))等。
(三)NAT日志
NAT日志是NAT設(shè)備在進(jìn)行NAT轉(zhuǎn)換時生成的一種系統(tǒng)信息。該信息包括報文的源IP地址、源端口、目的IP地址、目的端口、轉(zhuǎn)換后的源IP地址、轉(zhuǎn)換后的源端口以及用戶執(zhí)行的操作等。它只用于記錄內(nèi)網(wǎng)用戶訪問外部網(wǎng)絡(luò)的情況,不記錄外部用戶對內(nèi)網(wǎng)服務(wù)器的訪問。內(nèi)網(wǎng)用戶通過NAT設(shè)備訪問外部網(wǎng)絡(luò)時,多個用戶共用一個外網(wǎng)地址,從而無法定位訪問網(wǎng)絡(luò)的用戶。利用日志功能可以實時跟蹤、記錄內(nèi)網(wǎng)用戶訪問外部網(wǎng)絡(luò)的情況,增強(qiáng)網(wǎng)絡(luò)的安全性。
Part 02●??NAT技術(shù)在云網(wǎng)關(guān)中的應(yīng)用?●
圖1 云網(wǎng)關(guān)方案架構(gòu)圖
目前中國移動正在大力推進(jìn)云網(wǎng)關(guān)的研發(fā)和落地,其中一種方案為將云網(wǎng)關(guān)作為BRAS后一個網(wǎng)元部署在移動云上。
如圖1所示,該網(wǎng)絡(luò)架構(gòu)使用VXLAN隧道對用戶報文進(jìn)行接入和終結(jié),即每個白盒網(wǎng)關(guān)(ONU)會和云網(wǎng)關(guān)之間創(chuàng)建一條VXLAN隧道,分配到唯一的VNI標(biāo)識,終端的報文在白盒網(wǎng)關(guān)(ONU)被封裝上VXLAN隧道并轉(zhuǎn)發(fā)到云網(wǎng)關(guān),云網(wǎng)關(guān)對報文解封裝獲取到內(nèi)層原始報文,根據(jù)報文的類型進(jìn)行不同的處理,該云網(wǎng)關(guān)架構(gòu)把傳統(tǒng)家庭網(wǎng)關(guān)大部分控制面的功能以及增值業(yè)務(wù)都上移到了BRAS之后的云網(wǎng)關(guān)系統(tǒng)進(jìn)行統(tǒng)一處理。
簡單來說,在云網(wǎng)關(guān)場景下用戶上網(wǎng)過程為:
1、白盒網(wǎng)關(guān)發(fā)起PPPOE撥號,從BRAS獲取到可上網(wǎng)的IP;
2、以PPPOE撥號獲取的IP作為local IP,以及預(yù)先分配好的VNI值,和云網(wǎng)關(guān)之間創(chuàng)建VXLAN隧道;
3、用戶終端(如手機(jī)、PC等)發(fā)起DHCP請求,在白盒網(wǎng)關(guān)封裝上VXLAN隧道轉(zhuǎn)發(fā)到云網(wǎng)關(guān),VXLAN報文在云網(wǎng)關(guān)被解封裝并將原始報文透傳到云網(wǎng)關(guān)控制面,DHCP服務(wù)器分配一個內(nèi)網(wǎng)地址給終端;
4、終端用戶正常上網(wǎng)(包括DNS),報文到達(dá)云網(wǎng)關(guān),通過策略判斷是否訂購了增值業(yè)務(wù):
(4.1)非增值業(yè)務(wù)用戶,使用公網(wǎng)IP做NAT,進(jìn)行公網(wǎng)卸載轉(zhuǎn)發(fā);
(4.2)增值業(yè)務(wù)用戶,發(fā)送到業(yè)務(wù)服務(wù)器,根據(jù)具體訂購的業(yè)務(wù)進(jìn)行后續(xù)處理,對報文進(jìn)行丟棄、加速或者回注等操作。
圖2 NAT在云網(wǎng)關(guān)應(yīng)用拓?fù)鋱D
云網(wǎng)關(guān)使用NAT場景主要分兩部分:
云網(wǎng)關(guān)導(dǎo)流到業(yè)務(wù)服務(wù)器,云網(wǎng)關(guān)根據(jù)用戶VXLAN ID即(VNI)做源NAT,將源IP、源端口轉(zhuǎn)換為業(yè)務(wù)服務(wù)器可識別的源IP、源端口;
云網(wǎng)關(guān)卸載到公網(wǎng),云網(wǎng)關(guān)根據(jù)卸載網(wǎng)口公網(wǎng)IP,做源NAT,將源IP、源端口轉(zhuǎn)換為公網(wǎng)IP和端口。
Part 03●??總結(jié)?●
NAT功能既可以部署在路由器、防火墻和核心三層交換機(jī)等網(wǎng)絡(luò)硬件設(shè)備上,還可以部署在各種軟件代理服務(wù)器上,如Proxy等。相對而言,NAT部署在網(wǎng)絡(luò)硬件設(shè)備上時,具有處理速度快、安全性高等特點(diǎn),適用于大中型企業(yè);而部署在軟件代理服務(wù)器上時,成本較低、轉(zhuǎn)換速度較慢,適用于小型企業(yè)。目前,中國移動智慧家庭運(yùn)營中心已經(jīng)完成基于NAT技術(shù)的云網(wǎng)關(guān)自研,并在多省完成試點(diǎn)部署,形成了完整的端到端解決方案。
參考文獻(xiàn)
[1] NAT技術(shù),知乎,2021年1月8日,https://zhuanlan.zhihu.com/p/342849102 (訪問日期:2023年8月17日).
[2]?NAT技術(shù)介紹,新華三官網(wǎng),2021年6月2日,https://www.h3c.com/cn/d_200812/624141_30003_0.htm(訪問日期:2023年8月17日).