大規模NAT能拯救IPv4嗎?
原創【51CTO.com 10月11日外電頭條】我此前曾撰文呼吁過應該及早從IPv4向IPv6過渡,IPv4地址即將枯竭,在全球路由切換到IPv6之前,我們要陷入一個困難的過渡時期,對于大多數公共內容,我們仍然希望使用IPv4可訪問,大規模NAT(Large Scale NAT,LSN)或電信級NAT(Carrier Grade NAT,CGN)是過渡期間服務提供商延長公共IPv4地址空間壽命最基本的技術。
一位年長的IT管理人員告訴我:“如果LSN能延長IPv4地址空間的壽命,那我們為什么還要費心費力地部署IPv6呢?何不部署LSN,IPv6暫緩?時間一晃,也許我就該退休了!”,雖然這個家伙的話有點消極,但LSN的確能延長IPv4地址空間的壽命,但難道這樣Internet就不應該過渡到IPv6嗎?本文就來解答這些疑問,并列舉一些缺點證明LSN只是一個臨時的解決辦法,轉移到IPv6是不可避免的。
LSN架構概覽
傳統的寬帶服務供應商只給每個客戶網絡的NAT外部接口分配一個公共IPv4地址,這樣做的目的就是為了節省有限的IPv4地址空間,在NAT后面,所有設備全部分配私有IPv4地址,NAT負責公共IPv4地址和私有IPv4地址之間的映射,一般來說需要結合IPv4地址和TCP或UDP端口號才能確定應用程序或計算機的身份,換句話說就是,NAT要通過映射應用程序數據流,將多個配有私有IPv4地址的設備連接到配有一個外部地址的設備。
端口是16位數字,因此最多可將65536個TCP和UDP流映射到單個IPv4地址,基本上不會有哪個家庭或小型公司會在同一時間產生這么大的數據流,因此可以應付絕大多數的上網需求。
LSN是置于服務供應商網絡中的一個“集中化NAT”,無論是附加在客戶網絡邊緣的NAT,如NAT444,還是代替客戶的NAT,如DS-Lite,LSN概念都是一樣的:公共IPv4地址遠離客戶網絡,多個客戶網絡共享一個公共IPv4地址。
LSN架構設計的主要內容就是設計每個LSN的戰略布局,以及在不使LSN本身超負荷的情況下,設計每個公共IPv4地址的最佳使用容量,按照以往的經驗,每個LSN每個公共IPv4地址應該可以支持3000-5000用戶。#p#
你是誰?LSN讓網絡身份識別難上加難
從有網絡以來,我們就是通過IP地址來識別用戶或計算機的,但集中化公共IPv4地址后,每個地址就不能再代表一臺機器,一個家庭或一個小型分支機構了,現在一個地址可能會代表數千臺計算機,數千個家庭和分支機構,因此要通過IP地址進行身份識別就變得不現實或很困難了。
長久以來,人們總是認為位于NAT后面的網絡很安全,在我看來,這是錯誤的,除了共享有限的互聯網帶寬外,給網絡管理也帶來了前所未有的挑戰。
本是惡作劇,但可能造成意想不到的后果
我喜歡參加互聯網上的一些政治討論組,可以學習到不少東西,還可以享受辯論的樂趣,如果你曾經參加過互聯網討論組,特別是討論有爭議的問題,你一定知道有人會故意給討論會添亂,他們喜歡發表煽動性言論,旨在破壞參與者的思路,這種人喜歡在允許發表公開意見的網站發表所謂的“高論”,主要是吸引對政治和宗教感興趣的人參與討論。
有時這些人因言論過激會被禁言,甚至刪除賬號,但他們只要用新的Hotmail或Yahoo郵件地址就可以注冊新的用戶,并繼續搞破壞。為了防止這種“慣犯”行為,有些網站會通過禁用IP地址封殺言行不端的用戶,這樣相當于是禁用了用戶的計算機,如果該IP地址恰好地一個家庭或小型分支機構的NAT外部接口,該網絡中的其他用戶就無辜被禁,這就是NAT的缺點,為了限制某一個用戶,或許會讓數以千計的用戶被牽連。
如果在LSN網絡中有人不懷好意,他可以故意違反某個網站的規定,于是網站管理員會通過封IP實施懲罰,但殊不知這一行為會導致該LSN中的大量用戶同樣受到影響,從安全的角度講,這算是一次小規模的拒絕服務攻擊,也許網站管理員根本毫不知情。
黑名單和白名單,必須在NAT兩端實施
不僅網站需要基于IP地址的黑名單用戶列表,本地服務商也需要黑名單,當然也需要白名單(綠色通道),黑名單和白名單常用于對付垃圾郵件和病毒控制,但黑名單還可以用于強制實施使用策略。
在LSN架構中,黑名單和白名單可能需要分開,應用于入站通信的策略必須在LSN的外部接口上得到落實,當數據包轉換后,如果沒有LSN的映射表,就很難通過IPv4地址進行身份識別了,同樣,應用于出站通信的策略必須在LSN面向用戶的一側得到落實。#p#
合法監聽一個人,所有人可能都會被監聽
集中的地址和端口會給合法監聽需求帶來極大的挑戰,DHCP分配給傳統NAT網絡的IP地址在客戶端很少改變,因此在這種情況下要實施合法監聽相對比較容易,即便是在NAT444架構下,實施合法監聽還是相當容易的,只要在LSN和CPE NAT之間監聽即可。
在DS-Lite架構下,由于采用了IPv6中走IPv4的隧道模式,監聽必須在LSN自身上進行,在LSN上必須維護地址和端口的映射的時間戳記錄,但這樣又會給LSN設備增加沉重的負擔,記錄到LSN范圍之外的存儲設備也將有助于減輕LSN網絡的負載。
單一主題的監聽可能意味著在單一地址上將用戶靜態映射到特定范圍的端口,因此有些端口可能是為合法監聽預留的,但在LSN環境中,所有用戶的通信都將被監聽。
反向追蹤的資源消耗巨大
地址和端口映射的時間戳記錄不僅可以用于合法監聽,還可以用于追蹤特殊用戶,如垃圾郵件發送者,DoS源,或違反使用策略的偏激用戶,如果沒有地址和端口映射的時間戳記錄,隱藏在LSN背后的行為不端者將會安然無恙。
但合法監聽需要記錄一或多個用戶,如果要進行精準追蹤,可能要對全體用戶進行記錄,至少要按照一定的采樣率進行抽樣記錄,僅這一項就會造成大量的資源消耗,一個折中的辦法是當檢測到問題時開啟追蹤記錄,但這需要不端行為持續時間長才行。
雙重NAT問題
關于NAT444一直都有一個抱怨,它破壞了那些引用了IP地址的應用程序,理想情況下,應用程序應該與網絡層無關,因此地址變化不應該對其有任何影響,但事實上,很多應用程序都引用了IP地址,或者說綁定了IP地址,一旦IP發生變化,應用程序很可能出現異?;虿豢捎谩?/P>
NAT444的雙重NAT結構可能會破壞那些原本可以在單NAT環境下正常運行的應用程序,一些應用程序廠商已經在測試自己的應用程序是否會受NAT444架構的影響。
DS-Lite避免了NAT444的雙重NAT問題,它已成為現今許多寬帶運營商的首選方案,但有些LSN供應商只能在他們的路線圖上看到DS-Lite的影子,而未正式部署,在DS-Lite基礎上部署CPE的就更少了。
最終結論:LSN只是過渡性技術,IPv6不可替代
關于LSN還有其它許多值得關注的問題,如單點故障,潛在的地址池資源耗盡攻擊,性能和擴展性,數據包碎片的影響,非對稱通信流的影響,為滿足配置系統需要的修改,為滿足內部會計制度需要的修改等。
因為IPv6已經讓我們等待太久了,在IPv4地址面臨枯竭的背景下,LSN是不得已而為之的臨時解決辦法,但LSN的復雜性和它引起的問題注定它不會成為主流,它始終只是一個過渡性技術,IPv6是沒有替代品的。
原文標題:Can Large Scale NAT Save IPv4? 原文作者:jdoyle
【51CTO.com獨家譯稿,非經授權謝絕轉載!合作媒體轉載請注明原文出處及作者!】