TCP Flag
네트워크 관리사 필기시험을 공부할 때 필기한 내용이라 알고 계시는 내용과 다를 수 있습니다.
간단하게 정리한 내용이므로 자세한 설명은 아닙니다.
URG(Urgent)
Urgent Pointer 필드에 값이 채워져 있으면 1, 그렇지 않으면 0
URG가 1로 설정된 경우 패킷의 순서에 상관없이 먼저 송신된다.
ACK(Acknowledgement)
Acknowledgement Number 필드에 유효한 값이 채워져 있으면 1, 그렇지 않으면 0
0으로 설정된 경우 Acknowledgement Number 필드가 무시된다.
SYN 세그먼트 전송 이후(TCP 연결 시작 후) 모든 세그먼트에는 항상 이 비트가 1로 수신된다.
PSH(Push)
버퍼링 된 데이터를 가능한 한 빨리 상위 계층 응용프로그램에 즉시 전달하라는 것을 알리기 위한 컨트롤 비트
수신 측은 버퍼(수신용 메모리)가 찰 때까지 기다리지 않고 수신 즉시 버퍼링 된 데이터를 응용프로그램에 전달한다.
MTU가 1500인데 3500Byte를 전송하는 경우 1500, 1500, 500 이렇게 세 번으로 나누어서 전송한다.
마지막 500byte를 전송할 때 PSH Flag를 설정해서 여기가 끝이니까 묶어서 버퍼로 올려보내라는 의미를 전달한다.
때로는 서버 측에서 더 이상 전송할 데이터가 없음을 나타낼 때 사용한다.
RST(Reset)
강제로 연결을 초기화하기 위한 컨트롤 비트
RST 플래그를 '1'로 설정한 TCP 세그먼트를 송출한 경우
LISTEN, SYN_REVD 상태일 때 RST 수신 → LISTEN 상태
그 밖의 상태일 때 RST 수신 → CLOSED 상태
SYN(Synchronize)
연결을 시작하기 위한 컨트롤 비트
TCP 3-way handshaking
연결 요청: SYN=1, ACK=0 (SYN 세그먼트)
연결 허락: SYN=1, ACK=1 (SYN+ACK 세그먼트)
연결 설정: ACK=1 (ACK 세그먼트)
FIN(Finish)
연결을 종료하기 위한 컨트롤 비트
송신기가 데이터 보내는 것을 끝마침
종료 요청: FIN=1
종료 응답: FIN=1, ACK=1