你知道什么是公網(wǎng)IP和私網(wǎng)IP嗎?IP地址枯竭又是什么梗?
說起IP地址大家都知道,但是經(jīng)常搞網(wǎng)絡(luò)的朋友應(yīng)該聽說過公網(wǎng)IP和私網(wǎng)IP,話說什么是公網(wǎng)IP什么是私網(wǎng)IP你了解嗎?還有幾年前就聽說IP地址資源枯竭了,為什么到現(xiàn)在還能繼續(xù)用,下面由億說電腦張一億給大家詳細(xì)解說下關(guān)于IP地址的這些話題。
Ip地址,全稱(Internet Protocol Address)翻譯成中文意思就是指互聯(lián)網(wǎng)協(xié)議地址。關(guān)于IP地址簡(jiǎn)單的講就是給所有的電腦分配一個(gè)統(tǒng)一格式的唯一的虛擬地址編號(hào),IP地址的格式是一個(gè)32位的二進(jìn)制數(shù),通常被分割為4個(gè)“8位二進(jìn)制數(shù)”,轉(zhuǎn)換成十進(jìn)制就是每個(gè)數(shù)段從0-255,它表示的范圍是從0.0.0.0至255.255.255.255。
IP地址的作用是什么呢?IP地址好比就是我們每個(gè)人都有一個(gè)身份證一樣,每個(gè)號(hào)碼對(duì)應(yīng)一個(gè)人,不可能有重復(fù),IP地址就好比每臺(tái)電腦都有自己上網(wǎng)用的身份編號(hào),我們?cè)诰W(wǎng)絡(luò)上交互的時(shí)候不管是發(fā)送數(shù)據(jù)還是接收數(shù)據(jù)都要帶上這個(gè)數(shù)字的虛擬地址。打個(gè)比方,有A、B、C三臺(tái)電腦連接在同一個(gè)交換機(jī)上,它們的IP地址分別為192.168.0.1,192.168.0.2,192.168.0.3,電腦A要給電腦C傳輸數(shù)據(jù),就在發(fā)送的數(shù)據(jù)包的包頭里加上這個(gè)包含192.168.0.3這個(gè)IP地址,這樣數(shù)據(jù)包發(fā)送到交換機(jī)的時(shí)候交換機(jī)就會(huì)根據(jù)數(shù)據(jù)包包頭里IP地址才能準(zhǔn)確的把數(shù)據(jù)包發(fā)送到電腦C而不是電腦B。我們這三臺(tái)電腦加上交換機(jī)就組成了一個(gè)小的可以用來交互數(shù)據(jù)的網(wǎng)絡(luò),這就是傳說中的局域網(wǎng)了。
三臺(tái)電腦組成的網(wǎng)絡(luò)太小了,我要去加入一個(gè)新的局域網(wǎng),讓新的局域網(wǎng)能和之前的局域風(fēng)實(shí)現(xiàn)數(shù)據(jù)互通,我們只需要把這兩個(gè)局域網(wǎng)的交換機(jī)連接起來就可以了,于是我們得到了一個(gè)更大規(guī)模的局域網(wǎng)了。就這樣我們新增的局域網(wǎng)越業(yè)越多,同樣的出現(xiàn)的接口和線纜也越來越多,需要的交換機(jī)也越多越多,最后幾乎世界的所有人的電腦都加入到了這個(gè)局域網(wǎng)當(dāng)中,這個(gè)宏大規(guī)??梢赃B接全世界的各種設(shè)備的網(wǎng)絡(luò)就是廣域網(wǎng)。
要把世界所有的設(shè)備都連接起來可不是件容易的事情,需要在各種重要的城市建設(shè)骨干服務(wù)器,在不同的地方還要布置分支服務(wù)器并將線路布置到每個(gè)角落可以讓我們所有人都能接入進(jìn)去。這是一個(gè)需要投入大量資金還要大量的后期維護(hù)的超大工程,帶頭做這些事情組織就是我們所說的ISP(互聯(lián)網(wǎng)服務(wù)提供商),也就是我們平時(shí)說電信、聯(lián)通和移動(dòng)。正因?yàn)樘峁┗ヂ?lián)網(wǎng)服務(wù)需要大量的成本所以他們是不可能免費(fèi)給我們用的。
說完了局域網(wǎng)和廣域網(wǎng)大家應(yīng)該對(duì)網(wǎng)絡(luò)的組成和原理大致解理了吧。再來看我們的主角IP地址,上面說了它是由4個(gè)8位的二進(jìn)制組成,也就是2的32次方,折合十進(jìn)制大約42.28億。也就是說它只能提供42.28億個(gè)地址,再加上有些IP地址有特殊的用途所以保留了下來不允許給大眾使用,真正給被我們所用的只有36.47億個(gè)。但是全球的人數(shù)已遠(yuǎn)超這個(gè)數(shù)字了,即便有的人不用網(wǎng)絡(luò),但是用到網(wǎng)絡(luò)的人也不可能只有一臺(tái)設(shè)備要用,所以現(xiàn)有的IPV4已經(jīng)不夠用了,在2011年的時(shí)候分配的IPV4就已經(jīng)枯竭了。
IPV4的地址已經(jīng)用完了,那么如果有新用戶繼續(xù)加入,很難做到讓每個(gè)設(shè)備都擁有自己的獨(dú)立IP地址。這就引進(jìn)了一項(xiàng)新技術(shù)就是NAT網(wǎng)絡(luò)地址轉(zhuǎn)換。
假設(shè)還是那三臺(tái)電腦A、B、C接到一個(gè)路由器上,IP分別為192.168.0.1,192.168.0.2,192.168.0.3,接入廣域網(wǎng)的IP假設(shè)為8.8.8.8,由于路由器是接入廣域網(wǎng)并執(zhí)行NAT的,這個(gè)路由器就是我們的網(wǎng)關(guān)。當(dāng)其中一臺(tái)電腦要訪問網(wǎng)絡(luò)上IP為101.102.103.104的設(shè)備時(shí),這臺(tái)電腦的IP會(huì)被轉(zhuǎn)換為8.8.8.8,以8.8.8.8這個(gè)IP把數(shù)據(jù)包發(fā)送出去。路由器下的這三臺(tái)電腦都是通過NAT把原有的IP轉(zhuǎn)換成8.8.8.8再把數(shù)據(jù)包發(fā)送出去,實(shí)際上就是這三臺(tái)電腦共用一個(gè)IP。
同理,101.102.103.104這個(gè)網(wǎng)關(guān)它的下面也會(huì)掛載多臺(tái)電腦,問題來了,如果其中一臺(tái)電腦要接收數(shù)據(jù)包的時(shí)候101.102.103.104這個(gè)網(wǎng)關(guān)怎么知道要把數(shù)據(jù)包發(fā)送給哪臺(tái)電腦?這就用到了另一項(xiàng)技術(shù)-端口映射,在網(wǎng)關(guān)后面加個(gè)端口號(hào),比如101.102.103.104:888,101.102.103.104:777,101.102.103.104:666等,這樣網(wǎng)關(guān)會(huì)以不同的端口去和外網(wǎng)交互,然后把這些端口映射給局域網(wǎng)內(nèi)的每臺(tái)電腦,傳輸數(shù)據(jù)的時(shí)候除了IP的映射外再加上端口號(hào)的映射,這樣就實(shí)現(xiàn)了多臺(tái)電腦共用一個(gè)IP還能做到精準(zhǔn)傳送數(shù)據(jù)了,以實(shí)現(xiàn)PAT多對(duì)一映射了。
在NAT和端口映射的技術(shù)加持下,才實(shí)現(xiàn)了IPV4數(shù)量不夠的情況下又繼續(xù)堅(jiān)持了這么多年。
看到這里相信大家已經(jīng)對(duì)公網(wǎng)IP和私有IP大致了解了,比如那幾臺(tái)電腦92.168.0.1,192.168.0.2,192.168.0.3就是寄宿在8.8.8.8網(wǎng)關(guān)下面的私有IP,網(wǎng)關(guān)的8.8.8.8就是可以直接對(duì)外交互的公網(wǎng)IP。每一個(gè)公網(wǎng)IP地址在網(wǎng)絡(luò)中都是獨(dú)一無二的,而私有IP只是網(wǎng)關(guān)下局域內(nèi)的IP,可能其它網(wǎng)關(guān)下也會(huì)有相同的IP,但這種IP只在局域網(wǎng)內(nèi)部使用不能拿到外網(wǎng)使用。
我們大多數(shù)用戶的網(wǎng)絡(luò)都是私有IP的,如果你想要公網(wǎng)IP只能去跟運(yùn)營(yíng)商申請(qǐng),有了公網(wǎng)IP接入我們家中的光貓的IP就不需要通過映射和轉(zhuǎn)換,完全可以直接訪問。大部分人對(duì)于公網(wǎng)IP是沒有需求的,除非你要做一些互聯(lián)網(wǎng)服務(wù),比如說做網(wǎng)盤或是架設(shè)服務(wù)器之類的操作都會(huì)用到公網(wǎng)IP,但是IPV4的資源越來越緊缺,現(xiàn)在申請(qǐng)公網(wǎng)IP也越來越難了。
為了解決IPV4的資源不足,IPV4升級(jí)到了IPV6,IPV6由8組4位16進(jìn)制數(shù)組合而成,理論上可以提供3.4*10^38個(gè)IP地址,這個(gè)數(shù)字足以給我們用幾萬(wàn)年了。但是IPV6想普及也是有一定難度的,因?yàn)镮PV6跟IPV4是兩個(gè)完全不同的協(xié)議,它們之間不能直接進(jìn)行交互,必須借助一些設(shè)備去轉(zhuǎn)換和映射,這就是為什么IPV6到現(xiàn)在都沒有普及的原因。不過隨著互聯(lián)網(wǎng)各大巨頭紛紛開始使用IPV6,再加上目前支持IPV6的設(shè)備也在逐漸取代IPV4,IPV6終究有一天會(huì)完全取代IPV4的!