偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

嵌入式Linux網(wǎng)絡(luò)編程,終于有人將網(wǎng)絡(luò)的七層講清楚了

新聞 前端
本文主要給大家分享網(wǎng)絡(luò)七層概念之網(wǎng)絡(luò)層,后續(xù)章節(jié)會(huì)跟大家講述物理層、鏈路層、傳輸層、應(yīng)用層等。

 本文主要給大家分享網(wǎng)絡(luò)七層概念之網(wǎng)絡(luò)層,后續(xù)章節(jié)會(huì)跟大家講述物理層、鏈路層、傳輸層、應(yīng)用層等(難得的好文,建議先收藏?。?/p>

本文主要從以下幾個(gè)方面講解網(wǎng)絡(luò)層

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

IP 地址

與 IP 配套幾個(gè)協(xié)議

網(wǎng)絡(luò)地址翻譯器(NAT)

地址解析協(xié)議(ARP)

反向地址轉(zhuǎn)換協(xié)議(RARP)

因特網(wǎng)控制消息協(xié)議(ICMP)

IGMP

IP 數(shù)據(jù)報(bào)的格式

IP 數(shù)據(jù)報(bào)首部的固定部分中的各字段

IP 數(shù)據(jù)報(bào)首部的可變部分

IP 層轉(zhuǎn)發(fā)分組的流程

路由表

默認(rèn)路由(default route)

路由表查找

網(wǎng)絡(luò)層是OSI參考模型中的第三層,介于運(yùn)輸層和數(shù)據(jù)鏈路層之間,它在數(shù)據(jù)鏈路層提供的兩個(gè)相鄰端點(diǎn)之間的數(shù)據(jù)幀的傳送功能上,進(jìn)一步管理網(wǎng)絡(luò)中的數(shù)據(jù)通信,將數(shù)據(jù)設(shè)法從源端經(jīng)過若直干個(gè)中間節(jié)點(diǎn)傳送到目的端,從而向運(yùn)輸層提供最基本的端到端的數(shù)據(jù)傳送服務(wù)。主要內(nèi)容有:虛電路分組交換和數(shù)據(jù)報(bào)分組交換、路由選擇算法、阻塞控制方法、X.25協(xié)議、綜合業(yè)務(wù)數(shù)據(jù)網(wǎng)(ISDN)、異步傳輸模式(ATM)及網(wǎng)際互連原理與實(shí)現(xiàn)。

IP是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的TCP、UDP、ICMP及IGMP數(shù)據(jù)都以IP數(shù)據(jù)報(bào)格式傳。IP提供不可靠、無連接的數(shù)據(jù)報(bào)傳送服務(wù)。不可靠( unreliable)的意思是它不能保證I P數(shù)據(jù)報(bào)能成功地到達(dá)目的地。I P僅提供最好的傳輸服務(wù)。任何要求的可靠性必須由上層來提供(如TCP)。

無連接(connectionless)這個(gè)術(shù)語的意思是I P并不維護(hù)任何關(guān)于后續(xù)數(shù)據(jù)報(bào)的狀態(tài)信息。每個(gè)數(shù)據(jù)報(bào)的處理是相互獨(dú)立的。這也說明, I P數(shù)據(jù)報(bào)可以不按發(fā)送順序接收。如果一信源向相同的信宿發(fā)送兩個(gè)連續(xù)的數(shù)據(jù)報(bào)(先是A,然后是B),每個(gè)數(shù)據(jù)報(bào)都是獨(dú)立地進(jìn)行路由選擇,可能選擇不同的路線,因此B可能在A到達(dá)之前先到達(dá)。

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

IP是英文Internet Protocol(網(wǎng)絡(luò)之間互連的協(xié)議)的縮寫,中文簡稱為“網(wǎng)協(xié)”,也就是為計(jì)算機(jī)網(wǎng)絡(luò)相互連接進(jìn)行通信而設(shè)計(jì)的協(xié)議。在因特網(wǎng)中,它是能使連接到網(wǎng)上的所有計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)相互通信的一套規(guī)則,規(guī)定了計(jì)算機(jī)在因特網(wǎng)上進(jìn)行通信時(shí)應(yīng)當(dāng)遵守的規(guī)則。任何廠家生產(chǎn)的計(jì)算機(jī)系統(tǒng),只要遵守 IP協(xié)議就可以與因特網(wǎng)互連互通。

