【計算機網絡】OSI模型、TCP/IP模型、路由器、集線器、交換機

一、計算機網絡分層結構

計算機網絡分層結構 指將計算機網絡的功能劃分為多個層次,每個層次都有其特定的功能和協議,并且層次之間通過接口進行通信。

分層設計的優勢:

  • 模塊化:各層獨立發展(如IPv4→IPv6,不影響應用層)。
  • 簡化復雜度:開發者只需關注特定層的實現。
  • 靈活性與兼容性:不同協議可替換(如Wi-Fi替換以太網)。
  • 故障隔離:問題定位更高效(如網絡層故障不影響傳輸層)。

分層模型:

  • OSI
  • TCP/IP

二、OSI

1、概述

OSI 由國際標準化組織ISO提出,屬于理論模型,市場實踐失敗。

層級名稱功能概要典型協議/技術
7應用層用戶應用程序接口HTTP, FTP, DNS, DHCP,SMTP/POP3/IMAP
6表示層數據格式轉換與加密SSL/TLS, JPEG, ASCII
5會話層會話管理與同步NetBIOS, RPC,SSH
4傳輸層端到端可靠傳輸TCP, UDP
3網絡層邏輯尋址與路由IP, ICMP, OSPF
2數據鏈路層物理尋址與幀傳輸Ethernet, PPP, Wi-Fi(MAC層)
1物理層物理介質傳輸比特流光纖, 雙絞線, 無線電波

OSI 每一層都定義了特定的功能和協議,為上一層提供服務,并與下一層進行交互。

OSI 按資源與通信劃分:

  • 上三層(應用、表示、會話)屬于 資源子網 , 負責數據處理 ;
  • 中間層(傳輸)屬于資源子網 與 數據子網的接口 ;
  • 下三層(網絡上、數據鏈路、物理)屬于通信子網 , 負責數據通信 ;

通信雙方的 主機 涉及到全部 七層 模型 ;

中間的 路由器 , 只涉及 網絡層 , 數據鏈路層 , 物理層 , 三層 ;

3、分層說明

2.1 應用層(Application Layer)

“應用層” 概念 : 應用層是 用戶 與 網絡的界面,所有能與用戶交互,并產生網絡流量的程序,稱為應用層 ;

“應用層” 服務協議 :

  • FTP 文件傳輸協議
  • SMTP 郵件傳輸協議
  • HTTP 超文本傳輸協議

2.2 表示層(Presentation Layer)

“表示層” 概念 : 處理 兩個通信系統 中交換信息的 表示方式 , 通常用于處理 語法 和 語義 ;

"通信系統 " 可以理解成一臺 網絡設備 ;

“表示層” 功能 :

  • 數據格式轉換 : 將二進制數據轉為 圖片 , 文本 , 音視頻 ;
  • 數據加密解密 : 用戶登錄 , 將密碼加密傳輸 ;
  • 數據壓縮恢復 : 如 直播場景 , 推流時 先將圖片壓縮成 H.264 格式 , 觀看時 將 H.264 格式轉為 圖像展示 ;

表示層 不是單獨的層次 , 實際使用時 , 被 規劃到了 應用層中 ; 表示層 沒有單獨的協議 ;

2.3 會話層(Session Layer)

“會話” 概念 : 向 表示層實體 或 用戶進程 提供 建立連接的服務 , 并在該建立的連接上 , 有序地 傳輸數據 , 上述整個過程稱為 “會話” , 又稱為 “建立同步 ( SYN )” ;

會話層 功能 :

  • 會話管理 : 建立 , 管理 , 終止 會話 ;
  • 校驗同步 : 在數據中插入 校驗點 , 在通信失效時 , 從 校驗點 繼續恢復通信 , 使數據同步 ; 如 大文件的 斷點續傳 功能 ;

會話層 主要協議 :

  • ADSP 協議
  • ASP 協議

2.4 傳輸層(Transport Layer)

“傳輸層” 概念 : 負責 兩個 主機進程 間通信 , 是 “端到端” 通信 , 傳輸單位是 報文段 , 用戶數據報 ;

“傳輸層” 是 資源子網 ( 應用層 , 表示層 , 會話層 ) 與 通信子網 ( 網絡層 , 數據鏈路層 , 物理層 ) 之間的接口層 ;

區分端到端與點對點:

  • 端到端(End-to-End)
    • 傳輸層關注的是通信的起點和終點(即兩個終端設備上的應用進程之間的邏輯連接)。例如,當你的瀏覽器(客戶端)與服務器(服務端)通過TCP通信時,傳輸層確保數據從客戶端進程(如Chrome)完整、可靠地傳遞到服務器進程(如Nginx)。
    • 核心任務:進程間通信(通過端口號區分)、可靠性(如TCP的確認重傳機制)、流量控制、擁塞控制等。
    • 中間節點無關性:傳輸層協議(如TCP/UDP)的頭部信息僅在通信的兩端(發送方和接收方)被解析和處理,中間的網絡設備(如路由器)僅處理網絡層(如IP)及以下的信息。
  • 點對點(Point-to-Point):
    • 點對點通信通常指相鄰節點之間的直接連接,例如數據鏈路層(如以太網、Wi-Fi)或物理層的通信。
    • 核心任務:確保數據在單條鏈路上正確傳輸(如MAC地址尋址、幀校驗等)。
    • 中間節點參與:每個中間節點(如路由器、交換機)需要處理數據鏈路層的幀信息,逐跳(Hop-by-Hop)轉發數據。

