【TCP/IP和OSI模型以及區別——理論匯總】

參考小林code和卡爾哥,感恩!

網絡基礎篇

面試官您好!OSI和TCP/IP是網絡通信中兩個關鍵模型,本質都是分層處理數據傳輸,但設計理念和應用場景差異很大。

OSI模型是理論上的七層架構,從下到上依次是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層(可記口訣“物數網傳會表應”)。它的特點是每層功能嚴格獨立,比如物理層只負責傳輸0/1信號,數據鏈路層用MAC地址在局域網內傳幀,網絡層通過IP地址跨網絡路由,傳輸層用TCP/UDP區分進程。上層如會話層管連接狀態(如登錄會話),表示層處理格式轉換和加密(如HTTPS加密),應用層直接提供服務(如HTTP協議)。這種分層適合教學和標準化分析,但實際中因層級復雜很少完全實現。

TCP/IP模型是OSI的簡化版,更注重實用,分為四層:網絡接口層(對應OSI物理層+數據鏈路層)、網絡層(IP層)、傳輸層(TCP/UDP)、應用層(融合OSI會話層+表示層+應用層)。比如網絡接口層直接處理MAC尋址和幀傳輸,網絡層用IP協議路由,傳輸層通過端口區分應用(如HTTP用80端口),應用層整合了協議邏輯(如DNS解析域名、HTTP請求格式)。我們日常上網、刷視頻等場景,底層都是TCP/IP模型在工作,比如瀏覽器用HTTP協議(應用層),通過TCP協議(傳輸層)建立連接,經IP路由(網絡層)和Wi-Fi的MAC地址(網絡接口層)完成數據傳輸。

核心區別在于OSI是理論框架,分層更細但落地難;TCP/IP是實用模型,四層結構更高效,直接支撐互聯網通信。比如面試常問的“TCP三次握手”屬于傳輸層邏輯,“IP路由選擇”屬于網絡層,這些都屬于TCP/IP模型的核心考點。總結來說,OSI適合理解原理,TCP/IP用于解決實際問題,兩者結合能更全面掌握網絡通信邏輯。

網絡模型與 URL 訪問掌握程度要求:

一、OSI 模型與 TCP/IP 模型

(一)OSI 模型(7 層)

  1. 層級構成
    • 需清晰說明 7 層名稱,依次為物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層 。
  2. 功能職責
    • 能夠對每一層進行粗淺描述,理解各層在網絡數據傳輸中承擔的基礎任務,比如物理層負責處理物理介質上的信號傳輸等 。
  3. 協議掌握
    • 熟悉部分層級常見協議,網絡層重點掌握 IP 協議;傳輸層重點掌握 TCP 協議、UDP 協議 。

(二)TCP/IP 模型(4 層)

  1. 層級結構
    • 理解模型通常為 4 層架構(網絡接口層、網絡層、傳輸層、應用層 ),清晰描述各層層次關系 。
  2. 層作用與對應關系
    • 解釋每層作用,明確與 OSI 模型各層的對應映射,清楚不同層級在整體網絡通信里的分工 。
  3. 協議與深入原理
    • 舉例說明每層使用的協議,對關鍵層次(如傳輸層、網絡層 )深入理解,像掌握 TCP 三次握手建立連接、四次揮手斷開連接過程;理解 IP 數據報路由選擇邏輯 。
  4. 層次交互
    • 明白不同層次間的數據交互流程,知曉數據在層次流轉時,每層如何添加、移除頭部信息來實現傳輸 。

二、從輸入 URL 到頁面展示流程

(一)基礎流程理解

  1. 整體交互
    • 理解瀏覽器與服務器交互全過程,清晰、完整描述從輸入 URL 開始,到頁面最終顯示的端到端流程 。
  2. 各步驟分解
    • DNS 解析:掌握域名轉換為 IP 地址的流程,清楚遞歸查詢、迭代查詢等解析方式 。
    • TCP 連接建立:準確解釋 TCP 三次握手過程,理解三次握手在建立可靠連接中的作用,包括各次握手的標志位(SYN、ACK )、序列號變化等 。
    • HTTP 請求:說明瀏覽器構建 HTTP 請求的要素(請求行、請求頭、請求體 ),以及請求發送到服務器的機制 。
    • 服務器處理請求:描述服務器接收請求后,從解析請求、業務邏輯處理(如調用后端服務、查詢數據庫 )到生成響應的過程 。
    • HTTP 響應:講解服務器構建響應(狀態碼、響應頭、響應體 )并回傳瀏覽器的機制,理解不同狀態碼代表的含義 。
    • TCP 連接關閉:清晰描述 TCP 四次揮手過程,掌握各次揮手的作用、標志位變化,理解 TIME_WAIT 等狀態的意義 。
    • 瀏覽器渲染頁面:知曉瀏覽器解析 HTML 構建 DOM 樹、解析 CSS 構建 CSSOM 樹,以及合并生成渲染樹的流程;理解 JavaScript 執行對 DOM 樹、渲染樹的影響 。
    • 頁面顯示:解釋瀏覽器依據渲染樹,通過布局、繪制、合成等步驟,將內容最終繪制到屏幕的機制 。

(二)進階知識掌握

  1. 關鍵步驟深入
    • 對 DNS 解析、TCP/IP 連接、HTTP 請求響應、瀏覽器渲染等各步驟的關鍵點(如 DNS 緩存機制、TCP 擁塞控制、HTTP 緩存策略、瀏覽器重排與重繪 )深入了解,能應對針對具體細節的追問 。
  2. 性能優化認知
    • 知曉頁面加載性能優化手段,如通過 DNS 預解析、使用 CDN 加速內容分發、壓縮資源(Gzip 等 )、合理利用緩存(強緩存、協商緩存 )等方式,減少加載時間、提升頁面性能 。

問題一:TCP/IP模型和OSI模型分別是什么?它們之間有什么區別?

核心記憶要點如下:

  • OSI七層順序口訣:物數網傳會表應(物理層→數據鏈路層→網絡層→傳輸層→會話層→表示層→應用層)。
  • 重點協議:網絡層IP、傳輸層TCP/UDP,應用層HTTP/DNS。
  • 面試高頻:三次握手 / 四次揮手原理、TCP 與 UDP 區別、IP 子網劃分。

一、OSI層級構成

OSI(Open Systems Interconnection ,開放系統互連)模型將網絡通信流程抽象為 7 層架構,從底層到應用層依次為 物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層 。這 7 層分工明確,協同完成網絡數據的傳輸、處理與交互,類似工廠流水線,每層專注 “特定工序”,共同保障信息從源頭準確抵達目標。

各層粗淺理解

OSI七層模型各層功能職責與協議(一句話概括)

1. 物理層

功能職責:在物理介質(網線/光纖/無線)上傳輸原始比特流(0/1信號),定義硬件接口與信號標準(如電壓、傳輸速率)。
協議/技術:無具體協議,涉及RJ45接口、曼徹斯特編碼、光纖傳輸標準。

2. 數據鏈路層

功能職責:將比特流封裝為幀(Frame),通過MAC地址實現相鄰設備通信,負責幀同步、差錯檢測(CRC校驗)和流量控制。
核心協議:以太網協議(Ethernet,幀格式含MAC地址)、PPP協議(撥號上網)、ARP協議(IP轉MAC)。

3. 網絡層

功能職責:通過IP地址(邏輯地址)實現跨網絡尋址,將幀封裝為IP數據包,負責路由選擇(路由器轉發)和擁塞控制。
核心協議:IP協議(IPv4/IPv6)、ICMP協議(網絡診斷,如ping)、路由協議(RIP/OSPF)。