各個(gè)廠家生產(chǎn)的網(wǎng)絡(luò)系統(tǒng)和設(shè)備,如以太網(wǎng)、分組交換網(wǎng)等,它們相互之間不能互通,不能互通的主要原因是因?yàn)樗鼈兯鶄魉蛿?shù)據(jù)的基本單元(技術(shù)上稱之為“幀”)的格式不同。IP協(xié)議實(shí)際上是一套由軟件程序組成的協(xié)議軟件,它把各種不同“幀”統(tǒng)一轉(zhuǎn)換成(NNT流量)或者“IP數(shù)據(jù)包”格式,這種轉(zhuǎn)換是因特網(wǎng)的一個(gè)最重要的特點(diǎn),使所有各種計(jì)算機(jī)都能在因特網(wǎng)上實(shí)現(xiàn)互通,即具有“開放性”的特點(diǎn)。

數(shù)據(jù)包也是分組交換的一種形式,就是把所傳送的數(shù)據(jù)分段打成 “包”,再傳送出去。但是,與傳統(tǒng)的“連接型”分組交換不同,它屬于“無連接型”,是把打成的每個(gè)“包”(分組)都作為一個(gè)“獨(dú)立的報(bào)文”傳送出去,所以叫做“數(shù)據(jù)包”。這樣,在開始通信之前就不需要先連接好一條電路,各個(gè)數(shù)據(jù)包不一定都通過同一條路徑傳輸,所以叫做“無連接型”。這一特點(diǎn)非常重要,它大大提高了網(wǎng)絡(luò)的堅(jiān)固性和安全性。

每個(gè)數(shù)據(jù)包都有報(bào)頭和報(bào)文這兩個(gè)部分,報(bào)頭中有目的地址等必要內(nèi)容,使每個(gè)數(shù)據(jù)包不經(jīng)過同樣的路徑都能準(zhǔn)確地到達(dá)目的地。在目的地重新組合還原成原來發(fā)送的數(shù)據(jù)。這就要IP具有分組打包和集合組裝的功能。

在實(shí)際傳送過程中,數(shù)據(jù)包還要能根據(jù)所經(jīng)過網(wǎng)絡(luò)規(guī)定的分組大小來改變數(shù)據(jù)包的長度,IP數(shù)據(jù)包的最大長度可達(dá) 65535個(gè)字節(jié)。

 網(wǎng)絡(luò)互相連接起來要使用一些中間設(shè)備

• 中間設(shè)備又稱為中間系統(tǒng)或中繼(relay)系統(tǒng)。

• 物理層中繼系統(tǒng):轉(zhuǎn)發(fā)器(repeater)。

• 數(shù)據(jù)鏈路層中繼系統(tǒng):網(wǎng)橋或橋接器(bridge)。

• 網(wǎng)絡(luò)層中繼系統(tǒng):路由器(router)

• 網(wǎng)橋和路由器的混合物:橋路器(brouter)。

• 網(wǎng)絡(luò)層以上的中繼系統(tǒng):網(wǎng)關(guān)(gateway)

網(wǎng)絡(luò)互連使用路由器:

• 當(dāng)中繼系統(tǒng)是轉(zhuǎn)發(fā)器或網(wǎng)橋時(shí),一般并不稱之為網(wǎng)絡(luò)互連,因?yàn)檫@僅僅是把一個(gè)網(wǎng)絡(luò)擴(kuò)大了,而這仍然是一個(gè)網(wǎng)絡(luò)。

• 網(wǎng)關(guān)由于比較復(fù)雜,目前使用得較少。

• 互聯(lián)網(wǎng)都是指用路由器進(jìn)行互連的網(wǎng)絡(luò)。

• 由于歷史的原因,許多有關(guān) TCP/IP 的文獻(xiàn)將網(wǎng)絡(luò)層使用的路由器稱為網(wǎng)關(guān)。

 分組在互聯(lián)網(wǎng)中的傳送

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

1.2 P IP 地址

所謂IP地址就是給每個(gè)連接在Internet上的主機(jī)分配的一個(gè)32bit地址。按照TCP/IP協(xié)議規(guī)定,IP地址用二進(jìn)制來表示,每個(gè)IP地址長32bit,比特?fù)Q算成字節(jié),就是4個(gè)字節(jié)。例如一個(gè)采用二進(jìn)制形式的IP地址是“00001010000000000000000000000001”,這么長的地址,人們處理起來也太費(fèi)勁了。為了方便人們的使用,IP地址經(jīng)常被寫成十進(jìn)制的形式,中間使用符號(hào)“.”分開不同的字節(jié)。于是,上面的IP地址可以表示為“10.0.0.1”。IP地址的這種表示法叫做“點(diǎn)分十進(jìn)制表示法”,這顯然比1和0容易記憶得多。

 IP 地址及其分類原則

