IPv4
Internet Protocol version 4
Internet 網(wǎng)絡(luò)層 最核心的協(xié)議
定義了如何 封裝 上層協(xié)議(如UDP斑鼻、TCP)的報(bào)文段
定義了Internet網(wǎng)絡(luò)層 尋址(IP地址) 以及如何轉(zhuǎn)發(fā)IP數(shù)據(jù)報(bào)等內(nèi)容
IP數(shù)據(jù)報(bào)格式
名稱 | 所占位數(shù)/位 | 含義 |
---|---|---|
版本號(hào) | 4 | IP的版本號(hào) |
首部長度 | 4 | IP數(shù)據(jù)報(bào)的首部長度:20B-60B |
區(qū)分服務(wù) | 8 | 用來指示期望獲得哪種類型的服務(wù) |
數(shù)據(jù)報(bào)長度 | 16 | IP數(shù)據(jù)報(bào)的總字節(jié)數(shù):首部字節(jié)數(shù) + 數(shù)據(jù)字節(jié)數(shù) |
標(biāo)識(shí) | 16 | 在IP數(shù)據(jù)報(bào) 分片 和 重組 過程中用于標(biāo)識(shí)屬于同一個(gè)IP數(shù)據(jù)報(bào) |
標(biāo)志 | 3 | 空標(biāo)志 + DF + MF |
片偏移量 | 13 | 標(biāo)識(shí)一個(gè)IP數(shù)據(jù)報(bào)分片與源IP數(shù)據(jù)報(bào)的數(shù)據(jù)的相對(duì)偏移量 |
生存時(shí)間 | 8 | 表示IP數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中可以通過的路由器數(shù) |
上層協(xié)議 | 8 | 指示該IP數(shù)據(jù)報(bào)封裝的是哪個(gè)上層協(xié)議(TCP谤逼、UDP) |
首部校驗(yàn)和 | 16 | 利用校驗(yàn)和實(shí)現(xiàn)對(duì)IP數(shù)據(jù)報(bào)首部的差錯(cuò)檢測(cè) |
源IP地址 | 32 | 發(fā)出IP數(shù)據(jù)報(bào)的源主機(jī)的IP地址 |
目的IP地址 | 32 | IP數(shù)據(jù)報(bào)需要送達(dá)的主機(jī)的IP地址 |
選項(xiàng) | 長度可變 | |
數(shù)據(jù) | 存放IP數(shù)據(jù)報(bào)所封裝的傳輸層報(bào)文段 |
標(biāo)識(shí)
不可唯一標(biāo)識(shí) 一個(gè)IP數(shù)據(jù)報(bào)
標(biāo)志
DF:Don't Fragment研乒,禁止分片
MF:More Fragment温鸽,更多分片
MF=0:未被分片 或 分片的最后一片
MF=1:是分片且不是最后一片
片偏移量
以 8字節(jié) 為單位
當(dāng)片偏移量的字段值位0時(shí)肥哎,且MF=1葫笼,則標(biāo)識(shí)這是一個(gè)IP分片屹逛,且是第一個(gè)分片
IP數(shù)據(jù)報(bào)分片
分片的單位:字節(jié)
每個(gè)分片的長度 = 首部(默認(rèn)為20) + 分片數(shù)據(jù)
IP數(shù)據(jù)報(bào)的長度 = 首部(默認(rèn)為20) + 數(shù)據(jù)長度
一個(gè)數(shù)據(jù)鏈路層協(xié)議幀所能承載的最大數(shù)據(jù)量稱為 最大傳輸單元 (Maxnum transmission Unit, MTU)
例子:
通過工具發(fā)送一個(gè)總長度為3400字節(jié)的IP數(shù)據(jù)報(bào)础废,通過MTU=1500字節(jié)的鏈路轉(zhuǎn)發(fā),IP數(shù)據(jù)報(bào)分片情況如下:
片 | 總長度/字節(jié) | 片偏移量 | DF標(biāo)志 | MF標(biāo)志 | 封裝原IP數(shù)據(jù)報(bào)中數(shù)據(jù)的長度 |
---|---|---|---|---|---|
第1片 | 1500 | 0 | 0 | 1 | 1480 |
第2片 | 1500 | 185 | 0 | 1 | 1480 |
第3片 | 440 | 370 | 0 | 0 | 420 |
注意:片偏移量的單位為8字節(jié)
IPv4編址
IPv4地址的長度為 32 位罕模,共有232個(gè)不同的IP地址
標(biāo)記形式
方法 | 表示方式 |
---|---|
二進(jìn)制標(biāo)記法 | 11000000 10101000 00000001 01100101 |
點(diǎn)分十進(jìn)制標(biāo)記法 | 192.168.0.1 |
十六進(jìn)制標(biāo)記法 | 0xC0A80165 |
十六進(jìn)制的標(biāo)識(shí):H评腺、0x
IP地址分配
前綴:
即網(wǎng)絡(luò)部分(Net ID),用于描述主機(jī)所歸屬的網(wǎng)絡(luò)
后綴:
即主機(jī)部分(Host ID)淑掌,用于表示主機(jī)在網(wǎng)絡(luò)中的唯一地址
IP地址的分類
分類尋址
類 | 前綴長度 | 前綴 | 首字節(jié)(十進(jìn)制數(shù)) | 用途 |
---|---|---|---|---|
A | 8 | 0xxxxxxx | 0-127 | 用于標(biāo)識(shí)網(wǎng)絡(luò)中的主機(jī)或路由 |
B | 16 | 10xxxxxx xxxxxxxx | 128-191 | 用于標(biāo)識(shí)網(wǎng)絡(luò)中的主機(jī)或路由 |
C | 24 | 110xxxxx xxxxxxxx xxxxxxxx | 192-223 | 用于標(biāo)識(shí)網(wǎng)絡(luò)中的主機(jī)或路由 |
D | 不可用 | 1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx | 224-239 | 組廣播地址 |
E | 不可用 | 1111xxxx xxxxxxxx xxxxxxxx xxxxxxxx | 240-255 | 保留蒿讥,做研究 |
分類地址網(wǎng)絡(luò)個(gè)數(shù)與IP地址總數(shù):
類 | 前綴長度 | 前綴中的固定位數(shù) | 網(wǎng)絡(luò)地址位數(shù)(網(wǎng)絡(luò)標(biāo)識(shí)域) | 網(wǎng)絡(luò)格式 | 每個(gè)網(wǎng)絡(luò)中IP地址總數(shù) |
---|---|---|---|---|---|
A | 8 | 1(0) | 7 | 27 | 224 |
B | 16 | 2(10) | 14 | 214 | 216 |
C | 24 | 3(110) | 21 | 221 | 28 |
特殊地址:
分類地址中一些特殊用途的地址
網(wǎng)絡(luò)部分 | 主機(jī)部分 | 作為IP數(shù)據(jù)報(bào)源地址 | 作為IP數(shù)據(jù)報(bào)目的地址 | 用途 |
---|---|---|---|---|
全0 | 全0 | 可以 | 不可以 | 在本網(wǎng)范圍內(nèi)表示主機(jī)(0.0.0.0/32);在路由表中用于表示默認(rèn)路由(0.0.0.0/0) |
全0 | 特定值 | 可以 | 不可以 | 表示本網(wǎng)內(nèi)某個(gè)特定主機(jī) |
全1 | 全1 | 不可以 | 可以 | 本網(wǎng)廣播地址 |
特定值 | 全0 | 不可以 | 不可以 | 表示一個(gè)網(wǎng)絡(luò)地址(子網(wǎng)地址) |
特定值 | 全1 | 不可以 | 可以 | 直接廣播地址抛腕;對(duì)特定網(wǎng)絡(luò)上的所有主機(jī)進(jìn)行廣播 |
127 | 非全0或非全1的任何數(shù) | 可以 | 可以 | 環(huán)回地址芋绸,用于本地軟件環(huán)回測(cè)試 |
私有地址:
一部分分類地址保留用于內(nèi)網(wǎng)網(wǎng)絡(luò),這部分分類地址可以在 內(nèi)網(wǎng) 使用担敌,不能再公共互連網(wǎng)上使用
私有地址分類 | 范圍 |
---|---|
A類 | 10.0.0.0 - 10.255.255.255 或 10.0.0.0/8 |
B類 | 172.16.0.0 - 172.31.255.255 或 172.16.0.0/12 |
C類 | 192.168.0.0 - 192.168.255.255 或 192.168.0.0/16 |
無類地址
網(wǎng)絡(luò)前綴不再被設(shè)計(jì)為定長的8位摔敛、16位、24位全封,而變成 0-32 位的任意值
格式為:a.b.c.d/x
子網(wǎng)劃分
子網(wǎng)化:
將一個(gè)較大的子網(wǎng)劃分為多個(gè)較小子網(wǎng)的過程
超網(wǎng)化:
將具有較長前綴的相對(duì)較小的子網(wǎng)合并為一個(gè)具有稍短前綴的相對(duì)較大的子網(wǎng)
子網(wǎng)掩碼:
定義一個(gè)子網(wǎng)的 網(wǎng)絡(luò)前綴長度
位數(shù):32
書寫形式:二進(jìn)制马昙,點(diǎn)分十進(jìn)制
取值規(guī)則:對(duì)應(yīng)前綴,全部為1刹悴。對(duì)應(yīng)后綴给猾,全部為0
例子:
子網(wǎng)地址為:213.111.0.0/24,對(duì)應(yīng)的子網(wǎng)掩碼:255.255.255.0
子網(wǎng)掩碼為:255.255.255.192颂跨,則子網(wǎng)的網(wǎng)絡(luò)前綴長度:26
路由聚合
減少路由表項(xiàng)數(shù),提高路由效率扯饶,將可以聚合在一起的子網(wǎng)聚合成一個(gè)大的子網(wǎng)
IPv4編址例題
已知 某主機(jī)地址 和 子網(wǎng)掩碼恒削。計(jì)算 子網(wǎng)地址池颈、子網(wǎng)廣播地址、IP地址總數(shù) 和 可分配的IP地址總數(shù)
子網(wǎng)地址 = 主機(jī)地址 和 子網(wǎng)掩碼 的 與運(yùn)算
子網(wǎng)廣播地址 = 主機(jī)地址 和 子網(wǎng)掩碼的反碼 的 或運(yùn)算
IP地址總數(shù) = 2(32-網(wǎng)絡(luò)前綴長度)
32為IPv4地址的長度钓丰,網(wǎng)絡(luò)前綴長度可通過子網(wǎng)掩碼獲取
可分配的IP地址總數(shù) = IP地址總數(shù) - 2
2為子網(wǎng)地址和子網(wǎng)廣播地址