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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章