我正在做一个研究项目,它需要分割tcp连接。所以我有一些粗俗的问题,这可能会在我的发展中发生。问题是对TCP SACK允许的协商的理解。我阅读RFC并且无法在那里找到答案。TCP标头选项:SACK许可(选择性确认)协商
对于两个tcp程序之间的3路tcp握手:A和B.如果A发送一个TCP SYN到B并允许SACK,B肯定会响应一个允许SACK的SYN/ACK数据包?如果B在没有SACK许可的情况下回复TCP SYN/ACK,是否意味着
1)仅在A上启用SACK-permmited。A可以选择性地确认来自A的tcp数据包,但A不能选择性地确认tcp数据包来自枯草
或
2)SACK-permmited在两个甲未启用和B
如果A发送TCP SYN到B而不允许SACK,可以B响应一个SYN/ACK包允许SACK?
此外,为什么允许或不允许SACK许可?它取决于操作系统或内核设置还是别的?有可能控制它吗?谢谢!