淺析NAT技術在雲端網關的應用

淺析NAT技術在雲端網關的應用

NAT就是這眾多過渡技術中的一種。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技術在雲端閘道的應用  

圖1 雲端網關方案架構圖

目前中國移動正大力推動雲端閘道的研發與落地,其中一種方案為將雲端閘道作為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)加值業務用戶,發送到業務伺服器,依照特定訂購的業務進行後續處理,將封包丟棄、加速或回注等作業。

圖2 NAT在雲端網關應用拓樸圖

雲端網關使用NAT場景主要分為兩部分:

  • 雲端閘道導流到業務伺服器,雲端閘道依據用戶VXLAN ID即(VNI)做來源NAT,將來源IP、來源連接埠轉換為業務伺服器可識別的來源IP、來源連接埠;
  • 雲端網關卸載到公網,雲端網關依據卸載網口公網IP,做來源NAT,將來源IP、來源埠轉換為公網IP和連接埠。

Part 03、總結 

NAT功能既可部署在路由器、防火牆和核心三層交換器等網路硬體設備上,還可部署在各種軟體代理伺服器上,例如Proxy等。相對而言,NAT部署在網路硬體設備上時,具有處理速度快、安全性高等特點,適用於大中型企業;而部署在軟體代理伺服器上時,成本較低、轉換速度較慢,適用於小型企業。目前,中國行動智慧家庭營運中心已完成基於NAT技術的雲端網關自研,並在多省完成試點部署,形成了完整的端到端解決方案。