TCP?

kwon_yongil_·2021년 5월 3일
0

면접 준비

목록 보기
7/12

MSS

  • IP 헤더와 TCP를 제외하고 TCP가 실을 수 있는 최대 페이로드의 크기를 의미

  • 클라이언트는 SYN 패킷에 MSS를 표시, 서버는 SYN ACK 패킷에 MSS를 표시

  • 클라이언트와 서버가 쓰는 MSS가 다를 수 있음, 각자 MSS맞게 처리

PUSH Flag

  • PUSH Flag는 전송 계층의 버퍼에서 대기없이, 바로 데이터가 처리될수 있도록 하는 Flag

ECE(ECN-Echo) Flag

  • ECN : Explict Congestion Notification

  • ECE Flag를 설정하지 않으면, 패킷 손실을 통해 혼잡 제어

  • SYN 과정에서 ECE Flag 설정 가능

  • 혼잡은 송신 이후 네트워크에서 발생하므로 경유하는 장비에서 네트워크 계층의 ECN 관련 기능 지원 필요(IP 계층 내 필드)

CWR Flag

  • CWR : Congestion Window Reduced

  • SYN 과정에서 CWR Flag 설정 가능

  • HandShake 과정 이후 ECE Flag를 수신하면, 혼잡 윈도우 크기를 감소한후 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)로 결정

0개의 댓글