1. TCP 타이머
ㅇ TCP 프로토콜에서는 회선 연결의 신뢰성을 확보하기 위해 4개의 타이머를 활용
2. 신뢰적인 TCP 회선을 위한 타이머 종류
ㅇ 재전송 (Retransmission) 타이머
- 송신측은 매 세그먼트를 전송할 때 마다 재전송 타이머 가동 ☞ 재전송 타임아웃 참조
. 정해진 시간(RTO, Retransmission Timeout) 내 수신 확인응답(ACK)이 안되면 재전송
.. 여기서, RTO 값은 고정된 것이 아니라 조정 가능함
* 재전송 타임아웃(RTO)은, 고정된 시간 값을 갖지 않음 ☞ RTT, RTO
. 즉, 동적(dynamic) 또는 적응적(adaptive)으로 조정되는 재전송 타이머를 사용함
ㅇ 영속 (Persistence) 타이머
- 윈도우 크기 결정을 위한 타이머 ☞ Sliding Window Protocol
. 주기적으로 송신하는 Window Probe 패킷의 송신 주기를 처리하는 타이머
.. 만일 윈도우 크기가 0 으로 도착되고도 일정시간 이후에 아무런 ACK가 없으면,
.. 즉, 수신측에서 송신측에 더이상 데이터 보내지 말라는 뜻이므로,
.. 수신측 상황을 알아보기 위해 1 바이트 길이의 데이터를 전송하여 보고,
.. 이에대한 ACK를 기다리게 되는데,
.. 이때 알아보는 패킷을 `Window Probe 패킷`이라고 함
ㅇ 시간 대기 (Time-waited) 타이머
- TCP 연결 종료 후에 이 기간 동안 만 연결을 유지
. 이전 연결 종료 전의 어떤 패킷이 늦게, 중복지연 도착하게되는 것을 방지
.. 즉, 이 기간 동안 중복지연된 패킷이 오면 폐기함
ㅇ Keepalive 타이머 (연결 유지 타이머)
- 이미 설정된 연결이 오랫동안 휴지 상태에 있지 않도록 하기 위함 ☞ TCP 킵얼라이브 참조
. 통상. 2시간 동안 아무런 패킷도 오지 않을 때,
. 킵얼라이브 프로브(Probe) 패킷을 75초 간격으로 10번 송신하고도 응답이 없으면,
.. 연결을 끓음
* 그러나, TCP 표준 사양서에는 이 기능에 대한 공식적인 언급이 없음