什么是NAT?
NAT,即Network Address Translation,中文全稱為網絡地址轉換,用于提供多臺設備使用同一個公網IP上網的設備,于1994年提出,現(xiàn)在大部分家寬用的都是NAT上網
為什么用NAT而不是體驗更好的公網IPv4
這確實沒辦法,盡管運營商提出了動態(tài)公網IPv4之類的技術,想盡辦法提高公網IPv4可用性,然而公網IPv4地址早已枯竭,不用NAT不行(因為IPv6 1998年才開發(fā)出來的)
NAT會不會影響上網體驗?
有那么一點點,主要是看NAT等級
NAT主要分為NAT1,2,3,4這幾個等級
NAT1,F(xiàn)ull Cone NAT,全錐形NAT,這種NAT不會對上網造成太大影響,因為NAT1允許在訪問外網時創(chuàng)建一個固定端口并綁定到內網對應端口,不受IP端口限制,也是NAT里面限制最松的一個,也最接近公網IP,當你訪問外網服務器時,NAT會保存連接信息,直到停止訪問前你可以和服務器自由的交換數(shù)據(jù)
舉個例子
假設客戶端內網IP為192.168.1.4,服務器是124.78.24.119,NAT公網為117.168.224.36,內網為192.168.1.24
當客戶端訪問124.78.24.119時,會在本地創(chuàng)建端口用于訪問,我們假定這個端口為8076
然后192.168.1.4:8076給124.78.24.119:443發(fā)數(shù)據(jù)包,NAT會設置隨機訪問端口,綁定到客戶端,然后設置外網訪問端口為8447
這樣,就形成了一個映射,當192.168.1.4:8076訪問這個服務器時,NAT會讀取訪問目標的IP,如果是124.78.24.119,就轉發(fā)到8447端口,訪問目標服務器
當服務器返回數(shù)據(jù)包到8447端口時,NAT會轉發(fā)到192.168.1.4:8067
就是下面這個樣子
192.168.1.4:8067 ------ 192.168.1.24:8000(117.168.224.36:8447) --------- 124.78.24.119:443?
直到客戶端和服務器均停止訪問后,NAT才會釋放端口,這個映射會被保留下來,如果雙方中任何一方給對方發(fā)數(shù)據(jù)包,都會被NAT無條件轉發(fā),盡管來源不可靠,因為限制松,所以這種NAT安全性不高
簡單來說,65535個門,小區(qū)保安天天睡大覺,你隨便來
這種NAT沒有影響使用這一說
NAT2,Address-Restricted Cone NAT,受限錐型NAT
這種NAT于NAT1相比,限制了訪問地址,即客戶端訪問過服務器,才會建立映射,沒有訪問前外網數(shù)據(jù)包會被NAT全部丟棄
就是我沒找你前,你不能找我,我找你之前你找我,會被小區(qū)保安趕出去,我給你卡你就不會被趕出去了,這卡65535個門都能開
這種NAT影響不大
NAT3: Port-Restricted Cone NAT 端口受限型圓錐
這種NAT于NAT2相比,限制了訪問地址和端口,即客戶端訪問過服務器,才會建立特定端口的映射,沒有訪問前外網數(shù)據(jù)包會被NAT全部丟棄
就是小區(qū)65535個門,我手上的卡只能開其中幾十個門,你得找到對應的門才能進去,不然會被保安趕出去
這個就開始影響使用體驗了
NAT4: Symmetric NAT,對稱型NAT
這種NAT于NAT3相比,限制了訪問地址和端口,即客戶端訪問過服務器,才會建立特定端口的映射,這個映射只能用一次,下次訪問就會綁定新端口,沒有訪問前外網數(shù)據(jù)包會被NAT全部丟棄
就是小區(qū)65535個門,我手上的沒卡,只有一次性出入條,也只能開其中幾十個門,你得找到對應的門才能進去,不然會被保安趕出去
這個就嚴重影響體驗了,因為每次都分配新端口還有限制,在沒有中繼服務器的情況下游戲聯(lián)機根本連不上,就算連上也是立刻斷開,沒辦法穩(wěn)定聯(lián)機,因為聯(lián)機需要多次請求,但是每次請求都是新端口
離譜的是移動電信聯(lián)通還要全國統(tǒng)一,so,你懂的,如果使用不好就投訴