- 資料分塊:應用資料被分割成 TCP 認為最适合發送的資料塊;
- 序列号和确認應答:TCP 給發送的每一個包進行編号,在傳輸的過程中,每次接收方收到資料後,都會對傳輸方進行确認應答,即發送 ACK 封包,這個 ACK 封包當中帶有對應的确認序列号,告訴發送方成功接收了哪些資料以及下一次的資料從哪裡開始發。除此之外,接收方可以根據序列号對資料包進行排序,把有序資料傳送給應用層,并丢棄重複的資料;
- 校驗和:TCP 将保持它首部和資料部分的檢驗和。這是一個端到端的檢驗和,目的是檢測資料在傳輸過程中的任何變化。如果收到封包段的檢驗和有差錯,TCP 将丢棄這個封包段并且不确認收到此封包段;
- 流量控制:TCP 連接配接的雙方都有一個固定大小的緩沖空間,發送方發送的資料量不能超過接收端緩沖區的大小。當接收方來不及處理發送方的資料,會提示發送方降低發送的速率,防止産生丢包。TCP 通過滑動視窗協定來支援流量控制機制;
- 擁塞控制:當網絡某個節點發生擁塞時,減少資料的發送;
- ARQ 協定:也是為了實作可靠傳輸的,它的基本原理就是每發完一個分組就停止發送,等待對方确認。在收到确認後再發下一個分組;
- 逾時重傳:當 TCP 發出一個封包段後,它啟動一個定時器,等待目的端确認收到這個封包段。如果超過某個時間還沒有收到确認,将重發這個封包段。
在北京的燈中,有一盞是我家的。這個夢何時可以實作?哪怕微微亮。北京就像魔鬼訓練營,有能力的留,沒能力的走……