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

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

一個 tcp 大小設置 邊界 協議 流控制 才會 ttl 大小

名詞解釋
MTU:最大傳輸單元(硬件規定),指的是ip頭+data的最大字節數(數據包超過該值會分片,主要為UDP協議)
TTL:數據報的壽命(經過一個路由器減1,工作在ip層)
RTO:重傳超時時間
cwnd:發送窗口
rwnd:接受窗口

流控制

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

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

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

擁塞控制

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