2、系列文章
本文是系列文章中的第11篇,本系列文章的大綱如下:
《網(wǎng)絡(luò)編程懶人入門(mén)(一):快速理解網(wǎng)絡(luò)通信協(xié)議(上篇)》
《網(wǎng)絡(luò)編程懶人入門(mén)(二):快速理解網(wǎng)絡(luò)通信協(xié)議(下篇)》
《網(wǎng)絡(luò)編程懶人入門(mén)(三):快速理解TCP協(xié)議一篇就夠》
《網(wǎng)絡(luò)編程懶人入門(mén)(四):快速理解TCP和UDP的差異》
《網(wǎng)絡(luò)編程懶人入門(mén)(五):快速理解為什么說(shuō)UDP有時(shí)比TCP更有優(yōu)勢(shì)》
《網(wǎng)絡(luò)編程懶人入門(mén)(六):史上最通俗的集線(xiàn)器、交換機(jī)、路由器功能原理入門(mén)》
《網(wǎng)絡(luò)編程懶人入門(mén)(七):深入淺出,全面理解HTTP協(xié)議》
《網(wǎng)絡(luò)編程懶人入門(mén)(八):手把手教你寫(xiě)基于TCP的長(zhǎng)連接》
《網(wǎng)絡(luò)編程懶人入門(mén)(九):通俗講解,有了IP地址,為何還要用MAC地址?》
《網(wǎng)絡(luò)編程懶人入門(mén)(十):一泡尿的時(shí)間,快速讀懂QUIC協(xié)議》
《網(wǎng)絡(luò)編程懶人入門(mén)(十一):一文讀懂什么是IPv6》(本文)
3、復(fù)習(xí)一下什么是IPv4?
IPv4是 4的縮寫(xiě),中文翻譯為互聯(lián)網(wǎng)通信協(xié)議第四版,通常簡(jiǎn)稱(chēng)為網(wǎng)際協(xié)議版本4。
IPv4使用32位(4字節(jié))地址,因此地址空間中只有 4,294,967,296(即2^32) 個(gè)地址。
IPv4地址可被寫(xiě)作任何表示一個(gè)32位整數(shù)值的形式,但為了方便人類(lèi)閱讀和分析,它通常被寫(xiě)作點(diǎn)分十進(jìn)制的形式,即四個(gè)字節(jié)被分開(kāi)用十進(jìn)制寫(xiě)出,中間用點(diǎn)分隔。
通常IPv4地址的地址格式為 nnn.nnn.nnn.nnn,就像下面這樣:
172.16.254.1
下圖看起來(lái)更清晰一些:
4、IPv6又是什么?
IPv6是 6的縮寫(xiě),中文翻譯為互聯(lián)網(wǎng)通信協(xié)議(TCP/IP協(xié)議)第6版,通常簡(jiǎn)稱(chēng)為網(wǎng)際協(xié)議版6。IPv6具有比IPv4大得多的編碼地址空間,用它來(lái)取代IPv4主要是為了解決IPv4地址枯竭問(wèn)題,同時(shí)它也在其他方面對(duì)于IPv4有許多改進(jìn)。
其實(shí),IPv6并不是新技術(shù),從IPv6最早的工作組成立1992年到現(xiàn)在,已過(guò)去27年。在互聯(lián)網(wǎng)技術(shù)的發(fā)展歷程中,IPv6年齡甚至有些太大了。
IPv6的“6”表示的是TCP/IP協(xié)議的第六個(gè)版本,IPv4的“4”表示的是TCP/IP協(xié)議的第四個(gè)版本。其實(shí)除了這兩個(gè)版本,當(dāng)然還有其它版本,TCP/IP協(xié)議其實(shí)從IPv1開(kāi)始,到現(xiàn)在IPv10都已經(jīng)出現(xiàn)了,這些不同版本之間并沒(méi)有關(guān)聯(lián),也不是簡(jiǎn)單IP地址長(zhǎng)度的長(zhǎng)短。
IPv6地址由八組、每組四位16進(jìn)制數(shù)字組成,每組之間由":"來(lái)分隔。
看個(gè)簡(jiǎn)單的例子:
2610:00f8:0c34:67f9:0200:83ff:fe94:4c36,每個(gè)“:”前后都是4位16進(jìn)制的數(shù)字,共分隔成8組。
如下圖所示:
小知識(shí):如何查看手機(jī)或者電腦的網(wǎng)絡(luò)是否支持IPv6呢?
可以在你手機(jī)或者電腦上的瀏覽器中打開(kāi):,就像下圖這樣:
5、為什么要使用IPv6?
最主要的原因,就是地址數(shù)量不夠用了。
IPv4迄今為止已經(jīng)使用了30多年。最早期的時(shí)候,互聯(lián)網(wǎng)只是設(shè)計(jì)給美國(guó)軍方用的,根本沒(méi)有考慮到它會(huì)變得如此龐大,成為全球網(wǎng)絡(luò)。
尤其是進(jìn)入21世紀(jì)后,隨著計(jì)算機(jī)和智能手機(jī)的迅速普及,互聯(lián)網(wǎng)開(kāi)始爆發(fā)性發(fā)展,越來(lái)越多的上網(wǎng)設(shè)備出現(xiàn),越來(lái)越多的人開(kāi)始連接互聯(lián)網(wǎng)。這就意味著,需要越來(lái)越多的IP地址。
IPv4的地址總數(shù)是2的32次方,也就是約42.9億個(gè)。而全球的網(wǎng)民總數(shù)早已超過(guò)這個(gè)數(shù)目。
所以說(shuō),IPv4地址池接近枯竭,根本無(wú)法滿(mǎn)足互聯(lián)網(wǎng)發(fā)展的需要。人們迫切需要更高版本的IP協(xié)議,更大數(shù)量的IP地址池。(有點(diǎn)像固定電話(huà)號(hào)碼升位。)
6、IPv6會(huì)帶給我們什么?
首先,最重要的一點(diǎn),就是前面所說(shuō)的地址池?cái)U(kuò)容。IPv4的地址池是約42.9億,IPv6能達(dá)到多少呢?
數(shù)量如下:
個(gè)…
不用數(shù)了ipv4地址的主要表示格式是,太多了… 簡(jiǎn)單說(shuō),是2的128次方。
這個(gè)數(shù)量,即使是給地球上每一顆沙子都分配一個(gè)IP,也是妥妥夠用的。
▲ 這圖你看懂了嗎?嗯,我也沒(méi)看懂,反正就是很多的樣子
這個(gè)數(shù)量值是怎么得來(lái)的呢?還是它的地址位長(zhǎng)決定的。
如果以二進(jìn)制來(lái)寫(xiě),IPv6的地址是128位。不過(guò),這樣寫(xiě)顯然不太方便(一行都寫(xiě)不下)。所以,通常用十六進(jìn)制來(lái)寫(xiě),也就縮短成32位(32位會(huì)分為8組,每組4位)。
下面就是一個(gè)標(biāo)準(zhǔn)、合法的IPv6地址示例:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
注意:IPv6的地址是可以簡(jiǎn)寫(xiě)的,每項(xiàng)數(shù)字前導(dǎo)的0可以省略。
例如,下面這個(gè)地址:
2001:0DB8:02de:0000:0000:0000:0000:0e13
粉紅的“0”就可以省略,變成:
2001: DB8:2de:0:0:0:0:e13
如果有一組或連續(xù)幾組都是0,那么可以簡(jiǎn)寫(xiě)成“::”,也就是:
2001: DB8:2de::e13
注意:一個(gè)IPv6地址,只能有一個(gè)“::”。
為什么?很簡(jiǎn)單,你看下面這四個(gè)地址,如果所有0全都縮寫(xiě),會(huì)變成什么樣?
2001:0000:0000:0000:0000:25de:0000:cade
2001: 0000: 0000:0000:25de:0000:0000:cade
2001: 0000: 0000:25de:0000:0000:0000:cade
2001: 0000: 25de:0000:0000:0000:0000:cade
是的,都是2001::25de::cade,沖突了。所以,這個(gè)地址是非法的,不允許存在的。
關(guān)于IPv6還有很多技術(shù)細(xì)節(jié),因篇幅原因,不再贅述。
除了地址數(shù)量之外,IPv6還有很多優(yōu)點(diǎn),例如:
1)IPv6使用更小的路由表。使得路由器轉(zhuǎn)發(fā)數(shù)據(jù)包的速度更快;
2)IPv6增加了增強(qiáng)的組播支持以及對(duì)流的控制,對(duì)多媒體應(yīng)用很有利,對(duì)服務(wù)質(zhì)量(QoS)控制也很有利;
3)IPv6加入了對(duì)自動(dòng)配置的支持。這是對(duì)DHCP協(xié)議的改進(jìn)和擴(kuò)展,使得網(wǎng)絡(luò)(尤其是局域網(wǎng))的管理更加方便和快捷;
4)IPv6具有更高的安全性。用戶(hù)可以對(duì)網(wǎng)絡(luò)層的數(shù)據(jù)進(jìn)行加密并對(duì)IP報(bào)文進(jìn)行校驗(yàn),極大地增強(qiáng)了網(wǎng)絡(luò)的安全性;
5)IPv6具有更好的擴(kuò)容能力。如果新的技術(shù)或應(yīng)用需要時(shí),IPV6允許協(xié)議進(jìn)行擴(kuò)充;
6)IPv6具有更好的頭部格式。IPV6使用新的頭部格式,就簡(jiǎn)化和加速了路由選擇過(guò)程,提高了效率;
……
7、IPv6的優(yōu)點(diǎn)這么多,為什么之前普及卻這么慢?
IPv6優(yōu)點(diǎn)這么多,為什么它問(wèn)世已經(jīng)20年了,還是沒(méi)有完全替代IPv4呢?這里面的水就很深了。。。說(shuō)白了,主要還是和利益有關(guān)。
7.1 NAT這類(lèi)技術(shù),讓IPv4得以續(xù)命
如果按照本世紀(jì)初專(zhuān)家們的預(yù)測(cè),我們IPv4的地址早已枯竭幾萬(wàn)次了。但是,一直挺到現(xiàn)在,大家仍然還在用IPv4,對(duì)老百姓來(lái)說(shuō),并沒(méi)有因?yàn)榈刂凡粔蚨鵁o(wú)法上網(wǎng)。
這是為什么呢? 就是因?yàn)槌薎Pv6之外,我們還有一些技術(shù),可以變相地緩解地址不足。
例如NAT( ,網(wǎng)絡(luò)地址轉(zhuǎn)換)。
NAT是什么意思?當(dāng)我們?cè)诩依锘蚬旧暇W(wǎng)時(shí),你的電腦肯定有一個(gè)類(lèi)似192.168.0.1的地址,這種地址屬于私網(wǎng)地址,不屬于公共的互聯(lián)網(wǎng)地址。
▲ 一個(gè)典型的NAT應(yīng)用場(chǎng)景(圖自《IPv6,到底是什么?》)
每一個(gè)小的局域網(wǎng),都會(huì)使用一個(gè)網(wǎng)段的私網(wǎng)地址,在與外界連接時(shí),再變換成公網(wǎng)地址。這樣一來(lái),幾十個(gè)或幾百個(gè)電腦,都只需要一個(gè)公網(wǎng)地址。
甚至還可以私網(wǎng)套私網(wǎng),NAT套NAT,一層一層套。這樣一來(lái),大大節(jié)約了公網(wǎng)IP地址數(shù)量。正因?yàn)槿绱耍抛屛覀儭袄m(xù)命”到了今天,不至于無(wú)法上網(wǎng)。
但是,NAT這種方式也有很多缺點(diǎn),雖然私網(wǎng)地址訪(fǎng)問(wèn)互聯(lián)網(wǎng)地址方便,但互聯(lián)網(wǎng)地址訪(fǎng)問(wèn)私網(wǎng)地址就困難了。很多服務(wù),都會(huì)受到限制,你只能通過(guò)復(fù)雜的設(shè)置才能解決,也會(huì)影響網(wǎng)絡(luò)的處理效率。
▲ NAT內(nèi)網(wǎng)的計(jì)算機(jī)是不能被外網(wǎng)直接訪(fǎng)問(wèn)的(圖自《IPv6,到底是什么?》)
7.2 升級(jí)IPv6涉及運(yùn)營(yíng)商的利益
物以稀為貴,地址越稀缺,就越值錢(qián)。掌握地址的人,就越開(kāi)心。誰(shuí)開(kāi)心?運(yùn)營(yíng)商和ISP(互聯(lián)網(wǎng)服務(wù)提供商)。
他們就像是經(jīng)銷(xiāo)商,從上游(互聯(lián)網(wǎng)域名與號(hào)碼分配機(jī)構(gòu)ipv4地址的主要表示格式是,即ICANN)申請(qǐng)到IP地址,再賣(mài)給下游用戶(hù)。稀缺沒(méi)關(guān)系,反正,他一定能賺取更多的差價(jià)。
如果大家去找運(yùn)營(yíng)商或ISP買(mǎi)帶寬,或者租賃云服務(wù),帶公共地址的,一定比不帶公共地址的貴很多很多。
除了地址可以賺錢(qián)之外,如果升級(jí)支持IPv6,對(duì)運(yùn)營(yíng)商和ISP來(lái)說(shuō),也意味著很大的資金投入。現(xiàn)在新設(shè)備基本都是支持的,但畢竟還是有一些老設(shè)備,如果在使用壽命到期之前就換,就是虧錢(qián)。
所以,運(yùn)營(yíng)商和ISP都沒(méi)有動(dòng)力去啟用IPv6。
至于設(shè)備商或手機(jī)電腦廠(chǎng)商,出于提前考慮,早已普遍支持了IPv6,意見(jiàn)并不是很大,也決定不了什么。必竟,提供基礎(chǔ)設(shè)施服務(wù)的運(yùn)營(yíng)商們更強(qiáng)勢(shì)。
8、IPv6未來(lái)會(huì)怎樣
隨著5G時(shí)代的到來(lái),有了IPv6的加持,萬(wàn)物互聯(lián)或許會(huì)成為現(xiàn)實(shí)。對(duì)于我等實(shí)時(shí)通信類(lèi)軟件的開(kāi)發(fā)人員來(lái)說(shuō),某些場(chǎng)景下,或許再也不需要為“P2P打洞”這種事情煩惱了。
▲ 5G+IPv6,萬(wàn)物互聯(lián)不是夢(mèng)
未來(lái)已來(lái),你準(zhǔn)備好了嗎?
9、參考資料
[1] IPv6入門(mén)教程
[2] IPv6,到底是什么?
[3] 關(guān)于IPv6的發(fā)展史!IPv6的秘密史!
[4] 科普:一文讀懂IPv6是什么?
[5] 漫話(huà):全球IPv4地址正式耗盡?到底什么是IPv4和IPv6?
附錄:更多網(wǎng)絡(luò)編程基礎(chǔ)知識(shí)文章
《TCP/IP詳解 - 第11章·UDP:用戶(hù)數(shù)據(jù)報(bào)協(xié)議》
《TCP/IP詳解 - 第17章·TCP:傳輸控制協(xié)議》
《TCP/IP詳解 - 第18章·TCP連接的建立與終止》
《TCP/IP詳解 - 第21章·TCP的超時(shí)與重傳》
《技術(shù)往事:改變世界的TCP/IP協(xié)議(珍貴多圖、手機(jī)慎點(diǎn))》
《通俗易懂-深入理解TCP協(xié)議(上):理論基礎(chǔ)》
《通俗易懂-深入理解TCP協(xié)議(下):RTT、滑動(dòng)窗口、擁塞處理》
《理論經(jīng)典:TCP協(xié)議的3次握手與4次揮手過(guò)程詳解》
《理論聯(lián)系實(shí)際:抓包分析TCP 3次握手、4次揮手過(guò)程》
《計(jì)算機(jī)網(wǎng)絡(luò)通訊協(xié)議關(guān)系圖(中文珍藏版)》
《UDP中一個(gè)包的大小最大能多大?》
《P2P技術(shù)詳解(一):NAT詳解——詳細(xì)原理、P2P簡(jiǎn)介》
《P2P技術(shù)詳解(二):P2P中的NAT穿越(打洞)方案詳解(基本原理篇)》
《P2P技術(shù)詳解(三):P2P中的NAT穿越(打洞)方案詳解(進(jìn)階分析篇)》
《P2P技術(shù)詳解(四):P2P技術(shù)之STUN、TURN、ICE詳解》
《通俗易懂:快速理解P2P技術(shù)中的NAT穿透原理》
《高性能網(wǎng)絡(luò)編程(一):?jiǎn)闻_(tái)服務(wù)器并發(fā)TCP連接數(shù)到底可以有多少》
《高性能網(wǎng)絡(luò)編程(二):上一個(gè)10年,著名的C10K并發(fā)連接問(wèn)題》
《高性能網(wǎng)絡(luò)編程(三):下一個(gè)10年,是時(shí)候考慮C10M并發(fā)問(wèn)題了》
《高性能網(wǎng)絡(luò)編程(四):從C10K到C10M高性能網(wǎng)絡(luò)應(yīng)用的理論探索》
《高性能網(wǎng)絡(luò)編程(五):一文讀懂高性能網(wǎng)絡(luò)編程中的I/O模型》
《高性能網(wǎng)絡(luò)編程(六):一文讀懂高性能網(wǎng)絡(luò)編程中的線(xiàn)程模型》
《Java的BIO和NIO很難懂?用代碼實(shí)踐給你看,再不懂我轉(zhuǎn)行!》
《不為人知的網(wǎng)絡(luò)編程(一):淺析TCP協(xié)議中的疑難雜癥(上篇)》
《不為人知的網(wǎng)絡(luò)編程(二):淺析TCP協(xié)議中的疑難雜癥(下篇)》
《不為人知的網(wǎng)絡(luò)編程(三):關(guān)閉TCP連接時(shí)為什么會(huì)、》
《不為人知的網(wǎng)絡(luò)編程(四):深入研究分析TCP的異常關(guān)閉》
《不為人知的網(wǎng)絡(luò)編程(五):UDP的連接性和負(fù)載均衡》
《不為人知的網(wǎng)絡(luò)編程(六):深入地理解UDP協(xié)議并用好它》
《不為人知的網(wǎng)絡(luò)編程(七):如何讓不可靠的UDP變的可靠?》
《不為人知的網(wǎng)絡(luò)編程(八):從數(shù)據(jù)傳輸層深度解密HTTP》
《不為人知的網(wǎng)絡(luò)編程(九):理論聯(lián)系實(shí)際,全方位深入理解DNS》
《技術(shù)掃盲:新一代基于UDP的低延時(shí)網(wǎng)絡(luò)傳輸層協(xié)議——QUIC詳解》
《讓互聯(lián)網(wǎng)更快:新一代QUIC協(xié)議在騰訊的技術(shù)實(shí)踐分享》
《現(xiàn)代移動(dòng)端網(wǎng)絡(luò)短連接的優(yōu)化手段總結(jié):請(qǐng)求速度、弱網(wǎng)適應(yīng)、安全保障》
《聊聊iOS中網(wǎng)絡(luò)編程長(zhǎng)連接的那些事》
《移動(dòng)端IM開(kāi)發(fā)者必讀(一):通俗易懂,理解移動(dòng)網(wǎng)絡(luò)的“弱”和“慢”》
《移動(dòng)端IM開(kāi)發(fā)者必讀(二):史上最全移動(dòng)弱網(wǎng)絡(luò)優(yōu)化方法總結(jié)》
《IPv6技術(shù)詳解:基本概念、應(yīng)用現(xiàn)狀、技術(shù)實(shí)踐(上篇)》
《IPv6技術(shù)詳解:基本概念、應(yīng)用現(xiàn)狀、技術(shù)實(shí)踐(下篇)》
友情鏈接: 餐飲加盟
地址:北京市海淀區(qū) 電話(huà):010- 郵箱:@126.com
備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有