TCP:Transport Control Protocol
UDP:User Data Protocol
- TCP相較于UDP有更高的可靠性。
- TCP相較于UDP需要更多的存儲空間。因為TCP的頭部有20個字節,UDP的頭部只有8個字節。
- UDP相較于TCP有更高的實時性。
- TCP基于連接,UDP基于不連接。
- TCP是流模式,UDP是數據報模式。
TCP的三次握手:
第一次握手:
客戶端發送標志位SYN=1和序列號seq=x(x是一個隨機數),服務器端從監聽Listen狀態轉換為SYN_RECEIVE狀態。
第二次握手:
服務器端向客戶端發送標志位SYN=1,確認號ACK=1,序列號seq=y(y是一個隨機數),確認序列號ack=x+1,客戶端轉換為ESTABLISHED狀態。
第三次握手:
客戶端向服務器端發送確認號ACK=1,確認序列號ack=y+1,服務器端轉換為ESTABLISHED狀態。
三次握手后,客戶端開始向服務器端發送數據。
TCP為什么具有可靠性:
- 確認應答機制。
- 超時重傳。客戶端向服務器端發送請求的同時會啟動一個定時器,如果在定時器結束之前還沒有收到服務器端的應答信號,會判斷為數據丟包。進而會再次發送請求并啟動一個新的定時器,新啟動的定時器的設定時間為原定時器設定時間的指數倍。如果在發送5次請求后仍未收到服務器端的響應信號,那么判定為連接斷開。
- 流量控制。