“傳輸層” 功能 :

  • 數據傳輸 : 可靠傳輸 ( TCP ) , 不可靠傳輸 ( UDP ),QUIC(快速UDP互聯網連接)
  • 差錯控制 : 如果傳輸出錯 , 重發 , 或糾錯 ;
  • 流量控制 : 發送方 與 接收方 同步 ;
  • 復用 : 發送數據時 , 多個 應用進程 , 同時使用 下一層 運輸層 的服務 ;
  • 分用 : 接收數據時 , 運輸層將接收到的信息 , 根據 端口號 , 分別交給 不同的 應用進程 使用 ;

2.5 網絡層(Network Layer)

“網絡層” 概念 : 將 分組 從 源端 傳遞到 目的端 , 為 分組交換網 上 不同主機 提供 通信服務 ;

“網絡層” 數據傳輸單位 : 數據包;

“數據報” 與 “分組” : 當數據過長時 , 就會將 數據報 切割成小的 分組 , 增加傳輸的靈活性 ;

“網絡層” 功能 :

  • 路由選擇 : 主機間通信時 , 選擇網絡上 路由器的 最佳路徑 ;
  • 流量控制 : 限制發送端速度 , 協調 發送端 接收端 的數據流量 ;
  • 差錯控制 : 分組數據校驗 , 盡量糾錯 , 確保數據的正確性 ;
  • 擁塞控制 : 如果所有的節點 都 來不及接收分組 , 需要丟棄大量分組 , 此時 網絡處于擁塞狀態 , 此時 需要采取一定的措施 , 緩解這種擁塞狀態 ; 與 流量控制不同的是 該機制是 整體地控制 , 不單單是限制發送端速度 ,

“網絡層” 協議 :

  • IP
  • IPX
  • ICMP
  • IGMP
  • ARP
  • RARP
  • OSPF

2.6 數據鏈路層(Data Link Layer)

“數據鏈路層” 概念 : 將 網絡層 傳遞下來的 數據報 組裝成 幀 ;

“數據鏈路層” 數據傳出單位 : ;

“數據鏈路層” 功能 :

  • 成幀 : 定義 幀 開始 和 結束 標識 ;
  • 差錯控制 : 針對 幀錯誤 ( 檢錯 ) , 位錯誤 ( 糾錯 ) , 進行處理 ;
  • 流量控制 : 發送方 和 接收方 速度協調 , 防止 接收方 緩存不足 , 導致數據丟棄 ;
  • 訪問控制 : 控制 主機 對于 信道 的 訪問 控制 ; 如 廣播網絡 , 同時只有一個設備能發送信息 , 誰發送 , 由數據鏈路層控制 ;

“數據鏈路層” 協議 :

  • SDLC
  • HDLC
  • PPP
  • STP

2.7 物理層(Physical Layer)

“物理層” 概念 : 在 物理媒體 上實現 比特流 透明傳輸 ;

透明傳輸 : 不管數據的內容 , 直接在鏈路上傳輸 ;

“物理層” 數據傳輸單位 : 比特 ( bit ) ;

“物理層” 功能 :

  • 定義接口特性 : 傳輸介質 , 網絡接口引腳 等 ;
  • 定義傳輸模式 : 單工 ( 單向傳輸 ) , 半雙工 ( 不同時 雙向傳輸 ) , 全雙工 ( 同時雙向傳輸 ) ;
  • 定義傳輸速率 : 網絡的帶寬 , 百兆網 , 千兆網 ;
  • 比特同步 : 使用同步時鐘 , 保證發送接收比特同步 ;
  • 比特編碼 : 規定 電壓 與 比特 的關系 , 曼徹斯特編碼 , 差分曼徹斯特編碼 等 ;

“物理層” 協議 :

  • 802.3
  • Rj45

3、OSI 通信

主機A通過路由器向B發送HTTP請求,網絡拓撲示例

主機A192.168.1.2) → 路由器R1(接口1192.168.1.1,接口2203.0.113.1) → 主機B203.0.113.5

3.1 主機A的封裝過程(發送端)

(7) 應用層(Application Layer)

  • 功能:用戶觸發HTTP請求(如點擊網頁按鈕)。
  • 數據處理:生成HTTP報文(例如:GET /index.html HTTP/1.1)。
  • 協議:HTTP/HTTPS。
  • 數據單位:應用數據(Message)。

