IP協(xié)議詳解及IPv4與IPv6協(xié)議的區(qū)別

IP協(xié)議是在TCP/IP協(xié)議模型中的重要組成部分满哪,目前我們使用最多的是IPv4協(xié)議雳攘,IPv6協(xié)議的用戶(hù)量也在慢慢增加挖诸,蘋(píng)果在幾年之前就已經(jīng)開(kāi)始支持IPv6協(xié)議了智末。我們先來(lái)了解一下IPv4和IPv6協(xié)議谅摄,然后看下他們的不同,以及從IPv4到IPv6的過(guò)渡階段使用方案系馆。

IP協(xié)議的主要功能包括尋址和分段送漠。

IP可以根據(jù)數(shù)據(jù)包包頭中包括的目的地址將數(shù)據(jù)包傳送到目的地址,在此過(guò)程中IP負(fù)責(zé)選擇傳送的道路由蘑,這種選擇道路稱(chēng)為路由功能闽寡。如果有些網(wǎng)絡(luò)內(nèi)只能傳送小數(shù)據(jù)包,IP可以將數(shù)據(jù)包重新組裝并在報(bào)頭域內(nèi)注明尼酿。

IPv4協(xié)議
來(lái)一張圖爷狈,看一下IPv4協(xié)議的數(shù)據(jù)報(bào)格式,主要就是對(duì)頭部的學(xué)習(xí)了解。

數(shù)據(jù)報(bào)是一個(gè)可變長(zhǎng)分組裳擎,由兩部分組成:頭部和數(shù)據(jù)涎永。頭部長(zhǎng)度可由20~60個(gè)字節(jié)組成,該部分包含有與路由選擇和傳輸有關(guān)的重要信息鹿响。頭部的字段含義如下:
1.版本(4位):版本占了4位,最大值為15羡微,是協(xié)議版本號(hào)的定義,IPv4的話(huà)版本號(hào)就是4惶我,IPv6的話(huà)版本號(hào)就是6妈倔。

2.首部長(zhǎng)度(4位):首部長(zhǎng)度占了4位,最大值是15指孤,不過(guò)這個(gè)數(shù)字代表的含義是在整個(gè)頭部中含有的32位字長(zhǎng)的數(shù)量启涯,首部長(zhǎng)度的最小值為5贬堵,最大值為15。由此根據(jù)計(jì)算可得整個(gè)頭部的最小值為5 * 32位 = 5 * 4字節(jié) = 20字節(jié)结洼,最大值為 15 * 32位 = 15 * 4字節(jié) = 60字節(jié)黎做。

3.區(qū)分服務(wù)(TOS)(4位):該字段定義上層協(xié)議對(duì)處理當(dāng)前數(shù)據(jù)報(bào)所期望的服務(wù)質(zhì)量,并對(duì)數(shù)據(jù)報(bào)按照重要性級(jí)別進(jìn)行分配松忍。前3位成為優(yōu)先位蒸殿,后面4位成為服務(wù)類(lèi)型,最后1位沒(méi)有定義鸣峭。這些8位字段用于分配優(yōu)先級(jí)宏所、延遲、吞吐量以及可靠性摊溶。(想具體了解TOS的具體使用規(guī)則及位控制請(qǐng)移步文末擴(kuò)展部分爬骤。)

4.總長(zhǎng)度(16位):該字段定義整個(gè)IP數(shù)據(jù)報(bào)的字節(jié)長(zhǎng)度,包括協(xié)議頭部和數(shù)據(jù)莫换。其最大值為65535字節(jié)霞玄。以太網(wǎng)協(xié)議對(duì)能夠封裝在一個(gè)幀中的數(shù)據(jù)有最小值和最大值的限制(46~1500個(gè)字節(jié))。過(guò)大的數(shù)據(jù)需要進(jìn)行切片傳輸拉岁。

鏈路層的幀格式中的數(shù)據(jù)字段的最大長(zhǎng)度稱(chēng)為最大傳送單元MTU(Maximum Transfer Unit)坷剧。當(dāng)數(shù)據(jù)包封裝成鏈路層的幀的時(shí)候,該數(shù)據(jù)報(bào)的頭部+數(shù)據(jù)的長(zhǎng)度不可以超過(guò)MTU的最大長(zhǎng)度喊暖,超過(guò)的需要進(jìn)行切片傳輸惫企。

