TCP 제어 플래그 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
; TCP 헤더에선 특수한 목적의 패킷을 위한 6개의 제어 플래그를 가진다. | |||
; TCP 헤더에선 특수한 목적의 패킷을 위한 6개의 제어 | |||
== 순서 == | == 순서 == | ||
8번째 줄: | 7번째 줄: | ||
== 플래그 == | == 플래그 == | ||
* URG(Urgent) | |||
* 긴급함을 알리는 플래그. 거의 사용되지 않는다. | ** 긴급함을 알리는 플래그. 거의 사용되지 않는다. | ||
* 송신측 상위계층이 긴급 데이터라고 알려주면, 긴급비트 URG를 1 로 설정하고, 순서에 상관없이 먼저 송신됨 | ** 송신측 상위계층이 긴급 데이터라고 알려주면, 긴급비트 URG를 1 로 설정하고, 순서에 상관없이 먼저 송신됨 | ||
* ACK(Acknowledgement) | |||
* 확인을 나타내는 플래그 | ** 확인을 나타내는 플래그 | ||
* 앞서 받은 패킷과 관련하여 확인 하였음을 의미한다. | ** 앞서 받은 패킷과 관련하여 확인 하였음을 의미한다. | ||
* SYN 세그먼트 전송 이후(TCP 연결 시작후) 모든 세그먼트에는 항상 이 비트가 1로 셋팅됨 | ** SYN 세그먼트 전송 이후(TCP 연결 시작후) 모든 세그먼트에는 항상 이 비트가 1로 셋팅됨 | ||
* PSH(Push) | |||
* 버퍼를 모두 채우지 않고 바로 발송 하라는 플래그 | ** 버퍼를 모두 채우지 않고 바로 발송 하라는 플래그 | ||
* 때로는 서버측에서 더이상 전송할 데이터가 없음을 나타내기도 함 | ** 때로는 서버측에서 더이상 전송할 데이터가 없음을 나타내기도 함 | ||
* RST(Reset) | |||
* 강제 연결 초기화 플래그 | ** 강제 연결 초기화 플래그 | ||
* 연결확립(ESTABLISHED)된 회선에 강제 리셋 요청 | ** 연결확립(ESTABLISHED)된 회선에 강제 리셋 요청 | ||
* 연결 상의 문제를 발견한 장비가 RST 플래그를 `1`로 설정한 TCP 세그먼트를 송출 | ** 연결 상의 문제를 발견한 장비가 RST 플래그를 `1`로 설정한 TCP 세그먼트를 송출 | ||
** LISTEN,SYN_RCVD 상태일때 : LISTEN 상태로 들어감 | *** LISTEN,SYN_RCVD 상태일때 : LISTEN 상태로 들어감 | ||
** 그밖의 상태일 때 -> 연결 끓고 CLOSED 상태로 들어감 | *** 그밖의 상태일 때 -> 연결 끓고 CLOSED 상태로 들어감 | ||
* SYN (Synchronize) | |||
* 연결의 시작을 요청하는 플래그 | ** 연결의 시작을 요청하는 플래그 | ||
* TCP 3-way handshake | ** TCP 3-way handshake | ||
*# [Client -> Server] SYN [000010] | **# [Client -> Server] SYN [000010] | ||
*# [Server -> Client] SYN/ACK [010010] | **# [Server -> Client] SYN/ACK [010010] | ||
*# [Client -> Server] ACK [010000] | **# [Client -> Server] ACK [010000] | ||
* FIN (Finish) | |||
* 연결의 해제를 요청하는 플래그 | ** 연결의 해제를 요청하는 플래그 | ||
* TCP 4-way handshake | ** TCP 4-way handshake | ||
*# [Client -> Server] FIN/ACK [010001] | **# [Client -> Server] FIN/ACK [010001] | ||
*# [Server -> Client] ACK [010000] | **# [Server -> Client] ACK [010000] | ||
*# [Server -> Client] FIN/ACK [010001] | **# [Server -> Client] FIN/ACK [010001] | ||
*# [Client -> Server] ACK [010000 | **# [Client -> Server] ACK [010000] | ||