파일 다운로드 중 LAN 케이블을 분리하면 TCP 연결은 어떻게 될까

eomprgrm·2023년 4월 4일
0

파일을 다운로드 하는 중 LAN 케이블을 분리했다 다시 연결하였을 때
TCP 연결은 어떻게 될지 궁금해졌다.
TCP는 OSI 7 Layers의 4계층이며, LAN선의 경우 하드웨어의 계층에 존재한다.

해당 상황에 대한 가설을 두 가지 세워봤다.

  1. TCP 연결이 끊어졌기 때문에 처음부터 다시 받아야 한다.
  2. TCP 연결 상태가 보존되어서 이후 파일을 계속 다운로드 받을 수 있다.

다음 상황에서의 결론은 TCP 연결은 유지된다.

단, LAN선이 얼마나 오래 분리되어 있었는지가 관건이다.

TCP 연결이 얼마나 유지되는지는 RFC(Request for Comments) 문서에 작성되어 있다.

  • 재전송 타이머의 기본 근사값은 대략 3초이다. 하지만 대부분의 운영체제들은 1초 미만이다.
  • 재전송 타이머 만료 후에도 확인 응답을 받지 못한 경우 세그먼트를 재전송하고 RTO(Retransmission Tiem-Out)값은 두 배로 증가한다.
    예를 들어 1초 > 2초 > 4초 > 8초 > 16초 간격으로 재전송한다.
  • 보통 최대 5회 재전송을 시도하고 5회 이상 모두 실패할 경우 보통 전송 오류가 발생한다.

다음과 같은 케이블 단락에서 연결이 끊어진 상황을 '충격'이라고 표현하는데,
충격이 발생하더라도 서비스가 원활하게 잠깐은 유지되어야 하기 때문에 버퍼라는 공간에 유지되는 정도의 데이터를 저장하고 재연결이 될 때까지 서비스가 지속될 수 있도록 충격을 완화해주는 역할을 한다.

예를 들어, 유튜브 동영상 시청 중에 네트워크(랜선, 와이파이)가 끊어졌을 경우
버퍼에 충격을 완화해주는 데이터가 저장되어 있기 때문에 동영상이 즉시 멈추지 않고 일정 시간 동안 시청이 가능할 수 있었던 것이다. 버퍼에 저장된 데이터가 모두 사용되기 전에 네트워크가 재연결 된다면 사용자는 문제 없이 동영상 시청을 지속할 수 있게 되는 것이다.

profile
성실하고 둥글게 살고자 하는 개발자입니다.

0개의 댓글