前言
本筆記通過記錄 數(shù)據(jù)包 在網(wǎng)絡中的生命履歷來引出一些網(wǎng)絡基礎知識,如:
MAC、ARP、IP、子網(wǎng)掩碼、網(wǎng)關、集線器、交換機、路由器這些概念都是在鏈路層和網(wǎng)絡層。
(這些都不做嚴謹?shù)恼f明,只是為了更好的了解而表達的個人描述)
數(shù)據(jù)包簡要生命周期
瀏覽本小節(jié)的時候遇到疑問點可以可以跳到理解區(qū) check 一下有沒有答案。
數(shù)據(jù)包:
簡單路徑:源主機 -> 目標主機??赡苈窂剑涸粗鳈C -> 交換機A -> 路由器A -> 路由器B -> 交換機B -> 目標主機。
參考圖:
源主機視角:
- 需要知道 本地IP 和 目標IP。
- 通過子網(wǎng)掩碼判斷是否在同一個子網(wǎng)中。
- 同一子網(wǎng),則直接獲取目標主機的MAC地址,發(fā)送出去。
- 不同子網(wǎng),獲取默認網(wǎng)關的 MAC,把數(shù)據(jù)包發(fā)給默認網(wǎng)關設備。
交換機視角:
- 收到的數(shù)據(jù)包必須有目標 MAC 地址。
- 通過 MAC 地址表查映射關系。
- 查到了就按照映射關系從我的指定端口發(fā)出去。
- 查不到就所有端口都發(fā)出去。
路由器視角:
- 收到的數(shù)據(jù)包必須有目標 IP 地址。
- 通過路由表查映射關系。
- 查到了就按照映射關系從我的指定端口發(fā)出去(不在任何一個子網(wǎng)范圍,走其路由器的默認網(wǎng)關也是查到了)。
- 查不到則返回一個路由不可達的數(shù)據(jù)包。
三張表:
- arp 緩存表 是不斷通過 arp 協(xié)議的請求逐步完善起來的。
- 交換機中的 MAC 地址表,用于映射 MAC 地址和它的端口。
- 路由器中的 路由表 用于映射 IP 地址(段)和它的端口。
理解區(qū)
數(shù)據(jù)包
得先了解 TCP/IP 網(wǎng)絡七層級及各級的作用和數(shù)據(jù)封裝。
- 應用層
- 表示層
- 會話層
- 傳輸層
- 網(wǎng)絡層(本節(jié)需要了解)
- 數(shù)據(jù)鏈路層(本節(jié)需要了解)
- 物理層
應用層的數(shù)據(jù)一層一層通過包裝下來,通過物理層的物理設備發(fā)出去,到最終目的主機后,又像扒洋蔥一樣,一層一層扒開,最終到達應用層后的數(shù)據(jù)和源主機應用層的數(shù)據(jù)一樣。如圖:
名詞說明:
IP:主機地址。屬于網(wǎng)絡層地址。
一般用于源主機和最終目標主機中。
MAC:設備地址。屬于數(shù)據(jù)鏈路層地址。
一般用于當前設備和下一設備中(不一定是最終設備)。
子網(wǎng)掩碼:用于判斷 IP 處于哪個網(wǎng)段。
一般用于比較兩個 IP 是否處于同一個子網(wǎng)中。
默認網(wǎng)關:
若發(fā)送的數(shù)據(jù)不在本子網(wǎng),就丟給默認網(wǎng)關處理。
一般用于與外網(wǎng)通信。
默認網(wǎng)關IP一般都設為路由器IP,因為一般都是通過路由器與外網(wǎng)通信。
ARP:
是一種地址解析協(xié)議。根據(jù)IP地址來獲取MAC地址的。
源主機攜帶IP數(shù)據(jù)廣播給通過支持ARP設備連接起來的多主機,若目標IP對于,則該主機返回攜帶MAC數(shù)據(jù)給源主機。
集線器:
字面理解即可,如何一臺主機數(shù)據(jù)發(fā)到集線器,都廣播到所有出口。
作用在物理層(第一層),不對MAC操作。
交換機:
比集線器高級,不再是廣播到所有出口,而是只轉發(fā)到目標MAC的出口。
作用在數(shù)據(jù)鏈路層(第二層),參考MAC,只轉發(fā)到目標MAC的出口。
工作在局域網(wǎng)內。
路由器:
比交換機高級。
具有路由功能。
作用在網(wǎng)絡層(第三層),參考IP。
連接局域網(wǎng)和外網(wǎng)。
MAC
MAC:設備地址。屬于數(shù)據(jù)鏈路層地址。
一般用于當前設備和下一設備中(不一定是最終設備)。
IP
IP:主機地址。屬于網(wǎng)絡層地址。
一般用于源主機和最終目標主機中。
子網(wǎng)
子網(wǎng)掩碼 判斷是否在同一子網(wǎng):
IP 與 子網(wǎng)掩碼 做 按位與 ,就可以得出該 IP 的子網(wǎng)網(wǎng)段。
如:
子網(wǎng)掩碼:255.255.255.0
IP-1: 192.168.1.2 255.255.255.0 = 192.168.1.0
IP-2: 192.168.1.123 255.255.255.0 = 192.168.1.0
IP-3: 192.168.2.123 255.255.255.0 = 192.168.2.0
因為 192.168.1.0 = 192.168.1.0,所以IP-1與IP-2處于同一子網(wǎng)。
因為 192.168.1.0 != 192.168.2.0,所以IP-1與IP-3不在同一子網(wǎng)。
在發(fā)數(shù)據(jù)包時,子網(wǎng)的作用:
- 若源IP和目標IP在同一子網(wǎng):直接獲取目標IP主機的MAC,然后把數(shù)據(jù)包丟出去。
- 若源IP和目標IP不在同一子網(wǎng):獲取默認網(wǎng)關的 MAC ,然后把數(shù)據(jù)包丟給默認網(wǎng)關那邊。
ARP
ARP:
- 是一種地址解析協(xié)議。根據(jù)IP地址來獲取MAC地址的。
- 源主機攜帶IP數(shù)據(jù)廣播給通過支持ARP設備連接起來的多主機,若目標IP對于,則該主機返回攜帶MAC數(shù)據(jù)給源主機。如圖:
集線器
字面理解即可,如何一臺主機數(shù)據(jù)發(fā)到集線器,都廣播到所有出口。
作用在物理層(第一層),不對MAC操作。
如圖:
交換機
比集線器高級,不再是廣播到所有出口,而是只轉發(fā)到目標MAC的出口。
作用在數(shù)據(jù)鏈路層(第二層),參考MAC,只轉發(fā)到目標MAC的出口。
工作在局域網(wǎng)內。
交換機連接:
左邊交換機的地址表:
MAC 地址 |
端口 |
bb-bb-bb-bb-bb-bb |
1 |
cc-cc-cc-cc-cc-cc |
3 |
aa-aa-aa-aa-aa-aa |
4 |
dd-dd-dd-dd-dd-dd |
5 |
ee-ee-ee-ee-ee-ee |
6 |
ff-ff-ff-ff-ff-ff |
6 |
gg-gg-gg-gg-gg-gg |
6 |
hh-hh-hh-hh-hh-hh |
6 |
路由器
作用在網(wǎng)絡層(第三層),參考IP。
路由器的每一個端口,都有獨立的 MAC 地址。
連接局域網(wǎng)和外網(wǎng)。
轉發(fā)時,根據(jù)路由表轉發(fā),實際出口是根據(jù)MAC來發(fā)送到下一個設備。下一個設備判斷數(shù)據(jù)包目標IP是否是本設備,若不是,就又找出下一個MAC地址把數(shù)據(jù)包丟出去。
到此這篇關于網(wǎng)絡基礎-數(shù)據(jù)包的文章就介紹到這了,更多相關數(shù)據(jù)包內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 網(wǎng)絡基礎帶你徹底認識路由器
- 網(wǎng)絡基礎學習之十八主要路由器技術
- 網(wǎng)絡基礎學習之十九路由器的硬件連接