2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之IPv6、從IPv4到IPv6的遷移

2019 iOS面試題大全---全方面剖析面試
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之HTTP協(xié)議
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之HTTPS复哆、對稱加密、非對稱加密
2019 iOS面試-----一個(gè)基于UDP的簡單的聊天Demo(用C語言腌零、python梯找、GCDAsyncUdpSocket來實(shí)現(xiàn)UDP通信)
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之UDP的特點(diǎn)、UDP的報(bào)文結(jié)構(gòu)及差錯(cuò)檢測
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之TCP益涧、三次握手锈锤、四次揮手、代碼實(shí)現(xiàn)
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之TCP進(jìn)階:可靠數(shù)據(jù)傳輸闲询、流量控制(滑動(dòng)窗口)久免、擁塞控制
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之DNS
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之Cookie和Session
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之IP協(xié)議、IP數(shù)據(jù)報(bào)分片扭弧、IPv4編址阎姥、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之IPv6、從IPv4到IPv6的遷移

由于新的子網(wǎng)和IP結(jié)點(diǎn)以驚人的增長率連到因特網(wǎng)上鸽捻,并被分配唯一的IP地址呼巴,32比特的IPv4地址空間即將用盡,為了解決這一問題御蒲,IPv6也應(yīng)運(yùn)而生衣赶。而事實(shí)上在20多年前,因特網(wǎng)工程任務(wù)組就開始致力于開發(fā)一種替代IPv4的協(xié)議厚满,即IPv6

一府瞄、IPv6數(shù)據(jù)報(bào)格式

1、IPv6數(shù)據(jù)報(bào)格式
  • 版本(4比特)
    該字段用于標(biāo)識IP版本號痰滋,IPv6將該字段值設(shè)為6摘能。而如果將該字段設(shè)為4并不能創(chuàng)建一個(gè)合法的IPv4數(shù)據(jù)報(bào)

  • 流量類型(8比特)
    類似于IPv4數(shù)據(jù)報(bào)中的服務(wù)類型(TOS)

  • 流標(biāo)簽(20比特)
    流標(biāo)簽字段是IPv6數(shù)據(jù)報(bào)中新增的一個(gè)字段,用來標(biāo)識一條數(shù)據(jù)報(bào)的流類型敲街,以便在網(wǎng)絡(luò)層區(qū)分不同的報(bào)文团搞。

  • 有效載荷長度(16比特)

IPv6數(shù)據(jù)報(bào)中在40定長字節(jié)數(shù)據(jù)報(bào)首部后的字節(jié)數(shù)量,即除了IPv6的數(shù)據(jù)報(bào)首部以外的其他部分的總長度

  • 下一個(gè)首部(8比特)
    當(dāng)IPv6沒有擴(kuò)展報(bào)頭時(shí)多艇,該字段的作用和IPv4的協(xié)議字段一樣逻恐。當(dāng)含有擴(kuò)展報(bào)頭時(shí),該字段的值即為第一個(gè)擴(kuò)展報(bào)頭的類型

  • 跳限制(8比特)
    與IPv4報(bào)文中的TTL字段類似,轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)的每臺路由器將對該字段的內(nèi)容減1.如果跳限制計(jì)數(shù)到達(dá)0复隆,則該數(shù)據(jù)報(bào)將被丟棄

  • 源地址和目的地址(各128比特)
    記錄源IP地址拨匆,目的IP地址

  • 數(shù)據(jù)

可以看出,在IPv4數(shù)據(jù)報(bào)中出現(xiàn)的幾個(gè)字段在IPv6數(shù)據(jù)報(bào)中已不復(fù)存在:

  • 分片/重新組裝
    IPv6不允許在中間路由器上進(jìn)行分片和重新組裝挽拂。這種操作只能在源與目的地上執(zhí)行惭每。如果路由器收到的IPv6數(shù)據(jù)報(bào)因太大不能轉(zhuǎn)發(fā)出鏈路上的話,路由器會(huì)丟掉該數(shù)據(jù)報(bào)亏栈,并回一個(gè)“分組太大”的ICMP差錯(cuò)報(bào)文
  • 首部檢驗(yàn)和
    因?yàn)檫\(yùn)輸層和數(shù)據(jù)鏈路層協(xié)議執(zhí)行了檢驗(yàn)操作台腥,該項(xiàng)功能在網(wǎng)絡(luò)層就沒有必要了,從而更快速處理IP分組
  • 選項(xiàng)
    選項(xiàng)字段不再是標(biāo)準(zhǔn)IP首部的一部分了绒北。但并沒有消失黎侈,而是可能出現(xiàn)在IPv6首部中由“下一個(gè)首部”指出的位置上。即就像TCP或UDP協(xié)議首部能夠是IP分組中的“下一個(gè)首部”闷游,選項(xiàng)字段也能是“下一個(gè)首部”