5.標(biāo)識(shí)(16位):該字段的值由發(fā)送到分配,如果該數(shù)據(jù)報(bào)需要進(jìn)行切片分段的話(huà)陵叽,每一段的標(biāo)識(shí)位的值都是一樣的狞尔,方便接收端收到分段的數(shù)據(jù)后進(jìn)行組裝。

6.標(biāo)志(3位):該字段占3位咨跌,但是只有前兩位才有意義:

最低位為MF (More Fragment)沪么,當(dāng)MF=0的時(shí)候,表明該數(shù)據(jù)報(bào)已經(jīng)是分段傳輸?shù)淖詈笠欢螆?bào)文锌半,當(dāng)MF=1的時(shí)候說(shuō)明后面還有分段報(bào)文需要拼接禽车。

中間位為DF(Don’t Fragment),當(dāng)DF = 0的時(shí)候說(shuō)明該報(bào)文不允許切片,=1的時(shí)候可以進(jìn)行切片分段傳輸

7.片位移(13位):標(biāo)記了該段報(bào)文在原始報(bào)文中的位置刊殉,方便接收端進(jìn)行拼接操作殉摔。片位移以8個(gè)字節(jié)為偏移單位,所以對(duì)數(shù)據(jù)包進(jìn)行分段操作的時(shí)候一定是以8個(gè)字節(jié)為單位進(jìn)行分段的记焊。如果最后一個(gè)分段不足8個(gè)字節(jié)的話(huà)會(huì)進(jìn)行填充逸月。

8.生存時(shí)間TTL(8位):該字段定義為路由器跳數(shù),指的是在傳輸?shù)倪^(guò)程中最多可以經(jīng)過(guò)多少個(gè)路由器進(jìn)行轉(zhuǎn)發(fā)遍膜,最大值為255(2的8次方 - 1)碗硬,每經(jīng)過(guò)一次路由器跳轉(zhuǎn)這個(gè)值就會(huì)被-1瓤湘,當(dāng)該值為0的時(shí)候路由器會(huì)將該數(shù)據(jù)報(bào)丟棄。該值存在的意義是防止無(wú)法交付的資源在路由里無(wú)限跳轉(zhuǎn)占用網(wǎng)絡(luò)資源恩尾。

9.協(xié)議(8位):表示在傳輸層使用哪種協(xié)議進(jìn)行封裝的(比如17代表UDP弛说,6代表TCP,1代表ICMP),這樣接收方的網(wǎng)絡(luò)層可以知道使用何種協(xié)議來(lái)對(duì)數(shù)據(jù)進(jìn)行解析翰意。

10.首部校驗(yàn)和(16位):該字段幫助確保IP協(xié)議頭的完整性木人。由于某些協(xié)議頭字段的改變,這就需要對(duì)每個(gè)點(diǎn)重新計(jì)算和檢驗(yàn)冀偶。計(jì)算過(guò)程是先將校驗(yàn)和字段置為0醒第,然后將整個(gè)頭部每16位劃分為一部分,將各部分相加进鸠,再將計(jì)算結(jié)果取反碼稠曼,插入到校驗(yàn)和字段中。當(dāng)接收方接收到數(shù)據(jù)報(bào)后堤如,也對(duì)其首部進(jìn)行校驗(yàn)計(jì)算蒲列,如果結(jié)果與“首部校驗(yàn)和”的值不同,就丟棄收到的數(shù)據(jù)報(bào)搀罢。

11.源地址(32位):源主機(jī)IP地址,在整個(gè)傳輸過(guò)程中保持不變侥猩。將IP地址看作是32位數(shù)值則需要將網(wǎng)絡(luò)字節(jié)順序轉(zhuǎn)化位主機(jī)字節(jié)順序榔至。轉(zhuǎn)化的方法是:將每4個(gè)字節(jié)首尾互換,將2欺劳、3字節(jié)互換唧取。

12.目的地址(32位):目的主機(jī)IP地址,在整個(gè)傳輸過(guò)程中保持不變划提。

13.可選字段:長(zhǎng)度可變枫弟,如果選項(xiàng)存在的話(huà),它在IPv4分組中緊跟在基本IPv4頭部之后鹏往。實(shí)際應(yīng)用中用到的很少(想了解的看文末擴(kuò)展吧)淡诗。

