안녕하세요. 비티시보이즈입니다.
오늘의 주제는 TCP flags입니다.
TCP FLAG
TCP(Transmission Control Protocol)는 3-WAY Handshake 방식을 통해 두 지점 간에 세션을 연결하여 통신을 시작 하고 4-WAY Handshake를 통해 세션을 종료하여 통신을 종료 합니다.
세션연결과 해제 이외에도 데이터를 전송하거나 거부, 세션 종료 같은 기능이 패킷의 FLAG 값에 따라 달라지게 되는데, TCP FLAG는 기본적으로 6 가지로 구성됩니다.
TCP 헤더는 여러 가지 플래그(Flags)를 포함하고 있습니다. 이 플래그들은 TCP 세션의 제어와 상태를 관리하기 위해 사용됩니다. 각각 1비트로 TCP segment field안에 CONTROL BIT, FLAG BIT로 정의되어 있습니다.
다음은 TCP 헤더에서 사용되는 주요 플래그들에 대한 설명입니다.
1. URG (Urgent Pointer)
- 특별한 상황에서 긴급한 데이터를 전송하는데 사용됩니다.
- URG 플래그가 설정되면 긴급 포인터 필드가 유효하게 됩니다.
2. ACK (Acknowledgment)
- ACK 플래그가 설정되면 ACK 필드가 유효해지며, 이는 TCP 세션에서 수신한 데이터의 확인을 나타냅니다.
- 대부분의 TCP 패킷에서는 ACK 플래그가 설정되어 있습니다.
3. PSH (Push)
- 데이터를 즉시 상위 계층으로 전송하도록 요청하는데 사용됩니다.
- 일반적으로 데이터 버퍼가 가득 차지 않아도 즉시 데이터를 전송하라는 의미로 사용됩니다.
4. RST (Reset)
- 연결을 재설정하거나 오류를 나타냅니다.
- RST 플래그가 설정되면 TCP 연결이 종료되고, 연결이 비정상적으로 종료되었음을 나타낼 수 있습니다.
5. SYN (Synchronize)
- TCP 연결 설정을 시작하는데 사용됩니다.
- SYN 플래그가 설정되면 시퀀스 넘버를 초기화하고 연결을 설정하려는 의도를 나타냅니다.
6. FIN (Finish)
- TCP 연결을 종료하라는 의미입니다.
- FIN 플래그가 설정되면 송신자는 더 이상 데이터를 전송하지 않을 것임을 나타내며, 수신자는 해당 연결을 종료할 것임을 의미합니다.
이러한 TCP 플래그들은 조합하여 다양한 통신 상황을 나타낼 수 있습니다. 예를 들어, 연결 설정을 위한 3-way handshake에서는 SYN 플래그와 ACK 플래그가 주로 사용됩니다. 상세한 상황에 따라 플래그들의 조합이 달라지며, 이를 통해 TCP 연결의 상태를 판단할 수 있습니다.
이상으로 이번 TCP Flag에 대한 포스팅 마치겠습니다.
감사합니다.
'Network' 카테고리의 다른 글
[Network] CIDR 계산법 (1) | 2023.12.08 |
---|---|
식별자(MAC주소/IP주소 /Port번호) (1) | 2023.11.24 |
keepalive (0) | 2023.11.17 |
TIME_WAIT (0) | 2023.11.13 |
URI, URL, URN (0) | 2023.11.05 |
댓글