IP地址是一種層次地址,通用格式為:M——類的等級(jí)號(hào),NET——網(wǎng)絡(luò)號(hào),HOST——主機(jī)號(hào)。按照類的等級(jí)號(hào),IP地址分為五類:A、B、C、D、E。如下圖所示,網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)隨不同等級(jí)在32位中占有的位數(shù)不同。

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

網(wǎng)絡(luò)地址的最高位必須是“110”。C類IP地址中網(wǎng)絡(luò)的標(biāo)識(shí)長度為24位,主機(jī)標(biāo)識(shí)的長度為8位,C類網(wǎng)絡(luò)地址數(shù)量較多,適用于小規(guī)模的局域網(wǎng)絡(luò),每個(gè)網(wǎng)絡(luò)最多只能包含254臺(tái)計(jì)算機(jī)。

C類IP地址范圍192.0.1.1-223.255.254.254(二進(jìn)制表示為: 11000000 00000000 0000000100000001 - 11011111 11111111 11111110 11111110)。

C類IP地址的子網(wǎng)掩碼為255.255.255.0,每個(gè)網(wǎng)絡(luò)支持的最大主機(jī)數(shù)為256-2=254臺(tái)

特殊地址

除了以上三種類型的IP地址外,還有幾種特殊類型的IP地址,TCP/IP協(xié)議規(guī)定,凡IP地址中的第一個(gè)字節(jié)以“lll0”開始的地址都叫多點(diǎn)廣播地址。因此,任何第一個(gè)字節(jié)大于223小于240的IP地址是多點(diǎn)廣播地址;IP地址中的每一個(gè)字節(jié)都為0的地址(“0.0.0.0”)對(duì)應(yīng)于當(dāng)前主機(jī);IP地址中的每一個(gè)字節(jié)都為1的IP地址(“255.255.255.255”)是當(dāng)前子網(wǎng)的廣播地址;IP地址中凡是以“llll0”的地址都留著將來作為特殊用途使用;IP地址中不能以十進(jìn)制“127”作為開頭,該類地址中數(shù)字127.0.0.1到127.1.1.1用于回路測(cè)試,如:127.0.0.1可以代表本機(jī)IP地址,用“http://127.0.0.1”就可以測(cè)試本機(jī)中配置的Web服務(wù)器。網(wǎng)絡(luò)ID的第一個(gè)6位組也不能全置為“0”,全“0”表示本地網(wǎng)絡(luò)。D類IP地址第一個(gè)字節(jié)以“1110”開始,它是一個(gè)專門保留的地址。它并不指向特定的網(wǎng)絡(luò),目前這一類地址被用在多點(diǎn)廣播(Multicast)中。多點(diǎn)廣播地址用來一次尋址一組計(jì)算機(jī),它標(biāo)識(shí)共享同一協(xié)議的一組計(jì)算機(jī)。地址范圍224.0.0.1-239.255.255.254 。E類IP地址以“1111”開始,保留用于將來和實(shí)驗(yàn)使用。

 廣播地址,主機(jī)號(hào)全部是“1”的網(wǎng)絡(luò)地址用于廣播,必須知道信宿網(wǎng)絡(luò)的網(wǎng)絡(luò)號(hào)。

 有限廣播地址,TCP/IP規(guī)定,32比特全為“1”的網(wǎng)間網(wǎng)地址用于本網(wǎng)廣播。

“0”類地址,TCP/IP規(guī)定,各位全為“0”的網(wǎng)絡(luò)號(hào)被解釋為“本”網(wǎng)絡(luò)。

 “回送地址,A類網(wǎng)絡(luò)地址127是一個(gè)保留地址,用于網(wǎng)絡(luò)軟件的測(cè)試以及本地機(jī)進(jìn)程間通信,叫做回送地址。無論什么程序,一旦使用回送地址發(fā)送數(shù)據(jù),協(xié)議軟件立即返回之,不進(jìn)行任何網(wǎng)絡(luò)傳輸。 TCP/IP協(xié)議規(guī)定:含網(wǎng)絡(luò)號(hào)127的分組不能出現(xiàn)任何網(wǎng)絡(luò)上;主機(jī)和網(wǎng)關(guān)不能為該地址廣播任何尋徑信息。

 私有網(wǎng)絡(luò)地址(保留地址)

