IPv6的普及已經(jīng)喊了很多年了,但是事與愿違啊,由于NAT技術(shù)的出現(xiàn),硬是將當(dāng)時(shí)岌岌可危的IPv4拖了二十年,所謂的普及IPv6還是遙遙無(wú)期,不可否認(rèn)NAT技術(shù)真的很偉大,但是IPv6肯定是未來(lái)的趨勢(shì),作為網(wǎng)絡(luò)編程的開發(fā)人員,系統(tǒng)的詳細(xì)的了解IPv6還是很有必要的。我相信IPv6的普及很快就會(huì)到來(lái),身懷此絕技的讀者你們,肯定是香饃饃了。所以開始看文章吧。
其實(shí)我們用的比較多的主流操作系統(tǒng)都已經(jīng)支持了IPv6協(xié)議棧,Windows7,Linux2.6之后的版本等等。
周所周知,IPv6采用128位的地址長(zhǎng)度擁有更大的地址空間。首先我們先來(lái)認(rèn)識(shí)一下IPv6到底長(zhǎng)成什么樣子。
IPv6數(shù)據(jù)報(bào)文和IPv4有很大的差別:
我們來(lái)看下ipv6的報(bào)文頭部格式:
ipv6報(bào)文頭部
ipv6的頭部更加的簡(jiǎn)單,少了很多的字段,對(duì)比ipv4,有這幾個(gè)地方需要注意:
這里的含義與IPv4有很大的差別,需要加以解釋:
為什么要引入擴(kuò)展頭部這個(gè)概念,這里也是IPv6對(duì)IPv4改進(jìn)的一個(gè)方面,用擴(kuò)展頭部取代了IPv4的可選項(xiàng)信息,精簡(jiǎn)了IPv6的頭部,增強(qiáng)了IPv6的擴(kuò)展性。有同學(xué)會(huì)不會(huì)有疑問,IPv6的分片數(shù)據(jù)報(bào)文怎么處理?其實(shí)就是使用了IPv6擴(kuò)展頭部。
當(dāng)發(fā)送一個(gè)分片IPv6數(shù)據(jù)報(bào)文的時(shí)候,IPv6使用的是擴(kuò)展頭部的形式組織各個(gè)分片的信息,IPv6報(bào)文頭部Next Header字段值為44表示存在擴(kuò)展頭部,擴(kuò)展頭部是IPv6分片數(shù)據(jù)信息。
對(duì)比IPv4,分片信息是記錄在IPv4報(bào)文頭部的分片字段中。
IPv6的擴(kuò)展頭部類型有很多種,除了上述的分片頭部,還有路由頭部、逐跳可選頭部等,具體的可以參考RFC2460。
本章主要介紹了IPv6的一些很直觀的認(rèn)識(shí),下面逐漸介紹IPv6上的基本知識(shí)和概念。
讀者可以網(wǎng)上查,在此不贅述。
IPv6擁有128位巨大的地址空間,對(duì)于那么大的空間,也不是隨意的劃分,而是使用按照bit位進(jìn)行號(hào)段劃分(與鵝廠內(nèi)部一些的64位uin改造放號(hào)的zone劃分算法)。
IPv6的地址結(jié)構(gòu)如下圖:
例如RFC4291中定義了n=48, m=16,也就是子網(wǎng)和接口ID與各占64位。
IPv6支持子網(wǎng)前綴標(biāo)識(shí)方法,類似于IPv4的無(wú)分類域間路由CIDR機(jī)制(注意:IPv6沒有子網(wǎng)掩碼mask的概念)。
使用“IPv6地址/前綴長(zhǎng)度”表示方法,例如:
可以看到,一個(gè)IPv6的地址有子網(wǎng)前綴+接口ID構(gòu)成,子網(wǎng)前綴由地址分配和管理機(jī)構(gòu)定義和分配,而接口ID可以由各操作系統(tǒng)實(shí)現(xiàn)生成,生成算法后面的章節(jié)會(huì)介紹。
IPv6地址分三種類型:
IPv6沒有廣播地址,用組播地址實(shí)現(xiàn)廣播的功能。實(shí)際上我們工作和生活最可能最多接觸的就是單播地址,接下來(lái)本文重點(diǎn)會(huì)講解單播地址的種類。組播和任播地址有興趣的同學(xué)自行查閱相關(guān)RFC和文獻(xiàn)。
這篇寫的不夠好,希望大家見諒,謝謝大家支持。
聯(lián)系客服