關於網絡傳輸層協議
簡介
- 首先 TCP和 UDP都是數據傳輸層協議, 還有常說的 TCP/IP是一系列協議的組合, 又稱爲 TCP/IP模型
網絡層級標準
- 網絡是分層級的, 每一層間聯繫必須遵守相關的規則, 也就是協議
- 國際標準化組織(International Standard Organization, ISO)提出的理想標準是七層模型: 應用層 -> 表示層 -> 會話層 -> 傳輸層 -> 網絡層 -> 數據鏈路層 -> 物理層
- TCP/IP把七層模型簡化成四層模型: 應用層(應用層 + 表示層 + 會話層) -> 傳輸層 -> 網絡層 -> 主機到網絡層(數據鏈路層 + 物理層)
TCP協議三次握手過程
- 第一次握手: 客戶端發送 Syn(Synchronize)包(syn=j)到服務器, 並進入 SYN_SEND狀態, 等待服務器確認
- 第二次握手: 服務器將會收到客戶的 Syn包, 必須先 Ack(Acknowledge): 客戶端的 Syn(ack=j+1), 同時建自己的 Syn包(syn=k), 然後發送到客戶端, 即 Ack包 + Syn包, 此時服務器進入 SYN_RECV狀態
- 第三次握手: 客戶端收到服務器發的 Ack包 + Syn包, 再向服務器發送確認包 Ack(ack=k+1), 此包發送完畢, 客戶端和服務器都將進入 ESTABLISHED狀態, 完成三次握手
- 握手過程中不包含數據, 三次握手完畢後纔可正式開始傳送數據, 連接一旦建立後, 在通信雙方中的任何一方主動關閉連接之前, 連接都將被一直保持下去. 三次握手的理由是, 爲了防止丟包(數據丟失)
TCP和 UDP的區別
TCP(面向連接的傳輸控制協議, Transmission Control Protocol), 類似打電話
- 三次握手確認連接之後, 客戶端和服務器可以互相發送和接收消息, 在客戶端或者服務器沒有主動斷開之前, 雙方保持長連接
- 優點: 傳輸準確可靠(保證數據正確性), 傳輸數據無大小限制(流模式), 有序(保證數據順序)
- 缺點: 效率低, 不能做離線任務, 連接耗時長
UDP(面向非連接的用戶數據報協議, User Data Protocol), 類似發短信
- 非連接指的是在傳輸數據之前無需交換確認信息, 沒有握手過程, 只需將對應的數據發到指定的地址
- 優點: 速度快, 效率高
- 缺點: 傳輸不可靠(可能丟包), 傳輸數據量少(數據報模式), 無序(先發未必先至)
如果您覺得有幫助,歡迎點贊哦 ~ 謝謝!!