4. 傳輸層

功能職責:為應用程序提供端到端(進程間)通信,通過**端口(Port)**區分進程,實現可靠傳輸(TCP)或高效傳輸(UDP)。
核心協議:TCP協議(三次握手/四次揮手,如網頁瀏覽)、UDP協議(無連接,如視頻通話)。

5. 會話層

功能職責:管理應用進程間的會話(Session),包括建立(如用戶登錄)、維護(會話超時)和終止(斷點續傳)。
典型場景:HTTP會話管理(Cookie/Session)、數據庫連接(如MySQL會話)。

6. 表示層

功能職責:負責數據的格式轉換、加密解密、壓縮解壓縮,確保不同系統兼容(如JSON轉二進制、HTTPS加密)。
核心技術:TLS加密(HTTPS)、Gzip壓縮、字符編碼(UTF-8/ASCII)。

7. 應用層

功能職責:直接為用戶程序提供網絡服務,定義應用協議(如請求/響應格式),是用戶與網絡的接口。
核心協議

  • 網頁瀏覽:HTTP/HTTPS
  • 文件傳輸:FTP
  • 郵件收發:SMTP/POP3
  • 域名解析:DNS
  • 遠程登錄:SSH/Telnet

邏輯鏈接總結

從下到上,各層逐步抽象:

  1. 物理層提供硬件通信基礎 →
  2. 數據鏈路層實現局域網內可靠傳輸(MAC尋址)→
  3. 網絡層實現跨網絡尋址(IP路由)→
  4. 傳輸層實現進程間通信(端口+TCP/UDP)→
  5. 會話層-表示層-應用層支撐具體應用(會話管理→數據格式→業務邏輯)。
    每一層依賴下層服務,為上層提供接口,共同構成完整的網絡通信鏈條。

二、各層功能職責與協議解析

(1)物理層(第1層:硬件傳輸層)

功能:

負責在物理介質上傳輸原始比特流,不關心數據含義,僅處理信號的物理特性(如電壓高低、光信號有無)。負責將上層傳來的二進制數據(0 和 1 )轉化為物理信號(如電信號、光信號 ),通過物理介質(如雙絞線、光纖、無線信號)發送;同時接收來自物理介質的信號,還原為二進制數據交給上層 。
( 簡單說,它解決“信號怎么在物理線 / 空氣中傳” 的問題,不關心數據含義,只負責 “信號收發” 的物理實現 ,比如電信號高低電平對應0和1比特,光纖(xian)通過光信號有無表示比特流)

關鍵技術:

涉及電纜標準(如 RJ45 網線接口 )、信號編碼(如曼徹斯特編碼 )、傳輸速率(如 10Mbps、100Mbps )、傳輸模式(單工、半雙工、全雙工 )等 。比如網線傳輸電信號時,物理層規定電壓、頻率等參數,確保不同設備能 “讀懂” 信號 。

(二)數據鏈路層(第2層:局域網通信層)

將物理層的比特流封裝為幀(Frame),通過MAC地址實現局域網內設備通信,負責幀同步、差錯檢測(CRC校驗)和流量控制。

核心任務:

  • 幀同步:識別幀的起始與結束
  • 差錯檢驗:通過CRC校驗碼檢測傳輸錯誤
  • MAC尋址:利用網卡物理地址(MAC地址)唯一標識設備

MAC 地址:

  • 定義:Media Access Control Address,又稱物理地址,由網卡制造商燒錄,長度48位(6字節),用12位16進制數表示(如00-50-56-C0-00-08)。
  • 結構:
    • 前3字節(24位)為廠商識別碼(OUI),如00-50-56代表VMware。
    • 后3字節(24位)為設備序列號,由廠商唯一分配。

通信類型:
單播:MAC地址最高字節最低位為0(如00-0A-02),數據僅發往唯一設備;
廣播:地址為ff:ff:ff:ff:ff:ff,數據發往局域網所有設備;
多播:最高位為1,數據發往一組設備(如視頻會議)。

核心協議:

  • 以太網協議:幀格式包含源MAC、目的MAC、數據、CRC校驗碼,是局域網主流協議。
  • PPP協議:點對點協議,用于撥號上網,支持IP等協議封裝,簡化鏈路建立。

(四)傳輸層(第4層:進程通信層)

功能:
為應用程序提供端到端通信,通過端口(Port)區分不同進程,將網絡層數據包封裝為段(TCP)或數據報(UDP)。
核心知識點:端口(Port)
定義:16位整數(0~65535),標識主機中的應用進程,如HTTP用80端口,HTTPS用443端口。
分類:
知名端口(0~1023):系統預留(如21-FTP、22-SSH);
注冊端口(1024~49151):分配給特定應用(如3306-MySQL、8080-Web服務);
動態端口(49152~65535):臨時分配給客戶端進程(如瀏覽器隨機端口)。
作用:通過“IP+端口”唯一標識進程(如192.168.1.1:80),解決多應用同時通信問題。
核心協議:
TCP協議:
面向連接,可靠傳輸,通過三次握手建立連接、四次揮手斷開連接;
特性:序列號/確認應答、滑動窗口(流量控制)、慢啟動(擁塞控制),適合文件傳輸、網頁瀏覽。
UDP協議:
無連接,不可靠傳輸,低延遲、高效率,適合視頻通話、DNS查詢(依賴UDP 53端口)。

(五)會話層(第5層:應用會話層)

  • 功能:
    • 管理應用進程之間的會話,包括建立(如用戶登錄)、維護(如會話超時)、終止 (如退出系統),支持會話同步(斷點續傳)。
  • 應用場景:
    • C/S模式(如QQ):建立長連接會話,支持斷線重連;
    • B/S模式(如網頁登錄):通過Cookie/Session管理會話狀態,實現“一次登錄,多次訪問”。

(六)表示層(第6層:數據格式層)

  • 功能:
    負責數據的格式轉換、加密解密、壓縮解壓縮,確保不同系統兼容。
  • 典型應用:
    • 格式轉換:瀏覽器將服務器返回的JSON數據解析為頁面結構(如JSON→JavaScript對象);
    • 加密解密:HTTPS通過TLS協議在表示層加密數據(如AES算法),接收方解密后渲染;
    • 壓縮解壓縮:服務器通過Content-Encoding: gzip壓縮HTML/CSS/JS,減少傳輸體積(如1MB數據壓縮至300KB)。

(七)應用層(第7層:用戶交互層)

功能:

直接為用戶程序提供網絡服務,定義應用協議(請求格式和響應結構)

核心:網絡設計模式
  • C/S模式(客戶端/服務器)
    • 架構:需開發客戶端和服務器端(如微信PC端+服務器),客戶端處理邏輯,服務器集中存儲數據;
    • 優點:性能高(本地緩存)、協議靈活(可自定義私有協議);
    • 缺點:開發成本高(需適配多平臺)、客戶端安全風險(如惡意軟件)。
  • B/S模式(瀏覽器/服務器):
    • 架構:僅開發服務器端,用戶通過瀏覽器訪問(如淘寶網頁),依賴HTTP/HTTPS協議;
    • 優點:開發維護成本低(僅更新服務器)、跨平臺(瀏覽器通用);
    • 缺點:性能受限(依賴瀏覽器)、協議固定(必須用HTTP)。
  • 核心協議:
    • HTTP/HTTPS:網頁瀏覽協議,定義請求方法(GET/POST)、狀態碼(200/404)、頭部字段(Cache-Control);

    • FTP:文件傳輸協議,用于C/S模式下的文件上傳下載(如通過FileZilla連接FTP服務器);

      DNS:域名解析協議(應用層),依賴UDP 53端口,將域名(如baidu.com)解析為IP地址。

