如果isp在分配ip給個人的時候,用了nat導致有一些用戶的公網ip一致,那這些用戶是通過什麼方式來區分的?


過去IP地址還充足的時候,運營商用PAT(Port Address Translation)可以把用戶的私網IP多對一地翻譯成一個公網IP,然後以埠號來區分他們。

不過自從IANA在2011年二月宣佈IPv4地址枯竭後,世界各地ISP目前普遍用的是CGN(Carrier Grade NAT,運營商級NAT),也叫NAT444,就是用戶的私網IP在運營商那邊被翻譯兩次,第一次被翻譯成私網IP(這個私網IP是運營商自己的),第二次再被翻譯成公網IP。如果你發現自己的公網IP是10.X.X.X,192.168.X.X或者100.64-127.x.x(因為ISP第一次翻譯時使用的私網IP有可能和用戶本身使用的私網IP衝突,因此IETF於2012年4月發布的RFC 6598專門為CGN預留了一個「共享地址空間」,即100.64.0.0/10),那麼「恭喜」你,你的ISP為你提供的是有很多弊端的CGN。


不同用戶經運營商NAT之後,會存在一部分用戶在訪問公網時候是使用同一個公網IP地址進行訪問。 NAT設備自己會保存一份NAT地址映射表,將公網地址的不同埠與你訪問出網的源地址及源埠形成對應關係,這樣就可以區分不同用戶了。


正常情況下沒有可能


分配的公網ip不會發送給用戶,用戶收到的是私有ip。同一系統下分配給用戶的私有ip不會重複,運營商以此來區分用戶,並維護公網ip和私有ip的地址埠映射表


你家裡的多個設備時使用了同一個公網地址對吧。那麼,你這麼多設備是怎麼使用同一個地址的呢?怎麼區分?

劃一個內網,接上去不就行了?


公網IP是不會重複的,你說的nat是:

內網機器(使用內網IP)通過同一個公網IP訪問公網的方案。

簡單說就是,內網把請求數據包交給nat路由器,路由器把數據包的內網IP替換成公網IP扔出去,收到響應再把IP改回內網機器IP扔回去。

具體你可以搜索NAT原理就知道了。

很多ISP,比如移動也是給用戶分配內網IP,通過NAT上網。


公用IP不可能重複。


推薦閱讀:
相關文章