TCP 제어 플래그 편집하기

IT위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
[[분류:네트워크]][[분류:프로토콜]][[분류:정보보안기사]]
; TCP 헤더에선 특수한 목적의 패킷을 위한 6개의 제어 플래그를 가진다.
; TCP 헤더에선 특수한 목적의 패킷을 위한 6개의 제어 [[플래그]]를 가진다.


== 순서 ==
== 순서 ==
8번째 줄: 7번째 줄:


== 플래그 ==
== 플래그 ==
=== URG(Urgent) ===
* URG(Urgent)
* 긴급함을 알리는 플래그. 거의 사용되지 않는다.
** 긴급함을 알리는 플래그. 거의 사용되지 않는다.
* 송신측 상위계층이 긴급 데이터라고 알려주면, 긴급비트 URG를 1 로 설정하고, 순서에 상관없이 먼저 송신됨
** 송신측 상위계층이 긴급 데이터라고 알려주면, 긴급비트 URG를 1 로 설정하고, 순서에 상관없이 먼저 송신됨


=== ACK(Acknowledgement)===
* ACK(Acknowledgement)
* 확인을 나타내는 플래그
** 확인을 나타내는 플래그
* 앞서 받은 패킷과 관련하여 확인 하였음을 의미한다.
** 앞서 받은 패킷과 관련하여 확인 하였음을 의미한다.
* SYN 세그먼트 전송 이후(TCP 연결 시작후) 모든 세그먼트에는 항상 이 비트가 1로 셋팅됨
** SYN 세그먼트 전송 이후(TCP 연결 시작후) 모든 세그먼트에는 항상 이 비트가 1로 셋팅됨


=== PSH(Push)===
* PSH(Push)
* 버퍼를 모두 채우지 않고 바로 발송 하라는 플래그
** 버퍼를 모두 채우지 않고 바로 발송 하라는 플래그
* 때로는 서버측에서 더이상 전송할 데이터가 없음을 나타내기도 함
** 때로는 서버측에서 더이상 전송할 데이터가 없음을 나타내기도 함


=== RST(Reset)===
* RST(Reset)
* 강제 연결 초기화 플래그
** 강제 연결 초기화 플래그
* 연결확립(ESTABLISHED)된 회선에 강제 리셋 요청  
** 연결확립(ESTABLISHED)된 회선에 강제 리셋 요청  
* 연결 상의 문제를 발견한 장비가 RST 플래그를 `1`로 설정한 TCP 세그먼트를 송출
** 연결 상의 문제를 발견한 장비가 RST 플래그를 `1`로 설정한 TCP 세그먼트를 송출
** LISTEN,SYN_RCVD 상태일때 : LISTEN 상태로 들어감
*** LISTEN,SYN_RCVD 상태일때 : LISTEN 상태로 들어감
** 그밖의 상태일 때 -> 연결 끓고 CLOSED 상태로 들어감
*** 그밖의 상태일 때 -> 연결 끓고 CLOSED 상태로 들어감


=== SYN (Synchronize)===
* 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)===
* 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]
 
== 같이 보기 ==
* [[TCP]]
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 IT위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소 편집 도움말 (새 창에서 열림)