OSI七層協同工作流程(以瀏覽器訪問網頁為例)

  1. 應用層: 瀏覽器(B/S客戶端)發起HTTP請求,調用DNS協議解析域名(如www.example.com)。
  2. 表示層: 若為HTTPS,通過TLS協議加密請求數據(如AES算法),轉換為二進制格式。
  3. 會話層:
    • 建立瀏覽器與服務器的會話(如通過Cookie記錄用戶ID)。
  4. 傳輸層:
    選擇TCP協議,將數據分段,源端口為瀏覽器隨機端口(如50001),目的端口為443(HTTPS); 三次握手建立連接,封裝為TCP段。
  5. 網絡層:
    • DNS解析得到服務器IP(如192.168.1.100),封裝TCP段為IP數據包(源IP=客戶端IP,目的IP=服務器IP);
    • 路由器根據路由表轉發數據包(可能經過多個網絡)。
  6. 數據鏈路層:
    將IP數據包封裝為以太網幀,源MAC=客戶端網卡MAC,目的MAC=網關MAC; 交換機通過MAC地址表轉發幀至網關。
  7. 物理層:
    幀轉換為電信號通過網線傳輸至網關,經路由器轉發到服務器,逆流程解封裝后,服務器返回響應數據,瀏覽器渲染頁面。

理解和記憶OSI七層模型可以通過分層類比、口訣記憶、場景聯想對比分析等方法,將抽象的概念轉化為具體的生活場景或邏輯鏈條。以下是具體技巧:

一、分層類比:用快遞物流理解七層模型

將OSI七層與“快遞運輸流程”類比,每層對應物流中的一個環節,通過熟悉的場景記憶功能:

OSI層級物流類比核心功能記憶關鍵詞
物理層運輸工具(卡車/飛機/輪船)運輸貨物的物理載體,負責“比特流”(貨物)在物理介質(公路/航線)上的傳輸硬件、信號、介質
數據鏈路層同城快遞分揀中心將貨物分組(幀),貼上“收件人地址”(MAC地址),確保同城內準確分揀和運輸幀、MAC地址、差錯檢測
網絡層跨省物流調度中心規劃跨省運輸路線(IP路由),通過“邏輯地址”(IP)選擇最佳路徑,轉發貨物(數據包)IP地址、路由、跨網絡尋址
傳輸層物流信息系統(跟蹤單號)全程跟蹤貨物(端到端傳輸),通過“訂單號”(端口)區分不同客戶(進程),確保貨物完整送達TCP/UDP、端口、可靠傳輸
會話層客戶服務中心(處理訂單會話)管理客戶與物流的會話(如訂單創建、取消),保持通信狀態(如登錄狀態)會話管理、連接維護
表示層貨物包裝工廠(統一包裝標準)按客戶要求包裝貨物(數據格式轉換),加密敏感貨物(如貴重物品),壓縮體積(減少運輸成本)格式轉換、加密、壓縮
應用層客戶本人(簽收貨物)直接與用戶交互,提供最終服務(如貨物簽收、反饋評價)應用協議、用戶接口

記憶要點:從“物理運輸→本地分揀→跨區調度→全程跟蹤→會話管理→包裝處理→用戶簽收”,層層遞進,邏輯連貫。

二、口訣記憶:七層順序與核心功能

1. 七層順序口訣
  • 順記(從下到上)
    物數網傳會表應(物理層→數據鏈路層→網絡層→傳輸層→會話層→表示層→應用層)。
  • 逆記(從上到下)
    應表會傳網數物(應用層→表示層→會話層→傳輸層→網絡層→數據鏈路層→物理層)。
2. 各層功能口訣
  • 物理層:傳信號,靠硬件,介質傳輸無邏輯;
  • 數據鏈路層:成幀傳輸,MAC尋址,差錯檢測保可靠;
  • 網絡層:IP路由,跨網絡,數據包里找地址;
  • 傳輸層:端口區分進程,TCP可靠,UDP高效;
  • 會話層:建會話,管連接,登錄狀態要維持;
  • 表示層:轉格式,加解密,壓縮數據省流量;
  • 應用層:HTTP/FTP/DNS,直接服務用戶端。

三、場景聯想:以“網購下單”為例串聯七層

  1. 應用層(用戶下單)
    • 你在電商APP(應用層)點擊“下單”,觸發HTTP請求(協議)。
  2. 表示層(訂單加密與格式轉換)
    • 訂單數據(如收貨地址)被加密(TLS協議),并轉換為JSON格式(格式轉換)。
  3. 會話層(保持登錄會話)
    • 系統驗證你的登錄會話(Session),確保訂單與你的賬號關聯。
  4. 傳輸層(選擇運輸方式)
    • 用TCP協議(可靠傳輸)發送訂單數據,源端口為APP隨機端口,目的端口為服務器80端口。
  5. 網絡層(規劃運輸路線)
    • 根據服務器IP地址(如192.168.1.100),路由器選擇最佳路徑(路由協議)轉發數據包。
  6. 數據鏈路層(本地分揀與MAC尋址)
    • 數據包封裝為以太網幀,添加你的網卡MAC地址(源)和網關MAC地址(目的),通過交換機在局域網內傳輸。
  7. 物理層(信號傳輸)
    • 幀轉換為電信號通過網線傳輸至網關,再經光纖傳輸至電商服務器。

反向流程:服務器返回訂單確認信息時,按七層逆序解封裝,最終在APP顯示“下單成功”。

記憶技巧

  • 傳輸層=“門牌號”:同一棟樓(主機)里區分不同住戶(進程),靠端口。
  • 網絡層=“街道地址”:找到某棟樓(主機),靠IP。
  • 數據鏈路層=“單元門禁”:在小區(局域網)內找到具體單元,靠MAC。

五、圖示記憶:七層模型分層圖

畫一張七層模型圖,標注每層名稱、功能、協議和類比場景,貼在書桌旁或手機壁紙上,強化視覺記憶:

┌───────────────┐   應用層(網購APP下單)  
│   應用層       │   協議:HTTP、FTP  
├───────────────┤   表示層(訂單加密/JSON格式)  
│   表示層       │   技術:TLS、Gzip  
├───────────────┤   會話層(登錄會話管理)  
│   會話層       │   場景:保持用戶登錄狀態  
├───────────────┤   傳輸層(TCP傳輸訂單數據)  
│   傳輸層       │   協議:TCP(端口80)  
├───────────────┤   網絡層(IP路由至服務器)  
│   網絡層       │   協議:IP、OSPF  
├───────────────┤   數據鏈路層(MAC尋址,局域網傳輸)  
│   數據鏈路層   │   協議:以太網、ARP  
└───────────────┘   物理層(電信號通過網線傳輸)  物理層       介質:雙絞線、光纖  

六、實戰記憶:通過面試題鞏固

典型問題
  1. “請從下到上說出OSI七層模型名稱。”
    → 用口訣“物數網傳會表應”快速應答。
  2. “TCP和UDP屬于哪一層?它們的區別是什么?”
    → “傳輸層。TCP可靠(三次握手),UDP高效(無連接),如TCP用于網頁,UDP用于直播。”
  3. “IP地址和MAC地址分別屬于哪一層?”
    → “IP是網絡層(邏輯地址),MAC是數據鏈路層(物理地址)。”

