본문 바로가기
개발/게임) 개발관련

개발용어) TCP(Transmission Control Protocol) Flag 종류

by 테샤르 2020. 11. 2.

TCP Flag(Transmission Control Protocol) FlagFlag 종류

 

TCP에서의 각종 Flag의 종류에 대해서 정리한 포스팅이다.

 

종류는 다음과 같다.

(URG, ACK, PSH, RST, SYN, FIN) 

TCP(Transmission Control Protocol)의 동작은  3-WAY Handshake 방식을 통해 두 지점 간에 세션을 연결하여 통신을 시작하고 4-WAY Handshake를 통해 세션을 종료하여 통신을 종료한다.세션 연결과 해제 이외에도 데이터를 전송하거나 거부, 세션 종료 같은 기능이 패킷의 FLAG 값에 따라 달라지게 되는데, TCP FLAG는 기본적으로 6 가지로 구성된다.

 

반응형



TCP FLAG 순서는 다음과 같다.

| URG  | ACK | PSH | RST | SYN | FIN | 


각각 1비트로 TCP 세그먼트 필드 안에 Control Bit 또는 Flag Bit로 정의되어 있다.

(상태 값이라고 생각하면 편하다).


SYN(Synchronization:동기화) : 연결 요청 플래그 

TCP 에서 세션을 성립할 때  가장 먼저 보내는 패킷, 시퀀스 번호를 임의적으로 설정하여 세션을 연결하는 데에 사용되며 초기에 시퀀스 번호를 보내게 된다.


 
ACK(Acknowledgement)  : 요청에 대한 응답 플래그

상대방으로부터 패킷을 받았다는 걸 알려주는 패킷, 다른 플래그와 같이 출력되는 경우도 있다.
받는 사람이 보낸 사람 시퀀스 번호에 TCP 계층에서 길이 또는 데이터 양을 더한 것과 같은 ACK를 보낸다.(일반적으로 +1 하여 보내서 데이터의 변화를 준다.) ACK 응답을 통해 보낸 패킷에 대한 성공, 실패를 판단하여 재전송하거나 다음 순서를 진행한다.

 
RST(Reset) : 재 연결 종료 


재설정(Reset)을 하는 과정이며 양방향에서 동시에 일어나는 중단 작업이다. 비 정상적인 세션 연결 끊기에 해당한다. 이 패킷을 보내는 곳이 현재 접속하고 있는 곳과 즉시 연결을 끊고자 할 때 사용한다. 

 
PSH(Push)  : 밀어넣기


TELNET과 같은 상호작용이 중요한 프로토콜의 경우 빠른 응답이 중요하다. 이때 받은 데이터를 즉시 목적지인 OSI 7 Layer의 Application 계층으로 전송하도록 하는 Flag. 대화형 트랙픽에 사용되는 것으로 버퍼가 채워지기를 기다리지 않고 데이터를 전달한다. 데이터는 버퍼링 없이 바로 위 계층이 아닌 7 계층의 응용프로그램으로 직접 전달한다. 

 
URG(Urgent)  : 긴급 데이터
Urgent pointer 유효한 것인지를 나타낸다. Urgent pointer란 전송하는 데이터 중에서 긴급히 전당 해야 할 내용이 있을 경우에 사용한다. 긴급한 데이터는 다른 데이터에 비해 우선순위가 높아야 먼저 실행된다.


FIN(Finish)  : 연결 종료 요청
세션 연결을 종료시킬 때 사용되며 더 이상 전송할 데이터가 없음을 나타낸다. 

 

 

 

 

반응형

댓글