전송 보장 알고리즘
SEQ, ACK로 수신 데이터 순서(offset)를 확인하여 누락/지연된 패킷에 대한 재전송 알고리즘을 제공해 어플리케이션에서는 수신된 데이터를 올바른 전송 순서와 데이터 누락 없이 처리됨을 보장한다
ACK = (이전 상대방 SEQ) + (전송 데이터 크기)
재전송 관련 커널 파라미터
tcp_retries1
tcp_retries2
재전송 타임아웃 (Retransmission Timeout; RTO)
데이터 수신 누락 이후 세그먼트가 도착했음에도 불구하고 수신 측의 ACK가 증가되지 않다가 재전송 타임아웃이 발생하면 누락된 패킷을 재전송함
- RTO는 고정된 값이 아니라 네트워크 상황에 따라 동적으로 변함 (RFC 6298)
- 재전송 발생여부는 RTT 못지 않게 성능 하락을 일으킬 수 있다.

중복 ACK
세그먼트 수신 누락이 발생한 이후 데이터 세그먼트가 도착하더라도 동일한 ACK로 응답을 반복한다. 송신 측에서 보면 데이터 세그먼트를 계속 보내는데, 그에 대한 ACK가 증가하지 않도 계속 동일한 ACK로 응답을 받게 된다.
- 중복 ACK가 일정횟수만큼 발생하면 송신 측을 세그먼트가 중간에 누락된 것으로 판단하고 해당 ACK번호와 일치하는 SEQ의 데이터 세그먼트를 재정손한다.
- 재전송 타임아웃에 비해 재전송임을 판단하는 시간이 짧아서 빠른 재전송(Fast Retransmission)이라고도 한다.

선택적 ACK (Selective ACK)
- 기존 누락에서의 ACK는 재전송 필요 시점에 대상 세그먼트를 1개만 식별할 수 있었다.
- 이를 보완하기 위해 나온 것이 Selective ACK다.