컴퓨터/Network

TCP Flag (SYS, ACK, FIN, RST, PSH, URG)

CIY 2011. 8. 31. 11:42

TCP(Transmission Control Protocol)
기본적으로 3-Way HandShake 방식을 통해 서로 세션을 연결하고 4-Way HandShake 방식을 통해 세션을 해제한다. 이러한 세션연결과 해제 이외에도 데이터를 전송하거나 거부, 세션 종료같은 기능을 패킷의 플래그 값에 따라 전달한다.

SYN(Synchronization)
세션을 설정하는데 사용되며 초기에 시퀀스 넘버를 보내게 된다. 시퀀스넘버는 임의적으로 생성하여 보낸다.

ACK(Acknowledgement)
받는 사람이 보낸 사람의 시퀀스넘버에 TCP 계층에서 길이 또는 데이터 양을 더한 것과 같은 ACK를 보낸다. ACK의 번호와 응답을 통해 보낸 패킷에 대한 손실을 판단하여 재전송하거나 다음 패킷을 전송한다.

FIN(Finish)
세션을 종료시키는데 사용되며 보낸 사람이 더 이상 보낸 데이터가 없음을 보여준다.

RST(Reset)
재설정(Reset)을 하는 과정이며, 양방향에서 동시에 일어나는 중단 작업이다. 비 정상적인 세션 연결 끊기에 해당한다.

PSH(Push)
대화형 트랙픽에 사용되는 것으로 버퍼가 채워지기를 기다리지 않고 데이터를 전달한다. 데이터는 버퍼링 없이 바로 위 Layer가 아닌 7Layer의 응용프로그램으로 바로 전달한다.

URG(Urgent)
Urgent pointer가 유효한 것인지를 나타낸다. Urgent pointer란 전송하는 데이터 중에서 긴급히 전달해야 할 내용이 있을 경우에 사용한다.