问题:TCP的三次握手过程中除了传输了序号信息还传输了什么信息
tcp在三次握手建立连接的过程中,除了确定双方的isn初始序号,还好协商一些其它参数。比如MSS,最大报文段TCP MSS参数就是用于协商TCP报文大小的。
关于MSS如何确定可以参考这篇文章:TCP/IP协议:最大报文段长度(MSS)是如何确定的(3)
其它的还有滑动窗口大小等信息
查看TCP三次握手具体协商哪些信息可以用抓包工具来抓取报文来看一下。下图就是一个实际TCP报文
其中:
win就是window滑动窗口,MSS就是最大报文段,seq是序号;
ws-Window Scaling,滑动窗口因子.
更具体关于ws的内容见:tcp滑动窗口缩放因子
sack_perm是 Selective Acknowledgment
SACK是一个TCP的选项,来允许TCP单独确认非连续的片段,用于告知真正丢失的包,只重传丢失的片段。要使用SACK,2个设备必须同时支持SACK才可以,建立连接的时候需要使用SACK Permitted的option。
sack更详细的解析见这篇文章:sack