IPv6相對IPv4最重要的變化如下:

  • 擴(kuò)大的地址容量
    IPv6將IP地址長度由32比特增加到128比特峻汉,這使得理論可存在的IP地址增加到2^{128}個(gè),約340萬億億億億個(gè)脐往,這是一個(gè)非常大的數(shù)字休吠,確保全世界再也不會(huì)用盡IP地址,甚至可以為地球上每一粒沙子都分配一個(gè)唯一的IP地址
    除了單播和多播地址外钙勃,IPv6沒有廣播這一說法蛛碌,而是引入了一種稱為任播地址的新型地址,這種地址可以使數(shù)據(jù)報(bào)交付給一組主機(jī)中的任意一個(gè)
  • 簡化高效的40字節(jié)首部
    除去共32字節(jié)的源地址和目標(biāo)地址外辖源,首部其余字段只占了8字節(jié)
  • 流標(biāo)簽與優(yōu)先級
    給屬于特殊流的分組打上標(biāo)簽,這些特殊流是發(fā)送方要求進(jìn)行特殊處理的流希太,如一種非默認(rèn)服務(wù)質(zhì)量或需要實(shí)時(shí)服務(wù)的流
2克饶、IPv6書寫和表達(dá)方式

表述和書寫時(shí),把長度為128比特的IPv6地址分成8個(gè)16位的二進(jìn)制段誊辉、每一個(gè)16位的二進(jìn)制段用4位的16進(jìn)制數(shù)表示矾湃,段間用“:”(冒號)隔開(其書寫方法和IPv4的十進(jìn)制數(shù)加“.”不同)。

例如:1000:0000:0000:0000:000A:000B:000C:000D就是每一個(gè)16位的二進(jìn)制數(shù)的段用4位16進(jìn)制數(shù)的段來表示堕澄、段間用“:”(冒號)隔開的一個(gè)IPv6地址邀跃;其中:各個(gè)4位16進(jìn)制數(shù)的段中的高位0允許省略;因此蛙紫,上面的IPv6地址也可以縮寫成:1000:0:0:0:A:B:C:D拍屑。

為了更進(jìn)一步簡化,IPv6的地址規(guī)范中還規(guī)定坑傅,可以在一個(gè)IPv6地址中最多使用一次雙冒號(::)來取代IPv6地址中緊密相連的多個(gè)全0的16進(jìn)制數(shù)的段(因?yàn)槿绻试S在一個(gè)IPv6地址中使用一次以上的雙冒號時(shí)將無法判斷IPv6地址的長度僵驰,所以IPv6的地址規(guī)范中才規(guī)定:在一個(gè)IPv6地址中最多只能使用一次雙冒號),這樣上面的IPv6地址還可以縮寫成:1000::A:B:C:D

雙冒號使用的地點(diǎn)可以在IPv6地址的前面蒜茴、后面或者是中間星爪;例如:對于1000:0:0:0:A:B:0:0這樣的一個(gè)IPv6地址,可以寫成1000::A:B:0:0粉私,也可以寫成1000:0:0:0:A:B::顽腾;但是不能寫成1000::A:B::

帶有端口號的IPV6地址字符串形式诺核,地址部分應(yīng)當(dāng)用“[]”括起來抄肖,在后面跟著‘:’帶上端口號,如 [A01F::0]:8000

二猪瞬、從IPv4到IPv6的遷移

基于IPv4的公共因特網(wǎng)如何遷移到IPv6呢憎瘸?這是個(gè)非常現(xiàn)實(shí)的問題
雖然IPv6使能系統(tǒng)可做成向后兼容陈瘦,即能接收幌甘、發(fā)送和路由IPv4數(shù)據(jù)報(bào),但已部署的IPv4使能系統(tǒng)卻不能處理IPv6數(shù)據(jù)報(bào)

1痊项、雙協(xié)議棧

引入IPv6使能結(jié)點(diǎn)的最直接方式是雙棧方法锅风,即使用該方法的IPv6結(jié)點(diǎn)還有完整的IPv4實(shí)現(xiàn),即IPv6/IPv4結(jié)點(diǎn)鞍泉,具有接收和發(fā)送IPv4和IPv6兩種數(shù)據(jù)報(bào)的能力皱埠。
當(dāng)與IPv4結(jié)點(diǎn)互操作時(shí),IPv6/IPv4結(jié)點(diǎn)可使用IPv4數(shù)據(jù)報(bào)咖驮;當(dāng)與IPv6結(jié)點(diǎn)互操作時(shí)边器,IPv6/IPv4結(jié)點(diǎn)又可使用IPv6數(shù)據(jù)報(bào)。

IPv6/IPv4結(jié)點(diǎn)必須有IPv6與IPv4兩種地址托修。此外忘巧,它們還必須能確定另一個(gè)結(jié)點(diǎn)是否是IPv6使能的或僅IPv4使能的。

可以使用DNS來解決睦刃,若要解析的結(jié)點(diǎn)名字是IPv6使能的砚嘴,則DNS會(huì)返回一個(gè)IPv6地址,否則返回一個(gè)IPv4地址涩拙。如果發(fā)出DNS請求的結(jié)點(diǎn)是僅IPv4使能的际长,則只返回一個(gè)IPv4地址。