記憶框架

  1. 順序:物理→數據鏈路→網絡→傳輸→會話→表示→應用(物數網傳會表應)。
  2. 每層核心
    • 下三層(物理/數據鏈路/網絡):解決“如何傳數據”(硬件→局域網→跨網絡)。
    • 上四層(傳輸/會話/表示/應用):解決“傳什么數據”(進程通信→會話管理→格式處理→用戶服務)。
  3. 協議聯想
    • 網絡層=IP,傳輸層=TCP/UDP,應用層=HTTP/DNS。

TCP/IP 網絡模型有哪幾層?

應用層(Application Layer)

我們用戶直接接觸到的就是用戶層,手機電腦上使用的軟件都是應用層實現的。
那么當兩個不同設備之間需要通信時,應用就把數據傳給下一層,也就是傳輸層。
應用層只專注于為用戶提供應用功能,比如比如 HTTP、FTP、Telnet、DNS、SMTP等。不關心數據如何傳輸,類似于我們寄快遞只需要把包裹交給快遞員,不管他怎么送。

傳輸層(Transport Layer)——TCP和UDP

應用層數據傳給傳輸層;
傳輸層為應用層提供網絡支持;
為應用層傳輸數據

TCP/IP模型深度解析(4層架構與核心原理)

一、TCP/IP模型層級結構(對比OSI模型)

TCP/IP模型是OSI模型的簡化實現,共4層,從下到上依次為:
網絡接口層 → 網絡層 → 傳輸層 → 應用層
與OSI模型的對應關系如下:

TCP/IP層OSI對應層核心功能
網絡接口層物理層+數據鏈路層處理物理介質上的比特流傳輸,封裝為幀(Frame),通過MAC地址實現本地通信
網絡層網絡層通過IP地址實現跨網絡尋址與路由,封裝為IP數據包(Packet)
傳輸層傳輸層提供端到端進程通信,通過端口區分應用,封裝為段(Segment)或數據報(Datagram)
應用層會話層+表示層+應用層直接為用戶程序提供服務,處理應用協議(如HTTP請求、FTP文件傳輸)

小林code
這張圖是 TCP/IP 四層模型的封裝流程,核心是 “數據層層打包,每層加‘頭部’控制信息” 。簡單拆解:

這張圖展示了 TCP/IP 模型四層封裝流程,核心是數據從應用層到網絡接口層的“層層包裹”(封裝)與接收時的“層層拆解”(解封裝)。以下結合網絡通信原理,詳細拆解每一層的作用、封裝內容和關鍵知識點:


一、四層封裝流程與核心邏輯

數據在 TCP/IP 模型中傳遞時,每經過一層就會添加對應層的“頭部(Header)”,形成“洋蔥式”封裝結構;接收方則反向“剝洋蔥”,逐層移除頭部,最終還原出應用數據。

1. 應用層:原始數據起點

  • 形態:純應用數據(如 HTTP 請求內容、文件內容)。
  • 作用
    是網絡通信的“起點”,由具體應用生成(如瀏覽器生成 HTTP 請求、郵件客戶端生成郵件內容)。
  • 關鍵知識點
    • 應用層不添加頭部,直接傳遞原始數據給傳輸層。
    • 不同應用有專屬協議(如 HTTP、FTP、DNS),但封裝邏輯一致:把應用數據交給傳輸層處理。

2. 傳輸層:添加“傳輸控制頭”(TCP/UDP 頭)

  • 形態[TCP 頭] + [應用數據](若用 TCP 協議);或 [UDP 頭] + [應用數據](若用 UDP 協議)。
  • 作用
    • 通過**端口號(Port)**區分應用進程(如 HTTP 用 80/443 端口,DNS 用 53 端口)。
    • TCP 頭提供可靠傳輸能力(序列號、確認應答、窗口機制等);UDP 頭則極簡,僅標識端口。
  • 關鍵知識點
    • TCP 頭核心字段
      • 源端口、目的端口(區分進程);
      • 序列號(按序組裝數據)、確認號(應答機制);
      • 標志位(SYN 建立連接、FIN 斷開連接、ACK 確認等)。
    • UDP 頭核心字段
      • 源端口、目的端口(僅標識進程,無可靠傳輸字段);
      • 長度(數據報總長度)、校驗和(簡單差錯檢測)。

3. 網絡層:添加“路由尋址頭”(IP 頭)

  • 形態[IP 頭] + [TCP/UDP 頭 + 應用數據]
  • 作用
    • 通過IP 地址實現跨網絡尋址(如從手機熱點到路由器,再到互聯網服務器)。
    • 處理路由選擇(通過路由表決定數據包轉發路徑)、擁塞控制(調整發送速率)。
  • 關鍵知識點
    • IP 頭核心字段
      • 源 IP、目的 IP(標識網絡中主機位置);
      • 協議號(標識上層協議,如 TCP=6、UDP=17);
      • 生存時間(TTL,防止數據包無限循環,每經過路由器減 1)。
    • IP 分片:若數據包超過 MTU(最大傳輸單元,如以太網默認 1500 字節),網絡層會拆分數據包,并在接收方重組。

4. 網絡接口層:添加“鏈路通信頭”(幀頭、幀尾)

  • 形態[幀頭] + [IP 頭 + TCP/UDP 頭 + 應用數據] + [幀尾]
  • 作用
    • 通過MAC 地址實現局域網內相鄰設備通信(如手機與路由器、路由器與交換機)。
    • 幀尾的 CRC 校驗檢測傳輸錯誤(若出錯,直接丟棄幀,由上層重傳)。
  • 關鍵知識點
    • 幀頭核心字段
      • 源 MAC、目的 MAC(局域網內設備的物理地址);
      • 類型(標識上層協議,如 0x0800 表示 IP 協議)。
    • 幀尾:僅包含 CRC 校驗值,用于檢測幀在物理層傳輸時的錯誤。

二、各層“傳輸單位”與本質

圖中提到:

  • 網絡接口層 → 幀(Frame)
  • 網絡層 → 包(Packet)
  • 傳輸層 → 段(Segment,TCP 用)/數據報(Datagram,UDP 用)
  • 應用層 → 消息/報文(Message,如 HTTP 報文)

本質:都是“數據包”的不同稱謂,僅因層級不同、封裝內容差異而區分。核心是 “頭部 + 數據”的嵌套結構,每一層通過“頭部”傳遞控制信息(如尋址、端口、可靠傳輸)。


三、封裝與解封裝的完整流程(以瀏覽器訪問網頁為例)

發送端(你的電腦)封裝流程

  1. 應用層:瀏覽器生成 HTTP 請求(應用數據,如 GET /index.html HTTP/1.1)。
  2. 傳輸層
    • 選擇 TCP 協議(因 HTTP 基于 TCP),添加 TCP 頭(源端口隨機,目的端口 80/443)。
    • 形成:[TCP 頭] + [HTTP 請求](段,Segment)。
  3. 網絡層
    • 添加 IP 頭(源 IP 是你的手機/電腦 IP,目的 IP 是網站服務器 IP)。
    • 形成:[IP 頭] + [TCP 頭 + HTTP 請求](包,Packet)。
  4. 網絡接口層
    • 添加幀頭(源 MAC 是你的網卡 MAC,目的 MAC 是路由器 MAC)和幀尾(CRC 校驗)。
    • 形成:[幀頭] + [IP 頭 + TCP 頭 + HTTP 請求] + [幀尾](幀,Frame)。
    • 最終通過物理層(網線/無線)發送電信號/光信號。

