6、计算机网络层
文章目錄
- 一、網(wǎng)絡(luò)層數(shù)據(jù)包(IP數(shù)據(jù)包,Packet)
- 1.版本
- 2.首部長(zhǎng)度
- 3.區(qū)分服務(wù)
- 4.總長(zhǎng)度
- 5.標(biāo)識(shí)
- 6.標(biāo)志
- 7.片偏移
- 8.生存時(shí)間(記為TTL,Time To Live)
- 9.協(xié)議
- 10.首部檢驗(yàn)和
- 11.源IP地址和目標(biāo)IP地址
- 二、ping常用命令
- 1.ping /? 查看ping的用法
- 2.ping ip地址 -l 指定數(shù)據(jù)包大小
- 2.ping ip地址 -i TTL 設(shè)置TTL的值
- 例1:
- 例2:
一、網(wǎng)絡(luò)層數(shù)據(jù)包(IP數(shù)據(jù)包,Packet)
網(wǎng)絡(luò)層數(shù)據(jù)包格式如下圖所示:
網(wǎng)絡(luò)層數(shù)據(jù)包(IP數(shù)據(jù)包,Packet)由首部、數(shù)據(jù)2部分組成。
數(shù)據(jù)部分:很多時(shí)候是由傳輸層傳遞下來的數(shù)據(jù)段(Segment)。
1.版本
占4個(gè)比特;
0b0100代表IPV4;0b0110代表IPV6;
2.首部長(zhǎng)度
占4個(gè)比特,二進(jìn)制乘以4才是最終長(zhǎng)度;
0b0101:代表首部長(zhǎng)度為20個(gè)字節(jié)(最小值)
0b1111:代表首部長(zhǎng)度為60個(gè)字節(jié)(最大值)
3.區(qū)分服務(wù)
占8個(gè)比特,可以用于提高網(wǎng)絡(luò)的服務(wù)質(zhì)量(QoS,Quality of Service);
4.總長(zhǎng)度
占16個(gè)比特,總長(zhǎng)度是指首部和數(shù)據(jù)之和的長(zhǎng)度,單位為字節(jié),因此數(shù)據(jù)包的最大長(zhǎng)度為2**16-1,即65535個(gè)字節(jié)。但總長(zhǎng)度必須不能超過數(shù)據(jù)鏈路所規(guī)定的MTU值,即1500字節(jié),如下圖所示:
由于幀的數(shù)據(jù)部分不能超過1500字節(jié),所以過大的IP數(shù)據(jù)包,需要分成片(fragments)傳輸給數(shù)據(jù)鏈路層,每一片都有自己的網(wǎng)絡(luò)層首部(IP首部)。
5.標(biāo)識(shí)
占16個(gè)比特,數(shù)據(jù)包的ID,當(dāng)數(shù)據(jù)包過大進(jìn)行分片時(shí),同一個(gè)數(shù)據(jù)包的所有片的標(biāo)識(shí)都是一樣的。
有一個(gè)計(jì)數(shù)器專門管理數(shù)據(jù)包的ID,每發(fā)出一個(gè)數(shù)據(jù)包,ID就加1。
6.標(biāo)志
占3個(gè)比特,
第一位(Reserved Bit):保留;
第二位(Don’t Fragment):1代表不允許分片,0代表允許分片;
第三位(More Fragment):1代表不是最后一片,0代表是最后一片;
7.片偏移
占13個(gè)比特,
片偏移乘以8:字節(jié)偏移,每一片的長(zhǎng)度一定是8的整數(shù)倍。
8.生存時(shí)間(記為TTL,Time To Live)
占8個(gè)比特位,每個(gè)路由器在轉(zhuǎn)發(fā)之前會(huì)將TTL減1,一旦發(fā)現(xiàn)TTL減為0,路由器會(huì)返回錯(cuò)誤報(bào)告。
我們可以觀察使用ping命令后的TTL,不僅能夠推測(cè)出對(duì)方的操作系統(tǒng),而且可以計(jì)算出經(jīng)過了多少個(gè)路由器,如下圖所示:
第一個(gè)圖的TTL等于54,大概可以猜出baidu可能使用的是Linux 2.0.x kernel或者Red Hat 9服務(wù)器,中間可能經(jīng)過了64-54=10個(gè)路由器,128和255相對(duì)有點(diǎn)大了。如果是128,則中間可能經(jīng)過74個(gè)路由器,不太可能,255就不用說了。
9.協(xié)議
占8個(gè)比特位,表明所封裝的數(shù)據(jù)使用了什么協(xié)議,以便使目的主機(jī)知道應(yīng)將數(shù)據(jù)部分上交給哪個(gè)協(xié)議進(jìn)行處理。如下圖一些協(xié)議對(duì)應(yīng)的十進(jìn)制數(shù):
10.首部檢驗(yàn)和
占16個(gè)比特,只檢驗(yàn)數(shù)據(jù)包的首部是否有錯(cuò)誤,不檢驗(yàn)數(shù)據(jù)部分。
11.源IP地址和目標(biāo)IP地址
源IP地址和目標(biāo)IP地址各占用32個(gè)比特位;
二、ping常用命令
1.ping /? 查看ping的用法
類似幫助文檔
2.ping ip地址 -l 指定數(shù)據(jù)包大小
2.ping ip地址 -i TTL 設(shè)置TTL的值
例1:
如ping guge.com -i 1,ping出的結(jié)果是來自192.168.0.1即家里的路由器網(wǎng)關(guān)回復(fù)的消息。
ping guge.com -i 2,ping出的結(jié)果是家里路由器連接的下一個(gè)路由器的IP地址回復(fù)的消息。
例2:
我們還可以通過tracert命令可以查看走過的路由器,如下圖:
從上圖可以知道,tracert 193.169.1.10,共走過192.168.1.1和194.170.1.2兩個(gè)路由器最后到達(dá)目的主機(jī)。從圖1也可以看出的確走過了兩個(gè)路由器到達(dá)了目的主機(jī)。
總結(jié)
- 上一篇: 1、LeetCode784 字母大小写全
- 下一篇: 1、leetcode437 路和总径3