본문 바로가기
지식창고/IT 지식

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

by eteo 2022. 10. 5.

 

TCP(Transmission Control Protocol)는 3-WAY Handshake 방식을 통해 두 지점 간에 세션을 연결하여 통신을 시작하고 4-WAY Handshake를 통해 세션을 종료하여 통신을 종료한다.

 

이러한 세션 연결과 해제 이외에도 데이터를 전송하거나 거부, 세션 종료 같은 기능이 패킷의 FLAG 값에 따라 달라지게 되는데, TCP FLAG는 기본적으로 6 가지로 구성된다.

 


 
FLAG 순서 : URG | ACK | PSH | RST | SYN | FIN |

각각 1비트로 TCP 세그먼트 필드 안에  CONTROL BIT 또는 FLAG BIT로 정의되어 있다.
 


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

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

 

ACK(Acknowledgement) - Ack : 응답

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

 

RST(Reset) - R : 재 연결 종료

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

 

PSH(Push) - P : 밀어 넣기

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

     

URG(Urgent) - U : 긴급 데이터

  • Urgent pointer 유효한 것인지를 나타낸다. 
  • Urgent pointer란 전송하는 데이터 중에서 긴급히 전당 해야 할 내용이 있을 경우에 사용한다. 
  • 긴급한 데이터는 다른 데이터에 비해 우선순위가 높아야 한다. ex) ping 명령어 실행 도중 Ctrl+C 입력

 
FIN(Finish) - F : 연결 종료 요청

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

 


그 외
 
Placeholder  

  • 패킷의 플래그에 SYN, FINISH, RESET, PUSH 등의 플래그가 설정되어 있지 않은 경우 이 플래그가 세팅된다.
  • 이 플래그는 ACK플래그와 함께 사용되는 경우도 있다.

 

 

출처 : https://mindgear.tistory.com/206

 

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

출처 : http://pmj0403.tistory.com/entry/TCP-flagURG-ACK-PSH-RST-SYN-FIN TCP flag(URG, ACK, PSH, RST, SYN, FIN) TCP(Transmission Control Protocol)는 3-WAY Handshake 방식을 통해 두 지점 간에 세션을..

mindgear.tistory.com