讀《圖解TCP/IP》(一)

一、網(wǎng)絡(luò)基礎(chǔ)知識(shí)

1摘能、分組交換協(xié)議

將報(bào)文分割為一個(gè)個(gè)叫做包(packet)的較小單位進(jìn)行傳輸?shù)姆椒ù趾稀T诜指畹耐瑫r(shí)谢床,會(huì)在每個(gè)包中表明分組序號(hào)辨泳,這個(gè)序號(hào)供接收端重新裝配數(shù)據(jù)淋袖。

2悼凑、協(xié)議分層和OSI參考模型

OSI模型由ISO制訂罚屋,將通信協(xié)議中必要的功能分為了7層晦炊。

2.1OSI參考模型

從上至下依次為:應(yīng)用層鞠鲜、表示層、會(huì)話層断国、傳輸層镊尺、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層并思。

  • 應(yīng)用層(規(guī)定通信相關(guān)細(xì)節(jié))
    針對(duì)特定應(yīng)用規(guī)定特定的協(xié)議庐氮。如電子郵件協(xié)議、文件傳輸協(xié)議等宋彼。
  • 表示層(負(fù)責(zé)數(shù)據(jù)格式的轉(zhuǎn)換)
    設(shè)備固有數(shù)據(jù)格式和網(wǎng)絡(luò)數(shù)據(jù)格式的轉(zhuǎn)換弄砍。將不同的數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的適合網(wǎng)絡(luò)傳輸?shù)母袷剑换蛘邔?lái)自下一層的數(shù)據(jù)轉(zhuǎn)換為上一層能夠處理的格式输涕。
  • 會(huì)話層(通信連接管理)
    通信管理音婶。負(fù)責(zé)建立和斷開(kāi)通信連接。管理傳輸層以下的分層莱坎∫率剑可以控制何時(shí)建立連接、何時(shí)斷開(kāi)連接和連接多長(zhǎng)時(shí)間檐什。
  • 傳輸層
    管理數(shù)據(jù)的傳輸碴卧,確保數(shù)據(jù)被可靠的傳送到目標(biāo)地址。比如:是否有數(shù)據(jù)丟失乃正。
  • 網(wǎng)絡(luò)層(將數(shù)據(jù)傳輸?shù)侥繕?biāo)地址)
    地址管理和路由選擇住册。負(fù)責(zé)選擇由哪些路由傳遞到目標(biāo)地址。
  • 數(shù)據(jù)鏈路層
    互聯(lián)設(shè)備之間傳送和識(shí)別數(shù)據(jù)幀瓮具。
  • 物理層
    將設(shè)備接收到的01數(shù)字流轉(zhuǎn)換為電壓或者脈沖光荧飞,然后傳輸給物理傳輸介質(zhì);或者將接收到的電壓信號(hào)和脈沖轉(zhuǎn)換為01數(shù)字流名党。

3叹阔、傳輸方式分類

可以根據(jù)其數(shù)據(jù)發(fā)送方式進(jìn)行多種分類。

3.1 面向連接型和面向無(wú)連接型

  • 面向有連接型
    要求雙方建立連接传睹,雙方都確認(rèn)可以連接和接收耳幢,然后才開(kāi)始發(fā)送數(shù)據(jù)。
  • 面向無(wú)連接型
    不要求建立連接蒋歌,不用確認(rèn)對(duì)方的工作狀態(tài)帅掘,以及不用關(guān)心對(duì)方是否存在委煤,只管發(fā)送,不關(guān)心對(duì)方有沒(méi)有接收到修档。

