2.5IP與以太網(wǎng)的包的收發(fā)操作(上)
包的基本知識(shí)
包:由頭部和數(shù)據(jù)兩部分構(gòu)成的
- 頭部:包括目標(biāo)地址等控制信息
- 數(shù)據(jù):包裝載的數(shù)據(jù)
TCP/IP包:包括以太網(wǎng)包和IP包
- IP包:IP頭部俯邓、TCP頭部闸度、數(shù)據(jù)塊(用于IP協(xié)議)
- MAC頭部:以太網(wǎng)控制信息(用于以太網(wǎng)協(xié)議)
網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)設(shè)置:路由器和集線器
路由器:根據(jù)目標(biāo)地址判斷下一個(gè)路由器的位置(按照IP規(guī)則傳輸)
- IP協(xié)議:根據(jù)目標(biāo)地址判斷下一個(gè)IP轉(zhuǎn)發(fā)設(shè)備的位置
集線器:在子網(wǎng)中將網(wǎng)絡(luò)包傳輸?shù)较乱粋€(gè)路由器(按照以太網(wǎng)規(guī)則傳輸)
- 以太網(wǎng)協(xié)議:在子網(wǎng)中將包傳輸?shù)较乱幌略O(shè)備中
包收發(fā)操作的概覽
IP模塊如何完成包的收發(fā)操作的
IP負(fù)責(zé)的內(nèi)容:
- MAC頭部:以太網(wǎng)用的頭部刊愚。包含MAC地址
- IP頭部:IP用的頭部御毅,包含IP地址
IP模塊將封裝好的包發(fā)送網(wǎng)卡
網(wǎng)卡再將數(shù)字信息轉(zhuǎn)化成電信號(hào)或者光信號(hào)躏精,通過網(wǎng)線發(fā)送出去
接收的過程跟發(fā)送的過程正好相反
無(wú)論收到的包是控制包還是數(shù)據(jù)包匾委,IP對(duì)各種類型的包收發(fā)操作都是一樣的
生成包含接收方IP地址的IP頭部
IP頭部格式
-
字段名稱 長(zhǎng)度(比特) 含義 版本號(hào) 4 ip協(xié)議版本號(hào)孽文,目前使用的是版本4 頭部長(zhǎng)度(LHL) 4 IP頭部的長(zhǎng)度箩帚,可選字段可導(dǎo)致頭部長(zhǎng)度變化 服務(wù)類型(ToS) 8 表示包傳輸?shù)膬?yōu)先級(jí) 總長(zhǎng)度 16 表示IP消息的總長(zhǎng)度 ID號(hào) 16 用于識(shí)別包的編號(hào) 標(biāo)記(Flag) 3 該字段有3個(gè)比特钱骂,其中兩個(gè)比特有效叔锐, 是否允許分片 當(dāng)前包是否為分片包 分片偏移量 13 表示當(dāng)前包的內(nèi)容為整個(gè)IP消息的第幾個(gè)字節(jié)開始的內(nèi)容 生產(chǎn)時(shí)間(TTL) 8 表示包的生存時(shí)間,避免網(wǎng)絡(luò)回環(huán)见秽,沒經(jīng)過一個(gè)路由就會(huì)減1愉烙,減到0這個(gè)包就視為丟棄 協(xié)議號(hào) 8 表示協(xié)議的類型 TCP:06 UDP:17 ICMP:01 頭部校驗(yàn)和 16 用于檢測(cè)錯(cuò)誤的 發(fā)送方IP地址 32 網(wǎng)絡(luò)包發(fā)送方的IP地址 接收方IP地址 32 網(wǎng)絡(luò)包接收方的IP地址 IP頭部視為“接收方IP地址”填寫通信對(duì)象的IP地址,發(fā)送方IP地址需要判斷發(fā)送使用的網(wǎng)卡解取,并填寫該網(wǎng)卡的IP地址步责。
- 根據(jù)路由表判斷網(wǎng)絡(luò)包交給哪個(gè)網(wǎng)卡
對(duì)嵌套字中記錄的目標(biāo)地址與路由表中左側(cè)Network Destination進(jìn)行比較
右側(cè)第二列Interface:表示網(wǎng)卡等網(wǎng)絡(luò)接口,將包發(fā)發(fā)送給通信對(duì)象
右側(cè)第三列Gateway:表示下一個(gè)路由器的IP地址禀苦,該IP地址的路由器會(huì)將包轉(zhuǎn)發(fā)到目標(biāo)地址
- 如果Interface和Gateway的IP地址相同蔓肯,就不需要路由器轉(zhuǎn)發(fā),直接發(fā)給目標(biāo)的IP地址
左側(cè)Network Nestination和Netmask都是0.0.0.0,表示默認(rèn)網(wǎng)關(guān)振乏,其他條目無(wú)法匹配時(shí)蔗包,自動(dòng)匹配這一行
生產(chǎn)以太網(wǎng)用的MAC地址
在以太網(wǎng)中判斷網(wǎng)絡(luò)包的目的是與TCP/IP的方式不同
MAC頭部:以太網(wǎng)用的頭部,包含了接收方和發(fā)送方的MAC地址等信息
-
MAC頭部字段 長(zhǎng)度 含義 接收方MAC地址 48 網(wǎng)絡(luò)包接收方的MAC地址慧邮,(在局域網(wǎng)中使用這一地址來(lái)傳輸網(wǎng)絡(luò)包) 發(fā)送方MAC地址 48 網(wǎng)絡(luò)包發(fā)送方的MAC地址调限,(接收方通過他來(lái)判斷是誰(shuí)發(fā)送的網(wǎng)絡(luò)包) 以太類型 16 0000-05DC:IEEE 802.3 0800 :IP協(xié)議 0806 :ARP協(xié)議 86DD :IPv6
- IP模塊根據(jù)路由表Gateway欄的內(nèi)容判斷應(yīng)該把包發(fā)給誰(shuí)