A類地址:10.1.1.1-10.254.254.254

B類地址: 172.16.1.1-172.31.254.254

C類地址: 192.168.1.1-192.168.254.254

 IP 地址的屏蔽碼

一般地,32位的IP地址分為兩部分,即網(wǎng)絡(luò)號(hào)和主機(jī)號(hào),分別稱為IP地址的“網(wǎng)絡(luò)部分”和“主機(jī)部分”。子網(wǎng)掩碼用于將這兩個(gè)部分區(qū)分開來。

子網(wǎng)掩碼IP協(xié)議規(guī)定:每一個(gè)使用子網(wǎng)的網(wǎng)點(diǎn)都選擇一個(gè)32位的位模式,若模式中的某位置1,則對(duì)應(yīng)IP地址中的某位為網(wǎng)絡(luò)地址中的一位。若位模式中某位為0,則對(duì)應(yīng)IP地址中的某位為主機(jī)地址中的一位。

若將IP地址主機(jī)部分的各位均置為0,則稱為網(wǎng)絡(luò)地址(network address).另外在網(wǎng)絡(luò)地址后面追加了表示網(wǎng)絡(luò)地址長度的幾位數(shù)字,即在IP地址的后面劃一個(gè)斜杠”/”,在斜杠的后面寫上表示網(wǎng)絡(luò)地址部分位數(shù)的數(shù)字。

例子

IP地址是由“網(wǎng)絡(luò)地址”與“主機(jī)地址”所構(gòu)成的以IP地址為“192.168.10.68”,網(wǎng)絡(luò)地址為26位為例。

二進(jìn)制數(shù) 11000000.10101000.00001010.01000000 /26

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

 互聯(lián)網(wǎng)中的 IP 地址

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

1.3 與 P IP 配套幾個(gè)協(xié)議

網(wǎng)際協(xié)議 IP 是 TCP/IP 體系中兩個(gè)最主要的協(xié)議之一。與 IP 協(xié)議配套使用的還有四個(gè)協(xié)議:

• 地址解析協(xié)議 ARP(Address Resolution Protocol)

• 逆地址解析協(xié)議 RARP(Reverse Address Resolution Protocol)

• 網(wǎng)際控制報(bào)文協(xié)議 ICMP(Internet Control Message Protocol)

• 網(wǎng)際組管理協(xié)議 IGMP(Internet Group Management Protocol)

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

1.3.1 網(wǎng)絡(luò)地址翻譯器( NAT )

這種技術(shù)是在局部地區(qū)網(wǎng)中,設(shè)定私有 IP 地址,當(dāng)與 Internet 連接的時(shí)候,再將其變換成全局IP 地址。并且,如果是能夠替換 TCP 或者 UDP 的端口號(hào)的網(wǎng)絡(luò)地址端口翻譯器(NAPT:Network Address Ports Translation),則使用一個(gè)全局 IP 地址就可以在多臺(tái)的主機(jī)之間進(jìn)行通信。

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

1.3.2 地址解析協(xié)議( ARP )

略。

1.3.3 反向地址轉(zhuǎn)換協(xié)議( RARP )

略。

1.3.4 因特網(wǎng)控制消息協(xié)議( ICMP)

ICMP是(Internet Control Message Protocol)Internet控制報(bào)文協(xié)議。它是TCP/IP協(xié)議族的一個(gè)子協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息??刂葡⑹侵妇W(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息。這些控制消息雖然并不傳輸用戶數(shù)據(jù),但是對(duì)于用戶數(shù)據(jù)的傳遞起著重要的作用。

基本簡介

ICMP協(xié)議是一種面向連接的協(xié)議,用于傳輸出錯(cuò)報(bào)告控制信息。它是一個(gè)非常重要的協(xié)議,它對(duì)于網(wǎng)絡(luò)安全具有極其重要的意義。

它是TCP/IP協(xié)議族的一個(gè)子協(xié)議,屬于網(wǎng)絡(luò)層協(xié)議,主要用于在主機(jī)與路由器之間傳遞控制信息,包括報(bào)告錯(cuò)誤、交換受限控制和狀態(tài)信息等。當(dāng)遇到IP數(shù)據(jù)無法訪問目標(biāo)、IP路由器無法按當(dāng)前的傳輸速率轉(zhuǎn)發(fā)數(shù)據(jù)包等情況時(shí),會(huì)自動(dòng)發(fā)送ICMP消息。

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

ICMP提供一致易懂的出錯(cuò)報(bào)告信息。發(fā)送的出錯(cuò)報(bào)文返回到發(fā)送原數(shù)據(jù)的設(shè)備,因?yàn)橹挥邪l(fā)送設(shè)備才是出錯(cuò)報(bào)文的邏輯接受者。發(fā)送設(shè)備隨后可根據(jù)ICMP報(bào)文確定發(fā)生錯(cuò)誤的類型,并確定如何才能更好地重發(fā)失敗的數(shù)據(jù)報(bào)。但是ICMP唯一的功能是報(bào)告問題而不是糾正錯(cuò)誤,糾正錯(cuò)誤的任務(wù)由發(fā)送方完成。