3.2 電路交換和分組交換

  • 電路交換
    歷史相對(duì)久遠(yuǎn)碧绞,主要用于過(guò)去的電話網(wǎng)。
    交換機(jī)主要負(fù)責(zé)數(shù)據(jù)的中轉(zhuǎn)處理吱窝。計(jì)算機(jī)首先被連接到交換機(jī)上讥邻,交換機(jī)之間則由眾多通信線路再繼續(xù)連接。因此計(jì)算機(jī)之間在發(fā)送數(shù)據(jù)時(shí)院峡,需要通過(guò)交換機(jī)與目標(biāo)主機(jī)建立通信電路兴使。建立好連接后,用戶就可以一直使用這條線路照激,直到該連接被斷開(kāi)发魄。
    這樣的話,有個(gè)嚴(yán)重的缺點(diǎn):一旦兩個(gè)計(jì)算機(jī)建立連接俩垃,那么這條線路就會(huì)被獨(dú)自占用励幼。如果并發(fā)數(shù)超過(guò)了通信線路數(shù),就意味著多出來(lái)的一部分無(wú)法進(jìn)行通信口柳。

  • 分組交換(蓄積交換)
    一種較新的通信方式苹粟,TCP/IP就是采用了分組交換技術(shù)。由分組交換機(jī)(路由器)連接通信線路跃闹。

    讓連接到通信電路的計(jì)算機(jī)將所要發(fā)送的數(shù)據(jù)分成多個(gè)數(shù)據(jù)包嵌削,并在每個(gè)數(shù)據(jù)包中加入序號(hào)、發(fā)送端和接收端的地址望艺,然后進(jìn)行發(fā)送苛秕。接收端接收到數(shù)據(jù)包后再進(jìn)行排序處理即可。這樣所有的計(jì)算機(jī)就可以一齊收發(fā)數(shù)據(jù)荣茫,提高了通信線路的利用率想帅。
    image.png

    主要流程為:
    1、發(fā)送端將數(shù)據(jù)分組發(fā)送給路由器

    2啡莉、路由器接收到數(shù)據(jù)后,緩存到自己的緩沖區(qū)旨剥,然后再轉(zhuǎn)發(fā)給目標(biāo)計(jì)算機(jī)咧欣。

3.3 根據(jù)接收端數(shù)量分類

  • 單播
  • 廣播
  • 多播
  • 任播

二、TCP/IP基礎(chǔ)知識(shí)

ARPANET:全球互聯(lián)網(wǎng)的鼻祖轨帜。
TCP/IP:由ARPANET的一個(gè)機(jī)構(gòu)研發(fā)出來(lái)
SMTP:發(fā)送電子郵件時(shí)使用的協(xié)議

每個(gè)包的首部至少包含兩個(gè)信息:發(fā)送端和接收端地址以及上一層的協(xié)議類型魄咕。
經(jīng)過(guò)每個(gè)協(xié)議分層時(shí),都必須有識(shí)別包發(fā)送端和接收端的信息蚌父。以太網(wǎng)會(huì)用MAC地址哮兰、IP會(huì)用IP地址毛萌,而傳輸層用端口號(hào)識(shí)別。

三喝滞、數(shù)據(jù)鏈路

OSI模型中的數(shù)據(jù)鏈路層阁将,有時(shí)也指以太網(wǎng)、無(wú)限局域網(wǎng)等通信手段右遭。
數(shù)據(jù)鏈路層的協(xié)議定義了通過(guò)通信媒介(如雙絞線電纜做盅、光纖、電波等介質(zhì))互聯(lián)的設(shè)備之間傳輸?shù)囊?guī)范窘哈。此外吹榴,各個(gè)設(shè)備之間有時(shí)也會(huì)通過(guò)交換機(jī)、網(wǎng)橋滚婉、中繼器等中轉(zhuǎn)數(shù)據(jù)图筹。
數(shù)據(jù)鏈路層的相關(guān)技術(shù):MAC尋址(物理尋址)、介質(zhì)共享让腹、非公有網(wǎng)絡(luò)婿斥、分組交換、環(huán)路檢測(cè)哨鸭、VLAN(虛擬局域網(wǎng))等民宿。

1、相關(guān)的技術(shù)

1.1像鸡、MAC地址

MAC地址用于識(shí)別數(shù)據(jù)鏈路中互聯(lián)的節(jié)點(diǎn)活鹰。
MAC地址長(zhǎng)48比特。一般的數(shù)字使用規(guī)則如下:
1只估、第1位:?jiǎn)尾サ刂?志群,多播地址1;
2蛔钙、第2位:全局地址0锌云,本地地址1;
3吁脱、第3~24位:由IEEE管理并保存的各廠家之間的不重復(fù)的識(shí)別碼桑涎;
4、第25~48位:由廠商管理并保證不重復(fù)的廠商內(nèi)識(shí)別碼兼贡。
MAC地址由12位16進(jìn)制數(shù)字表示

1.2共享介質(zhì)型網(wǎng)絡(luò)(半雙工工作方式)

