目錄
- IPv4 地址
- 全局地址和私有地址
- IP報(bào)文分片與重組
- IPv6
- IPv4首部
- IPv6首部
- DNS
- ARP
- ICMP
- DHCP
- NAT
- IP隧道
- 路由控制
1. IPv4 地址
- 描述:在連接到網(wǎng)絡(luò)的所有主機(jī)中識(shí)別出進(jìn)行通信的主機(jī)的目標(biāo)地址,具有32 bit,由網(wǎng)絡(luò)地址和主機(jī)標(biāo)識(shí)組成,不同網(wǎng)段的網(wǎng)絡(luò)地址不允許重復(fù),同網(wǎng)段內(nèi)的主機(jī)標(biāo)識(shí)不允許重復(fù),由子網(wǎng)掩碼確定標(biāo)識(shí)網(wǎng)絡(luò)地址的比特位數(shù),如192.168.1.10 /24組成如下:
| 192 | 168 | 1 | 10 | /24 |
|---|---|---|---|---|
| 11000000 | 10101000 | 00000001 | 00001010 | 255.255.255.0 |
- A類地址:網(wǎng)絡(luò)地址為前8 bit,第1 bit為0,地址范圍為0.---.---.--- ~ 127.---.---.---
| 0 | 7 bit | 8 bit | 8 bit | 8 bit |
|---|
- B類地址:網(wǎng)絡(luò)地址為前16 bit,前2 bit為10,地址范圍為128.0.---.--- ~ 191.255.---.---
| 1 | 0 | 6 bit | 8 bit | 8 bit | 8 bit |
|---|
- C類地址:網(wǎng)絡(luò)地址為前24位,前2 bit為110,地址范圍為192.0.0.--- ~ 223.255.255.---
| 1 | 1 | 0 | 5 bit | 8 bit | 8 bit | 8 bit |
|---|
- D類地址:網(wǎng)絡(luò)地址為前32 bit,前3 bit為1110,地址范圍為224.0.0.0 ~ 239.255.255.255
| 1 | 1 | 1 | 0 | 4 bit | 8 bit | 8 bit | 8 bit |
|---|
- 廣播地址:用于在同一數(shù)據(jù)鏈路中相互連接的主機(jī)間發(fā)送數(shù)據(jù),將IP地址中的主機(jī)地址全部設(shè)為1即為廣播地址,廣播分為本地廣播和直接廣播,本地廣播指的是向同網(wǎng)段內(nèi)的主機(jī)進(jìn)行廣播,會(huì)被路由器屏蔽,直接廣播指的是向不同網(wǎng)段內(nèi)的主機(jī)進(jìn)行廣播
- IP多播:用于將數(shù)據(jù)發(fā)送給特定組內(nèi)的主機(jī),使用D類地址進(jìn)行多播,前四位為1110,后28位為多播的組編號(hào)
2. 全局地址和私有地址
-
私有地址:A類 10.0.0.0-10.255.255.255 網(wǎng)絡(luò)數(shù):1
?????B類 172.16.0.0-172.31.255.255 網(wǎng)絡(luò)數(shù):16
?????C類 192.168.0.0-192.168.255.255 網(wǎng)絡(luò)數(shù):255 - NAT技術(shù):將私有IP與全局IP進(jìn)行互換
3. IP報(bào)文分片與重組
- 描述:根據(jù)不同數(shù)據(jù)鏈路的MTU(最大數(shù)據(jù)大?。┎煌瑢?duì)IP報(bào)文進(jìn)行分片,并在目標(biāo)主機(jī)進(jìn)行重組,路由器只進(jìn)行分片而不進(jìn)行重組
- IP報(bào)文分片:按照MTU大小對(duì)UDP或TCP爆粉進(jìn)行分割,并在IP首部中設(shè)置片偏移字段,用于表示分片后IP報(bào)文的數(shù)據(jù)在UDP或TCP報(bào)文數(shù)據(jù)中的相對(duì)位置和該分片之后是否還有后續(xù)其他分片
- IP報(bào)文重組:根據(jù)IP首部中的片偏移字段,對(duì)數(shù)據(jù)進(jìn)行重組操作
- 路徑MTU:指從發(fā)送端到接收端之間不需要分片時(shí)最大的MTU大小,即路徑中所有數(shù)據(jù)鏈路的最小MTU,這樣只需要在發(fā)送端進(jìn)行分片,路由器就可以不用參與分片
4. IPv6
- 描述:為了根本解決IPv4地址耗盡的問題而提出的標(biāo)準(zhǔn)化網(wǎng)絡(luò)協(xié)議,長度為IPv4的4倍(128 bit),一般寫成8個(gè)16 bit
- 全局單播地址:前64 bit為網(wǎng)絡(luò)地址,網(wǎng)絡(luò)地址由48 bit全局路由前綴和16 bit子網(wǎng)ID組成,后64 bit為接口ID,用作主機(jī)地址
| 48 bit | 16 bit | 64 bit |
|---|---|---|
| 全局路由前綴 | 子網(wǎng)ID | 接口ID(主機(jī)地址) |
- 鏈路本地單播地址:前10位為1111 1110 10,后面54位為0,最后64為接口ID,用作主機(jī)地址
| 10 bit | 54 bit | 64 bit |
|---|---|---|
| 1111 1110 10 | 0 | 接口ID(主機(jī)地址) |
- 唯一本地地址:前8位為1111 1101,后面40位為全局ID,隨即決定,
| 7 bit | 1 bit | 40 bit | 16 bit | 64 bit |
|---|---|---|---|---|
| 1111 110 | 通常為1 | 隨機(jī)決定 | 子網(wǎng)ID | 接口ID(主機(jī)地址) |
- 分片:只在發(fā)送端進(jìn)行,最小MTU為1280字節(jié)
5. IPv4首部