(6) 表示層(Presentation Layer)

  • 功能:格式化、加密數據。
  • 數據處理:
    • 將HTTP報文轉換為二進制格式(如ASCII編碼)。
    • 若使用HTTPS,進行TLS加密。
  • 協議:TLS/SSL(加密)、JPEG/MPEG(數據格式轉換)。
  • 數據單位:格式化后的數據。

(5) 會話層(Session Layer)

  • 功能:建立會話連接。
  • 數據處理:
    • 在A和B之間建立會話(如TCP三次握手后維護會話狀態)。
    • 若使用RPC或SSH,管理會話的持續性和恢復能力。
  • 協議:NetBIOS、RPC、SSH。
  • 數據單位:會話數據。

(4) 傳輸層(Transport Layer)

  • 功能:端到端可靠傳輸。
  • 數據處理:
    • 將數據分段(Segment),添加源端口和目的端口(如HTTP用80端口)。
    • 若使用TCP,添加序列號、確認號、窗口大小等控制信息。
  • 協議:TCP(可靠)或UDP(無連接)。
  • 數據單位:數據段(Segment)。
  • TCP頭部示例:
    | 源端口(A:50000| 目的端口(B:80| 序列號 | 確認號 | 窗口大小 | 校驗和 |
    

(3) 網絡層(Network Layer)

  • 功能:邏輯尋址與路由。
  • 數據處理:
    • 添加源IP地址(A的IP)和目的IP地址(B的IP)。
    • 若跨網絡傳輸,路由器根據IP地址選擇最佳路徑。
  • 協議:IP(IPv4/IPv6)、ICMP、OSPF。
  • 數據單位:數據包(Packet)。
  • IP頭部示例:
    |IP192.168.1.2| 目的IP203.0.113.5| TTL | 協議(TCP=6| 校驗和 |
    

(2) 數據鏈路層(Data Link Layer)

  • 功能:物理尋址與幀傳輸。
  • 數據處理:
    • 將數據包封裝成幀(Frame),添加源MAC地址(A的MAC)和目的MAC地址(下一跳設備的MAC,如路由器)。
    • 通過ARP協議查詢下一跳的MAC地址(若未知)。
  • 協議:以太網(IEEE 802.3)、Wi-Fi(IEEE 802.11)。
  • 數據單位:幀(Frame)。
  • 以太網幀示例:
    | 目的MAC(路由器) |MACA| 類型(IPv4=0x0800| 數據 | CRC校驗 |
    

(1) 物理層(Physical Layer)

  • 功能:比特流傳輸。
  • 數據處理:
    • 將幀轉換為比特流(0和1),通過物理介質(如網線、Wi-Fi信號)傳輸。
  • 協議:以太網PHY(如1000BASE-T)、Wi-Fi(IEEE 802.11ac)。
  • 數據單位:比特(Bits)。

3.2 路由器R1的處理

路由器工作在網絡層(Layer 3),處理邏輯如下:

(1) 物理層 → 數據鏈路層

  • 接收比特流,還原為以太網幀。
  • 校驗CRC,若通過則剝離以太網幀頭部,提取IP數據包。

(2) 網絡層

  • 檢查IP數據包的目的IP地址(203.0.113.5)。
  • 根據路由表判斷下一跳:
    • 若目的IP屬于直連網絡(如203.0.113.0/24),直接轉發到主機B。
    • 若需跨網絡,選擇下一跳路由器(此處假設B在直連網絡中)。
  • 更新TTL(Time to Live):TTL值減1(防止數據包無限循環)。

(3) 數據鏈路層重新封裝

  • 根據下一跳接口(接口2),重新封裝數據包為新的以太網幀:
  • 源MAC:路由器R1的接口2的MAC地址。
  • 目的MAC:主機B的MAC地址(通過ARP查詢203.0.113.5的MAC)。
  • 若目的MAC未知,觸發ARP請求。

(4) 物理層

將新幀轉換為比特流,通過接口2發送到主機B所在網絡。

3.3 主機B的解封裝過程(接收端)

  • 物理層:接收比特流,轉換為幀。
  • 數據鏈路層:
    • 校驗幀的完整性(CRC),若正確則剝離MAC頭部,提取IP數據包。
    • 若目的MAC與B的MAC不匹配,丟棄幀。
  • 網絡層:
    • 檢查目的IP地址是否為本機IP,若匹配則剝離IP頭部,將數據段傳遞給傳輸層。
    • 若目的IP不匹配且B是路由器,則重新路由。
  • 傳輸層:
    • 根據目的端口號(如80)確定目標應用程序(如Web服務器)。
    • 若使用TCP,發送確認報文(ACK)給A。
  • 會話層:維護會話狀態(如TCP連接保持)。
  • 表示層:解密數據(如TLS)或轉換數據格式(如JSON解析)。
  • 應用層:將HTTP請求傳遞給Web服務器處理,生成響應(如返回網頁內容)。

數據封裝與解封裝示意圖:

主機A發送方向(封裝):
應用層(HTTP) → 表示層(TLS加密) → 會話層(會話ID) → 傳輸層(TCP頭部) → 網絡層(IP頭部) → 數據鏈路層(MAC頭部) → 物理層(比特流)路由器R1處理:
接收:比特流 → [MAC-AR1 | IP|TCP|HTTP]  
剝離MAC頭部 → [IP|TCP|HTTP]  
路由決策 → 重新封裝: [MAC-R1B | IP|TCP|HTTP] → 比特流主機B接收方向(解封裝):
物理層(比特流) → 數據鏈路層(剝離MAC頭部) → 網絡層(剝離IP頭部) → 傳輸層(剝離TCP頭部) → 會話層(驗證會話) → 表示層(解密) → 應用層(處理HTTP請求)

三、TCP / IP

1、TCP/IP分層模型概述

TCP/IP模型最初由美國國防部設計,用于實現不同網絡設備的互聯。它分為四層(經典模型)或五層(教學常用擴展版),核心思想是分層抽象和協議獨立:

  • 經典四層模型:應用層(Application) → 傳輸層(Transport) → 網絡層(Internet) → 鏈路層(Link)
  • 擴展五層模型(更貼近實際實現):應用層 → 傳輸層 → 網絡層 → 數據鏈路層 → 物理層

2、各層功能與協議

2.1 應用層(Application Layer)

  • 功能:
    • 直接面向用戶或應用程序,提供端到端的數據交互服務(如文件傳輸、網頁訪問)。
    • 定義數據格式(如HTTP的請求/響應報文)。
    • 通過進程間通信(端口號)區分不同服務。
  • 典型協議:
    • HTTP:網頁瀏覽(80/443端口)。
    • FTP:文件傳輸(20/21端口)。
    • SMTP/POP3:電子郵件發送與接收。
    • DNS:域名解析(53端口)。
    • SSH:加密遠程登錄(22端口)。

2.2 傳輸層(Transport Layer)

功能:

  • 實現端到端的可靠或不可靠傳輸,確保數據在源主機和目標主機的應用進程之間正確交付。
  • 多路復用/解復用:通過端口號區分同一主機上的多個應用進程。
  • 流量控制(如TCP的滑動窗口)。
  • 擁塞控制(如TCP的慢啟動、擁塞避免)。
  • 可靠性(僅TCP):通過確認應答(ACK)、超時重傳、數據排序實現。

核心協議:

  • TCP(Transmission Control Protocol):面向連接、可靠傳輸,適用于文件下載、網頁訪問等場景。
  • UDP(User Datagram Protocol):無連接、盡力交付,適用于實時視頻、語音通話等低延遲場景。

2.3 網絡層(Internet Layer)

功能:

  • 負責主機到主機的邏輯尋址與路由選擇,將數據包從源主機跨網絡傳遞到目標主機。
  • IP地址分配:唯一標識網絡中的設備(如IPv4的192.168.1.1)。
  • 路由選擇:通過路由器決定數據包的轉發路徑。
  • 分片與重組:根據鏈路最大傳輸單元(MTU)拆分/合并數據包。

核心協議:

  • IP(Internet Protocol):無連接、不可靠的數據包傳輸。
  • ICMP(Internet Control Message Protocol):網絡診斷(如ping命令)。
  • ARP(Address Resolution Protocol):將IP地址解析為MAC地址。

2.4 數據鏈路層(Data Link Layer)

功能:

  • 管理同一局域網(LAN)內相鄰設備的直接通信,確保數據在物理鏈路上可靠傳輸。
  • MAC地址尋址:通過硬件地址(如00:1A:2B:3C:4D:5E)標識設備。
  • 幀封裝:將網絡層的數據包封裝為幀,添加頭部(源/目標MAC地址)和尾部(校驗和)。
  • 差錯檢測:通過CRC校驗發現傳輸錯誤。

典型協議與技術:

  • 以太網(Ethernet):有線局域網標準。
  • Wi-Fi(IEEE 802.11):無線局域網標準。
  • PPP(點對點協議):撥號上網、廣域網連接。

2.5 物理層(Physical Layer)

功能:

  • 定義物理介質的電氣、機械特性,負責比特流(0/1)的傳輸。
  • 信號編碼(如曼徹斯特編碼)。
  • 傳輸介質管理(如光纖、雙絞線、無線電波)。
  • 物理接口規范(如RJ45網線接口、Wi-Fi天線)。

典型技術:

  • 雙絞線(Cat5/Cat6)、同軸電纜、光纖。
  • 調制解調器(Modem)、集線器(Hub)。

3、數據封裝與解封裝

數據在傳輸過程中會逐層添加或移除協議頭部,形成不同的數據單元:

  • 應用層:生成原始數據(如HTTP請求)。
  • 傳輸層:添加TCP/UDP頭部 → 生成段(Segment) 或 數據報(Datagram)。
  • 網絡層:添加IP頭部 → 生成數據包(Packet)。
  • 數據鏈路層:添加幀頭(MAC地址)和幀尾 → 生成幀(Frame)。
  • 物理層:轉換為比特流通過物理介質傳輸。

接收方則反向操作(解封裝),逐層剝離頭部并處理。

4、實際應用示例:訪問網頁

  • 應用層:瀏覽器生成HTTP請求(GET /index.html)。
  • 傳輸層:TCP封裝請求,添加源端口(隨機)和目標端口(80)。
  • 網絡層:IP封裝,添加源IP(客戶端)和目標IP(服務器)。
  • 數據鏈路層:以太網封裝,添加源MAC(客戶端網卡)和目標MAC(下一跳路由器)。
  • 物理層:通過網線/Wi-Fi傳輸比特流。

服務器反向解封裝,返回網頁數據。

四、TCP/IP vs. OSI模型

TCP/IP模型OSI模型功能對應
應用層應用層、表示層、會話層用戶交互與數據格式處理(如加密、壓縮)
傳輸層傳輸層端到端通信(TCP/UDP)
網絡層網絡層IP尋址與路由(IPv4/IPv6)
數據鏈路層數據鏈路層MAC尋址與幀傳輸(以太網)
物理層物理層比特流傳輸(電纜、光纖)

五、網絡通信

場景:主機A想與主機B通信

1、通信步驟

主機A與主機B跨網絡通信的底層過程涉及多個網絡層級和設備協作,以下是詳細步驟:

(1)確定目標地址

  • IP地址獲取:主機A首先需要知道主機B的IP地址(通過DNS解析域名或直接輸入)。
  • 子網判斷:主機A通過子網掩碼計算,判斷B是否與自己在同一局域網:
    • 同一局域網:直接通信(無需網關);
    • 不同局域網:需通過路由器(默認網關)轉發。

(2)數據封裝(網絡層與數據鏈路層)

  • 構造IP數據包:
    • 源IP:主機A的IP地址;
    • 目標IP:主機B的IP地址。
  • 構造數據幀(鏈路層):
    • 目標MAC地址:若B在本地網絡,直接使用B的MAC地址;否則使用默認網關的MAC地址(通過ARP協議獲取)。

(3)跨網絡通信的核心步驟

  • 發送到默認網關
    • 主機A將幀發送到本地網關(路由器),目標MAC地址為網關的MAC地址,但IP包的目標IP仍是B的地址。
    • ARP協議:若網關MAC未知,主機A通過ARP廣播查詢網關的MAC。
  • 路由器的逐跳轉發
    • 解封裝與路由決策:
      • 路由器剝離幀頭,讀取目標IP地址;
      • 查詢路由表確定下一跳路由器(基于最長前綴匹配)。
    • 重新封裝幀:
      • 下一跳路由器的MAC地址(通過ARP或路由表緩存獲取);
      • 源MAC變為當前路由器的出口MAC,目標MAC變為下一跳的MAC。
      • TTL減1:防止數據包無限循環,若TTL為0則丟棄并發送ICMP超時消息。
  • 跨網絡傳輸
    • 數據包經過多個路由器,每經過一跳,MAC地址更新一次,但IP地址始終不變(除非經過NAT)。
    • 路由協議(如OSPF、BGP):路由器間動態交換路由信息,優化路徑選擇。
  • 到達目標網絡
    • 最終路由器發現目標IP屬于其直連網絡:
    • 通過ARP獲取主機B的MAC地址(若緩存中不存在,則廣播ARP請求);
    • 封裝幀(源MAC為路由器接口MAC,目標MAC為B的MAC),發送到B的局域網。

(4)數據接收與響應

主機B處理:

  • 檢查幀目標MAC是否匹配,確認后解封裝;
  • 網絡層檢查目標IP是否匹配,傳輸層處理(如TCP/UDP端口)。
  • 響應流程:主機B的回復按相同流程反向執行。

2、關鍵技術與協議

  • ARP協議:解決IP到MAC的映射(局域網內)。
  • 路由協議:動態決定最佳路徑(如OSPF用于內部網絡,BGP用于互聯網)。
  • NAT(網絡地址轉換):若主機A/B位于私有網絡,路由器會將私有IP轉換為公網IP。
  • ICMP:處理錯誤(如目標不可達、TTL超時)。

3、示例流程(跨局域網)

主機A(IP: 192.168.1.2)發送數據給主機B(IP: 203.0.113.5)。
判斷B不在本地網絡,發送幀到默認網關(MAC: 00:11:22:33:44:55)。
網關路由器查詢路由表,確定下一跳為ISP的路由器。
數據包經過多個自治系統(AS),由BGP協議引導至B所在的網絡。
最終路由器將幀發送給B(MAC: AA:BB:CC:DD:EE:FF ),完成通信。

4、總結

  • MAC地址:僅在當前鏈路有效,每跳更新;
  • IP地址:端到端不變(NAT除外),用于全局尋址;
  • 路由器:負責跨網絡轉發,依賴路由表和協議;
  • NAT:解決IPv4短缺,實現私有網絡與公網通信。

通過上述過程,即使主機A和B位于不同網絡,數據仍能通過底層協議的協作可靠傳輸。

六、網絡設備

1、路由器(Router)

  • 工作層級:OSI 網絡層(Layer 3)。
  • 核心功能:
    • 跨網絡通信:連接不同網絡(如局域網與互聯網),基于 IP 地址 進行數據包路由。
    • NAT(網絡地址轉換):將私有 IP 轉換為公網 IP,實現多設備共享一個公網 IP。
    • 防火墻與安全策略:提供訪問控制(ACL)、VPN 支持等。
  • 典型場景:
    -0 家庭寬帶路由器(連接內網和互聯網)。
    • 企業邊界路由器(連接分支機構或公網)。

2、集線器(Hub)

  • 工作層級:OSI 物理層(Layer 1)。
  • 核心功能:
    • 信號廣播:將接收到的數據信號廣播到所有端口,不區分目標設備。
    • 共享帶寬:所有設備共享同一帶寬,易引發沖突(需 CSMA/CD 機制協調)。
  • 缺點:效率低、安全性差(所有設備都能收到數據),已被交換機取代。
  • 典型場景:早期小型局域網(現基本淘汰)。

3、交換機(Switch)

(1) 二層交換機(Layer 2 Switch)

  • 工作層級:OSI 數據鏈路層(Layer 2)。
  • 核心功能:
    • 基于 MAC 地址轉發:通過 MAC 地址表 學習設備位置,將數據幀精準轉發到目標端口。
    • 沖突域隔離:每個端口為獨立沖突域,支持全雙工通信。
  • 典型場景:現代局域網(如企業內網、家庭網絡),用于連接終端設備(電腦、打印機等)。

(2) 三層交換機(Layer 3 Switch)

  • 工作層級:OSI 網絡層(Layer 3) + 數據鏈路層(Layer 2)。
  • 核心功能:
    • 二層交換功能:支持 MAC 地址表轉發。
    • IP 路由功能:可基于 IP 地址在不同 VLAN 或子網間路由數據,替代部分路由器功能。
    • 高速轉發:通過硬件加速實現接近交換速度的路由性能。
  • 典型場景:
    • 企業內網中需要高速 VLAN 間通信的場景(如不同部門子網互聯)。
    • 替代傳統路由器實現內部網絡分段。

4、設備對比總結

設備工作層級核心功能適用場景關鍵區別
集線器Layer 1(物理層)廣播信號到所有端口淘汰設備,僅用于歷史參考無智能,共享帶寬,沖突多
二層交換機Layer 2(數據鏈路層)基于 MAC 地址精準轉發現代局域網內設備互聯隔離沖突域,高效轉發
三層交換機Layer 3(網絡層) + Layer 2支持 IP 路由 + 二層交換需要高速 VLAN/子網互聯的企業網絡結合交換和路由,性能優于傳統路由器
路由器Layer 3(網絡層)跨網絡路由、NAT、防火墻連接不同網絡(如內網與互聯網)支持廣域網協議(如 BGP、PPPoE)

總結:

  • 集線器:已淘汰,僅需了解其廣播特性。
  • 二層交換機:局域網內高效傳輸的基石。
  • 三層交換機:企業內網分段與高速路由的核心。
  • 路由器:跨網絡通信與安全的守門人。

關鍵區別:

  • 交換機(二層/三層)專注局域網,路由器專注跨網絡。
  • 三層交換機 = 二層交換 + 簡單路由(適合內部網絡)。
  • 路由器 = 復雜路由 + 廣域網協議支持(適合連接外部網絡)。

5、實際應用中的選擇

  • 小型家庭網絡:使用 家用路由器(集成 NAT、Wi-Fi、簡單交換功能)。
  • 企業局域網:
    • 接入層:二層交換機連接終端設備。
    • 核心層:三層交換機實現 VLAN 間高速路由。
    • 邊界:路由器連接外網(互聯網或其他分支機構)。
  • 數據中心:高性能三層交換機處理大規模內部流量,路由器用于外部連接。

七、IPv6 & IPv4

1、IPv4(互聯網協議第四版)

  • 地址結構:
    • 32位地址,約43億個唯一地址(理論上)。
    • 表示方式:點分十進制(如 192.168.1.1),每部分為0-255的十進制數。
  • 關鍵特性:
    • 地址分類:A、B、C類地址,支持私有地址(如 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)。
    • NAT(網絡地址轉換):允許多個設備共享一個公網IP地址,緩解地址短缺。
    • 報頭結構:包含可選字段(如選項、填充),長度可變,處理開銷較大。
  • 問題與限制:
    • 地址枯竭:設備激增導致地址不足。
    • 復雜性:依賴NAT,影響端到端通信(如P2P應用)。
    • 安全性:IPsec為可選擴展,非強制支持。

2、IPv6(互聯網協議第六版)

  • 地址結構:
    • 128位地址,地址空間巨大(約3.4×103?個地址)。
    • 表示方式:八組四位十六進制數,冒號分隔(如 2001:0db8:85a3::8a2e:0370:7334),支持簡寫 (省略前導零和連續零組)。
  • 關鍵特性:
    • 地址類型:
      • 全球單播地址:公網唯一地址(如 2000::/3)。
      • 本地單播地址:類似IPv4私有地址(如 fc00::/7)。
      • 鏈路本地地址:僅在同一鏈路有效(如 fe80::/10)。
      • 多播與任播:取代IPv4廣播,提升效率。
    • 自動配置:
      • SLAAC(無狀態地址自動配置):通過路由器廣播生成地址。
      • DHCPv6:可選,用于有狀態配置(如DNS信息)。
    • 報頭優化:
      • 固定長度40字節,取消可選字段(通過擴展頭實現)。
      • 減少路由器處理開銷,提升轉發效率。
    • 內置安全性:強制支持IPsec(認證與加密)。
    • 移動性支持:設備切換網絡時地址不變(移動IPv6)。

3、IPv6 相對于 IPv4 的主要改進

  • 地址空間:徹底解決地址短缺問題,支持海量設備接入。
  • 簡化路由:固定報頭結構、更高效的多級路由聚合。
  • 端到端通信:無需NAT,保留端到端透明性。
  • 安全性:IPsec成為協議棧核心部分。
  • QoS支持:通過流標簽字段實現更精細的流量控制。
  • 即插即用:自動配置減少管理負擔。

4、IPv4 與 IPv6 的共存與過渡技術

  • 雙棧(Dual Stack):設備同時支持IPv4和IPv6協議棧。
  • 隧道技術:將IPv6數據包封裝在IPv4中傳輸(如6to4、Teredo)。
  • 協議轉換:通過NAT64/DNS64實現IPv6與IPv4網絡互通。
  • 應用層代理:代理服務器處理協議差異。

十、資料

  • 【計算機網絡】計算機網絡 OSI 參考模型
  • B站蛋老師說計網

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/71755.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/71755.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/71755.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從人機環境系統智能角度看傳統IP的全球化二次創作法則

從人機環境系統智能的視角看,傳統IP的全球化二次創作法則需結合技術、文化、倫理與環境的復雜協同。這一過程不僅是內容的本土化改編,更是人、機器與環境在動態交互中實現價值共創的體現。 一、人機環境系統智能的底層邏輯與IP二次創作的融合 1、感知層&…

實現 INFINI Console 與 GitHub 的單點登錄集成:一站式身份驗證解決方案

本文將為您詳細解析如何通過 GitHub OAuth 2.0 協議,為 INFINI Console 實現高效、安全的單點登錄(Single Sign-On, SSO)集成。通過此方案,用戶可直接使用 GitHub 賬戶無縫登錄 INFINI Console,簡化身份驗證流程&#…

記一次復雜分頁查詢的優化歷程:從臨時表到普通表的架構演進

1. 問題背景 在項目開發中,我們需要實現一個復雜的分頁查詢功能,涉及大量 IP 地址數據的處理和多表關聯。在我接手這個項目的時候,代碼是這樣的 要知道代碼里面的 ipsList 數據可能幾萬條甚至更多,這樣拼接的sql,必然是要內存溢出的,一味地擴大jvm參數不…

C++關鍵字之mutable

1.介紹 在C中,mutable是一個關鍵字,用于修飾類的成員變量。它的主要作用是允許在常量成員函數或常量對象中修改被標記為mutable的成員變量。通常情況下,常量成員函數不能修改類的成員變量,但有些情況下,某些成員變量的…

云計算中的API網關是什么?為什么它很重要?

在云計算架構中,API網關(API Gateway)是一個重要的組件,主要用于管理、保護和優化不同服務之間的接口(API)通信。簡單來說,API網關就像是一個中介,它充當客戶端和后端服務之間的“橋…

深搜專題2:組合問題

描述 組合問題就是從n個元素中抽出r個元素(不分順序且r < &#xff1d; n)&#xff0c; 我們可以簡單地將n個元素理解為自然數1&#xff0c;2&#xff0c;…&#xff0c;n&#xff0c;從中任取r個數。 例如n &#xff1d; 5 &#xff0c;r &#xff1d; 3 &#xff0c;所…

uniapp多端適配

UniApp是一個基于Vue.js開發多端應用的框架&#xff0c;它可以讓開發者編寫一次代碼&#xff0c;同時適配iOS、Android、Web等多個平臺。 環境搭建&#xff1a; UniApp基于Vue.js開發&#xff0c;所以需要先安裝Vue CLI npm install -g vue/cli 創建一個新的UniApp項目&…

Error [ERR_REQUIRE_ESM]: require() of ES Module

報錯信息&#xff1a; 【報錯】Message.js 導入方式不對&#xff0c;用的是 ES Moudle 的語法&#xff0c;提示使用 import 引入文件 項目開發沒有用到 js-message 依賴&#xff0c;是 node-ipc 依賴中用到的 js-message 依賴&#xff0c; node-ipc 中限制 js-message 版本&a…

給小米/紅米手機root(工具基本為官方工具)——KernelSU篇

目錄 前言準備工作下載刷機包xiaomirom下載刷機包【適用于MIUI和hyperOS】“hyper更新”微信小程序【只適用于hyperOS】 下載KernelSU刷機所需程序和驅動文件 開始刷機設置手機第一種刷機方式【KMI】推薦提取boot或init_boot分區 第二種刷機方式【GKI】不推薦 結語 前言 刷機需…

CSS通過webkit-scrollbar設置滾動條樣式

查看::-webkit-scrollbar-*各項關系 以下圖為例&#xff0c;可以分別定義滾動條背景、滾動軌道、滾動滑塊的樣式。 需要先給外部容器設置高度&#xff0c;再設置overflow: auto&#xff0c;最后設置三個webkit屬性。 <!DOCTYPE html> <html lang"en">…

自制操作系統前置知識匯編學習

今天要做什么&#xff1f; 為了更好的理解書中內容&#xff0c;需要學習下進制分析和匯編。 匯編語言其實應該叫叫機器指令符號化語言&#xff0c;目前的匯編語言是學習操作系統的基礎。 一&#xff1a;觸發器 電路觸發器的鎖存命令默認是斷開的&#xff0c;是控制電路觸發器…

uCOSIII-移植

一、uCOS移植 1.移植 C/OS-III前&#xff0c;需要獲取C/OS-III 的源代碼&#xff0c;C/CPU 和 C/LIB 這兩個組件的源代碼。 2.將獲取的uCOSIII源代碼添加到工程文件中&#xff1a; ①.uC-CPU/ARM-Cortex-M/ARMv7-M/ARM/cpu_a.asm、uC-CPU\ARM-Cortex-M\ARMv7-M\cpu_c.c 和 uC-…

Windows使用docker部署fastgpt出現的一些問題

文章目錄 Windows使用docker部署FastGPT出現的一些問題1.docker部署pg一直重啟的問題2.重啟MongoDB之后一直出現“Waiting for MongoDB to start...”3.oneapi啟動不了failed to get gpt-3.5-turbo token encoder Windows使用docker部署FastGPT出現的一些問題 1.docker部署pg一…

【Python爬蟲(52)】探秘Scrapy:項目結構與配置全解析

【Python爬蟲】專欄簡介&#xff1a;本專欄是 Python 爬蟲領域的集大成之作&#xff0c;共 100 章節。從 Python 基礎語法、爬蟲入門知識講起&#xff0c;深入探討反爬蟲、多線程、分布式等進階技術。以大量實例為支撐&#xff0c;覆蓋網頁、圖片、音頻等各類數據爬取&#xff…

【Android】ViewPager的使用

AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"><applicationandroid:allowBac…

京東廣告基于 Apache Doris 的冷熱數據分層實踐

一、背景介紹 京東廣告圍繞Apache Doris建設廣告數據存儲服務&#xff0c;為廣告主提供實時廣告效果報表和多維數據分析服務。歷經多年發展&#xff0c;積累了海量的廣告數據&#xff0c;目前系統總數據容量接近1PB&#xff0c;數據行數達到18萬億行&#xff0c;日查詢請求量8…

Windows PyCharm的python項目移動存儲位置后需要做的變更

項目使用的venv虛擬環境&#xff0c;因此項目移動存儲位置后需要重新配置python解釋器的位置&#xff0c;否則無法識別&#xff0c;若非虛擬環境中運行&#xff0c;則直接移動后打開即可&#xff0c;無需任何配置。 PyCharm版本為2021.3.3 (Professional Edition)&#xff0c;其…

前后端對接

前端與后端的對接主要通過 接口 進行數據交互&#xff0c;具體流程和方式如下&#xff1a; 1. 明確需求與接口定義 前后端協商&#xff1a;確定需要哪些接口、接口的功能、請求參數和返回格式。接口文檔&#xff1a;使用工具&#xff08;如 Swagger、Postman、Apifox&#xff…

簡識MQ之Kafka、ActiveMQ、RabbitMQ、RocketMQ傳遞機制

四種主流消息隊列&#xff08;Kafka、ActiveMQ、RabbitMQ、RocketMQ&#xff09;的生產者與消費者傳遞信息的機制說明&#xff0c;以及實際使用中的注意事項和示例&#xff1a; 1. Apache Kafka 傳遞機制 模型&#xff1a;基于 發布-訂閱模型&#xff0c;生產者向 主題&#…

Websocket——心跳檢測

1. 前言&#xff1a;為什么需要心跳機制&#xff1f; 在現代的實時網絡應用中&#xff0c;保持客戶端和服務端的連接穩定性是非常重要的。尤其是在長時間的網絡連接中&#xff0c;存在一些異常情況&#xff0c;導致服務端無法及時感知到客戶端的斷開&#xff0c;可能造成不必要…