由多個(gè)設(shè)備共享一個(gè)通信介質(zhì)的一種網(wǎng)絡(luò)攻冷。
共享介質(zhì)型網(wǎng)絡(luò)的兩種介質(zhì)訪問(wèn)控制方式:爭(zhēng)用方式和令牌傳遞方式。

  • 爭(zhēng)用方式
    是指爭(zhēng)奪獲取數(shù)據(jù)傳輸?shù)臋?quán)利遍希,也叫CSMA等曼。這種方式通常令網(wǎng)絡(luò)中的各個(gè)站采用先到先得的方式占用信道發(fā)送數(shù)據(jù),如果多個(gè)站同時(shí)發(fā)送幀,就會(huì)沖突禁谦,進(jìn)而導(dǎo)致網(wǎng)絡(luò)擁堵和性能下降胁黑。
    改良后的方式為CSMA/CD,要求每個(gè)站提前檢查沖突州泊,一旦有沖突丧蘸,則盡早釋放信道。工作原理如下:
    1拥诡、如果載波信道上沒(méi)有數(shù)據(jù)驅(qū)動(dòng)触趴,則任何站都可以發(fā)送數(shù)據(jù);
    2渴肉、檢查是否會(huì)發(fā)生沖突冗懦,一旦發(fā)生沖突,放棄發(fā)送數(shù)據(jù)仇祭,并立即釋放載波信道披蕉。
    3、放棄發(fā)送后乌奇,隨機(jī)延遲一段時(shí)間没讲,再次查詢是否可以發(fā)送。
  • 令牌傳遞方式
    一種沿著令牌環(huán)發(fā)送一種叫做“令牌”的特殊報(bào)文礁苗,是控制傳輸?shù)囊环N方式爬凑,只有獲得令牌的站才能發(fā)送數(shù)據(jù)。這樣做才不會(huì)發(fā)生沖突试伙,并且保證了公平性嘁信。
類似的,有非共享介質(zhì)型網(wǎng)絡(luò)疏叨,它是全雙工工作方式潘靖。
半雙工:同一時(shí)間只能發(fā)或者只能收,同一時(shí)間只能做一件事蚤蔓;
全雙工:發(fā)送和接收可以同時(shí)進(jìn)行卦溢。

2、以太網(wǎng)

規(guī)范簡(jiǎn)單秀又、易于NIC(網(wǎng)卡)及驅(qū)動(dòng)程序?qū)崿F(xiàn)单寂。

四、IP協(xié)議(網(wǎng)際協(xié)議)

負(fù)責(zé)將數(shù)據(jù)包發(fā)送給最終目標(biāo)計(jì)算機(jī)涮坐,實(shí)現(xiàn)終端節(jié)點(diǎn)之間的通信凄贩,也叫做點(diǎn)對(duì)點(diǎn)通信。位于網(wǎng)絡(luò)層袱讹。
主機(jī):配有IP地址的設(shè)備,但是不進(jìn)行路由控制的設(shè)備
路由器:既配有IP地址又具有路由控制能力的設(shè)備
節(jié)點(diǎn):路由器和主機(jī)的統(tǒng)稱。

1捷雕、IP基礎(chǔ)知識(shí)

IP大致分為三大作用模塊:IP尋址椒丧、路由和IP分包和組包。

1.1救巷、IP地址

IP地址用于在連接到網(wǎng)絡(luò)中的所有主機(jī)中識(shí)別出進(jìn)行通信的目標(biāo)地址壶熏。它不會(huì)受連接的數(shù)據(jù)鏈路的不同而改變。

在網(wǎng)橋或者交換集線器等物理層或數(shù)據(jù)鏈路層數(shù)據(jù)包轉(zhuǎn)發(fā)設(shè)備中浦译,不需要設(shè)置IP地址棒假,因?yàn)檫@些設(shè)備只負(fù)責(zé)將IP包轉(zhuǎn)化為01比特流或者對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。

1.2精盅、路由控制

指將分組數(shù)據(jù)發(fā)送到最終目標(biāo)地址的功能
image.png

跳:網(wǎng)絡(luò)中的一個(gè)區(qū)間帽哑。IP包正是在網(wǎng)絡(luò)中一個(gè)個(gè)跳間被轉(zhuǎn)發(fā)。因此IP路由也叫做多跳路由叹俏。
image.png

1.2.1妻枕、路由控制表

所有主機(jī)都維護(hù)著一張路由控制表,該表記錄IP數(shù)據(jù)下一步應(yīng)該發(fā)給哪個(gè)路由器粘驰,IP包將根據(jù)這個(gè)路由表在各個(gè)數(shù)據(jù)鏈路上傳輸屡谐。
image.png

1.2.2、IP屬于面向無(wú)連接型

在發(fā)包前蝌数,不需要建立與目標(biāo)地址之間的連接愕掏,如果上層有發(fā)送的IP數(shù)據(jù),該數(shù)據(jù)會(huì)立即被壓縮成IP包發(fā)送出去顶伞。