接收端(網站服務器)解封裝流程

  1. 網絡接口層
    • 接收幀,校驗 CRC(若錯誤則丟棄),移除幀頭、幀尾。
    • 還原出:[IP 頭 + TCP 頭 + HTTP 請求](包,Packet)。
  2. 網絡層
    • 校驗 IP 地址(確認是發給自己),移除 IP 頭。
    • 還原出:[TCP 頭 + HTTP 請求](段,Segment)。
  3. 傳輸層
    • 校驗 TCP 序列號、確認應答(若用 TCP),移除 TCP 頭。
    • 還原出:[HTTP 請求](應用數據)。
  4. 應用層
    • 服務器解析 HTTP 請求,處理后生成響應(如 HTML 內容),反向封裝回傳。

四、關鍵知識點總結

  1. 封裝邏輯每一層“包裹”上一層數據,并添加本層控制信息(頭部),實現“分層職責”。
  2. 頭部作用
    • 應用層:無頭部,純數據。
    • 傳輸層:端口 + 傳輸控制(TCP/UDP 頭)。
    • 網絡層:IP 地址 + 路由控制(IP 頭)。
    • 網絡接口層:MAC 地址 + 差錯檢測(幀頭、幀尾)。
  3. 核心目的:通過“分層封裝”,讓 不同層級專注自己的任務(應用處理業務、傳輸處理可靠、網絡處理路由、鏈路處理物理傳輸),最終實現“跨網絡、跨設備、跨應用”的通信。

理解這張圖,就能掌握 TCP/IP 模型的核心工作原理:數據不是“裸奔”傳輸,而是通過“層層包裹”傳遞控制信息,確保每一步都能被正確處理。

一、四層封裝,一層包一層

數據從應用層出發,每到下一層,就會 “裹上一層頭部(Header)” ,像套娃一樣:

  • 應用層:純數據(比如你要發的消息、網頁請求),不加頭部
  • 傳輸層:給數據加 TCP/UDP 頭(標端口,區分 App,比如微信、瀏覽器)。
  • 網絡層:再加 IP 頭(標 IP 地址,找目標設備,比如手機→服務器)。
  • 網絡接口層:最后加 幀頭、幀尾(標 MAC 地址,局域網內找鄰居,比如手機→路由器)。

二、每層“頭部”干啥用?

層級封裝后形態頭部關鍵作用
應用層純應用數據(如 HTTP 內容)無頭部,純業務數據
傳輸層(TCP)TCP 頭 + 應用數據端口區分 App(微信/瀏覽器)
網絡層IP 頭 + TCP 頭 + 應用數據IP 地址跨網絡找目標設備
網絡接口層幀頭 + IP 頭 + … + 幀尾MAC 地址局域網內找鄰居

三、一句話總結

數據從 App 出發,每往下一層就“穿一層控制外衣”(頭部),帶著端口、IP、MAC 地址,最終通過網線/無線發出去;接收方反向“脫衣服”,逐層拆包,拿到原始數據。

這樣就記住了:封裝是“套娃加頭部”,解封裝是“拆娃卸頭部”,每層頭部負責不同的“找設備、分應用、保可靠”工作~

二、各層作用與協議詳解

(一)網絡接口層(Network Interface Layer)

  • 作用
    負責物理介質上的數據傳輸,將網絡層的IP數據包封裝為幀(Frame),通過MAC地址實現局域網內通信,處理差錯檢測和流量控制。
  • 對應OSI層:物理層(信號傳輸)+數據鏈路層(幀封裝)。
  • 核心協議/技術
    • 以太網協議(Ethernet):定義幀格式(源MAC、目的MAC、數據、CRC校驗),局域網主流協議。
    • PPP協議:用于撥號上網或點對點連接(如ADSL),支持IP封裝。
    • ARP協議(地址解析協議):將IP地址解析為MAC地址(如arp -a命令查看本地ARP表)。
  • 典型場景
    電腦通過交換機傳輸數據時,網絡接口層為IP數據包添加MAC地址,確保數據在局域網內正確轉發。

(二)網絡層(Network Layer)

  • 作用
    實現跨網絡的邏輯尋址,通過IP地址將數據從源主機路由到目標主機,處理路由選擇、擁塞控制和IP數據包分片。
  • 對應OSI層:網絡層。
  • 核心協議
    • IP協議(IPv4/IPv6)
      • IPv4:32位地址(如192.168.1.1),通過子網掩碼劃分網絡位與主機位(如/24表示前24位為網絡位)。
      • IPv6:128位地址(如2001:0db8::8a2e:0370:7334),解決地址枯竭問題。
    • ICMP協議:網絡診斷與差錯報告(如ping命令通過ICMP回顯請求/應答檢測連通性)。
    • 路由協議
      • 靜態路由:手動配置路由表(適合小型網絡)。
      • 動態路由:如RIP(距離向量)、OSPF(鏈路狀態),自動更新路由表。
  • 關鍵原理
    • IP數據報結構:包含源IP、目的IP、協議號(標識上層協議,如TCP=6,UDP=17)、分片信息(處理大數據包拆分)。
    • 路由選擇邏輯:路由器根據目的IP地址查找路由表,選擇最佳路徑(下一跳IP)轉發數據包。

(三)傳輸層(Transport Layer)

  • 作用
    提供端到端(進程間)的通信服務,通過端口號(Port)區分不同應用程序,實現可靠傳輸(TCP)或高效傳輸(UDP)。
  • 對應OSI層:傳輸層。
  • 核心協議
    1. TCP協議(傳輸控制協議)
      • 特點:面向連接、可靠傳輸、字節流服務。
      • 關鍵機制
        • 三次握手建立連接
          ① 客戶端發送SYN包(請求連接,序號A);
          ② 服務器回復SYN+ACK包(確認請求,序號B,確認號A+1);
          ③ 客戶端回復ACK包(確認連接,序號A+1,確認號B+1)。
        • 四次揮手斷開連接
          ① 客戶端發送FIN包(請求斷開,序號X);
          ② 服務器回復ACK包(確認請求,序號Y,確認號X+1);
          ③ 服務器發送FIN包(數據發送完畢,序號Z);
          ④ 客戶端回復ACK包(確認斷開,序號X+1,確認號Z+1)。
        • 可靠性保障:序列號/確認應答、滑動窗口(流量控制)、超時重傳、擁塞控制(慢啟動/擁塞避免)。
      • 應用場景:網頁瀏覽(HTTP/HTTPS)、文件傳輸(FTP)、郵件收發(SMTP)。
    2. UDP協議(用戶數據報協議)
      • 特點:無連接、不可靠傳輸、數據報服務(面向報文)。
      • 優勢:低延遲、高效率,適合實時場景(如視頻通話、直播、DNS查詢)。
      • 應用場景:DNS解析(UDP 53端口)、實時通信(WebSocket部分場景)、游戲數據傳輸。
  • 對比記憶
    協議連接性可靠性傳輸單位典型端口
    TCP面向連接可靠字節流80(HTTP)、443(HTTPS)
    UDP無連接不可靠數據報53(DNS)、67/68(DHCP)

(四)應用層(Application Layer)

  • 作用
    直接為用戶應用程序提供服務,定義應用層協議(如請求格式、響應結構),處理數據的語義(如JSON/HTML解析)。
  • 對應OSI層:會話層(會話管理)+表示層(格式轉換)+應用層(業務邏輯)。
  • 核心協議
    1. HTTP/HTTPS:網頁瀏覽協議
      • HTTP:無狀態,明文傳輸,默認端口80;
      • HTTPS:HTTP+TLS加密,默認端口443,確保數據安全。
    2. FTP:文件傳輸協議,支持上傳/下載,默認端口20(數據)/21(控制)。
    3. DNS:域名解析協議,將域名(如baidu.com)解析為IP地址,基于UDP 53端口。
    4. SMTP/POP3/IMAP:郵件協議,分別用于發送(25端口)、接收(110/143端口)。
    5. SSH/Telnet:遠程登錄協議,SSH加密(22端口),Telnet明文(23端口)。
  • 關鍵原理
    • 應用層協議數據單元(APDU):如HTTP請求報文包含請求行、請求頭、請求體。
    • 會話與格式處理
      • 會話層功能:通過Cookie/Session管理用戶登錄狀態(如HTTP會話);
      • 表示層功能:HTTPS在表示層加密數據(TLS協議),Gzip壓縮響應體(Content-Encoding: gzip)。

