네트워크

TCP (Transmission Control Protocol) 플래그에 대해 알아보겠습니다.

forward error correction Circle 2024. 7. 29. 08:04
반응형

 

TCP 세그먼트 내 헤더 구성

 

TCP (Transmission Control Protocol) 플래그는 TCP 헤더에 포함되어 있는 제어 비트로, TCP 세그먼트의 상태와 연결 상태를 관리하는 데 사용됩니다. 각 플래그는 특정 역할을 하며, TCP 연결 설정, 데이터 전송, 연결 종료 등의 다양한 작업을 제어합니다. 와 그 역할을 자세히 살펴보겠습니다.

 

TCP 플래그의 종류와 역할

Ⅰ. URG (Urgent Pointer field significant)
설명: 이 플래그가 설정되면 TCP 세그먼트의 긴급 포인터 필드가 유효하다는 것을 나타냅니다.
역할: 긴급 데이터를 처리해야 하는 경우 사용됩니다. 긴급 데이터는 즉시 처리되어야 하는 데이터를 나타내며, 수신 측은 데이터를 버퍼에 쌓아두지 않고 바로 응용 프로그램에 전달해야 합니다.
상태: 1 (활성) 또는 0 (비활성)


Ⅱ. ACK (Acknowledgment field significant)
설명: 이 플래그가 설정되면 TCP 헤더의 확인 응답 번호 필드가 유효하다는 것을 나타냅니다.
역할: 수신 측에서 데이터나 제어 메시지를 성공적으로 수신했음을 송신 측에 알리는 데 사용됩니다. 거의 모든 TCP 세그먼트에서 이 플래그가 설정되어 있습니다.
상태: 1 (활성) 또는 0 (비활성)

 

Ⅲ. PSH (Push Function)
설명: 이 플래그가 설정되면 송신 측이 데이터를 즉시 수신 측 응용 프로그램에 전달해야 함을 나타냅니다.
역할: 버퍼링되지 않고 즉시 전달되어야 하는 데이터를 전송할 때 사용됩니다. 예를 들어, 상호작용형 애플리케이션에서 입력 데이터를 바로 처리해야 하는 경우 사용됩니다.
상태: 1 (활성) 또는 0 (비활성)

 

Ⅳ. RST (Reset the connection)
설명: 이 플래그가 설정되면 비정상적인 상황에서 연결을 즉시 종료해야 함을 나타냅니다.
역할: 연결에 문제가 발생했거나 더 이상 유효하지 않은 연결을 강제로 종료할 때 사용됩니다. 예를 들어, 예기치 않은 포트로 데이터가 도착하거나 비정상적인 상태가 감지된 경우 사용됩니다.
상태: 1 (활성) 또는 0 (비활성)

 

Ⅴ. SYN (Synchronize sequence numbers)
설명: 이 플래그가 설정되면 TCP 연결 설정 시퀀스를 시작함을 나타냅니다.
역할: 연결 설정 과정에서 시퀀스 번호를 동기화하기 위해 사용됩니다. 연결 설정 과정에서는 양측이 서로의 초기 시퀀스 번호를 교환합니다.
상태: 1 (활성) 또는 0 (비활성)


Ⅵ. FIN (Finish the connection)
설명: 이 플래그가 설정되면 더 이상 데이터를 전송할 의사가 없음을 나타내고 연결 종료를 요청합니다.
역할: 연결 종료 과정에서 사용되며, 연결을 종료하려는 측에서 전송됩니다. FIN 플래그를 받은 측은 ACK 플래그를 사용해 응답하고, 그 후 반대 방향에서도 FIN 플래그가 전송되어 연결이 완전히 종료됩니다.
상태: 1 (활성) 또는 0 (비활성)

 

Ⅶ. ECE (ECN-Echo)
설명: 이 플래그는 Explicit Congestion Notification (ECN) 기능을 지원하는 연결에서 사용됩니다.
역할: 수신 측이 네트워크 혼잡 상태를 감지했음을 송신 측에 알리는 데 사용됩니다. 혼잡이 발생했음을 알리는 목적입니다.
상태: 1 (활성) 또는 0 (비활성)

 

Ⅷ. CWR (Congestion Window Reduced)
설명: 이 플래그는 ECN 기능과 관련이 있습니다.
역할: 송신 측이 혼잡 상황을 인지하고 송신 윈도 크기를 줄였음을 수신 측에 알리는 데 사용됩니다.
상태: 1 (활성) 또는 0 (비활성)

 

Ⅸ. NS (Nonce Sum)
설명: 이 플래그는 ECN 기능과 관련이 있습니다.
역할: NS 플래그는 데이터 무결성을 확인하기 위해 사용됩니다. 이 플래그는 비트 오류를 검출하고 복구하기 위한 목적으로 사용됩니다.
상태: 1 (활성) 또는 0 (비활성)

반응형