TCP 서버에 조각난 TCP 조각이 보관되는 기간


10

주어진 TCP 조각이 두 개의 IP 데이터 그램으로 조각화되고 첫 번째 데이터 그램이 TCP 서버에 도착하지만 두 번째 데이터 그램은 도착하지 않는다고 가정하십시오.

일정 시간이 지나면 TCP 서버는 keepalive를 전송하고 클라이언트가 활성 상태인지 확인합니다. TCP 서버는이 첫 번째 데이터 그램으로 무엇을합니까? 두 번째 데이터 그램이 도착하기를 기다리거나 첫 번째 데이터 그램을 삭제합니까?

답변:


8

프래그먼트 리 어셈블리 시간 초과가 만료되면 프래그먼트가 삭제됩니다. 다른 쪽 끝은 다시 전송해야합니다.

이 시간 초과는 일반적으로 구성 할 수 있습니다. Linux에서는 기본적으로 30 초이며를 통해 제어됩니다 /proc/sys/net/ipv4/ipfrag_time.


수신 된 첫 번째 프래그먼트와 관련하여 프래그먼트 리 어셈블리 시간 초과입니까, 아니면 새로 도착한 각 프래그먼트에 대해 타이머가 재설정됩니까?
Randomblue

2
확실하게 대답하려면 소스 코드를 읽어야한다고 생각합니다.
Michael Hampton

2

이 질문에 대한 명확한 답은 없습니다.

당신이 볼 경우 적응 retransmition에 대한 기사를 당신은 TCP 적절한 지연을 계산에서 요인으로 RTT를 사용하여 볼 수 있습니다.

이것은 더 자세한 기사입니다. 본질적으로 조각화에 대한 특별한 시간 초과 값은 없습니다.

그러나이 시스코 기사는 IOS XR 가상 방화벽이 자체 구성 가능한 타이머와 함께 프래그먼트에 대한 기본 시간 제한이 10 초임을 나타냅니다. OS와 장치가 다르게 작동한다고 말하기 위해 이것을 연결하고 있습니다. 예를 들어 이와 같은 장치를 통해 연결을 전달하면 연결에 부정적인 영향을 줄 수 있습니다.

조각화 지연의 영향을 테스트하려면 동일한 구성의 두 시스템을 크로스 오버로 연결하고 테스트를 시작하는 것이 가장 좋습니다.


감사. Cisco 기사의 조각 시간 초과가 첫 번째 수신 조각 또는 마지막 수신 조각과 관련하여 계산되었다고 생각하십니까?
Randomblue

마지막 수신 조각은 첫 번째 조각보다 더 의미가 있지만 그 예에서 Cisco의 재량에 따라 알 수 없습니다.
jwbensley 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.