三、層次交互:數據封裝與解封裝流程

(一)數據發送流程(封裝過程,從上到下)

  1. 應用層:生成應用數據(如HTTP請求報文),傳遞給傳輸層。
  2. 傳輸層
    • 若用TCP,將數據分段,添加TCP頭部(源端口、目的端口、序列號等),封裝為TCP段
    • 若用UDP,添加UDP頭部,封裝為UDP數據報
  3. 網絡層
    添加IP頭部(源IP、目的IP),封裝為IP數據包,查詢路由表確定下一跳。
  4. 網絡接口層
    添加MAC頭部(源MAC、目的MAC),封裝為以太網幀,通過物理層轉換為比特流發送。

(二)數據接收流程(解封裝過程,從下到上)

  1. 網絡接口層:接收物理信號,解封裝為幀,校驗MAC地址,剝離幀頭,傳遞IP數據包至網絡層。
  2. 網絡層:校驗IP地址,剝離IP頭,根據協議號(如TCP=6)將數據報傳遞至傳輸層。
  3. 傳輸層
    • TCP:校驗序列號,按序組裝字節流,剝離TCP頭,傳遞數據至應用層;
    • UDP:直接剝離UDP頭,傳遞數據報至應用層(可能丟包或亂序)。
  4. 應用層:解析應用數據(如HTTP響應報文),渲染頁面或執行其他操作。

示例:瀏覽器訪問https://www.baidu.com

  • 封裝:應用層(HTTP請求)→傳輸層(TCP段,端口80→隨機端口)→網絡層(IP包,源IP→百度IP)→網絡接口層(以太網幀,源MAC→網關MAC)。
  • 解封裝:百度服務器逆向流程解析,返回響應數據后,瀏覽器逐層解封裝并渲染頁面。

四、核心知識點對比與面試高頻問題

(一)TCP/IP vs OSI模型

對比項TCP/IP模型OSI模型
層數4層(網絡接口層、網絡層、傳輸層、應用層)7層(更細分)
設計理念面向實用(互聯網標準)理論框架(標準化分層)
協議綁定緊密綁定IP/TCP/UDP等協議協議獨立性強

(二)面試高頻問題

  1. TCP三次握手的作用是什么?為什么需要三次?
    → 確認雙方收發能力正常。兩次握手無法確認客戶端最后一次ACK是否到達,三次確保可靠連接。
  2. TCP和UDP的區別?分別適用場景?
    → TCP可靠(文件傳輸),UDP高效(直播/游戲)。
  3. IP路由選擇的核心邏輯是什么?
    → 路由器根據目的IP地址查找路由表,匹配最長前綴路由,轉發至下一跳。
  4. 應用層協議如何實現跨平臺通信?
    → 通過統一數據格式(如JSON)和協議規范(如HTTP),屏蔽底層差異。

五、記憶框架與學習建議

(一)口訣記憶

TCP/IP四層記,網接網傳應

  • 網接層(網絡接口層):物理傳輸+幀封裝;
  • 網傳層(網絡層):IP路由+數據包;
  • 傳輸層:TCP可靠+UDP快;
  • 應用層:HTTP/FTP/DNS全靠它。

