1. 程式人生 > >【網路】tcp流控制和擁塞控制

【網路】tcp流控制和擁塞控制

名詞解釋

MTU:最大傳輸單元(硬體規定),指的是ip頭+data的最大位元組數(資料包超過該值會分片,主要為UDP協議)
TTL:資料報的壽命(經過一個路由器減1,工作在ip層)
RTO:重傳超時時間
cwnd:傳送視窗
rwnd:接受視窗

流控制

目的:
    防止傳送方速率太快,接受端承受不了(點對點流空)

原理:
    a. 通過滑動視窗實現(滑動視窗協議工作在傳輸層)
    b. 傳送方根據收到ack中下一位元組的序號n和接受方視窗大小m,以及目前傳送位元組序號x,算出還可以傳送的位元組數
    傳送視窗的第一個位元組序號 = ack中期望的下一個位元組序號

總結:
    a. 傳送視窗只有收到接受端的確認,才會移動傳送視窗的左邊界
    b. 接受視窗只有在前面所有資料報都確認,才會移動接受視窗的左邊界
    c. 應用程式可以通過api介面更改rwnd大小;tcp協議棧在下次傳送時將新視窗大小發給傳送方,對端按照新視窗大小設定傳送視窗大小,減緩傳送速率

擁塞控制