兩個(gè)IPv6使能的結(jié)點(diǎn)不應(yīng)相互發(fā)送IPv4數(shù)據(jù)報(bào)兴泥,而如果發(fā)送方或接收方任意一個(gè)僅為IPv4使能的,則必須使用IPv4數(shù)據(jù)報(bào)工育。
這樣就會(huì)有下面這種情況:


如圖,假如結(jié)點(diǎn)A郁轻、B翅娶、E文留、F都是IPv6使能的結(jié)點(diǎn),而結(jié)點(diǎn)C和D是僅IPv4使能的結(jié)點(diǎn)竭沫,那么當(dāng)按A->B->C->D->E->F順序發(fā)送數(shù)據(jù)報(bào)時(shí),AB之間會(huì)發(fā)IPv6數(shù)據(jù)報(bào)燥翅,BC會(huì)發(fā)IPV4數(shù)據(jù)報(bào), 由于IPv6數(shù)據(jù)報(bào)特定的字段在IPv4數(shù)據(jù)報(bào)中無對應(yīng)的部分蜕提,這些字段將會(huì)丟失森书。因此,即使E和F之間能發(fā)IPv6數(shù)據(jù)報(bào)谎势,從D到達(dá)E的IPv4數(shù)據(jù)報(bào)并未含有從A發(fā)出的初始IPv6數(shù)據(jù)報(bào)中的所有字段凛膏。

2、隧道

建隧道是另一種雙棧方法脏榆,該方法能解決上述問題猖毫。
假定兩個(gè)IPv6結(jié)點(diǎn)要使用IPv6數(shù)據(jù)報(bào)進(jìn)行交互,但是它們是經(jīng)由中間IPv4路由器互聯(lián)的须喂。將兩臺IPv6路由器中間的IPv4路由器的集合成為一個(gè)隧道吁断,如B->C->D->E

如圖坞生,借助于隧道仔役,在隧道發(fā)送端的IPv6結(jié)點(diǎn)可將整個(gè)IPv6數(shù)據(jù)報(bào)放到一個(gè)IPv4數(shù)據(jù)報(bào)的數(shù)據(jù)字段中。于是是己,該IPv4數(shù)據(jù)報(bào)的地址設(shè)為指向隧道接收端的IPv6結(jié)點(diǎn)又兵,再發(fā)送給隧道中的第一個(gè)結(jié)點(diǎn)。而隧道中的IPv4路由器在它們之間為該數(shù)據(jù)報(bào)提供路由卒废,就像對待其他IPv4數(shù)據(jù)報(bào)一樣沛厨,完全不知道該數(shù)據(jù)報(bào)自身就含有一個(gè)完整的IPv6數(shù)據(jù)報(bào)。而隧道接收端的IPv6結(jié)點(diǎn)最終收到該IPv4數(shù)據(jù)報(bào)摔认,并確定該IPv4數(shù)據(jù)報(bào)中含有一個(gè)IPv6數(shù)據(jù)報(bào)俄烁,于是提取出該IPv6數(shù)據(jù)報(bào),然后再為該IPv6數(shù)據(jù)報(bào)提供路由

3级野、NAT-PT

除了雙棧和隧道方案外,還有一種NAT-PT(Network Address Translator - Protocol Translator)附帶協(xié)議轉(zhuǎn)換器的網(wǎng)絡(luò)地址轉(zhuǎn)換器方案
IPv4 IPv6共存技術(shù)-----NAT-PT
可以參考下這篇文章

IPv6 測試可在這測試是否支持IPv6

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末粹胯,一起剝皮案震驚了整個(gè)濱河市蓖柔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌风纠,老刑警劉巖况鸣,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異竹观,居然都是意外死亡镐捧,警方通過查閱死者的電腦和手機(jī)潜索,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來懂酱,“玉大人竹习,你說我怎么就攤上這事×形” “怎么了整陌?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長瞎领。 經(jīng)常有香客問我泌辫,道長,這世上最難降的妖魔是什么九默? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任震放,我火速辦了婚禮,結(jié)果婚禮上驼修,老公的妹妹穿的比我還像新娘殿遂。我一直安慰自己,他們只是感情好邪锌,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布勉躺。 她就那樣靜靜地躺著,像睡著了一般觅丰。 火紅的嫁衣襯著肌膚如雪饵溅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天妇萄,我揣著相機(jī)與錄音蜕企,去河邊找鬼。 笑死冠句,一個(gè)胖子當(dāng)著我的面吹牛轻掩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播懦底,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼唇牧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了聚唐?” 一聲冷哼從身側(cè)響起丐重,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎杆查,沒想到半個(gè)月后扮惦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡亲桦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年崖蜜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了浊仆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡豫领,死狀恐怖抡柿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情氏堤,我是刑警寧澤沙绝,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站鼠锈,受9級特大地震影響闪檬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜购笆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一粗悯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧同欠,春花似錦样傍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至襟锐,卻和暖如春撤逢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粮坞。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工蚊荣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人莫杈。 一個(gè)月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓互例,卻偏偏與公主長得像,于是被迫代替她去往敵國和親筝闹。 傳聞我的和親對象是個(gè)殘疾皇子媳叨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評論 2 345