MSS
IP 헤더와 TCP를 제외하고 TCP가 실을 수 있는 최대 페이로드의 크기를 의미
클라이언트는 SYN 패킷에 MSS를 표시, 서버는 SYN ACK 패킷에 MSS를 표시
클라이언트와 서버가 쓰는 MSS가 다를 수 있음, 각자 MSS맞게 처리
PUSH Flag
ECE(ECN-Echo) Flag
ECN : Explict Congestion Notification
ECE Flag를 설정하지 않으면, 패킷 손실을 통해 혼잡 제어
SYN 과정에서 ECE Flag 설정 가능
혼잡은 송신 이후 네트워크에서 발생하므로 경유하는 장비에서 네트워크 계층의 ECN 관련 기능 지원 필요(IP 계층 내 필드)
CWR Flag
TimeStamp
Timestamp Value(TS)은 시퀸스 번호와 함께 사용되어 세그먼트를 고유 식별하는데 사용
Timestamp Echo Reply(TSer)은 ACK 메시지의 헤더에 포함되는데, 수신자측에서 ACK을 보낼 때, 송신자의 마지막 데이터의 TS Val을 그대로 전송
PAWS(Protection Against Wrapped Sequence)
Timestamp 값을 이용해 중복된 시퀸스 번호를 가진 패킷이 처리되지 않도록 함
PAWS Failure은 시퀸스 번호와 타임스탬프가 모순이 있을 때, 패킷을 드랍
Window Size
흐름 제어를 위해 사용하는 필드, 송신시 자신의 수신 버퍼 사이즈를 전송
윈도우 사이즈를 수신한 호스트는, 상대방의 윈도우 사이즈에 맞게 전송
Window Scale Option : Window Size는 최대 2^16 - 1가 가능한데, 서버 및 네트워크의 고성능화로 더 큰 윈도우 사이즈가 요구됨, SYN 패킷에서 Window Scale Option 표기
좋은 네트워크와 서버 환경에서 통신이 느리다면, Window Size 옵션 확인 필요
SACK Option
손실된 패킷만 선택적 재전송으로 서버 처리량 향상 및 네트워크 혼잡 가능성 감소
미설정시, 서버 처리량 저하가 발생
TCP Option에 손실된 패킷의 Left Edge와 Right Edge가 표기
흐름제어
송수신측의 데이터 속도 처리 차이에 따른 제어
데이터 링크 계층(프레임)의 흐름 제어는 물리적으로 연결된 장비간 송수신률을 이용한 흐름제어
전송 계층(패킷)의 흐름 제어는 논리적으로 연결된 엔드포인트(서버 ↔ 클라이언트)간 전송을 의미
Stop And Wait, Sliding Window
혼잡제어
송신측과 네트워크간의 데이터 처리 속도에 따른 제어
전송 계층에서 이루어지며, AIMD, Slow Start, Fast Retransmit, Fast Recovery가 존재
혼잡제어는 CWND를 이용해서, 윈도우 사이즈를 조절
전송 계층의 윈도우 크기는 min(RWND, CWND)로 결정