14.填充:IP頭是以32bit字長(zhǎng)為單位,有時(shí)需要填充來(lái)實(shí)現(xiàn)伊履。

15.數(shù)據(jù)部分:從傳輸層封裝過(guò)來(lái)的數(shù)據(jù)韩容。

IPv6協(xié)議

IPv6的很多字段含義和IPv4是一樣的
各字段含義:

1.版本號(hào)(4位):值為6

2.流量等級(jí)(8位)(Traffic Class (流量類(lèi)別)):該節(jié)段代替了IPv4中的Type of Service字段,它有助于處理實(shí)時(shí)數(shù)據(jù)以及任何需要特別處理的數(shù)據(jù)唐瀑。發(fā)送節(jié)點(diǎn)和轉(zhuǎn)發(fā)路由器可以使用該字段來(lái)識(shí)別和分辨IPv6數(shù)據(jù)包的類(lèi)別和優(yōu)先級(jí)群凶。

3.流標(biāo)簽(20位):用來(lái)標(biāo)識(shí)同一個(gè)流里面的報(bào)文

4.載荷長(zhǎng)度(16位):單位為字節(jié)長(zhǎng)度,該長(zhǎng)度包括了IPV6擴(kuò)展頭的長(zhǎng)度

5.下一報(bào)頭(8位):該字段用來(lái)指明報(bào)頭后接的報(bào)文頭部的類(lèi)型哄辣,若存在擴(kuò)展頭请梢,表示第一個(gè)擴(kuò)展頭的類(lèi)型赠尾,否則表示其上層協(xié)議的類(lèi)型,它是IPv6各種功能的核心實(shí)現(xiàn)方法(詳細(xì)了解請(qǐng)看文末擴(kuò)展)毅弧。

6.跳數(shù)限制(8位):該字段類(lèi)似于IPv4中的TTL气嫁,每次轉(zhuǎn)發(fā)跳數(shù)減一,該字段達(dá)到0時(shí)包將會(huì)被丟棄

11.源地址(128位):源主機(jī)IP地址

12.目的地址(128位):目的主機(jī)IP地址

IPv6和IPv4的區(qū)別:

1.取消了首部長(zhǎng)度形真,因?yàn)镮Pv6的首部長(zhǎng)度是固定40個(gè)字節(jié)杉编。

2.取消了服務(wù)類(lèi)型,因?yàn)榱鳂?biāo)號(hào)和優(yōu)先級(jí)結(jié)合起來(lái)實(shí)現(xiàn)了服務(wù)類(lèi)型的功能咆霜。

3.取消了總長(zhǎng)度字段邓馒,改用為有效載荷長(zhǎng)度,有效載荷就是后面的擴(kuò)展首部加上數(shù)據(jù)報(bào)中的數(shù)據(jù)蛾坯。

4.取消了標(biāo)識(shí)光酣,標(biāo)志和片偏移,因?yàn)檫@些功能都包含在了擴(kuò)展首部里面脉课。

5.取消了協(xié)議字段救军,改用為下一個(gè)首部,功能不變倘零,這樣更容易理解唱遭。

6.取消了生存時(shí)間ttl,改用為跳數(shù)限制呈驶,功能不變拷泽,這樣更容易理解,更形象了袖瞻。

7.取消了首部效驗(yàn)和司致,這樣加快了路由器對(duì)數(shù)據(jù)報(bào)的處理速度,在數(shù)據(jù)鏈路層中聋迎,當(dāng)我們發(fā)現(xiàn)有差錯(cuò)的幀就會(huì)拋棄脂矫,在運(yùn)輸層中,在udp中霉晕,當(dāng)發(fā)現(xiàn)有差錯(cuò)就會(huì)拋棄庭再,在tcp中,當(dāng)發(fā)現(xiàn)有差錯(cuò)就會(huì)重傳娄昆,直到傳送到目的進(jìn)程為止佩微。因此在網(wǎng)路層的檢測(cè)就可以精簡(jiǎn)掉。

8.取消了選項(xiàng)字段萌焰,功能歸并在了擴(kuò)展首部上哺眯。

IPv6和IPv4相比的改進(jìn):

1.IPv6的地址大小增加到128位。這解決了IPv4地址空間有限的問(wèn)題扒俯,并提供了一個(gè)更深層次的編址層級(jí)以及更簡(jiǎn)單的配置