采用無(wú)連接型的原因:為了簡(jiǎn)化和提速饵撑。面向連接的處理相對(duì)復(fù)雜,甚至管理每個(gè)連接本身就比較復(fù)雜枝哄;此外肄梨,如果每次通信前都要事先連接,就會(huì)降低處理速度挠锥。建立連接可以交給它的上一層--傳輸層众羡。

1.3、IP地址基礎(chǔ)知識(shí)

1.3.1蓖租、IP地址定義

IP地址由32位(二進(jìn)制)正整數(shù)表示粱侣,每8位一組,分成4組蓖宦。一臺(tái)路由器也可以配置兩個(gè)以上的網(wǎng)卡齐婴,所以也可以設(shè)置兩個(gè)以上的IP地址。

1.3.2稠茂、IP地址由網(wǎng)絡(luò)和主機(jī)兩部分標(biāo)識(shí)組成

IP弟子由“網(wǎng)絡(luò)標(biāo)識(shí)(網(wǎng)絡(luò)地址)”和“主機(jī)標(biāo)識(shí)(主機(jī)地址)”組成柠偶。
網(wǎng)絡(luò)標(biāo)識(shí)在數(shù)據(jù)鏈路的每個(gè)階段配置不同的值情妖,但是網(wǎng)絡(luò)標(biāo)識(shí)必須保證相互連接的每個(gè)段的地址不相重復(fù),但是相同段內(nèi)相連的主機(jī)必須有相同的網(wǎng)絡(luò)地址(網(wǎng)絡(luò)標(biāo)識(shí))诱担。

IP地址的主機(jī)標(biāo)識(shí)不允許在同一個(gè)網(wǎng)段內(nèi)重復(fù)出現(xiàn)毡证。
image.png

1.3.3、IP地址分類(下面說(shuō)的都是二進(jìn)制)

  • A類地址:首位以0開(kāi)頭的地址蔫仙,從第1位到第8位是它的網(wǎng)絡(luò)標(biāo)識(shí)料睛,即0.0.0.0~127.0.0.0是A類的網(wǎng)絡(luò)地址。則后24位相當(dāng)于主機(jī)標(biāo)識(shí)摇邦。所以該網(wǎng)段內(nèi)可以容納2的24次方減2個(gè)主機(jī)地址恤煞。
  • B類地址:前兩位是10的地址,從第1位到第16位是網(wǎng)絡(luò)標(biāo)識(shí)施籍,后16位則為主機(jī)地址(主機(jī)標(biāo)識(shí))
  • C類地址:前三位是110的地址居扒,從第1位到第24位是網(wǎng)絡(luò)標(biāo)識(shí),后8位是主機(jī)地址(主機(jī)標(biāo)識(shí))法梯,則可容納2的8次方減2個(gè)主機(jī)地址苔货,即254個(gè)(??注意不是255個(gè))
  • D類地址:前四位是1110的地址,從第1位到第32位是網(wǎng)絡(luò)標(biāo)識(shí)立哑,沒(méi)有主機(jī)標(biāo)識(shí)夜惭。因此也一般被用于多播
    image.png
注意??:在分配IP地址時(shí)主機(jī)標(biāo)識(shí)不能全為0或者全為1,因?yàn)槿繛?標(biāo)識(shí)對(duì)應(yīng)的網(wǎng)絡(luò)地址不可獲知铛绰,全部為1的主機(jī)地址通常用于廣播地址诈茧。(這也是上面為什么要減去2的原因)

1.3.4、廣播地址

IP地址的主機(jī)標(biāo)識(shí)部分全部設(shè)置為1,就成了廣播地址。
有兩種廣播:本地廣播和直接廣播

  • 本地廣播
    在本網(wǎng)絡(luò)內(nèi)的廣播鉴腻,本網(wǎng)絡(luò)內(nèi)是指網(wǎng)絡(luò)標(biāo)識(shí)部分相同,處于同一網(wǎng)段鸥昏;
  • 直接廣播

    在不同網(wǎng)絡(luò)之間廣播,即不在同一個(gè)網(wǎng)段姐帚。
    image.png

1.3.5吏垮、IP多播

多播用于將包發(fā)送給特定組內(nèi)的所有主機(jī),能夠穿透路由器罐旗,發(fā)送給其他網(wǎng)段(網(wǎng)絡(luò)標(biāo)識(shí))內(nèi)的特定主機(jī)膳汪。
廣播是發(fā)送給當(dāng)前網(wǎng)絡(luò)標(biāo)識(shí)內(nèi)的所有主機(jī),由主機(jī)去判斷是否接收九秀,而且由于是在同一個(gè)網(wǎng)段內(nèi)遗嗽,所以它無(wú)法穿透路由。

  • IP多播和地址
    多播采用D類地址鼓蜒,即從首位開(kāi)始的四位為1110痹换。

