[네트워크][시스템] TCP 가상회선의 상태와 의미

netstat 혹은  losf  로 네트워크 상태를 모니터링 할때 tcp 회선의 현 상태를 나타내는 여러

가지 상황이 있는데 이 의미를 알아보도록 하자..

TCP 가상회선의 상태와 의미

LISTEN

서버 애플리케이션이 적재되어 수동적인 모드로 포트를 개설하였음을 의미. TCP는 연

결 요청이 수신 되기를 기다림

SYN-SENT

로컬 시스템의 클라이언트 애플리케이션이 원격 호스트에 능동적인 개설을 요청. TCP

는 Synchronize flag 를 설정한 시작 세그먼트를 전송 하였으며, 원격 시스템도 역시

Synchronize flag 를 설정한 시작 세그먼트로 응답할 것을 기다림.

SYN-RECEIVED

서버의 TCP가 원격 클라이언트로부터 Synchronize flag가 설정된 시작 세그먼트를 수

신하였고 자신의 시작 세그먼트로 응답 하였으며, 그 세그먼트에 대한 확인 메세지를

기다림.

ESTABLISHED

가상회선이 작동. 3단계 핸드셰이킹 과정이 완료되면 두 시스템은 이 상태에 들어감.

FIN-WAIT-1

로컬 애플리케이션은 가상 회선에 능동적인 종결을 요청하였으며, TCP는 Finish flag

가 설정된 종결 세그면트를 전송. 그러나 TCP는 아직도 원격 시스템이 세그먼트에 대

한 확인 메세지와 자신만의 종결 세그먼트로 응답하기를 기다림. 회선이 완전히 종결

될 때까지 원격 시스템으로부터 데이터는 수신하지만, 추가적인 데이터를 전송하지는

않음.

COLSE-WAIT

(FIN-WAIT-1 의 설명과 같이) Finish flag 가 설정된 종결 세그먼트가 수신되었고 로

컬 TCP는 그 세그먼트에 대한 확인 메세지를 송신 시스템에 전송함. 허나 로컬 TCP

는 로컬 애플리케이션에서 작업을 종료하지않아 자신의 종결 세그먼트를 생성하지 못함

FIN-WAIT-2

(FIN-WAIT-1 의 설명과 처럼) 로컬 TCP는 Finish flag 가 설정된 종결 세그먼트를 전

송하였으며, (WAIT-CLOSE 의 설명대로) 원격 시스템으로 부터 그 세그먼트에 대한 확

인 메세지를 수신함.  그러나 원격 애플리케이션이 아직 작업을 종료 하지 않아 원격

TCP가 자신의 종결 세그먼트를 생성하지 못하고 있는 상태임.

LAST-ACK

(FIN-WAIT-1의 설명과 같이) Finish flag 가 설정된 종결 세그먼트가 수신되었고, 로

컬 애플리케이션은 회선의 종결에 합의하여 자신도 종결을 요청함. 그 결과 로컬 TCP

는 Finish flag 가 설정된 자신의 종결 세그먼트를 전송 하였으며, 이 세그먼트에 대

한 확인 메세지가 수신되면 종결됨.

CLOSING

이 상태는 흔하지 않으며, 일반적으로 세그먼트가 네트워크에서 분실되었다는것을 나

타냄. 이런 경우 로컬 TCP는 (FIN-WAIT-1 의 설명과 같이) Finish flag 가 설정된 종

결 세그먼트를 전송 하고 (LAST-ACK 의 설명과 같이) 원격 시스템의 종결 세그먼트도

수신하였지만, FIN-WAIT-1 단계에서 전송한 세그먼트에 대한 확인 메세지가 수신되지

않은 상태임. 이 상태는 보통 확인 메세지가 전송 도중 분실되었다는 의미임.

TIME-WAIT

회선의 종결 절차가 완결되었으나 TCP 는 분실되었을지 모르는 느린 세그먼트를 위해

당분간 소켓을 열어 놓은 상태로 유지. 이 상태는 새로운 연결이 기존의 연결에서 사

용된 일련번호를 다시 사용하는 것을 막음. 원격 시스템이 종결하는 호스트로부터 더

이상 데이터를 수신할 가능성이 없으므로, 이 상태는 능동적인 종결을 요청한 호스트

에서만 나타남.

CLOSED

아무일도 발생하지 않음. 회선은 종결되었고, TCP는 그 가상 회선에 사용하였던 모든

자원을 놓아줌. 이 상태를 보여줄 수 있는 가상 회선이 없으므로 아무 일도 발생하지

않음.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

1 Response

페이스북/트위트/구글 계정으로 댓글 가능합니다.