網(wǎng)站平臺(tái)建設(shè)的作用巨量算數(shù)數(shù)據(jù)分析
- 獲取pdf:密碼7281
- 專欄目錄首頁(yè):【專欄必讀】考研湖科大教書(shū)匠計(jì)算機(jī)網(wǎng)絡(luò)筆記導(dǎo)航
文章目錄
- 一:IP數(shù)據(jù)報(bào)首部格式概述
- 二:各字段作用概述
- (1)版本
- (2)首部長(zhǎng)度和可選字段
- (3)填充
- (4)區(qū)分服務(wù)
- (5)總長(zhǎng)度
- A:概述
- B:首部長(zhǎng)度和總長(zhǎng)度字段區(qū)別
- (6)標(biāo)識(shí)、標(biāo)志和片偏移(用于IP數(shù)據(jù)報(bào)分片)
- A:IP數(shù)據(jù)報(bào)分片
- B:標(biāo)識(shí)、標(biāo)志和片偏移
- C:IP數(shù)據(jù)報(bào)分片例子
- (7)生存時(shí)間
- A:概述
- B:作用
- (8)協(xié)議
- (9)首部校驗(yàn)和
- (10)源IP地址和目的IP地址
- 三:總結(jié)
本節(jié)對(duì)應(yīng)視頻如下
- 【計(jì)算機(jī)網(wǎng)絡(luò)微課堂(有字幕無(wú)背景音樂(lè)版)】:IPv4數(shù)據(jù)報(bào)首部格式
一:IP數(shù)據(jù)報(bào)首部格式概述
IP數(shù)據(jù)報(bào)首部格式:一個(gè)IP分組由首部和數(shù)據(jù)載荷兩部分組成。IP數(shù)據(jù)報(bào)首部由固定部分(20B)和可變部分(最大40B)
- 固定部分:每個(gè)IP數(shù)據(jù)報(bào)首部所必須包含的部分
- 可變部分:用于增加IP數(shù)據(jù)報(bào)的功能
IP數(shù)據(jù)報(bào)常以32個(gè)比特為單位(4B)進(jìn)行描述,也即下圖中的每一行,其中每個(gè)小格子稱之為字段(或域),每個(gè)字段或某些字段的組合用來(lái)表達(dá)IP協(xié)議的相關(guān)功能
二:各字段作用概述
(1)版本
版本:占4個(gè)比特,表示IP協(xié)議的版本,通信雙方使用的IP協(xié)議版本必須一致。目前廣泛使用的IP協(xié)議版本號(hào)為4,也即IPv4
(2)首部長(zhǎng)度和可選字段
首部長(zhǎng)度:占4個(gè)比特,表示IP數(shù)據(jù)報(bào)首部的長(zhǎng)度,該字段取值以4B為單位
- 最小十進(jìn)制取值為5,表示IP數(shù)據(jù)報(bào)首部只有20B的固定部分
- 最大十進(jìn)制取值為15,表示IP數(shù)據(jù)報(bào)首部包含20B的固定部分和最大40B的可變部分
可選字段: 占1B到40B不等,用來(lái)支持排錯(cuò)、測(cè)量及安全等措施??蛇x字段增加了IP數(shù)據(jù)報(bào)的功能,但這同時(shí)也使得IP數(shù)據(jù)報(bào)的首部長(zhǎng)度成為可變的。這就增加了每一個(gè)路由器處理IP數(shù)據(jù)報(bào)的開(kāi)銷。實(shí)際上可選字段很少被使用
(3)填充
填充: 用來(lái)確保首部長(zhǎng)度應(yīng)該是4B的整數(shù)倍,使用全0進(jìn)行填充
(4)區(qū)分服務(wù)
區(qū)分服務(wù): 占8個(gè)比特,用來(lái)獲得更好的服務(wù)。該字段在舊標(biāo)準(zhǔn)中叫作服務(wù)類型,但實(shí)際上一直沒(méi)有被使用過(guò)。1998年,因特網(wǎng)工程任務(wù)組IETF把這個(gè)字段改名為區(qū)分服務(wù)。利用該字段的不同數(shù)值可提供不同等級(jí)的服務(wù)質(zhì)量。只有在使用區(qū)分服務(wù)時(shí),該字段才起作用。一般情況下都不使用該字段
(5)總長(zhǎng)度
A:概述
總長(zhǎng)度: 占16個(gè)比特,用來(lái)表示IP數(shù)據(jù)報(bào)的總長(zhǎng)度(首部+數(shù)據(jù)載荷)
- 最大取值為十進(jìn)制的65535,以字節(jié)為單位。在實(shí)際應(yīng)用中,很少會(huì)傳輸這么長(zhǎng)的IP數(shù)據(jù)報(bào)文
B:首部長(zhǎng)度和總長(zhǎng)度字段區(qū)別
下圖可說(shuō)明首部長(zhǎng)度字段和總長(zhǎng)度字段的區(qū)別
- 首部長(zhǎng)度:(0101)2×4=5×4=20B(0101)_{2}×4=5×4=20B(0101)2?×4=5×4=20B
- 總長(zhǎng)度:(0000001111111100)2=1020B(0000001111111100)_{2}=1020B(0000001111111100)2?=1020B
- 數(shù)據(jù)載荷長(zhǎng)度:1020?20=1000B1020-20=1000B1020?20=1000B
(6)標(biāo)識(shí)、標(biāo)志和片偏移(用于IP數(shù)據(jù)報(bào)分片)
A:IP數(shù)據(jù)報(bào)分片
IP數(shù)據(jù)報(bào)分片:如下圖,網(wǎng)際層封裝出的IP數(shù)據(jù)報(bào)將會(huì)在數(shù)據(jù)鏈路層封裝成幀。每一種數(shù)據(jù)鏈路層協(xié)議都規(guī)定了幀的數(shù)據(jù)載荷的最大長(zhǎng)度,稱之為最大傳輸單元MTU(例如以太網(wǎng)數(shù)據(jù)鏈路層規(guī)定MTU值為1500B)。如果某個(gè)IP數(shù)據(jù)報(bào)總長(zhǎng)度超過(guò)MTU時(shí),將無(wú)法封裝成幀,需要將原IP數(shù)據(jù)報(bào)分片為很小的IP數(shù)據(jù)報(bào),再將各分片IP數(shù)據(jù)報(bào)封裝成幀。而這里的標(biāo)識(shí)、標(biāo)志和片偏移三個(gè)字段共同用于IP數(shù)據(jù)報(bào)分片
B:標(biāo)識(shí)、標(biāo)志和片偏移
標(biāo)識(shí): 占16個(gè)比特,屬于同一個(gè)數(shù)據(jù)報(bào)的各分片數(shù)據(jù)報(bào)應(yīng)具有相同的標(biāo)識(shí)。IP軟件維持一個(gè)計(jì)數(shù)器,每產(chǎn)生一個(gè)數(shù)據(jù)報(bào),計(jì)數(shù)器值+1,并將此值賦給標(biāo)識(shí)字段
標(biāo)志: 占3個(gè)比特,各比特含義如下
- DF位:
1
:不允許分片0
:允許分片
- MF位:
1
:后面還有分片0
:這是最后一個(gè)分片
- 保留位:必須設(shè)置為0
片偏移: 占13個(gè)比特,用于指出分片數(shù)據(jù)報(bào)的數(shù)據(jù)載荷部分偏移其在原數(shù)據(jù)報(bào)的位置有多少個(gè)單位,片偏移以8個(gè)字節(jié)為單位
C:IP數(shù)據(jù)報(bào)分片例子
如下圖有一IP數(shù)據(jù)報(bào),其首部為20B,數(shù)據(jù)載荷部分3800B,所以總長(zhǎng)度為3820B。假設(shè)使用以太網(wǎng)傳送該IP數(shù)據(jù)報(bào),其MTU為1500B,顯然無(wú)法封裝3820B長(zhǎng)的IP數(shù)據(jù)報(bào),因此需要把該IP數(shù)據(jù)報(bào)分片為幾個(gè)更小的IP數(shù)據(jù)報(bào),每個(gè)長(zhǎng)度不能大于1500B,然后再將每個(gè)分片IP數(shù)據(jù)報(bào)封裝成一個(gè)以太網(wǎng)幀進(jìn)行傳輸。為了更好地描述后續(xù)分片工作,這里我們將原IP數(shù)據(jù)報(bào)數(shù)據(jù)載荷部分的每一個(gè)字節(jié)都編上號(hào),范圍為0-3799
我們可將原IP數(shù)據(jù)報(bào)的數(shù)據(jù)載荷部分分為3個(gè)更小的分片
- 第一個(gè)分片:共1400字節(jié),范圍0-1399
- 第二個(gè)分片:共1400字節(jié),范圍1400-2799
- 第一個(gè)分片:共1000字節(jié),范圍2800-3799
分片結(jié)束后,給每個(gè)分片重新添加一個(gè)首部使之成為IP數(shù)據(jù)報(bào),每個(gè)分片添加的首部自然不能完全相同,根據(jù)上面對(duì)標(biāo)識(shí)、標(biāo)志和片偏移字段的理解,可以填寫下表
總長(zhǎng)度 | 標(biāo)識(shí) | MF | DF | 片偏移 | |
---|---|---|---|---|---|
原始數(shù)據(jù)報(bào) | 3800+20 | 12345 | 0 | 0 | 0 |
分片1的數(shù)據(jù)報(bào) | 1400+20 | 12345 | 1 | 0 | 0/8 |
分片2的數(shù)據(jù)報(bào) | 1400+20 | 12345 | 1 | 0 | 1400/8 |
分片3的數(shù)據(jù)報(bào) | 1000+20 | 12345 | 0 | 0 | 2800/00 |
假設(shè)分片2的IP數(shù)據(jù)報(bào)經(jīng)過(guò)某個(gè)網(wǎng)絡(luò)時(shí)還需要再進(jìn)行分片,其中一個(gè)分片長(zhǎng)度為800B,另一個(gè)分片長(zhǎng)度為600B,分片結(jié)束后給每個(gè)分片添加一個(gè)首部使之稱為IP數(shù)據(jù)報(bào),填寫下表如下
總長(zhǎng)度 | 標(biāo)識(shí) | MF | DF | 片偏移 |
---|---|---|---|---|
原始數(shù)據(jù)報(bào) | 3800+20 | 12345 | 0 | 0 |
分片2的分片1數(shù)據(jù)報(bào) | 800+20 | 12345 | 1 | 0 |
分片2的分片2數(shù)據(jù)報(bào) | 600+20 | 12345 | 1 | 0 |
(7)生存時(shí)間
A:概述
生存時(shí)間:
- 占8比特,最初以秒為單位,最大生存周期為255秒;路由器轉(zhuǎn)發(fā)IP數(shù)據(jù)報(bào)時(shí),將IP數(shù)據(jù)報(bào)首部中的該字段的值減去IP數(shù)據(jù)報(bào)在本路由器上所耗費(fèi)的時(shí)間,若不為0就轉(zhuǎn)發(fā),否則就丟棄
- 現(xiàn)在以“跳數(shù)”為單位,路由器轉(zhuǎn)發(fā)IP數(shù)據(jù)報(bào)時(shí),將IP數(shù)據(jù)報(bào)首部中的該字段的值減1,若不為0就轉(zhuǎn)發(fā),否則就丟棄
B:作用
生存時(shí)間字段的最大作用就是防止IP數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中永久兜圈
如下圖,假設(shè)路由器R2路由表目的網(wǎng)絡(luò)為N2的條目其下一跳被錯(cuò)誤的配置成了R1(本來(lái)是R3),這會(huì)導(dǎo)致去往網(wǎng)絡(luò)N2的IP數(shù)據(jù)報(bào)錯(cuò)誤地轉(zhuǎn)發(fā)給路由器R1
假設(shè)某個(gè)IP數(shù)據(jù)報(bào)從網(wǎng)絡(luò)N1發(fā)往N2,該IP數(shù)據(jù)報(bào)達(dá)到R1后,R1進(jìn)行查表轉(zhuǎn)發(fā),發(fā)現(xiàn)了匹配的路由條目,其下一條指示轉(zhuǎn)發(fā)給R2,于是R1將該IP數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)給了R2。R2收到該IP數(shù)據(jù)報(bào)后,進(jìn)行查表轉(zhuǎn)發(fā),發(fā)現(xiàn)了匹配的路由條目,其下一條指示轉(zhuǎn)發(fā)給R1,于是R2將該IP數(shù)據(jù)報(bào)又轉(zhuǎn)發(fā)回了R1。很顯然,這形成了路由環(huán)路,如果沒(méi)有生存時(shí)間字段,IP數(shù)據(jù)報(bào)將在此路由環(huán)路中永久兜圈
(8)協(xié)議
協(xié)議: 占8比特,指明IPv4數(shù)據(jù)報(bào)的數(shù)據(jù)部分是何種協(xié)議數(shù)據(jù)單元,常用的一些協(xié)議和相應(yīng)協(xié)議字段的值如下表
協(xié)議名稱 | ICMP | IGMP | TCP | UDP | IPv6 | OSPF |
---|---|---|---|---|---|---|
協(xié)議字段值 | 1 | 2 | 6 | 17 | 41 | 89 |
(9)首部校驗(yàn)和
首部校驗(yàn)和: 占16個(gè)比特,用來(lái)檢測(cè)首部在傳輸過(guò)程中是否出現(xiàn)差錯(cuò)。IP數(shù)據(jù)報(bào)每經(jīng)過(guò)一個(gè)路由器,路由器都要重新計(jì)算首部檢驗(yàn)和,因?yàn)槟承┳侄?生存時(shí)間、標(biāo)志、片偏移等)的取值可能發(fā)生變化。由于IP層本身并不提供可靠傳輸?shù)姆?wù),并且計(jì)算首部校驗(yàn)和是一項(xiàng)耗時(shí)的操作,因此在IPv6中,路由器不再計(jì)算首部校驗(yàn)和,從而更快轉(zhuǎn)發(fā)IP數(shù)據(jù)報(bào)
(10)源IP地址和目的IP地址
源IP地址和目的IP地址: 各占32比特,用來(lái)填寫發(fā)送該IP數(shù)據(jù)報(bào)的源主機(jī)的IP地址和接收該IP數(shù)據(jù)報(bào)的目的主機(jī)的IP地址
三:總結(jié)
字段名 | 長(zhǎng)度 | 作用 |
---|---|---|
版本 | 4個(gè)比特 | IP協(xié)議版本 |
首部長(zhǎng)度 | 4個(gè)比特 | IP數(shù)據(jù)報(bào)首部長(zhǎng)度 |
總長(zhǎng)度 | 16個(gè)比特 | IP數(shù)據(jù)報(bào)總長(zhǎng)度 |
標(biāo)識(shí) | 16個(gè)比特 | 同一個(gè)數(shù)據(jù)報(bào)各分片相同 |
標(biāo)志 | 3個(gè)比特 | DF;MF;保留位 |
生存時(shí)間 | 8個(gè)比特 | 防止永久兜圈 |
協(xié)議 | 8個(gè)比特 | 何種協(xié)議數(shù)據(jù)單元 |
首部校驗(yàn)和 | 16個(gè)比特 | 檢測(cè)差錯(cuò) |
源IP地址 | 32個(gè)比特 | 源主機(jī)IP地址 |
目的IP地址 | 32個(gè)比特 | 目的主機(jī)IP地址 |
可選字段 | 0-40字節(jié) | 支持排錯(cuò)、測(cè)量及安全等措施 |