一文簡單了解四層協(xié)議:TCP/IP
一、TCP/IP是什么
TCP/IP是一種通信協(xié)議族,用于在計算機網(wǎng)絡中實現(xiàn)數(shù)據(jù)傳輸和通信。它由兩個核心協(xié)議(Transmission Control Protocol和Internet Protocol)組成,這兩個協(xié)議分別負責可靠的數(shù)據(jù)傳輸和數(shù)據(jù)包路由。TCP/IP協(xié)議族被廣泛用于構(gòu)建互聯(lián)網(wǎng)和局域網(wǎng),是現(xiàn)代計算機網(wǎng)絡通信的基礎。

二、TCP/IP參考模型
TCP/IP參考模型,也稱為互聯(lián)網(wǎng)協(xié)議套件,是用于組織和描述計算機網(wǎng)絡中通信協(xié)議的框架。它由四個主要的協(xié)議層構(gòu)成,每個層級都負責特定的功能。這些層級從底層到頂層分別是:網(wǎng)絡接口層、網(wǎng)絡層(網(wǎng)絡互聯(lián)層)、傳輸層和應用層。與OSI模型類似,TCP/IP參考模型也是一種分層模型,但其層級結(jié)構(gòu)略有不同。
以下是TCP/IP參考模型中各個層級及其功能的簡要描述:
- 網(wǎng)絡接口層(Network Interface Layer):也稱為鏈路層或數(shù)據(jù)鏈路層,負責在物理介質(zhì)上傳輸數(shù)據(jù)幀,例如以太網(wǎng)幀,處理物理尋址,通過MAC地址識別設備,可提供數(shù)據(jù)鏈路層的差錯檢測和糾正;
- 網(wǎng)絡層(Internet Layer):負責實現(xiàn)數(shù)據(jù)包的路由和轉(zhuǎn)發(fā),使數(shù)據(jù)能夠在不同網(wǎng)絡之間傳遞。IP協(xié)議是網(wǎng)絡層的核心協(xié)議,負責數(shù)據(jù)包的分組和尋址,包括IPv4和IPv6。作用是處理邏輯尋址,通過IP地址識別設備和網(wǎng)絡;
- 傳輸層(Transport Layer):負責提供端到端的通信服務,確保數(shù)據(jù)的可靠傳輸和流量控制。主要協(xié)議有TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。TCP提供可靠的、面向連接的通信,具有流量控制、擁塞控制和錯誤恢復機制。UDP提供無連接的通信,適用于實時應用,但不保證可靠性。
- 應用層(Application Layer):位于最頂層,包含各種應用程序和協(xié)議,通過應用層協(xié)議實現(xiàn)特定的應用功能,例如HTTP、FTP、SMTP、DNS等。提供用戶接口,允許用戶與網(wǎng)絡進行交互。應用層協(xié)議和應用程序之間的交互是用戶最直接感知的部分。
三、TCP/IP協(xié)議棧封裝解封裝過程
以HTTP請求為例,客戶端將數(shù)據(jù)發(fā)送給服務端,整個數(shù)據(jù)封裝、解封裝流程如下圖:

- 客戶端數(shù)據(jù)首先傳送至應用層,添加應用層信息(如HTTP);
- 應用層處理完成后,繼續(xù)向下層傳輸層繼續(xù)傳輸,在上層數(shù)據(jù)前添加傳輸層信息TCP頭(這里使用的協(xié)議可以是TCP或者UDP,在應用層已規(guī)定);
- 傳輸層處理完成后,接著向網(wǎng)絡層傳輸,添加IP頭信息;
- 網(wǎng)絡層完成數(shù)據(jù)封裝以后,向下層網(wǎng)絡接口層傳輸,添加以太網(wǎng)頭信息;
- 經(jīng)過網(wǎng)絡接口層處理過的數(shù)據(jù)以比特流的方式通過物理網(wǎng)卡傳輸?shù)椒斩司W(wǎng)卡。
- 數(shù)據(jù)到達服務端網(wǎng)絡接口層,經(jīng)過解析后,以太網(wǎng)頭部信息被剝離,并根據(jù)解析信息得到網(wǎng)絡層信息,比如為IP;
- 網(wǎng)絡層接收數(shù)據(jù)包后,經(jīng)過解析后網(wǎng)絡層信息(IP頭)被剝離,并根據(jù)解析信息得到上層處理協(xié)議,比如TCP;
- 傳輸層接收數(shù)據(jù)包后,經(jīng)過解析后傳輸層信息(TCP頭)被剝離,并根據(jù)解析信息得到上層處理協(xié)議,比如HTTP;
- 應用層接收到數(shù)據(jù)包后,經(jīng)過解析后應用層信息(HTTP)被剝離,最終展示的數(shù)據(jù)與客戶端發(fā)送的數(shù)據(jù)完全相同。