IPv4首部
- 版本:4 bit,表示標(biāo)識(shí)IP首部的版本號(hào),IPv4的版本號(hào)為4,就位0100
- 首部長度:4 bit,標(biāo)本IP首部的大小,單位為4字節(jié),對(duì)于沒有可選項(xiàng)的IP包,首部長度為5,即為4*5=20字節(jié)
- 區(qū)分服務(wù):8 bit,用來進(jìn)行質(zhì)量控制
- 總長度:16 bit,表示IP首部與數(shù)據(jù)合起來的總字節(jié)數(shù)
- 標(biāo)識(shí):16 bit,用于分片重組,同一個(gè)包分片后的標(biāo)識(shí)相同
- 標(biāo)志:3 bit,表示包被分片的相關(guān)信息
| 1 bit | 1 bit | 1 bit |
|---|---|---|
| 0(固定為0) | 表示是否可以分片(0-可以分片,1-不能分片) | 表示是否為最后一個(gè)包(0-最后一個(gè)包,1-中間的包) |
- 片偏移:13 bit,用來標(biāo)識(shí)被分片的片段相對(duì)于原始數(shù)據(jù)的位置,單位為8字節(jié)
- 生存時(shí)間:8 bit,指可以中轉(zhuǎn)多少個(gè)路由器,每經(jīng)過一個(gè)路由器TTL減1,直到變成0丟棄
- 協(xié)議:8 bit,表示IP首部的下一個(gè)首部屬于哪個(gè)協(xié)議
- 首部校驗(yàn)和: 16 bit,用于校驗(yàn)IP首部
- 源地址:32 bit,發(fā)送端IP地址
- 目的地址:32 bit,接收端IP地址
- 可選項(xiàng):長度可變,用于進(jìn)行實(shí)驗(yàn)或診斷
- 填充:在有可選項(xiàng)的情況下,用于將IP首都填充至32的整數(shù)倍
- 數(shù)據(jù):保存IP上層的數(shù)據(jù)
6. IPv6首部

