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