Я занимаюсь исследовательским проектом, которому необходимо разделить tcp-соединение. поэтому у меня есть некоторые вопросы, которые могут возникнуть в моем развитии. Проблема заключается в понимании согласования TCP SACK. Я читаю RFC и не могу найти ответ.Вариант заголовка TCP: разрешение SACK-разрешено (выборочное подтверждение)
Для 3-стороннего tcp рукопожатия между двумя программами tcp: A и B. если A отправляет TCP SYN в B с разрешенным SACK, то B обязательно ответит пакет SYN/ACK с разрешенным SACK? если B отвечает TCP SYN/ACK без разрешения SACK, означает ли это
1) SACK-permmited разрешен только на A. A может выборочно распознавать tcp-пакеты от A, но A не может выборочно распознавать tcp-пакеты из В.
или
2) SACK-permmited не включена как а и в
если а посылает TCP SYN, чтобы B без SACK-разрешено, может реагировать B в/ACK пакет SYN с разрешением SACK?
кроме того, почему разрешено или запрещено разрешено SACK? это зависит от операционной системы или настройки ядра или чего-то еще? можно ли это контролировать? благодаря!