IPv6首部
7. DNS
- 描述:管理域名和IP地址之間對(duì)應(yīng)關(guān)系的系統(tǒng)
- 域名服務(wù)器:管理域名的主機(jī)和相應(yīng)軟件
- 解析器:進(jìn)行DNS查詢的主機(jī)和軟件,比如用戶的主機(jī)
8. ARP
- 描述:以目標(biāo)地址為線索,來定位下一個(gè)應(yīng)該接受數(shù)據(jù)分包的網(wǎng)絡(luò)設(shè)備對(duì)應(yīng)的MAC地址,即通過IP地址查詢MAC地址,用以在數(shù)據(jù)鏈路層進(jìn)行數(shù)據(jù)傳輸
- ARP請(qǐng)求:包含目標(biāo)主機(jī)的IP地址、發(fā)送端IP地址和發(fā)送端MAC地址,通過廣播的形式發(fā)送給本數(shù)據(jù)鏈路中的所有主機(jī)
- ARP響應(yīng):包含目標(biāo)主機(jī)的MAC地址
- RARP:從MAC地址定位IP地址的協(xié)議,通過RARP服務(wù)器實(shí)現(xiàn)
9. ICMP:
- 描述:主要功能包括確認(rèn)IP包是否成功送達(dá)目標(biāo)地址、通知在發(fā)送過程中IP包被丟棄的具體原因,以及改善網(wǎng)絡(luò)設(shè)置等,ICMP消息主要分為錯(cuò)誤消息和查詢消息兩類
- 目標(biāo)不可達(dá)消息:IP路由器無法將IP數(shù)據(jù)包發(fā)送給目標(biāo)地址時(shí),會(huì)給發(fā)送端返回一個(gè)目標(biāo)不可達(dá)的ICMP消息
- 重定向消息:路由器發(fā)現(xiàn)發(fā)送端主機(jī)使用了次優(yōu)的路徑發(fā)送數(shù)據(jù),就會(huì)返回一個(gè)ICMP重定向消息,消息中包含了最適合的路由信息和源數(shù)據(jù)
- 超時(shí)消息:當(dāng)IP包中的TTL字段變?yōu)?時(shí),路由器會(huì)返回一個(gè)ICMP超時(shí)消息
10. DHCP:自動(dòng)設(shè)置IP地址、統(tǒng)一管理IP地址分配
- DHCP客戶端通過廣播發(fā)送DHCP發(fā)現(xiàn)包,要求設(shè)置IP地址和子網(wǎng)掩碼
- DHCP服務(wù)器返回一個(gè)DHCP提供包,提供可以使用的網(wǎng)絡(luò)設(shè)置
- DHCP客戶端通過廣播發(fā)送DHCP請(qǐng)求包,通知想要使用DHCP提供包中的設(shè)置
- DHP服務(wù)器再次返回一個(gè)DHCP提供包,通知允許使用前一個(gè)DHCP提供包中的設(shè)置
11. NAT
- 描述:用于本地網(wǎng)絡(luò)中的私有地址到連接互聯(lián)網(wǎng)時(shí)的全局IP地址的轉(zhuǎn)換技術(shù)
12. IP隧道
- 描述:在網(wǎng)絡(luò)層的首部后面繼續(xù)追加網(wǎng)絡(luò)層的首部的通信方法,用于在不同的網(wǎng)絡(luò)中的傳送數(shù)據(jù),比如在IPv6數(shù)據(jù)包后面追加IPv4首部,以便在IPv4網(wǎng)絡(luò)中傳送IPv6數(shù)據(jù)包
13. 路由控制
- 描述:IP數(shù)據(jù)包通過路由器的存儲(chǔ)轉(zhuǎn)發(fā)功能,從而最終到達(dá)目標(biāo)地址。所有主機(jī)都維護(hù)著一張路由控制表,該表記錄了IP數(shù)據(jù)包在下一步應(yīng)該發(fā)往的路由器
-
路由控制表:記錄網(wǎng)絡(luò)地址與下一步應(yīng)該發(fā)送到的路由器的地址
??????靜態(tài)路由 — 管理員設(shè)置好的并將路由信息固定的方法
??????動(dòng)態(tài)路由 — 由路由協(xié)議在運(yùn)行過程中自動(dòng)地設(shè)置路由控制信息 - 默認(rèn)路由:與路由控制表中無匹配項(xiàng)的被轉(zhuǎn)發(fā)至默認(rèn)路由
- 環(huán)回地址:127.0.0.1作為環(huán)回地址,被用于本機(jī)上的程序之間進(jìn)行通信的地址,數(shù)據(jù)不會(huì)流向網(wǎng)絡(luò)