2.IPv6的報(bào)頭固定為40字節(jié)奶卓。這剛好容下8字節(jié)的報(bào)頭和兩個(gè)16字節(jié)的IP地址(源地址和目的地址)一疯。IPv6的報(bào)頭中去掉了IPv4報(bào)頭中的一些字段,或者是將其變?yōu)榭蛇x項(xiàng)夺姑。這樣墩邀,數(shù)據(jù)包可以在低處理消耗下更快地進(jìn)行操作。

3.對(duì)于IPv4盏浙,選項(xiàng)集成于基本的IPv4報(bào)頭中眉睹。而對(duì)于IPv6,這些選項(xiàng)被作為擴(kuò)展報(bào)頭(Extension header)來(lái)處理废膘,是可選的竹海。

4.IPv6指定了固有的對(duì)身份驗(yàn)證的支持,以及對(duì)數(shù)據(jù)完整性和數(shù)據(jù)機(jī)密性的支持丐黄。

5.屬于同一傳輸流斋配,且需要特別處理或需要服務(wù)質(zhì)量的數(shù)據(jù)包,可以由發(fā)送者進(jìn)行標(biāo)記灌闺。實(shí)時(shí)服務(wù)就是這種應(yīng)用的典型例子艰争。

6.即使IPv6報(bào)頭的總長(zhǎng)度是默認(rèn)的IPv4報(bào)頭的兩倍長(zhǎng),達(dá)到了40字節(jié)桂对,但它實(shí)際上還是被簡(jiǎn)化了的甩卓,因?yàn)閳?bào)頭的絕大部分被兩個(gè)16字節(jié)的IPv6地址占據(jù)。這樣蕉斜,只剩8個(gè)字節(jié)可供其他報(bào)頭信息使用猛频。

7.數(shù)據(jù)包的報(bào)頭越簡(jiǎn)單,處理過(guò)程就越快蛛勉。IPv6采用新方法來(lái)處理選項(xiàng),顯著地改善了處理速度睦柴,保證對(duì)數(shù)據(jù)報(bào)文的高速轉(zhuǎn)發(fā)和較低的延時(shí)诽凌,提高了QoS。

IPv6的表示方式

IPv6的地址長(zhǎng)度為128位坦敌,是IPv4地址長(zhǎng)度的4倍侣诵。于是IPv4點(diǎn)分十進(jìn)制格式不再適用,采用十六進(jìn)制表示狱窘。IPv6有3種表示方法杜顺。
一、冒分十六進(jìn)制表示法
  格式為X:X:X:X:X:X:X:X蘸炸,其中每個(gè)X表示地址中的16b躬络,以十六進(jìn)制表示,例如:
  ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
  這種表示法中搭儒,每個(gè)X的前導(dǎo)0是可以省略的穷当,例如:
  2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A
二提茁、0位壓縮表示法
  在某些情況下,一個(gè)IPv6地址中間可能包含很長(zhǎng)的一段0馁菜,可以把連續(xù)的一段0壓縮為“::”茴扁。但為保證地址解析的唯一性,地址中”::”只能出現(xiàn)一次汪疮,例如:
  FF01:0:0:0:0:0:0:1101 → FF01::1101
  0:0:0:0:0:0:0:1 → ::1
  0:0:0:0:0:0:0:0 → ::
三峭火、內(nèi)嵌IPv4地址表示法
  為了實(shí)現(xiàn)IPv4-IPv6互通,IPv4地址會(huì)嵌入IPv6地址中智嚷,此時(shí)地址常表示為:X:X:X:X:X:X:d.d.d.d卖丸,前96b采用冒分十六進(jìn)制表示,而最后32b地址則使用IPv4的點(diǎn)分十進(jìn)制表示纤勒,例如::192.168.0.1與::FFFF:192.168.0.1就是兩個(gè)典型的例子坯苹,注意在前96b中,壓縮0位的方法依舊適用 [9]

IPv4和IPv6的協(xié)議不同摇天,是無(wú)法 互相通信的粹湃,那么在過(guò)渡時(shí)期如何進(jìn)行使用呢?

