電信級NAT

電信級NAT營運商級NATCarrier-grade NAT,縮寫為CGNATCGN),也稱大規模NATlarge-scale NAT,縮寫LSN),是營運商為了緩解IPv4地址枯竭問題,向客戶分配私網IPv4地址而非公網地址,並通過自身的中介軟體完成的網絡地址轉換(NAT)操作。[1]電信級NAT可以讓更多的終端裝置共用一個公共地址。

電信級NAT示意圖。

電信級NAT的一種常見應用場景為NAT444。該場景中,客戶到公網的訪問將經歷兩次NAT:源地址由客戶的私有網段先轉換至營運商的私有網段,再轉換至營運商的公網IPv4地址。[2]

另一種電信級NAT的場景是雙棧精簡版(Dual-Stack Lite,也稱DS-Lite),其中營運商的網絡使用IPv6,因此只需要兩個IPv4網段。

共用地址空間

如果營運商使用RFC 1918中的地址作為電信級NAT的地址空間,那麼已經使用RFC 1918空間的客戶裝置將存在與之衝突的風險,原因是如果網絡介面的內部地址與外部地址相同,路由和NAT將無法正常工作。

此情況促使一些營運商通過ARIN制定政策,希望為電信級NAT分配新的私有地址空間,但遭到了ARIN的推遲,直到IETF通過了備忘錄RFC 2860,明確了分配IP位址的若干細節問題。

IETF之後發佈了RFC 6598,詳述了為電信級NAT部署使用的共用地址空間。ARIN根據此分配的需求將地址空間返還給了IANA[3]分配的地址塊為100.64.0.0/10,即100.64.0.0到100.127.255.255。[4]

優點

  • 最大化利用本已有限的IPv4地址空間。
  • 由於客戶的裝置不直接存在於公網上,可能在一定程度上有助於保護其免受攻擊

缺點

電信級NAT遭受到了如下批評:

  • 與任何形式的NAT一樣,電信級NAT違背了端到端原則[5]
  • 由於其有狀態英語Stateful的特性,電信級NAT有顯著的安全性、可延伸性可靠性問題。
  • 電信級NAT使執法行動查閱變得更加困難,因為需要保留額外的NAT紀錄檔。
  • 在電信級NAT下無法執行網絡寄存服務。
  • 無法對需要公網IPv4地址的業務(如網絡寄存服務)使用電信級NAT,因而其對解決IPv4地址枯竭問題作用有限。

電信級NAT通常會阻止客戶使用埠對映,因為網絡地址轉換(NAT)通常通過將網絡中NAT裝置的埠對映到外部介面的其他來實現,這樣路由器才能將請求對映到到正確的裝置。在電信級NAT網絡中,即使客戶端的路由器已組態通訊埠轉發,營運商處執行電信級NAT的主路由器仍將阻止通訊埠轉發,因此實際的埠將不是客戶組態的埠。[6]為了克服前者的缺點,埠控制協定英語Port Control Protocol(PCP)已在RFC 6887中標準化。

此外,在極少數情況下,可能會遇到IP位址封禁問題。以維基百科為例,系統會封禁破壞者的IP位址。如果該IP位址恰巧為某電信級NAT的出口地址,那麼該NAT下的正常用戶將同時被封鎖。[6]

參見

參考資料

  1. ^ RFC 6264 - An Incremental Carrier-Grade NAT (CGN) for IPv6 Transition. [2016-12-31]. (原始內容存檔於2017-01-28). 
  2. ^ NAT444 (CGN/LSN) and What it Breaks. [2016-12-31]. (原始內容存檔於2012-05-18). 
  3. ^ Re: shared address space... a reality!. [13 September 2012]. (原始內容存檔於2017-02-03). 
  4. ^ 100.64.0.0/10 – Shared Transition Space. [2016-12-31]. (原始內容存檔於2012-05-03). 
  5. ^ Assessing the Impact of NAT444 on Network Applications. [2016-12-31]. (原始內容存檔於2020-06-02). 
  6. ^ 6.0 6.1 存档副本 (PDF). [2016-12-31]. (原始內容存檔 (PDF)於2016-03-04). 

外部連結