1.3.6征字、子網(wǎng)掩碼

為了減少IP地址分類帶來(lái)的浪費(fèi)而提出的。
子網(wǎng)掩碼通過(guò)子網(wǎng)網(wǎng)絡(luò)地址細(xì)分出比A類晴音、B類柔纵、C類更小粒度的網(wǎng)絡(luò)缔杉,將原來(lái)A類锤躁、B類、C類等分類中的主機(jī)地址部分用作子網(wǎng)地址或详。
引入了子網(wǎng)后系羞,IP地址有兩種識(shí)別碼:IP地址本身和網(wǎng)絡(luò)部的子網(wǎng)掩碼。子網(wǎng)掩碼也是32位的霸琴,對(duì)應(yīng)子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí)部分為1椒振,對(duì)應(yīng)于子網(wǎng)的主機(jī)標(biāo)識(shí)部分為0。也因此梧乘,可以看出子網(wǎng)掩碼的首位一定是連續(xù)的1澎迎。
把子網(wǎng)掩碼和子網(wǎng)主機(jī)標(biāo)識(shí)相對(duì)應(yīng)的位置記為0,是為了與運(yùn)算的方便选调,通過(guò)與運(yùn)算夹供,我們可以容易得到子網(wǎng)網(wǎng)絡(luò)標(biāo)識(shí)和主機(jī)標(biāo)識(shí)。


image.png

1.3.7仁堪、CIDR和VLSM

放棄IP分類哮洽,采用任意長(zhǎng)度分割I(lǐng)P地址的網(wǎng)絡(luò)標(biāo)識(shí)和主機(jī)標(biāo)識(shí),把這種方式叫做CIDR(無(wú)類型域間選路)
可以隨機(jī)修改組織內(nèi)各個(gè)部門的子網(wǎng)掩碼長(zhǎng)度的機(jī)制稱為VLSM(可變長(zhǎng)子網(wǎng)掩碼)

1.4弦聂、路由控制

在發(fā)送數(shù)據(jù)過(guò)程中指明發(fā)往目標(biāo)地址的路徑的信息鸟辅,保存這種信息的就是路由控制表。
路由控制表的形成有兩種方式:靜態(tài)路由(管理員手動(dòng)設(shè)置)和動(dòng)態(tài)路由(路由器之間相互之間根據(jù)路由協(xié)議交換信息)莺葫。

IP協(xié)議始終認(rèn)為路由表是正確的匪凉。IP本身沒(méi)有定義和制作路由表的機(jī)制,路由表由路由協(xié)議制作而成捺檬。

1.4.1再层、IP地址與路由控制

IP的網(wǎng)絡(luò)地址部分用于進(jìn)行路由控制。
路由控制表中記錄著網(wǎng)絡(luò)地址與下一步應(yīng)該發(fā)送到的路由器的地址欺冀。在發(fā)送IP包時(shí)树绩,首先要確定IP包首部中的目標(biāo)地址,再?gòu)漠?dāng)前路由器中找到與該目標(biāo)地址相同或者最吻合的網(wǎng)絡(luò)地址隐轩,最后根據(jù)找到的網(wǎng)絡(luò)地址發(fā)給相應(yīng)的路由器饺饭。

  • 默認(rèn)路由
    一般表姐為0.0.0.0/0或default,這里的地址和IP地址0.0.0.0不一樣职车,可以發(fā)現(xiàn)其子網(wǎng)掩碼的長(zhǎng)度為0瘫俊,則說(shuō)明沒(méi)有網(wǎng)絡(luò)標(biāo)識(shí)部分鹊杖。
  • 主機(jī)路由
    格式為“IP地址/32”,表示整個(gè)長(zhǎng)度32位都是網(wǎng)絡(luò)標(biāo)識(shí)(網(wǎng)絡(luò)地址)扛芽,那么只有在完全匹配的情況下它才會(huì)接收來(lái)自其他路由器的數(shù)據(jù)骂蓖。也被稱為主機(jī)路由。
  • 環(huán)回地址
    在同一個(gè)計(jì)算機(jī)上的程序之間進(jìn)行網(wǎng)絡(luò)通信時(shí)所使用的一個(gè)默認(rèn)地址川尖,127.0.0.1就是環(huán)回地址登下,也就是我們常說(shuō)的localhost。使用這個(gè)IP時(shí)叮喳,數(shù)據(jù)包不會(huì)流向網(wǎng)絡(luò)被芳。

