【網路基礎】資料包生命

李柱明發表於2021-08-27


前言

本筆記通過記錄 資料包 在網路中的生命履歷來引出一些網路基礎知識,如:

MAC、ARP、IP、子網掩碼、閘道器、集線器、交換機、路由器這些概念都是在鏈路層和網路層。
這些都不做嚴謹的說明,只是為了更好的瞭解而表達的個人描述

參考:

資料包簡要生命週期

瀏覽本小節的時候遇到疑問點可以可以跳到理解區 check 一下有沒有答案

資料包:

  • 簡單路徑:源主機 -> 目標主機。
  • 可能路徑:源主機 -> 交換機A -> 路由器A -> 路由器B -> 交換機B -> 目標主機。

參考圖:

源主機視角

  • 需要知道 本地IP 和 目標IP。
  • 通過子網掩碼判斷是否在同一個子網中。
  • 同一子網,則直接獲取目標主機的MAC地址,傳送出去。
  • 不同子網,獲取預設閘道器的 MAC,把資料包發給預設閘道器裝置。

交換機視角

  • 收到的資料包必須有目標 MAC 地址。
  • 通過 MAC 地址表查對映關係。
  • 查到了就按照對映關係從我的指定埠發出去。
  • 查不到就所有埠都發出去。

路由器視角

  • 收到的資料包必須有目標 IP 地址。
  • 通過路由表查對映關係。
  • 查到了就按照對映關係從我的指定埠發出去(不在任何一個子網範圍,走其路由器的預設閘道器也是查到了)。
  • 查不到則返回一個路由不可達的資料包。

三張表

  • arp 快取表 是不斷通過 arp 協議的請求逐步完善起來的。
  • 交換機中的 MAC 地址表,用於對映 MAC 地址和它的埠。
  • 路由器中的 路由表 用於對映 IP 地址(段)和它的埠。

理解區

資料包

得先了解 TCP/IP 網路七層級及各級的作用和資料封裝。

  • 應用層
  • 表示層
  • 會話層
  • 傳輸層
  • 網路層(本節需要了解
  • 資料鏈路層(本節需要了解
  • 物理層

應用層的資料一層一層通過包裝下來,通過物理層的物理裝置發出去,到最終目的主機後,又像扒洋蔥一樣,一層一層扒開,最終到達應用層後的資料和源主機應用層的資料一樣。如圖:

名詞說明:

  • IP:主機地址。屬於網路層地址。
    • 一般用於源主機和最終目標主機中。
  • MAC:裝置地址。屬於資料鏈路層地址。
    • 一般用於當前裝置和下一裝置中(不一定是最終裝置)。
  • 子網掩碼:用於判斷 IP 處於哪個網段。
    • 一般用於比較兩個 IP 是否處於同一個子網中。
  • 預設閘道器
    • 若傳送的資料不在本子網,就丟給預設閘道器處理。
    • 一般用於與外網通訊。
    • 預設閘道器IP一般都設為路由器IP,因為一般都是通過路由器與外網通訊。
  • ARP
    • 是一種地址解析協議。根據IP地址來獲取MAC地址的。
    • 源主機攜帶IP資料廣播給通過支援ARP裝置連線起來的多主機,若目標IP對於,則該主機返回攜帶MAC資料給源主機。
  • 集線器
    • 字面理解即可,如何一臺主機資料發到集線器,都廣播到所有出口。
    • 作用在物理層(第一層),不對MAC操作。
  • 交換機
    • 比集線器高階,不再是廣播到所有出口,而是隻轉發到目標MAC的出口。
    • 作用在資料鏈路層(第二層),參考MAC,只轉發到目標MAC的出口。
    • 工作在區域網內。
  • 路由器
    • 比交換機高階。
    • 具有路由功能。
    • 作用在網路層(第三層),參考IP。
    • 連線區域網和外網。

MAC

MAC:裝置地址。屬於資料鏈路層地址。
一般用於當前裝置和下一裝置中(不一定是最終裝置)。

IP

IP:主機地址。屬於網路層地址。

子網

子網掩碼 & 判斷是否在同一子網
IP 與 子網掩碼 做 按位與 ,就可以得出該 IP 的子網網段。
如:

  • 子網掩碼: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處於同一子網。
  • 因為 192.168.1.0 != 192.168.2.0,所以IP-1與IP-3不在同一子網。

在發資料包時,子網的作用

  • 若源IP和目標IP在同一子網:直接獲取目標IP主機的MAC,然後把資料包丟出去。
  • 若源IP和目標IP不在同一子網:獲取預設閘道器的 MAC ,然後把資料包丟給預設閘道器那邊。

ARP

ARP

  • 是一種地址解析協議。根據IP地址來獲取MAC地址的。
  • 源主機攜帶IP資料廣播給通過支援ARP裝置連線起來的多主機,若目標IP對於,則該主機返回攜帶MAC資料給源主機。如圖:

集線器

字面理解即可,如何一臺主機資料發到集線器,都廣播到所有出口。
作用在物理層(第一層),不對MAC操作。
如圖:

交換機

比集線器高階,不再是廣播到所有出口,而是隻轉發到目標MAC的出口。
作用在資料鏈路層(第二層),參考MAC,只轉發到目標MAC的出口。
工作在區域網內。

交換機連線
左邊交換機的地址表:

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

路由器

作用在網路層(第三層),參考IP。
路由器的每一個埠,都有獨立的 MAC 地址。
連線區域網和外網。
轉發時,根據路由錶轉發,實際出口是根據MAC來傳送到下一個裝置。下一個裝置判斷資料包目標IP是否是本裝置,若不是,就又找出下一個MAC地址把資料包丟出去。

相關文章