티스토리 뷰

Storage

TCP Flag(TCP 제어 플래그): NS, CWR, ECE, URG, ACK, PSH, RST, SYN, FIN

rhys
반응형

TCP(Transmission Control Protocol)

기본적으로 3-Way Handshake 방식을 통해 세션을 연결하고 4-Way Handshake 방식을 통해 세션을 해제.

이러한 세션연결과 해제 외에도 데이터를 전송하거나 거부, 세션 종료같은 기능을 패킷의 플래그 값에 따라 전달한다.


TCP 제어 플래그

TCP 헤더에는 6개의 Control Flag 필드가 있는데, 이들은 논리적 TCP 연결회선 제어 및 데이터 관리를 위해 사용된다.




TCP 세그먼트 형식(Segment Format)


NS(Nonce Sum)

ECN-nonce 은폐 보호(RFC 3540에 의해 헤더에 추가).


CWR(Congestion Window Reduced)

혼잡 윈도 축소 플래그는 송신측 호스트에 의해 설정되는 것으로, 호스트가 ECE 플래그가 포함된 TCP 세그먼트를 수신했으며 혼잡 제어 메커니즘에 의해 응답했음을 알리는 역할을 한다(RFC 3168에 의해 헤더에 추가).


ECE(ECN-Echo)

ⓐ SYN 플래그가 (1)로 설정된 경우, TCP 상대가 명시적 혼잡 통지(Explicit Congestion Notification, ECN)가 가능함을 의미한다.

ⓑ SYN 플래그가 (0)으로 해제된 경우, IP 헤더 셋에 혼잡 경험(Congestion Experienced) 플래그가 설정된 패킷이 정상적인 전송 중에 수신되었다는 것을 의미한다(RFC 3168에 의해 헤더에 추가).


URG(Urgent)

긴급하게 처리해야 하는 데이터가 들어있다는 뜻.

Urgent Pointer가 유효한 것인지를 나타냄(필드에 값이 채워져 있는지 알림).

Urgent Point는 전송하는 데이터 중에 긴급히 전달해야 할 내용이 있을 때 사용.

이 긴급비트가 1로 설정되면 순서에 상관없이 먼저 송신.


ACK(Acknowledgment)

받는 사람이 보낸 사람의 시퀸스 넘버에, TCP계층에서 길이 또는 데이터 양을 더한 것과 같은 ACK를 보냄.

ACK 번호와 응답을 통해 보낸 패킷에 대한 손실을 판단하여 재전송하거나 다음 패킷을 전송.

1로 세팅되면 확인번호 유효함/0으로 세팅되면 확인번호 미포함.

SYN 세그먼트 전송 이후 모든 세그먼트에는 항상 이 비트가 1로 세팅.


PSH(Push)

대화형 트래픽에 사용. 버퍼가 채워지길 기다리지 않고 데이터를 전달.

데이터는 버퍼링 없이, 바로 윗 Layer가 아닌 7 Layer의 응용프로그램으로 바로 전달됨.

'가능한한 빨리 응용프로그램에 버퍼링된 데이터를 즉시 전달할 것!'

서버측에서는 더이상 전송할 데이터가 없음을 나타내기도 함.


RST(Reset)

재설정을 하는 과정으로 양방향에서 동시에 일어나는 중단작업. 비정상적인 세션 연결을 끊는 것에 해당.

연결확립(Established)된 회선에 강제 리셋 요청.


SYN(Synchronize Sequence Numbers)


세션을 설정하는 데 사용되며 초기에 시퀀스 넘버를 보내게 됨. 시퀀스 넘버는 임의 생성.

TCP 연결설정 초기화를 위한 순서번호의 동기화(연결시작, 회선개설)


FIN(Finish)

세션을 종료시키는 데 사용. 보낸 사람이 더 이상 보낼 데이터가 없음을 알림(연결해제, 회선종결).



참고자료

http://www.ktword.co.kr/abbr_view.php?m_temp1=2437

http://ko.wikipedia.org/wiki/%EC%A0%84%EC%86%A1_%EC%A0%9C%EC%96%B4_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C




반응형

댓글