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