나는 TCP 연결을 분할해야하는 연구 프로젝트를하고있다. 그래서 나는 내 발달에서 일어날 수있는 비정상적인 질문을 가지고있다. 문제는 TCP SACK 허용 협상에 대한 이해입니다. 나는 RFC를 읽고 대답을 찾을 수 없다.
두 개의 TCP 프로그램 사이의 3 방향 TCP 핸드 셰이크 : A와 B A가 SACK 허용 된 B로 TCP SYN을 전송하면 B는 SACK 허용 TCP / IP 패킷에 확실하게 SYN / ACK 패킷을 응답합니까? B가 SACK 허용이없는 TCP SYN / ACK로 응답한다면, 의미합니까?
1) SACK-permmited는 A에서만 활성화됩니다. A는 A로부터의 tcp 패킷을 선택적으로 승인 할 수 있지만 A는 B로부터의 tcp 패킷을 선택적으로 승인 할 수 없습니다.
또는
2) SACK-permmited는 A와 B 모두에서 활성화되지 않습니다.
A가 SACK-allowed없이 B에게 TCP SYN을 보낸다면, B는 SACK 허용 된 SYN / ACK 패킷을 응답 할 수 있습니까?
게다가 왜 SACK 허용이 허용되거나 금지되어 있습니까? 그것은 운영 체제 나 커널 설정 또는 다른 것에 달려 있습니까? 그것을 제어 할 수 있습니까? 감사!