(該段落圖片和文字均引用自 IT知識(shí)大全:IPv6詳解

1泉坐、雙協(xié)議棧技術(shù)
雙協(xié)議棧技術(shù)是指在路由器或者主機(jī)上同時(shí)運(yùn)行IPv4和IPv6協(xié)議为鳄。其中大多數(shù)應(yīng)用服務(wù)器采用的為雙棧主機(jī)的解決方案,嚴(yán)格意義上它并不是解決IPv4與IPv6互通的問(wèn)題腕让,而是適配兩種網(wǎng)絡(luò)模式來(lái)為不同網(wǎng)絡(luò)下的客戶(hù)端提供服務(wù)孤钦。



當(dāng)IPv4網(wǎng)絡(luò)下的客戶(hù)端發(fā)起請(qǐng)求時(shí),服務(wù)器及鏈路會(huì)在IPv4網(wǎng)絡(luò)下進(jìn)行響應(yīng)纯丸。同理偏形,當(dāng)發(fā)起客戶(hù)端處于IPv6網(wǎng)絡(luò)時(shí),服務(wù)器會(huì)在IPv6網(wǎng)絡(luò)下進(jìn)行響應(yīng)觉鼻。
反之俊扭,也可以在客戶(hù)終端上配置雙協(xié)議棧,來(lái)分別訪(fǎng)問(wèn)不同網(wǎng)絡(luò)協(xié)議下的服務(wù)器坠陈。

2萨惑、隧道技術(shù)
目前常見(jiàn)的IPv6隧道傳輸方案有手工隧道與自動(dòng)隧道,例如6 over 4仇矾、6 to 4等庸蔼。其中自動(dòng)隧道因?yàn)樾枰瑫r(shí)配置IPv4和IPv6地址,所以需要雙協(xié)議棧路由器支持贮匕。



隧道技術(shù)是指將IPv6的數(shù)據(jù)包封裝在IPv4的數(shù)據(jù)包里進(jìn)行發(fā)送姐仅,它好處就是不需要對(duì)現(xiàn)有的IPv4網(wǎng)絡(luò)進(jìn)行改造,就可以直接利用隧道來(lái)傳輸IPv6的數(shù)據(jù)包。隧道技術(shù)主要是為了向IPv6網(wǎng)絡(luò)過(guò)渡過(guò)程中減少搭建設(shè)備的成本萍嬉,但是它依然無(wú)法解決純IPv4主機(jī)與IPv6主機(jī)的互通問(wèn)題乌昔。

3、網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換技術(shù)
IPv6_上的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換技術(shù)類(lèi)似于IPv4上經(jīng)常使用的NAT技術(shù)壤追,但是轉(zhuǎn)換的內(nèi)容不一樣磕道。早期的翻譯網(wǎng)關(guān)采用的為NAT- -PT技術(shù),但是因?yàn)榧夹g(shù)的局限性和安全性行冰,最終還是改用了NAT64轉(zhuǎn)換技術(shù)溺蕉。



NAT64的工作原理就是搭建一臺(tái) 翻譯網(wǎng)關(guān)位于IPv4與IPv6網(wǎng)絡(luò)之間,將通過(guò)網(wǎng)關(guān)的IPv6與IPv4的數(shù)據(jù)包進(jìn)行翻譯傳輸悼做。NAT64-般只能單方向的將發(fā)往IPv4網(wǎng)絡(luò)的IPv6報(bào)文進(jìn)行翻譯疯特,而不能主動(dòng)翻譯反方向的IPv4發(fā)往IPv6的報(bào)文,需要進(jìn)行靜態(tài)條目綁定才能真正實(shí)現(xiàn)IPv4訪(fǎng)問(wèn)IPv6網(wǎng)絡(luò),在技術(shù)實(shí)現(xiàn)上成本較高肛走。

4漓雅、IVI技術(shù)
IVI技術(shù)是國(guó)內(nèi)研發(fā)的翻譯網(wǎng)關(guān)技術(shù),雖然都屬于翻譯網(wǎng)關(guān)朽色,但是NAT64轉(zhuǎn)換基 于狀態(tài)邻吞,而IVI可以進(jìn)行無(wú)狀態(tài)的映射。