1.4.2、路由控制表的聚合

利用網(wǎng)絡(luò)地址的比特分布可以有效的進(jìn)行分層配置馍悟,對(duì)內(nèi)無(wú)論有多少個(gè)子網(wǎng)掩碼畔濒,對(duì)外呈現(xiàn)出的也是同一個(gè)網(wǎng)絡(luò)地址。這樣可以減少路由表的條目锣咒,降低管理它所花費(fèi)的內(nèi)存和CPU侵状,也提高了查找路由表的速度。
image.png

1.5毅整、IP分割處理與再構(gòu)成處理

MTU:最大傳輸單元

1.5.1趣兄、數(shù)據(jù)鏈路不同,MTU則不同

每種數(shù)據(jù)鏈路的最大傳輸單元都不盡相同毛嫉,因?yàn)樗麄兊氖褂媚康牟煌?/p>

1.5.2诽俯、IP報(bào)文的分片和重組

因?yàn)槊織l數(shù)據(jù)鏈路的MTU不同,所以當(dāng)內(nèi)容太大時(shí)承粤,一次性傳輸不完暴区,這個(gè)時(shí)候就有必要對(duì)IP分片。是否需要分片由路由器決定辛臊。

經(jīng)過(guò)分片的IP數(shù)據(jù)報(bào)在被重組的時(shí)候仙粱,只能由目標(biāo)主機(jī)進(jìn)行,而路由器只能做分片處理彻舰,不能做重組伐割。(主要是由于圖中經(jīng)歷的途徑不同,路由器也可能不止一個(gè))
image.png

1.5.3刃唤、路徑MTU發(fā)現(xiàn)

分片機(jī)制的不足:
1隔心、因?yàn)榉制窃诼酚善髦羞M(jìn)行的,所以加重了路由器的處理負(fù)擔(dān)
2尚胞、網(wǎng)絡(luò)安全的需要硬霍。一般是不期望進(jìn)行IP數(shù)據(jù)包的切片處理的
3、一旦某個(gè)分片丟失笼裳,就會(huì)造成整個(gè)IP數(shù)據(jù)報(bào)作廢唯卖。
路徑MTU粱玲,就是為了解決上述問(wèn)題的。其工作原理如下:
1拜轨、在發(fā)送端主機(jī)發(fā)送IP數(shù)據(jù)報(bào)時(shí)將其首部的分片禁止標(biāo)志為設(shè)置為1抽减。根據(jù)這個(gè)標(biāo)志位,圖中路由器即使遇到需要分片才能處理的大包橄碾,此時(shí)也不會(huì)切片卵沉,而是選擇放棄,并回傳一個(gè)合適的MTU值給發(fā)送主機(jī)堪嫂;

2偎箫、發(fā)送主機(jī)拿到合適的MTU值時(shí),將它設(shè)為當(dāng)前MTU值皆串,對(duì)數(shù)據(jù)報(bào)做切片處理,然后再發(fā)送眉枕。
image.png

1.6恶复、IPv6

1.7、IPv4首部

IP首部中包含著用于IP協(xié)議進(jìn)行發(fā)包控制時(shí)所有的必要信息速挑。
image.png

五谤牡、IP協(xié)議相關(guān)技術(shù)

IP的目的是讓目標(biāo)主機(jī)收到數(shù)據(jù)包,這一過(guò)程除此之外姥宝,還需要有能夠解析主機(jī)名稱和MAC地址的功能翅萤,以及其他必不可少的功能。

1腊满、DNS

我們?cè)谠L問(wèn)一些網(wǎng)站的時(shí)候套么,使用的是如“www.baidu.com”之類的IP地址,而不是類似于“192.168.112.3”之類的羅馬數(shù)字和點(diǎn)號(hào)組成的地址碳蛋。使用羅馬數(shù)字胚泌,明顯不方便。而使用前者肃弟,網(wǎng)絡(luò)中是怎么解析的呢玷室?
DNS就是用來(lái)將那串字符串轉(zhuǎn)為具體IP地址的。它用來(lái)有效管理主機(jī)名和IP地址之間的對(duì)應(yīng)的關(guān)系笤受,它維護(hù)了一個(gè)用來(lái)表示組織內(nèi)部主機(jī)名和IP地址之間的對(duì)應(yīng)關(guān)系的數(shù)據(jù)庫(kù)穷缤。

1.1、域名的構(gòu)成

