TCP State   TCP 상태

(2019-06-20)

능동 개방, 수동 개방, 능동 종료, 수동 종료

1. TCP 상태

  


2. TCP 상태 특징TCP 연결은 양방향이므로, 양 측에서 각각 다른 상태를 관리하게 됨
     - 즉, 다른 경로를 통해 `TCP 연결 설정` 및 `TCP 연결 종료`에 갈 수 있음

  ㅇ 2가지 다른 TCP 연결 설정 경로
     -  (능동 개방)  Closed -> Listen -> SYN-Received -> Establshed
        . 자발적으로 SYN 세그먼트를 보내며 연결 설정하는 경우
     -  (수동 개방)  Closed -> SYN-Sent -> Established
        . 수동적으로 SYN 세그먼트를 수신하며 연결 설정하는 경우
           .. 주로, 서버 응용이 TCP에게 상시적 연결 수용 및 대기

  ㅇ 다른 연결 종료 경로
     -  (수동 종료)  Eatablished -> Close-Wait -> Last-ACK -> Closed
        . 상대로부터 FIN 세그먼트를 받고, 이에대해 응답하며 종료하는 경로
     -  (능동 종료)  Eatablished -> FIN-Wait-1 -> FIN-Wait-2 -> Time-Wait -> Closed
              또는,  Eatablished -> FIN-Wait-1 -> Closing -> Time-Wait -> Closed 
        . 자발적으로 FIN 세그먼트를 보내고, 응답을 기다리며 종료하는 과정


3. TCP 연결 설정

  ㅇ CLOSED 
     - 무 연결 상태

  ㅇ SYN-SENT (능동 개방 요청)                      ☞ TCP 연결 설정 참조
     - 클라이언트가 능동적으로 SYN 세그먼트를 보내고, ACK를 기다리는 상태
        . 이때, 적정 TCP 세그먼트 크기를 상대에게 통보코자, 송신측 TCP MSS 옵션을 채워보냄

  ㅇ LISTEN   (수동 개방 대기)                      ☞ TCP 연결 설정 참조
     - SYN 세그먼트를 기다리며, 수동적으로 개방 대기중인 상태

     - 만일, 서버SYN 세그먼트를 수신하면, SYN+ACK 세그먼트를 송신하고는,
        . 이후, SYN-RECEIVED 상태로 전이됨

  ㅇ SYN-RECEIVED  (ACK 세그먼트를 기다림)
     - SYN 세그먼트(연결 요청)을 받고, 
     - 자신의 SYN(즉, SYN+ACK 세그먼트)으로 응답한 상태 
        . 이때부터, 상대방에서 ACK 세그먼트를 기다리는 상태
     - 만일, 상대방의 ACK 세그먼트가 수신되어야,
        . 비로소 ESTABLISHED 상태로 전이됨


4. TCP 연결 성립 유지

  ㅇ ESTABLISHED
     - 연결 회선 성립 (데이터 교환)

     - 의미
        . 두 종단 간에 양방향 데이터 전송이 가능
        . 종단 각각 자신 및 상대 ISN(초기순서번호)를 알게 됨
        . 양단 간에 TCP 옵션에 의해 부가적인 정보가 전달됨


5. TCP 연결 종료

  ㅇ CLOSE-WAIT
     - TCP어플리케이션 종료를 기다림
        . 이 상태에서 계속 데이터를 상대에게 보낼 수 있음

  ㅇ LAST-ACK
     - 서버는 자신이 송신한 FIN 세그먼트에 대한 ACK 세그먼트를 기다림

  ㅇ FIN-WAIT-1
     - 자신이 보낸 FIN 세그먼트에 대한 ACK를 기다리고, 또한 상대측 FIN을 기다림
        . 이 상태에서 자신은 더이상 데이터를 보낼 수 없지만,
        . 상대측으로부터 오는 데이터는 계속 수신하게됨

  ㅇ FIN-WAIT-2
     - FIN 세그먼트를 송신하고, 상대측은 이에대한 ACK를 송신

  ㅇ Closing
     - 상대로부터 FIN 세그먼트를 받고 ACK를 보냈지만, 
       자신의 FIN 세그먼트에 대한 ACK는 받지못함

  ㅇ TIME-WAIT
     - 최대 세그먼트 수명(MSL,Maximum Segment Lifetime)의 2배를 기다림
     - 지정된 시간이 지나면, Closed 상태로 전이됨

  ㅇ CLOSED
     - 연결이 종료됨 (연결 없음)


[TCP 연결관리] 1. TCP 연결 2. TCP 연결설정(3단계) 3. TCP 연결종료 4. TCP 상태 5. TCP 헤더 옵션 6. TCP MSS 옵션 7. path MTU
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
        1. 통신 이란?
        2. 신뢰적 통신
    1.   통신이론
    2.   선로/전송
    3.   통신망 일반
    4.   회선교환(PSTN)
    5.   무선/이동통신
    6.   광통신
    7.   인터넷/데이터통신
          1. 데이터통신망
          2. 인터넷
          3. 데이터 네트워크 설계
      1.   데이터 단위
      2.   프로토콜/계층
      3.   데이터 링크
      4.   TCP/IP
            1. TCP/IP 이란?
        1.   IP 계층
        2.   전송계층(UDP,TCP,SCTP,포트번호)
              1. 전송 계층
          1.   포트번호(프로세스식별)
          2.   TCP
                1. TCP
            1.   TCP 패킷(세그먼트)
            2.   TCP 연결관리
              1.   1. TCP 연결
                  2. TCP 연결설정(3단계)
                  3. TCP 연결종료
                  4. TCP 상태
                  5. TCP 헤더 옵션
                  6. TCP MSS 옵션
                  7. path MTU
            3.   TCP 오류제어
            4.   TCP 흐름/혼잡 제어
            5.   TCP 기타사항
          3.   UDP,SCTP,MPTCP
        3.   DHCP
        4.   TCP/IP 유틸리티
        5.   TCP/IP 기타일반
      5.   라우팅
      6.   인터넷 QoS
      7.   인터넷 관리
      8.   웹기술
      9.   인터넷 응용
      10.   인터넷 기타
      11.   패킷교환(PSN)
      12.   인터넷 관련 기관
  7.   정보기술(IT)
  8.   공학일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