網(wǎng)站建設(shè)實(shí)訓(xùn)內(nèi)容廣東東莞疫情最新消息今天又封了
網(wǎng)絡(luò)協(xié)議系列文章
網(wǎng)絡(luò)協(xié)議(一):基本概念、計(jì)算機(jī)之間的連接方式
網(wǎng)絡(luò)協(xié)議(二):MAC地址、IP地址、子網(wǎng)掩碼、子網(wǎng)和超網(wǎng)
網(wǎng)絡(luò)協(xié)議(三):路由器原理及數(shù)據(jù)包傳輸過程
網(wǎng)絡(luò)協(xié)議(四):網(wǎng)絡(luò)分類、ISP、上網(wǎng)方式、公網(wǎng)私網(wǎng)、NAT
網(wǎng)絡(luò)協(xié)議(五):網(wǎng)絡(luò)互聯(lián)模型、物理層、數(shù)據(jù)鏈路層
網(wǎng)絡(luò)協(xié)議(六):網(wǎng)絡(luò)層
目錄
- 一、網(wǎng)絡(luò)層組成
- 二、網(wǎng)絡(luò)層首部
- 1、版本、首部長(zhǎng)度、區(qū)分服務(wù)
- 2、首部長(zhǎng)度(Header Length)
- 3、區(qū)分服務(wù)(Differentiated Services Field)
- 4、總長(zhǎng)度
- 5、標(biāo)識(shí)
- 6、標(biāo)志
- 7、片偏移
- 8、生存時(shí)間
- 9、協(xié)議
- 10、首部校驗(yàn)和
網(wǎng)絡(luò)分層對(duì)應(yīng)的通信協(xié)議和數(shù)據(jù)名稱
一、網(wǎng)絡(luò)層組成
- 網(wǎng)絡(luò)層數(shù)據(jù)包(IP數(shù)據(jù)包,Packet)由 首部、數(shù)據(jù) 兩部分組成
- 數(shù)據(jù):很多時(shí)候是由傳輸層傳遞下來的數(shù)據(jù)段(Segment)
二、網(wǎng)絡(luò)層首部
1、版本、首部長(zhǎng)度、區(qū)分服務(wù)
- 版本(Version)
- 占4位
- 0b0100:二進(jìn)制4表示IPv4
- 0b0110:二進(jìn)制6表示IPv6
- 首部長(zhǎng)度(Header Length)
- 區(qū)分服務(wù)(Differentiated Services Field)
2、首部長(zhǎng)度(Header Length)
- 占4位,二進(jìn)制乘以4才是最終長(zhǎng)度
- 0b0101:二進(jìn)制5*4 = 20(最小值)
- 0b1111:二進(jìn)制15*4 = 60(最大值)
3、區(qū)分服務(wù)(Differentiated Services Field)
- 占8位
- 可以用于提高網(wǎng)絡(luò)的服務(wù)質(zhì)量(QoS,Quality of Service)
4、總長(zhǎng)度
- 占16位
- 首部 + 數(shù)據(jù)的長(zhǎng)度之和,最大值是 65535(2^16 - 1)
- 由于幀的數(shù)據(jù)不能超過1500字節(jié),所以過大的IP數(shù)據(jù)包,需要分成片(fragments)傳輸給數(shù)據(jù)鏈路層
- 每一片都有自己的網(wǎng)絡(luò)層首部(IP首部)
5、標(biāo)識(shí)
- 占16位
- 數(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位
- 第1位(Reserved Bit):保留
- 第2位(Don’t Fragment):1代表不允許分片,0代表允許分片
- 第3位(More Fragments):1代表不是最后一片,0代表是最后一片
ping 的幾個(gè)用法、wireshark抓包
- ping /?:查看ping的用法
- ping ip地址 -l 數(shù)據(jù)包大小:發(fā)送指定大小的數(shù)據(jù)包(ping www.baidu.com -l 1400)
- ping ip地址 -f:不允許網(wǎng)絡(luò)層分塊 (ping www.baidu.com -l 2000 -f)
通過 Wireshark 抓包查看 ping www.baidu.com 發(fā)送的包
- 通過 ping 命令,實(shí)際上發(fā)送了4次 ICMP數(shù)據(jù)包:
- 通過 Wireshark 可以證實(shí):
7、片偏移
- 占13位
- 片偏移乘以8:字節(jié)偏移(wireshark顯示的是字節(jié)偏移)
- 每一片的長(zhǎng)度一定是8的整數(shù)倍
- ping ke.qq.com -l 4000 (往騰訊課程發(fā)長(zhǎng)度為4000的數(shù)據(jù)包)
8、生存時(shí)間
- 占8位
- 每個(gè)路由器在轉(zhuǎn)發(fā)之前會(huì)將TTL減1,一旦發(fā)現(xiàn)TTL減為0,路由器會(huì)返回錯(cuò)誤報(bào)告
- 觀察使用 ping 命令后的TTL,能夠推測(cè)出對(duì)方的操作系統(tǒng)、中間經(jīng)過了多少個(gè)路由器
根據(jù)TTL追蹤經(jīng)過路由器
- ping ip地址 -i TTL 設(shè)置TTL的值
- 通過 tracert、pathping 命令,可以跟蹤數(shù)據(jù)包經(jīng)過了哪些路由器
- ping baidu.com -i 1 經(jīng)過1次就消亡,顯然由網(wǎng)關(guān)回復(fù)
- 通過 ping baidu.com -i 1、ping baidu.com - i 2、ping baidu.com -i 3 … 可以追蹤發(fā)包到百度經(jīng)過的路由器
- tracert 和 pathping 命令實(shí)際上更簡(jiǎn)單也可以追蹤路由器
- pathping baidu.com
9、協(xié)議
- 占8位
- 表明所封裝的數(shù)據(jù)是使用了什么協(xié)議
10、首部校驗(yàn)和
- 用于檢查首部是否有錯(cuò)誤
Wireshark:
- Wireshark 完整網(wǎng)絡(luò)層首部