域名是指為了識(shí)別主機(jī)名稱和組織機(jī)構(gòu)名稱的一種具有分層的名稱箩兽。域名由英文字母用點(diǎn)號(hào)連接構(gòu)成津肛。

  • 域名服務(wù)器
    管理域名的主機(jī)和響應(yīng)的軟件。它可以管理所在分層的域的相關(guān)信息比肄。其所管理的分層叫做ZONE快耿。
  • 解析器
    進(jìn)行DNS查詢的主機(jī)和軟件囊陡。用戶所使用的工作站或個(gè)人電腦都屬于解析器。


    image.png

1.2掀亥、DNS查詢

如圖撞反,kusa.co.jp要訪問(wèn)網(wǎng)站www.ietf.org

image.png

解析器為了調(diào)查IP地址,向域名服務(wù)器進(jìn)行查詢處理搪花。接收這個(gè)查詢請(qǐng)求的域名服務(wù)器會(huì)首先在自己的數(shù)據(jù)庫(kù)進(jìn)行查找遏片;如果有該域名所對(duì)應(yīng)的IP地址就返回,如果沒(méi)有撮竿,再向上一層根域名服務(wù)器進(jìn)行查詢處理吮便,一直到根域名服務(wù)器,如果有則返回域名服務(wù)器想要的數(shù)據(jù)幢踏。
解析器和域名服務(wù)器會(huì)將了解到的最新信息保存到緩存里髓需。

2、ARP

ARP:一種解決地址問(wèn)題的協(xié)議房蝉。以目標(biāo)IP地址為線索僚匆,用來(lái)定位下一個(gè)應(yīng)該接收數(shù)據(jù)分包的網(wǎng)絡(luò)設(shè)備的MAC地址。

ARP只適用于IPv4搭幻,IPv6使用ICMPv6替代咧擂。

2.1、工作機(jī)制

ARP是借助ARP請(qǐng)求與ARP響應(yīng)兩種類型的包確定MAC地址的檀蹋。
image.png

如圖松申,處于同一鏈路的兩臺(tái)主機(jī),A要想知道B的MAC地址俯逾,那么過(guò)程如下:
1贸桶、A通過(guò)廣播的方式發(fā)送一個(gè)ARP請(qǐng)求,該請(qǐng)求中包含了想要了解的B的IP地址纱昧。因?yàn)椴捎玫氖菑V播的方式刨啸,所以處于同一鏈路上的所有主機(jī)和路由器都會(huì)進(jìn)行解析。
2识脆、如果有主機(jī)或者路由器的IP地址和ARP請(qǐng)求中的相同设联,那么這個(gè)節(jié)點(diǎn)就將自己的MAC地址塞入ARP響應(yīng)包,并返回給A灼捂。
3离例、A獲取到了MAC地址做后續(xù)處理。并為了避免每次都去做ARP解析悉稠,A會(huì)將該MAC地址緩存一段時(shí)間宫蛆。同樣,B也會(huì)將該MAC地址儲(chǔ)存起來(lái)。

MAC地址和IP地址是否只要其中一個(gè)就可以了呢耀盗?

2.2想虎、RARP

將ARP反過(guò)來(lái),從MAC地址定位IP地址的協(xié)議叛拷。如將打印機(jī)服務(wù)等小型嵌入式設(shè)備接入到網(wǎng)絡(luò)時(shí)就經(jīng)常會(huì)用到舌厨。
image.png

2.3、ICMP

確認(rèn)IP包是否成功送達(dá)目標(biāo)地址忿薇;通知再發(fā)送過(guò)程當(dāng)中IP包被廢棄的具體原因裙椭;改善網(wǎng)絡(luò)設(shè)置等。通過(guò)這些就可以獲得網(wǎng)絡(luò)是否正常署浩,設(shè)置是否有誤等異常信息揉燃,從而作出網(wǎng)絡(luò)診斷。

在IP通信中如果某個(gè)IP包因?yàn)槟撤N原因未能達(dá)到目標(biāo)地址筋栋,這個(gè)具體原因?qū)⒂蒊CMP負(fù)責(zé)通知炊汤。這種通知會(huì)使用IP進(jìn)行發(fā)送。
image.png

2.3.1二汛、ICMPv6

如果沒(méi)有ICMPv6則IPv6就無(wú)法進(jìn)行正常的通信婿崭。在IPv6中,IP地址定位MAC地址的協(xié)議從ARP轉(zhuǎn)為了ICMP的鄰居探索消息肴颊,這種鄰居探索消息融合了IPv4的ARP、ICMP重定向和ICMP路由器選擇消息等功能于一體渣磷,甚至還提供了自動(dòng)設(shè)置IP地址的功能婿着。
鄰居探索利用的是IPv6的多播地址實(shí)現(xiàn)的(ARP使用的是廣播方式)。(多播和廣播的區(qū)別)

