我正在做一個研究項目,它需要分割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許可?它取決於操作系統或內核設置還是別的?有可能控制它嗎?謝謝!