IT

[Network] 패킷 Flags란?

Admimistrator 2024. 5. 3. 14:53
728x90
반응형
반응형

패킷 Flag란?

💡 네트워크 패킷 헤더에 있는 특정한 비트들의 조합으로 플래그들은 패킷의 특정한 속성이나, 동작을 나타내는 데 사용되며, 가장 일반적으로 사용되는 플래그는 TCP Flag 와 IP Flag 가 있습니다.

 

IP(Internet Protocol) Flags

IP Flags는 총 32bit 중 3bit를 사용하는 플래그 값을 가지고 있습니다.

  • X : 사용하지 않는 bit
  • D (Don’t Fragment) : 단편화를 할 수 있는 경우 0, 할 수 없는 경우 1 값을 가짐패킷의 크기가 네트워크 경로에 따라 분할되어야하는데 D 플래그가 설정되어 있으면 라우터는 이를 버리고 "Fragmentation Needed" ICMP 메시지를 발송하여 송신측에 알려줍니다.
  • D플래그를 사용하는 이유는 네트워크 상에서 패킷이 분할되고 재조립되는 프로세스가 추가적인 지연을 초래하기 때문에 라우터에서 추가적인 지연과 네트워크 대역폭의 낭비를 방지하기 위해 사용되고 이는 특정 패킷이 네트워크에서 안전하게 전달 될 수 있는 방법이 됩니다.
  • D 플래그는 IP 패킷이 Fragmentation (분열)되어서는 안된다는 것을 의미합니다.
  • M (More Fragment) : 단편화된 마지막 조각이면 0, 추가로 조각이 있으면 1 값을 가짐큰 데이터를 전송할 때 IP 패킷이 네트워크 경로에서 분할되어야 할 필요가 있을때에 분할된 패킷은 각각의 패킷 헤더에 M 플래그가 설정되어 전체 메시지를 재조립할 때 얼마나 많은 패킷이 있고, 언제 메시지가 완전히 도착했는지 파악 할 수 있기 때문에 사용됩니다. 즉, 메시지의 완전성을 유지하고 패킷 손실에 대한 복구를 돕는데 사용됩니다.
  • M플래그는 해당 패킷이 분할된 메시지의 일부임을 나타냅니다.

IP Header의 모습

TCP(Transmission Control Protocol) Flags

32bit중 8bit 사용하며 Flags의 종류는 다음과 같습니다.

  • C WR(Congestion Window Redusced):
    • 혼잡 윈도우 크기 감소, 흐름제어 (RFC 3168에 의해 헤더 추가), 혼잡이 발생한 경우 Window 필드를 확인하여 송신하는 Data의 양을 감소해야 함
  • E CN(Congestion Window Redusced):
    • 혼잡 알림 (RFC 3168에 의해 헤더에 추가) 목적지에서 혼잡이 발생함을 알림
  • U RG(Urgent):
    • 긴급 데이터를 포함하고 있음, Urgent Pointer를 통해 긴급 데이터 위치 확인
    • URG는 TCP에서 특정한 상황에서 사용됩니다. 이 플래그는 일반적인 데이터보다 우선순위가 높은 경우에 사용
    • 통상적으로 특정한 애플리케이션이나 서비스에서 긴급한 데이터가 발생할 때 사용
  • A CK(Acknowledgment) :
    • 응답 데이터 TCP 통신에 응답하는 내용 (확인 응답번호를 포함)
  • P SH(Push):
    • 약속된 버퍼 사이즈만큼 데이터가 전송되지 않았어도 데이터를 바로 처리 확인 응답이 없어도 버퍼상의 데이터를 상위 프로세스로 전달해야 함
  • R ST(Rest):
    • 강제 연결초기화 잘못된 연결을 종료 후 재 연결(SYN-RECEVIED), 강제 연결 종료
    • Listen 상태에서는 무시함
  • S YN(Synchronization):
    • 새로운 연결 요청 TCP 연결 설정 초기화를 위한 순서 번호의 동기화
  • F IN(Finish):
    • 데이터 전송 완료, 정상 연결 종료 요청

TCP Header 모습

728x90
반응형