2.4醋界、DHCP

為了實(shí)現(xiàn)自動(dòng)設(shè)置IP地址竟宋、統(tǒng)一管理IP地址分配,就產(chǎn)生了DHCP協(xié)議形纺。使用DHCP協(xié)議丘侠,就可以實(shí)現(xiàn)即插即用的功能。比如電腦設(shè)備每移動(dòng)到一個(gè)新的地方逐样,都會(huì)產(chǎn)生一個(gè)新的IP地址蜗字,就是DHCP協(xié)議所起的作用。

2.4.1脂新、工作機(jī)制

1挪捕、先架設(shè)一臺(tái)DHCP服務(wù)器;
2争便、將DHCP所要分配的IP地址级零、相應(yīng)的子網(wǎng)掩碼、路由控制信息以及DNS服務(wù)器地址等設(shè)置到服務(wù)器上

DHCP分配IP地址的兩種方法為:在特定的IP地址中自動(dòng)選出一個(gè)進(jìn)行分配滞乙;根據(jù)MAC地址分配固定的IP地址奏纪。

由DHCP的功能可以發(fā)現(xiàn)鉴嗤,它是為了獲取IP地址而設(shè)定的。一般有兩個(gè)階段:
image.png

一般的家庭中序调,由寬帶路由器充當(dāng)DHCP角色醉锅。而類似于公司這種龐大的網(wǎng)絡(luò),則需要架設(shè)單獨(dú)的DHCP服務(wù)器或者使用DHCP中繼代理炕置。

2.4.2荣挨、DHCP中繼代理

該中繼代理保存了DHCP服務(wù)器的IP地址。DHCP客戶端會(huì)向DHCP中繼代理發(fā)送DHCP請(qǐng)求包朴摊,DHCP中繼在接收到這個(gè)廣播包以后默垄,以單播的形式發(fā)送給DHCP服務(wù)器,DHCP服務(wù)器收到該包后向DHCP中繼代理做應(yīng)答甚纲,再由中繼代理把包含IP地址的包轉(zhuǎn)發(fā)給相應(yīng)的DHCP客戶端口锭。

3、IP隧道

IP隧道

如圖介杆,因?yàn)閮蓚€(gè)IPv6之間要通信的話鹃操,必須經(jīng)過(guò)一個(gè)IPv4網(wǎng)絡(luò),這樣是無(wú)法實(shí)現(xiàn)通信的春哨。此時(shí)就需要采用IP隧道的功能荆隘。
IP隧道會(huì)將哪些從A發(fā)過(guò)來(lái)的IPv6的包統(tǒng)一和為一個(gè)數(shù)據(jù),再為之追加一個(gè)IPv4首部以后轉(zhuǎn)發(fā)給C赴背。

這種在網(wǎng)絡(luò)層首部繼續(xù)追加首部的通信就被稱為IP隧道椰拒。
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市凰荚,隨后出現(xiàn)的幾起案子燃观,更是在濱河造成了極大的恐慌,老刑警劉巖便瑟,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缆毁,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡到涂,警方通過(guò)查閱死者的電腦和手機(jī)脊框,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)养盗,“玉大人缚陷,你說(shuō)我怎么就攤上這事⊥耍” “怎么了箫爷?”我有些...
    開(kāi)封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我虎锚,道長(zhǎng)硫痰,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任窜护,我火速辦了婚禮效斑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘柱徙。我一直安慰自己缓屠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布护侮。 她就那樣靜靜地躺著憎茂,像睡著了一般乌庶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沽瞭,一...
    開(kāi)封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天放接,我揣著相機(jī)與錄音暑脆,去河邊找鬼声怔。 笑死逛犹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的得哆。 我是一名探鬼主播脯颜,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼贩据!你這毒婦竟也來(lái)了伐脖?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤乐设,失蹤者是張志新(化名)和其女友劉穎绎巨,沒(méi)想到半個(gè)月后近尚,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡场勤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年戈锻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片和媳。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡格遭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出留瞳,到底是詐尸還是另有隱情拒迅,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站璧微,受9級(jí)特大地震影響作箍,放射性物質(zhì)發(fā)生泄漏前硫。R本人自食惡果不足惜胞得,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望屹电。 院中可真熱鬧阶剑,春花似錦、人聲如沸危号。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)葱色。三九已至递宅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間苍狰,已是汗流浹背办龄。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留淋昭,地道東北人俐填。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像翔忽,于是被迫代替她去往敵國(guó)和親英融。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容