我們?cè)诰W(wǎng)絡(luò)中經(jīng)常會(huì)使用到ICMP協(xié)議,比如我們經(jīng)常使用的用于檢查網(wǎng)絡(luò)通不通的Ping命令(Linux和Windows中均有),這個(gè)“Ping”的過程實(shí)際上就是ICMP協(xié)議工作的過程。還有其他的網(wǎng)絡(luò)命令如跟蹤路由的Tracert命令也是基于ICMP協(xié)議的。

P ICMP 協(xié)定內(nèi)容

ICMP的全稱是 Internet Control Message Protocol 。從技術(shù)角度來說,ICMP就是一個(gè)“錯(cuò)誤偵測(cè)與回報(bào)機(jī)制”,其目的就是讓我們能夠檢測(cè)網(wǎng)路的連線狀況﹐也能確保連線的準(zhǔn)確性﹐其功能主要有:

• 偵測(cè)遠(yuǎn)端主機(jī)是否存在。

• 建立及維護(hù)路由資料。

• 重導(dǎo)資料傳送路徑。

• 資料流量控制。

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

類型字段為3,標(biāo)識(shí)這是一個(gè)ICMP 目標(biāo)不可達(dá)數(shù)據(jù)包。代碼字段的值進(jìn)一步說明了出錯(cuò)的具體原因,其取值范圍為0-12。各值的含義如下表所示。

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

另外我們注意到ICMP 目標(biāo)不可達(dá)數(shù)據(jù)包中最后一個(gè)字段,該字段包含了出錯(cuò)IP 數(shù)據(jù)包的lP頭部和IP 數(shù)據(jù)包數(shù)據(jù)部分的頭64 位。之所以要包含這個(gè)字段是為了能讓IP 數(shù)據(jù)包的發(fā)送者知道是哪個(gè)數(shù)據(jù)包出錯(cuò)。

(3)源端關(guān)閉

路由器轉(zhuǎn)發(fā)IP 數(shù)據(jù)包時(shí)是僅僅根據(jù)單個(gè)數(shù)據(jù)包的信息進(jìn)行轉(zhuǎn)發(fā)的,因此它無法為某個(gè)數(shù)據(jù)包預(yù)留一定的資源。由于路由器的資源(內(nèi)存,計(jì)算時(shí)間等)是有限的,在網(wǎng)絡(luò)數(shù)據(jù)流量比較大時(shí),路由器為了轉(zhuǎn)發(fā)數(shù)據(jù)包可能會(huì)耗盡其所有資源,這種情況稱為阻塞。出現(xiàn)阻塞就是路由器能力有限,無法轉(zhuǎn)發(fā)所有需要轉(zhuǎn)發(fā)的數(shù)據(jù)包。這時(shí)路由器會(huì)選擇丟棄一些數(shù)據(jù)包。但僅僅這樣做還是無法減輕網(wǎng)絡(luò)阻塞的情況,因?yàn)榘l(fā)送端在發(fā)出數(shù)據(jù)包后如果無法收到響應(yīng)往往會(huì)發(fā)送更多的數(shù)據(jù)包到網(wǎng)絡(luò)上,使得網(wǎng)絡(luò)更加擁擠,使網(wǎng)絡(luò)的阻塞更加嚴(yán)重。因此路由器在丟棄數(shù)據(jù)包時(shí)會(huì)發(fā)送一個(gè)信息到數(shù)據(jù)包的發(fā)送方,通知它網(wǎng)絡(luò)已阻塞,請(qǐng)緩發(fā)數(shù)據(jù)包。用來發(fā)送這個(gè)通知的就是ICMP 源端關(guān)閉數(shù)據(jù)包。該數(shù)據(jù)包格式如下圖所示。

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

(4)超時(shí)錯(cuò)誤

