Maystyle :
Admin : New post
Guestbook
Local
media
Catergories
Recent Articles
Recent Comments
Recent Trackbacks
Calendar
Tag
Archive
Link
Search
 
  TCP Connection 분석 
작성일시 : 2011. 1. 20. 01:03 | 분류 : Windows Server/Network

image

Connection Establish
Sender                        Receiver
         -------Sync------->
         <-----Ack/Sync-----
         -------Ack-------->

Connection Close
Sender                        Receiver
         ------- Fin------->
         <-----Ack/Fin-----
         -------Ack-------->

Time Wait
양쪽 노드에서 동시에 FIN을 보내면 해당 FIN에 대해 ACK를 한 후 4분 가량을 Connection을 유지하면서 남은 Frame에 대한 처리를 진행 합니다. 이러한 상황을 Time Wait라 합니다.

Reset
Reset은 위와 같은 정상 종료가 아닌 즉시 Connection을 종료 시키는 상황을 말합니다.

- CASE 1 : SMB Reset
하위 호환성 보장은 위하여 SMB 통신을 시도하는 경우 Client는 Server에 139와 445 두개의 Port로 Sync 를 시도 합니다. 그리고 Server에서 해당 Client로 2개의 요청에 대해 Ack/Sync를 하게 됐을 때 Client는 2개의 Connection 중 하나만 선택하고 나머지는 Reset을 통해 해당 Connection을 날려 버립니다.

- CASE 2 : Ack, Reset
Client에서 Sync를 시도하는 경우 Server의 해당 Port를 다른 자원이 사용하고 있다거나, 더 이상 할당 가능한 자원이 없는 경우 Server는 Ack/Reset 을 보내 해당 Connection을 날려 버립니다.

- CASE 3 : Retransmit
전송한 frame에 대한 전송이 실패하는 경우 retransmit 이 발생합니다. 이때 동일한 Frame의 전송이 5번이 실패하고, 이후 일정 시간 대기 (,TCPMaxConnectRetransmission)이 지나게 되면 해당 Connection은 Reset 됩니다.

- CASE 4 : Port Reuse
Time Wait 상태의 포트를 재 사용하려는 경우 Reset이 발생 합니다. 이때 생성되는 Sync의 Frame Sequence Number는 항상 기존의 Connection에서 사용하던 Number 보다 높아야 합니다.

- CASE 5 : 기타 (Application / Network 장비 등…)

방화벽
Sync 자체를 Drop 시키기 때문에 Server 측에서는 어떠한 Sync 요청도 받아들이지 못합니다.

출처 : http://blogs.technet.com/b/networking/archive/2009/08/12/where-do-resets-come-from-no-the-stork-does-not-bring-them.aspx

|