網(wǎng)絡(luò)運(yùn)營(yíng)商通過(guò)對(duì)一部分IPv4和IPv6地址進(jìn)行映射葫男,生成IVI專(zhuān)用地址抱冷。IPv6網(wǎng)絡(luò)的用戶(hù)如果想訪(fǎng)問(wèn)IPv4網(wǎng)絡(luò),可以通過(guò)IV|網(wǎng)關(guān)的映射表獲得IPv4地址來(lái)直接訪(fǎng)問(wèn)IPv4網(wǎng)絡(luò)梢褐。而IPv4用戶(hù) 如果需要訪(fǎng)問(wèn)IPv6網(wǎng)絡(luò)旺遮,則會(huì)通過(guò)IVI網(wǎng)關(guān)獲得IVI- 6地址來(lái)訪(fǎng)問(wèn)IPv6網(wǎng)絡(luò)。目前IVI是IPv4向IPv6過(guò)渡的較優(yōu)方案盈咳,原因就是它不需要改變用戶(hù)的使用習(xí)慣和成本耿眉,可以直接由運(yùn)營(yíng)商進(jìn)行搭建翻譯網(wǎng)關(guān)來(lái)進(jìn)行雙網(wǎng)互訪(fǎng)。

擴(kuò)展:
1.IPv4 ToS字段的使用及含義


前3位(0-2)定義優(yōu)先級(jí)鱼响,IP優(yōu)先級(jí)(IP Precedence)使用最高3比特跷敬,可以定義8個(gè)服務(wù)等級(jí).
111–Network Control(網(wǎng)絡(luò)控制);
110–Internetwork Control(網(wǎng)間控制)热押;
101–Critic(關(guān)鍵);
100–Flash Override(疾速)斤寇;
011–Flash(閃速)桶癣;
010–Immediate(快速);
001–Priority(優(yōu)先)娘锁;
000–Routine(普通)牙寞。
優(yōu)先級(jí)6和7一般保留給網(wǎng)絡(luò)控制數(shù)據(jù)使用,如路由。
優(yōu)先級(jí)5推薦給語(yǔ)音數(shù)據(jù)使用间雀。
優(yōu)先級(jí)4由視頻會(huì)議和視頻流使用悔详。
優(yōu)先級(jí)3給語(yǔ)音控制數(shù)據(jù)使用。
優(yōu)先級(jí)1和2給數(shù)據(jù)業(yè)務(wù)使用惹挟。
優(yōu)先級(jí)0為默認(rèn)標(biāo)記值茄螃。

中間4位(3-6)定義延遲、吞吐量和可靠性连锯,由RFC791定義(3-5位)归苍,稱(chēng)為DTR(Delay,Throughput运怖,Reliability)位拼弃,后來(lái)RFC1349又?jǐn)U展到第6位。
0000–normal service摇展; 最小時(shí)延
1000–minimize delay吻氧; 最大吞吐量
0100–maximize throughput; 最高可靠性
0010–maximize reliability咏连; 最小費(fèi)用
0001–minimize monetary cost盯孙。
4 bit中只能置其中1 bit。如果所有4 bit均為0捻勉,那么就意味著是一般服務(wù)镀梭。
Telnet、Rlogin這兩個(gè)交互應(yīng)用要求最小的傳輸時(shí)延踱启,F(xiàn)TP文件傳輸要求最大吞吐量报账,最高可靠性是指網(wǎng)絡(luò)管理(SNMP)和路由選擇協(xié)議。用戶(hù)網(wǎng)絡(luò)新聞要求最小費(fèi)用埠偿。

2.IP選項(xiàng)
IP選項(xiàng):用于提供一些在數(shù)據(jù)傳輸時(shí)需要用到的附加功能透罢,比如記錄路由、嚴(yán)格源路由等冠蒋,還負(fù)責(zé)數(shù)據(jù)傳輸?shù)陌踩珕?wèn)題羽圃,還用于偵測(cè)和調(diào)試網(wǎng)絡(luò)。不是必需的字段抖剿,長(zhǎng)度可變朽寞,默認(rèn)大小為0字節(jié),最大40字節(jié)斩郎。

IP選項(xiàng)由選項(xiàng)碼脑融、選項(xiàng)長(zhǎng)度和選項(xiàng)數(shù)據(jù)三部分組成,其中選項(xiàng)碼為1字節(jié)缩宜,可分為復(fù)制位肘迎、選項(xiàng)類(lèi)和選項(xiàng)號(hào)三部分甥温。

