TCP知識點記錄

(1)TCP中的SYN,FIN,ACK是否佔用序列號?

    SYN: 佔用一個序列號

    FIN: 佔用一個序列號

    ACK: 不佔用序列號

 

(2)mss和窗口大小都是發送端用來通知接收端的

     mss選項通常在通信的第一個報文段,即SYN報文段中指明,通知對端本端能接收的最大長度報文段

                    mss 1024

     發送端A -----------------------> 接收端B

     如果此時接收端B向發送端A發送的報文段長度大於1024,那麼發送端A將不接受此報文段;

 

                    win 4096

     發送端A ------------------------> 接收端B

     此時發送端A通知接收端B,此端還能接收4096個字節的數據

 

(3)收到一個FIN只是意味着這個方向上沒有數據流動,即本端不能接收到數據了,但是還能發送數據。

 

(4)主動打開/被動打開,主動關閉/被動關閉

     發送第一個SYN的一端執行主動打開,對端爲被動打開;

     發送第一個FIN的一端執行主動關閉,對端爲被動關閉

 

(5)一個進程可以重新使用仍然處於2MSL等待的端口(設置套接字選項SO_REUSEADDR),但是TCP不允許一個新的連接建立在相同的套接字對上

     關於2MSL的相關內容可參考TCP/IP卷1,第18章

 

(6)ACK的傳輸並不可靠,TCP不對ACK報文段進行確認,TCP只確認那些包含有數據的ACK報文段

 

(7)擁塞窗口cwnd是發送方使用的流量控制,而通告窗口win則是接收方使用的流量控制

 

發佈了24 篇原創文章 · 獲贊 9 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章