在IP 數(shù)據(jù)包中有個(gè)TTL 字段。IP 數(shù)據(jù)包每被路由器轉(zhuǎn)發(fā)一次該字段的值就至少減l。當(dāng)該字段的值減少到0 時(shí),路由器會(huì)將該數(shù)據(jù)包丟棄。但這種情況是很少發(fā)生的,因?yàn)镮P 數(shù)據(jù)包都會(huì)將該字段的值設(shè)置的足夠大,使得該數(shù)據(jù)包被轉(zhuǎn)發(fā)到目標(biāo)主機(jī)時(shí)該字段的值仍然大于0。但有時(shí)也會(huì)發(fā)生這種清況,例如幾個(gè)路由器組成一個(gè)環(huán),而且路由器中的路由表有錯(cuò)誤,這時(shí)在其中轉(zhuǎn)發(fā)的數(shù)據(jù)包可能一直在這個(gè)環(huán)中直到TTL 字段減為0。在將TTL 為0 的數(shù)據(jù)包丟棄之前,路由器需要通知數(shù)據(jù)包的源主機(jī)數(shù)據(jù)包轉(zhuǎn)發(fā)超時(shí)了。由于一個(gè)IP 數(shù)據(jù)包在轉(zhuǎn)發(fā)到目標(biāo)主機(jī)的過程中可能被分成了多個(gè)段,而這些分段是單獨(dú)路由的。因此很有可能一個(gè)IP 數(shù)據(jù)包的多個(gè)分段只有部分能到達(dá)目標(biāo)主機(jī)而其他的可能丟失了。目標(biāo)主機(jī)在對(duì)一個(gè)IP 數(shù)據(jù)包的多個(gè)分段進(jìn)行重組時(shí),如果等待一定的時(shí)間后剩下的分段還沒有到達(dá),目標(biāo)主機(jī)就認(rèn)為這些分段不會(huì)到達(dá),并將已收到的分段丟棄。在丟棄這些分段之前,目標(biāo)主機(jī)會(huì)通知源主機(jī)IP 數(shù)據(jù)包的分段在進(jìn)行重組時(shí)超時(shí)了。

不管是上述兩種情況的哪一種,路由器和目標(biāo)主機(jī)都是通過向源主機(jī)發(fā)送一個(gè)ICMP 超時(shí)數(shù)據(jù)包來通知它的。該數(shù)據(jù)包的格式如下圖所示。

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

請(qǐng)求主機(jī)可以向路由器或者直接廣播該數(shù)據(jù)包,路由器會(huì)將網(wǎng)絡(luò)的子網(wǎng)掩碼通知給該主機(jī)。

嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了
嵌入式linux網(wǎng)絡(luò)編程之—網(wǎng)絡(luò)層,終于有人將網(wǎng)絡(luò)的七層講清楚了

 

 

責(zé)任編輯:張燕妮 來源: 今日頭條
相關(guān)推薦

2019-07-07 08:18:10

MySQL索引數(shù)據(jù)庫

2020-07-29 09:21:34

Docker集群部署隔離環(huán)境

2021-07-05 22:22:24

協(xié)議MQTT

2024-04-01 10:09:23

AutowiredSpring容器

2020-12-24 15:18:27

大數(shù)據(jù)數(shù)據(jù)分析

2021-04-10 10:37:04

OSITCP互聯(lián)網(wǎng)

2023-08-14 11:35:16

流程式轉(zhuǎn)化率數(shù)據(jù)指標(biāo)

2024-02-23 08:08:21

2021-01-29 10:50:04

數(shù)據(jù)中臺(tái)數(shù)據(jù)數(shù)據(jù)管理

2022-01-05 09:27:24

讀擴(kuò)散寫擴(kuò)散feed

2019-05-22 08:43:45

指令集RISC-V開源

2020-10-16 17:20:21

索引MySQL數(shù)據(jù)庫

2022-02-23 17:03:18

人工智能深度學(xué)習(xí)機(jī)器學(xué)習(xí)

2022-02-11 09:12:13

人工智能深度學(xué)習(xí)機(jī)器學(xué)習(xí)

2024-02-27 14:27:16

2019-01-30 10:18:46

七層協(xié)議網(wǎng)絡(luò)通信

2022-07-04 11:27:02

標(biāo)簽數(shù)據(jù)指標(biāo)標(biāo)簽體系

2023-05-29 13:59:00

GPTOpenAI監(jiān)督微調(diào)

2010-09-09 16:56:08

七層網(wǎng)絡(luò)協(xié)議

2010-09-09 16:48:50

七層網(wǎng)絡(luò)協(xié)議
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)