·復(fù)制位:1bit,用于控制數(shù)據(jù)報(bào)分片時(shí)是否將選項(xiàng)復(fù)制到各個(gè)分片中妓布,0表示不復(fù)制姻蚓。

·選項(xiàng)類(lèi):2bit,用于定義選項(xiàng)的一般作用匣沼。

·選項(xiàng)號(hào):5bit狰挡,用于定義選項(xiàng)的具體類(lèi)型。

主要使用的選項(xiàng)類(lèi)型見(jiàn)下表:


·選項(xiàng)長(zhǎng)度:8bit肛著,定義整個(gè)選項(xiàng)的長(zhǎng)度圆兵。
·選項(xiàng)數(shù)據(jù):變長(zhǎng),用于定義選項(xiàng)請(qǐng)求枢贿。
表中的6種主要選項(xiàng)類(lèi)型的說(shuō)明:
·EOL:選項(xiàng)結(jié)束殉农,提示最后一個(gè)選項(xiàng),必須放在所有選項(xiàng)的后面
·NOP:空操作局荚,用于選項(xiàng)間的邊界對(duì)正超凳,當(dāng)數(shù)據(jù)報(bào)有兩個(gè)以上的選項(xiàng)時(shí),如果其中某個(gè)選項(xiàng)的長(zhǎng)度不足4字節(jié)的倍數(shù)耀态,則可以在其中加入NOP轮傍,將長(zhǎng)度補(bǔ)足到4字節(jié)的倍數(shù),以便對(duì)正到下一個(gè)選項(xiàng)的起始位置首装。
·RR:記錄路由创夜,用于記錄數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中傳送過(guò)程中從信源到信宿所經(jīng)過(guò)的各路由器的IP地址。因?yàn)樗涗浀穆酚善鲾?shù)量不定仙逻,因此該選項(xiàng)的長(zhǎng)度可變驰吓。格式為:



其中,指針指向路由記錄地址表中下一個(gè)可以存放路由器IP地址的位置系奉,每記錄一個(gè)路由IP地址檬贰,指針值增加4,直到路由記錄地址表用完為止缺亮。
·SSRR:嚴(yán)格的源路由翁涤,用于信源預(yù)先設(shè)定數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中傳送時(shí)指定數(shù)據(jù)報(bào)的傳送路徑并記錄傳輸路徑。格式與RR類(lèi)似萌踱,但選項(xiàng)碼為10001001葵礼。選項(xiàng)中所指定的路由器必須是一一相連的,并且兩個(gè)相鄰的路由器之間不能有其他路由器并鸵,以確保數(shù)據(jù)報(bào)根據(jù)指定的路由器能順利地從信源傳送到信宿章咧。IP報(bào)頭的目的地址只是代表數(shù)據(jù)報(bào)要傳送的下一跳地址,而不是信宿地址能真;信宿地址是選項(xiàng)中路由記錄指定的最后一個(gè)IP地址。
·LSRR:寬松的源路由,用于預(yù)先指定數(shù)據(jù)報(bào)傳送過(guò)程中必須經(jīng)過(guò)的關(guān)鍵路由粉铐。這些指定的路由并不一定能組成一條完備的路徑疼约,只是給出了路徑上的某些關(guān)鍵點(diǎn),并記錄傳送過(guò)程中所經(jīng)過(guò)的路由器的IP地址蝙泼。選項(xiàng)格式與RR類(lèi)似程剥,但選項(xiàng)碼為10000011。
·TS:時(shí)間戳汤踏,用于記錄路由器處理數(shù)據(jù)報(bào)的時(shí)間织鲸。根據(jù)時(shí)間戳可以估算數(shù)據(jù)報(bào)從一個(gè)路由器傳送到另一個(gè)路由器所花費(fèi)的時(shí)間,進(jìn)而分析網(wǎng)絡(luò)吞吐率和負(fù)載情況溪胶。


