???????本文章不作任何商業用途 僅作學習與交流 部分圖片來自Unity唐老師
目錄
1.虛擬模型
2.實際模型 TCP/IP
3.傳輸層協議 TCP/UDP
TCP 協議詳解
1. 核心機制
2. 頭部格式(20 字節最小)
UDP 協議詳解
1. 核心特點
2. 頭部格式(固定 8 字節)
選擇 TCP 或 UDP 的依據
實際應用示例
1.虛擬模型
????????OSI 模型是理論框架
層次 | 功能 | 協議 / 技術示例 | 數據單元 |
---|---|---|---|
應用層 | 為用戶提供直接服務(如文件傳輸、電子郵件、Web 瀏覽)。 | HTTP、FTP、SMTP、DNS | 數據(Data) |
表示層 | 處理數據格式轉換、加密解密、壓縮解壓縮。 | SSL/TLS、ASCII、JPEG | 數據(Data) |
會話層 | 管理通信會話的建立、維護和終止。 | NetBIOS、RPC | 數據(Data) |
傳輸層 | 提供端到端的可靠或不可靠傳輸,確保數據完整性。 | TCP、UDP | 段(Segment) |
網絡層 | 負責路由選擇和數據包轉發,實現不同網絡之間的通信。 | IP、ICMP、ARP | 數據包(Packet) |
數據鏈路層 | 處理相鄰節點間的數據幀傳輸,提供錯誤檢測和糾正。 | Ethernet、PPP、MAC 地址 | 幀(Frame) |
物理層 | 定義物理介質(如電纜、光纖)的電氣、機械特性,傳輸比特流。 | RJ45、IEEE 802.3 | 比特(Bit) |
????????大概做了什么?
2.實際模型 TCP/IP
????????TCP/IP 模型是實際網絡通信中廣泛使用的協議棧
TCP/IP 模型 | OSI 模型 | 功能 | 協議 / 技術示例 | 數據單元 |
---|---|---|---|---|
應用層 | 應用層、表示層、會話層 | 提供用戶服務(如 Web 瀏覽、郵件)、數據格式處理、會話管理。 | HTTP、FTP、SMTP、DNS | 數據(Data) |
傳輸層 | 傳輸層 | 端到端的數據傳輸,確保可靠性或效率。 | TCP、UDP | 段(Segment) |
網絡層 | 網絡層 | 路由選擇和數據包轉發,實現跨網絡通信。 | IP、ICMP、ARP | 數據包(Packet) |
網絡接口層 | 數據鏈路層、物理層 | 物理介質的比特流傳輸,數據幀的組幀與傳輸。 |
?????????每層職能
? ? ? ? 其協議
?????????
3.傳輸層協議 TCP/UDP
特性 | TCP(傳輸控制協議) | UDP(用戶數據報協議) |
---|---|---|
連接性 | 面向連接(需三次握手建立連接) | 無連接(無需建立連接) |
可靠性 | 可靠傳輸(保證順序、無丟失、無重復) | 不可靠傳輸(不保證到達或順序) |
傳輸方式 | 流式傳輸(按字節流處理) | 數據報傳輸(按獨立數據包處理) |
頭部大小 | 固定 20 字節(最小) | 固定 8 字節 |
流量控制 | 支持(通過滑動窗口) | 不支持 |
擁塞控制 | 支持(避免網絡擁塞) | 不支持 |
端口號 | 使用 16 位端口號區分應用 | 同樣使用 16 位端口號 |
典型應用 | HTTP、HTTPS、SMTP、FTP、SSH | DNS、視頻流、實時游戲、語音通話(VoI |
? ?
TCP 協議詳解
1. 核心機制
- 三次握手:
建立連接時,客戶端和服務器通過?SYN
、SYN-ACK
、ACK
?三個報文確認連接 - 四次揮手:
關閉連接時,雙方通過?FIN
、ACK
、FIN
、ACK
?四個報文釋放資源 - 滑動窗口:
通過動態調整發送窗口大小實現流量控制,避免接收方過載。 - 重傳機制:
超時未收到確認時,重傳丟失的數據包。
2. 頭部格式(20 字節最小)
字段 | 描述 |
---|---|
源端口號 | 發送方端口(16 位) |
目標端口號 | 接收方端口(16 位) |
序號 | 數據字節流編號(32 位) |
確認號 | 期望接收的下一個字節編號(32 位) |
數據偏移 | 頭部長度(4 位) |
標志位 | SYN、ACK、FIN、RST 等控制位(9 位) |
窗口大小 | 接收方允許的最大數據量(16 位) |
校驗和 | 檢測數據傳輸錯誤(16 位) |
緊急指針 | 緊急數據位置(16 位,可選) |
UDP 協議詳解
1. 核心特點
- 簡單高效:無連接、無確認、無重傳,適合實時性要求高的場景。
- 資源消耗低:頭部僅 8 字節,處理速度快。
- 盡最大努力交付:不保證可靠性,但可通過上層協議(如 RTP)補充可靠性。
2. 頭部格式(固定 8 字節)
字段 | 描述 |
---|---|
源端口號 | 發送方端口(16 位) |
目標端口號 | 接收方端口(16 位) |
長度 | UDP 數據報總長度(16 位) |
校驗和 | 可選的錯誤檢測(16 位) |
選擇 TCP 或 UDP 的依據
- 選 TCP:
- 需要可靠性(如文件傳輸、Web 瀏覽)。
- 對延遲不敏感(如郵件發送)。
- 選 UDP:
- 實時性優先(如視頻會議、在線游戲)。
- 數據量小或可接受少量丟失(如 DNS 查詢)。
實際應用示例
- 視頻通話:
- UDP:低延遲,允許部分數據包丟失(丟包可通過畫面模糊補償)。
- 文件下載:
- TCP:確保文件完整無誤。
- DNS 查詢:
- UDP:單次查詢無需建立連接,快速響應。
?