(二)學習資源推薦

  • 圖解參考:小林coding官網(https://xiaolincoding.com/network/)中的TCP/IP模型動畫,直觀理解封裝流程。
  • 實戰工具
    • Wireshark抓包:捕獲TCP三次握手包,分析各層頭部字段;
    • ping/tracert命令:測試ICMP協議與路由路徑。

通過“分層對比+協議原理+場景實戰”的學習路徑,可系統掌握TCP/IP模型,輕松應對面試與實際網絡問題。

TCP/IP 模型核心邏輯與分層解析

一、TCP/IP 四層架構總覽

TCP/IP 模型將網絡通信簡化為 4 層,從“應用數據”到“物理傳輸”,每層負責特定任務,通過**“封裝(加頭部)”和“解封裝(拆頭部)”** 實現跨設備、跨網絡通信。

四層結構(從上到下):
應用層 → 傳輸層 → 網絡層 → 網絡接口層

二、各層核心邏輯與關鍵知識點

(一)應用層:用戶業務的起點

  • 作用:生成應用數據(如 HTTP 請求、文件內容、聊天消息),是網絡通信的“業務源頭”。
  • 特點不添加頭部,直接傳遞原始數據給傳輸層。
  • 典型協議:HTTP(網頁)、FTP(文件傳輸)、DNS(域名解析)、SMTP(郵件)。

(二)傳輸層:進程通信的“中間人”

  • 作用:為應用層提供端到端(進程間)通信,通過 端口號(Port) 區分同一設備上的不同應用(如瀏覽器用 80/443 端口,微信用隨機端口)。
  • 核心協議
    • TCP(傳輸控制協議)
      • 特點:面向連接、可靠傳輸(通過三次握手建立連接、序列號/確認應答保障數據完整)。
      • 場景:適合重要數據(如網頁、文件下載),確保數據不丟、不亂序。
      • 關鍵機制:流量控制(滑動窗口)、擁塞控制(慢啟動、擁塞避免)、超時重傳。
    • UDP(用戶數據報協議)
      • 特點:無連接、高效但不可靠(僅封裝端口,不保證送達)。
      • 場景:適合實時性要求高的場景(如直播、游戲、DNS 查詢),犧牲可靠性換速度。
  • 數據處理
    • 若數據過大(超過 MSS 最大報文段長度 ),TCP 會分段(拆成小數據塊,每塊加 TCP 頭),接收方再重組。

(三)網絡層:跨網絡尋址的“導航員”

  • 作用:通過 IP 地址 實現跨網絡(不同局域網)尋址,決定數據從“源設備”到“目標設備”的傳輸路徑(路由選擇)。
  • 核心協議
    • IP 協議(IPv4/IPv6):
      • IPv4:32 位地址(如 192.168.1.1 ),通過 子網掩碼 劃分“網絡號”(標識子網)和“主機號”(標識子網內設備)。
      • 示例:10.100.122.2/24 中,子網掩碼 255.255.255.0(或 /24 ),網絡號是 10.100.122.0 ,主機號是 2
      • 計算方式:IP 地址 & 子網掩碼 = 網絡號(如 10.100.122.2 & 255.255.255.0 = 10.100.122.0 )。
    • 路由協議
      • 作用:路由器通過路由協議(如 OSPF、RIP )交換路由信息,選擇最佳路徑轉發數據。
      • 邏輯:路由器根據目標 IP 的網絡號判斷“下一跳”,像導航一樣指引數據包跨網絡傳輸。

(四)網絡接口層:局域網通信的“快遞員”

  • 作用:在物理介質(網線、無線) 上傳輸數據,通過 MAC 地址 實現局域網內相鄰設備(如手機與路由器、路由器與交換機)的通信。
  • 數據處理
    • 給網絡層的 IP 數據包添加幀頭(含 MAC 地址)和幀尾(CRC 校驗) ,封裝成 幀(Frame)
    • CRC 校驗:檢測幀在物理傳輸中的錯誤,若出錯直接丟棄,由上層重傳。
  • 關鍵協議
    • ARP 協議:將 IP 地址解析為 MAC 地址(如 arp -a 查看本地 ARP 表,實現“IP→MAC”映射 )。

三、數據封裝與解封裝流程(以瀏覽網頁為例)

1. 發送端(你的電腦):層層“打包”

  • 應用層:瀏覽器生成 HTTP 請求(如 GET /index.html )。
  • 傳輸層:用 TCP 協議,給數據加 TCP 頭(標源端口、目的端口 80/443 ),形成 TCP 段
  • 網絡層:給 TCP 段加 IP 頭(標源 IP、目的 IP ),形成 IP 數據包
  • 網絡接口層:給 IP 數據包加 幀頭(MAC 地址)和幀尾(CRC) ,形成 ,通過網線/無線發送。

2. 接收端(網站服務器):層層“拆包”

  • 網絡接口層:接收幀,校驗 CRC 無誤后,拆幀頭、幀尾,還原出 IP 數據包
  • 網絡層:校驗 IP 地址,拆 IP 頭,還原出 TCP 段
  • 傳輸層:校驗 TCP 序列號、確認應答,拆 TCP 頭,還原出 應用數據(HTTP 請求)
  • 應用層:服務器解析 HTTP 請求,處理后返回響應(如 HTML 內容),反向封裝回傳。

四、核心概念對比與總結

層級傳輸單位核心地址關鍵協議核心作用
應用層消息/報文-HTTP、FTP、DNS生成業務數據,直接服務用戶應用
傳輸層段(TCP)/數據報(UDP)端口(Port)TCP、UDP區分進程,實現端到端可靠/高效傳輸
網絡層包(Packet)IP 地址IP、ICMP、OSPF跨網絡尋址,路由選擇
網絡接口層幀(Frame)MAC 地址ARP、以太網協議局域網內物理傳輸,差錯檢測

一句話總結
TCP/IP 模型通過 四層封裝 實現“應用數據→跨網絡傳輸→局域網通信→物理發送”,每層用“頭部”傳遞控制信息(端口、IP、MAC ),接收方反向拆包還原數據,最終完成網絡通信。

掌握這一邏輯,就能理解“數據如何從 App 發往服務器”,無論是抓包分析還是排查網絡問題,都能抓住核心!

面試官您好!OSI和TCP/IP是網絡通信中兩個重要的模型,分別用于理論框架和實際應用。以下是它們的詳細解析及對比:

一、OSI模型:七層理論框架

**OSI(開放系統互連模型)**將網絡通信劃分為7層,從底層硬件到上層應用逐層抽象,每層解決特定問題,強調標準化和理論完整性。

1. 七層結構與核心功能(口訣:物數網傳會表應)
  1. 物理層
    • 功能:傳輸原始比特流(0/1信號),定義硬件標準(如網線接口、信號電壓)。
    • 示例:雙絞線傳輸電信號,光纖傳輸光信號。
  2. 數據鏈路層
    • 功能:將比特流封裝為,通過MAC地址實現局域網通信,校驗傳輸錯誤(CRC校驗)。
    • 協議:以太網協議(幀格式含MAC地址)、ARP協議(IP轉MAC)。
  3. 網絡層
    • 功能:通過IP地址實現跨網絡尋址,路由選擇(如路由器轉發數據包)。
    • 協議:IP協議(IPv4/IPv6)、ICMP協議(網絡診斷,如ping命令)。
  4. 傳輸層
    • 功能:端到端進程通信,通過端口號區分應用,提供可靠(TCP)或高效(UDP)傳輸。
    • 協議:TCP協議(三次握手/四次揮手)、UDP協議(無連接,適合直播)。
  5. 會話層
    • 功能:管理應用會話(如用戶登錄狀態保持、斷點續傳)。
    • 場景:HTTP會話通過Cookie/Session維持登錄狀態。
  6. 表示層
    • 功能:數據格式轉換與加密壓縮(如JSON轉二進制、HTTPS加密)。
    • 技術:TLS加密、Gzip壓縮、UTF-8編碼。
  7. 應用層
    • 功能:直接為用戶程序提供服務,定義應用協議(如HTTP請求格式)。
    • 協議:HTTP/HTTPS(網頁)、FTP(文件傳輸)、DNS(域名解析)。
2. 特點
  • 理論性強:適合教學和標準制定,但實際網絡中很少完全實現。
  • 分層細致:每一層功能獨立,便于問題定位(如排查物理層故障或應用層協議錯誤)。

二、TCP/IP模型:四層實用架構

TCP/IP模型是OSI的簡化版,更注重實用性,是互聯網的基礎架構,共分為4層:

1. 四層結構與對應OSI層
TCP/IP層OSI對應層核心功能
網絡接口層物理層+數據鏈路層處理物理傳輸和局域網幀通信(如MAC尋址、CRC校驗)
網絡層網絡層跨網絡IP尋址與路由(如路由器轉發IP數據包)
傳輸層傳輸層進程間通信(TCP/UDP+端口號)
應用層會話層+表示層+應用層處理應用協議(如HTTP請求、數據格式轉換、會話管理)
2. 各層關鍵邏輯
  • 網絡接口層
    • 封裝幀頭(MAC地址)和幀尾(CRC校驗),實現設備在局域網內的通信(如電腦通過交換機轉發數據)。
  • 網絡層
    • 核心是IP協議,通過路由表選擇最佳路徑(如從家庭網絡經路由器轉發至目標服務器)。
  • 傳輸層
    • TCP協議:三次握手建立連接,適用于需要可靠性的場景(如網頁加載);
    • UDP協議:無連接,適用于實時性場景(如視頻會議)。
  • 應用層
    • 整合OSI的會話層、表示層和應用層功能,例如HTTP協議同時處理會話管理(Cookie)和數據格式(JSON/HTML)。

三、核心區別對比

對比維度OSI模型TCP/IP模型
層數7層(細分到每一步功能)4層(合并相似層,更高效)
設計理念先有理論框架,再匹配協議先有實際協議(如IP/TCP),再抽象成模型
協議綁定協議與層解耦(理論靈活)緊密綁定IP/TCP/UDP等協議
應用場景教學、標準制定(如ISO協議)實際互聯網通信(如手機上網、服務器交互)
數據封裝每層嚴格獨立封裝部分層合并封裝(如應用層整合會話/表示邏輯)

舉例說明區別

  • 當你用手機刷抖音時:
    • TCP/IP模型直接通過應用層(抖音APP)→傳輸層(UDP協議,快速傳輸視頻數據)→網絡層(IP地址找到抖音服務器)→網絡接口層(Wi-Fi的MAC地址傳輸幀)。
    • OSI模型則需逐層拆解:應用層(抖音APP)→表示層(視頻數據壓縮)→會話層(保持連接)→傳輸層(UDP)→網絡層(IP)→數據鏈路層(MAC)→物理層(無線信號)。

四、面試高頻考點總結

  1. OSI七層順序
    • 口訣“物數網傳會表應”,能快速復述各層名稱及功能(如傳輸層負責端口尋址,網絡層負責IP路由)。
  2. TCP/IP核心協議
    • 網絡層:IP協議(IPv4/IPv6)、路由協議;
    • 傳輸層:TCP(可靠)與UDP(高效)的區別及場景(TCP用于文件傳輸,UDP用于直播)。
  3. 模型對比關鍵點
    • OSI是理論分層,TCP/IP是實用模型;
    • TCP/IP的應用層融合了OSI的上三層(會話、表示、應用)。

五、總結

OSI模型如同一本詳細的“網絡通信教科書”,適合理解底層原理;TCP/IP模型則是“互聯網的實際施工圖紙”,直接支撐我們日常的網絡應用。掌握兩者的區別與聯系,既能應對理論面試題(如“OSI哪層負責加密?”),也能理解實際網絡問題(如“為什么直播多用UDP?”)。

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

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

相關文章

極客大挑戰 2019 EasySQL 1(萬能賬號密碼,SQL注入,HackBar)

題目 做法 啟動靶機,打開給出的網址 隨便輸點東西進去,測試一下 輸入1、1’、1"判斷SQL語句閉合方式 輸入以上兩個都是以下結果 但是,輸入1’時,出現的是另外結果 輸入1,1"時,SQL語句沒有…

Tauri(2.5.1)+Leptos(0.7.8)開發桌面應用--簡單的工作進度管理

在前期工作(Tauri(2.5.1)Leptos(0.7.8)開發桌面應用--程序啟動界面_tauri 程序啟動畫面-CSDN博客)的基礎上繼續進行自用桌面小程序的開發。為了方便管理工作進度,決定自己造輪子。效果如下: 工作進度管理系統 在編寫程序過程中&am…

java面試 網絡編程與 Java I/O:技術要點解析

java面試 網絡編程與 Java I/O:技術要點解析 網絡編程與 Java I/O:技術要點解析一、TCP 和 UDP 的區別TCP(Transfer Control Protocol)UDP(User Datagram Protocol)TCP 的三次握手與四次揮手 二、Java 的幾…

PhpStorm設置中文

環境信息 系統版本:Windows11 22H2 PhpStorm版本:2025.1.1【Build #PS-251.25410.148】 設置中文 PhpStorm并不需要安裝插件或下載相應的漢化包進行漢化 依次點擊點擊: file或右上角設置按鈕→ 進入Settings→ 找到Appearance & Behav…

【監控】Spring Boot 應用監控

這段配置是 Spring Boot 應用中對 Actuator 和 Micrometer 監控系統的配置,用于將應用的指標暴露給 Prometheus 進行收集。下面我將詳細介紹這種配置方式及其提供的指標。 配置說明 這個配置主要涉及 Spring Boot Actuator 和 Micrometer 兩個核心組件&#xff1a…

學習筆記(23): 機器學習之數據預處理Pandas和轉換成張量格式[1]

學習筆記(23): 機器學習之數據預處理Pandas和轉換成張量格式[1] 學習機器學習,需要學習如何預處理原始數據,這里用到pandas,將原始數據轉換為張量格式的數據。 1、安裝pandas pip install pandas 2、寫入和讀取數據 >>創建一個人工…

一臺電腦聯網如何共享另一臺電腦?網線方式

前言 公司內網一個人只能申請一個賬號和一個主機設備;會檢測MAC地址;如果有兩臺設備,另一臺就沒有網;因為是聯想老電腦,共享熱點用不了,但是有一根網線,現在解決網線方式共享網絡; …

Spring Boot 基礎知識全面解析:快速構建企業級應用的核心指南

一、Spring Boot 概述:重新定義 Java 開發 1.1 什么是 Spring Boot? Spring Boot 是基于 Spring 框架的快速開發框架,旨在簡化 Spring 應用的初始搭建及開發過程。它通過 「約定優于配置」(Convention Over Configuration&#…

CentOS-stream-9 Zabbix的安裝與配置

一、Web環境搭建部署Zabbix時,選擇合適的MariaDB、PHP和Nginx版本非常重要,以確保兼容性和最佳性能。以下是建議版本:Zabbix 6.4 MariaDB:官方文檔推薦使用MariaDB 10.3或更高版本。對于CentOS Stream 9,建議使用Maria…

CppCon 2014 學習:Adventures in Updating a Legacy Vintage Codebase

“VINTAGE” 部分是對現實中飛行模擬系統中遺留系統復雜性的描述。以下是對關鍵點的理解與拆解: 飛行模擬系統的背景 多環境、多語言、多硬件: 編程語言: 混用的“遺留語言”:Ada, C, C, Fortran, Jovial, PL/M, Pascal不同語言…

【計算機】計算機存儲器的分類與特性

文章目錄 一、按作用層次分類1. 主存儲器(內存)2. 輔助存儲器(外存)3. 高速緩沖存儲器(Cache) 二、按存儲介質分類1. 半導體存儲器2. 磁存儲技術3. 光存儲發展 三、按存取方式分類1. 隨機存儲器技術細節2. …

Redisson - 實現延遲隊列

Redisson 延遲隊列 Redisson 是基于 Redis 的一款功能強大的 Java 客戶端。它提供了諸如分布式鎖、限流器、阻塞隊列、延遲隊列等高可用、高并發組件。 其中,RDelayedQueue 是對 Redis 數據結構的高階封裝,能讓你將消息延遲一定時間后再進入消費隊列。…

上門服務小程序訂單系統框架設計

一、邏輯分析 上門服務小程序訂單系統主要涉及服務展示、用戶下單、訂單處理、服務人員接單與服務完成反饋等核心流程。 服務展示:不同類型的上門服務(如家政、維修等)需要在小程序中展示詳細信息,包括服務名稱、價格、服務內容介…

Android apk裝機編譯類型: verify、speed-profile, speed與啟動耗時

Android apk裝機編譯類型: verify、speed-profile, speed與啟動耗時 Dex2oat (dalvik excutable file to optimized art file) ,對 dex 文件進行編譯優化,Android 虛擬機可識別的是dex文件,應用運行過程如果每次都將dex文件加載內存&#xff…

winrm登錄失敗,指定的憑據被服務器拒絕

winrm登錄失敗,指定的憑據被服務器拒絕。 異常提示:the specified credentials were rejected by the server 在windows power shell執行 set-executionpolicy remotesigned winrm quickconfig winrm set winrm/config/service/auth {Basic"true…

Unity3D ET框架游戲腳本系統解析

前言 ET框架在Unity3D中實現的GamePlay腳本系統是一種革命性的、基于ECS(實體-組件-系統)架構的設計,它徹底改變了傳統的基于MonoBehaviour的游戲邏輯編寫方式。其核心思想是追求高性能、高解耦、易熱更新,特別適合大型復雜的網絡…

android與Qt類比

一、概念對應關系 Android RecyclerView 組件類比描述Qt 模型 - 視圖組件Qt 類比描述RecyclerView畫板(容器)QAbstractItemView視圖(展示數據的容器,如列表、表格)RecyclerView.Adapter畫布(數據橋梁&…

Jenkins 2.479.1安裝和郵箱配置教程

1.安裝 在JDK安裝并設置環境變量完成后,下載官網對應的war版本,在對應目錄下打開命令行窗口并輸入 java -jar jenkins.war其余參數感興趣可以自行查閱,這里啟動的 jenkins 服務默認占用8080端口,在瀏覽器輸入 localhost:8080進入…

多分辨率 LCD 的 GUI 架構設計與實現

1.1多分辨率顯示系統的挑戰與解決方案 1.1.1 分辨率適配的核心問題 在嵌入式系統中,同時支持不同分辨率的 LCD(如 240160、320480 等)面臨以下挑戰: 布局適配:同一界面元素在不同分辨率下需要調整大小和位置 字體顯示:小分辨率屏幕需要更小的字體,而大分辨率需要更清…

11. MySQL事務管理(上)

1. CURD不加控制&#xff0c;會有什么問題&#xff1f; 火車票售票系統tickets表 id name nums 10 西安<->蘭州 1 客戶端A 客戶端B if (nums > 0) { if (nums > 0) { 賣票 賣票 // update numsnums - 1 update numsnums - 1 } } 當客戶端A檢查還有一張票時&#xf…