其中搂擦,溢出字段用于記錄因預(yù)留空間不夠而未能記錄下來(lái)的時(shí)間戳個(gè)數(shù)。當(dāng)溢出字段也溢出時(shí)哗脖,路由器將丟棄數(shù)據(jù)報(bào)瀑踢,并產(chǎn)生ICMP參數(shù)錯(cuò)報(bào)文發(fā)送給信源。標(biāo)志字段用于定義時(shí)間戳選項(xiàng)的格式才避,取值范圍:
·0:路由器僅記錄時(shí)間戳數(shù)據(jù)橱夭,忽略IP地址
·1:路由器記錄出口IP地址和時(shí)間戳
·3:僅記錄信源指定地址處的時(shí)間戳
時(shí)間戳以ms為單位,從世界標(biāo)準(zhǔn)時(shí)間午夜零時(shí)開(kāi)始計(jì)算桑逝。在IP數(shù)據(jù)報(bào)需要分片傳送時(shí)棘劣,時(shí)間戳選項(xiàng)不復(fù)制到各個(gè)分片,僅在第一片出現(xiàn)楞遏。

3.下一報(bào)頭
長(zhǎng)度為8bit茬暇,這個(gè)字段指出了ipv6基本報(bào)頭之后所跟的下一個(gè)擴(kuò)展報(bào)頭字段中的協(xié)議類(lèi)型,與ipv4字段類(lèi)似可以指出上層協(xié)議是tcp還是udp 同時(shí)還可以指明是否存在 ipv6擴(kuò)展頭

下一報(bào)頭值對(duì)應(yīng)擴(kuò)展類(lèi)型或者協(xié)議如下


IPv6報(bào)文中不再有“選項(xiàng)”字段橱健,而是通過(guò)“下一報(bào)頭”字段配合IPv6擴(kuò)展報(bào)頭來(lái)實(shí)現(xiàn)選項(xiàng)的功能而钞。使用擴(kuò)展頭時(shí),將在IPv6報(bào)文下一報(bào)頭字段表明首個(gè)擴(kuò)展報(bào)頭的類(lèi)型拘荡,再根據(jù)該類(lèi)型對(duì)擴(kuò)展報(bào)頭進(jìn)行讀取與處理臼节。每個(gè)擴(kuò)展報(bào)頭同樣包含下一報(bào)頭字段,若接下來(lái)有其他擴(kuò)展報(bào)頭珊皿,即在該字段中繼續(xù)標(biāo)明接下來(lái)的擴(kuò)展報(bào)頭的類(lèi)型网缝,從而達(dá)到添加連續(xù)多個(gè)擴(kuò)展報(bào)頭的目的。在最后一個(gè)擴(kuò)展報(bào)頭的下一報(bào)頭字段中蟋定,則標(biāo)明該報(bào)文上層協(xié)議的類(lèi)型粉臊,用以讀取上層協(xié)議數(shù)據(jù)

參考
IPv4 服務(wù)類(lèi)型(TOS)字段
百度百科
IP協(xié)議
網(wǎng)絡(luò)層:IP協(xié)議詳解(IP協(xié)議真的得看這篇)
IPv6協(xié)議
IP協(xié)議詳解(一)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市驶兜,隨后出現(xiàn)的幾起案子扼仲,更是在濱河造成了極大的恐慌远寸,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屠凶,死亡現(xiàn)場(chǎng)離奇詭異驰后,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)矗愧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)灶芝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人唉韭,你說(shuō)我怎么就攤上這事夜涕。” “怎么了属愤?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵女器,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我春塌,道長(zhǎng)晓避,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任只壳,我火速辦了婚禮俏拱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吼句。我一直安慰自己锅必,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布惕艳。 她就那樣靜靜地躺著搞隐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪远搪。 梳的紋絲不亂的頭發(fā)上劣纲,一...
    開(kāi)封第一講書(shū)人閱讀 49,792評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音谁鳍,去河邊找鬼癞季。 笑死,一個(gè)胖子當(dāng)著我的面吹牛倘潜,可吹牛的內(nèi)容都是我干的绷柒。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼涮因,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼废睦!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起养泡,我...
    開(kāi)封第一講書(shū)人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嗜湃,失蹤者是張志新(化名)和其女友劉穎奈应,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體购披,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钥组,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了今瀑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡点把,死狀恐怖橘荠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情郎逃,我是刑警寧澤哥童,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站褒翰,受9級(jí)特大地震影響贮懈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜优训,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一朵你、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧揣非,春花似錦抡医、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至搞监,卻和暖如春水孩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背琐驴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工俘种, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棍矛。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓安疗,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親够委。 傳聞我的和親對(duì)象是個(gè)殘疾皇子荐类,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348