본문 바로가기
IT, 프로그램/Protocol

[Protocol] TCP 3-way Handshaking TCP 연결 설정, TCP의 3단계 핸드세이킹

by RedBaDa 2015. 1. 4.
반응형



 TCP 3-way Handshaking   TCP 연결 설정, TCP의 3단계 핸드세이킹



1. TCP 연결 3단계 핸드세이킹TCP는 안정적이고 연결지향적트랜스포트 계층프로토콜로써, 
  ㅇ 연결 세션 설정을 위해 3단계의 핸드세이킹 과정을 밟음
 

2. TCP의 3-way Handshaking 흐름도

  세그먼트 1 (SYN 세그먼트)
     - 클라이언트가 SYN 플래그 = 1로 설정하고,
     - 초기 순서번호(ISN)을 랜덤하게 선택한 후 서버전송 (순서번호 초기화 목적)
     - 확인응답 번호,윈도우 크기 필드 미정의됨
     - 데이터 미 전송하지만, 하나의 순서번호는 소비함
     - SYN-SENT TCP상태로 전이 

  ㅇ 세그먼트 2 (SYN+ACK 세그먼트)
     - 서버에서 초기 순서번호(ISN)을 랜덤하게 선택하고 클라이언트전송
     - ACK 플래그 = 1로 설정하고, 
       클라이언트로부터 수신을 기대하는 다음 순서번호전송 (확인응답)
     - 윈도우 크기 필드 정의됨
     - 데이터 미 전송하지만, 하나의 순서번호는 소비함
     - 서버는 LISTEN → RECEIVED-SYN TCP상태로 전이 (절반 개방,Half Open : 75초 대기)

  ㅇ 세그먼트 3 (ACK 세그먼트)
     - 단순히 ACK 전송 만을 위함
     - 순서번호는 세그먼트 2(SYN+ACK 세그먼트)의 확인응답번호를 그대로 복사 사용
     - 일반적으로, 데이터 미 전송하며, 어떠한 순서번호도 소비하지 않음
     - 양단 모두 ESTABLISHED TCP상태로 들어감

  ※ 관련참고용어 ☞ TCP 헤더, TCP 제어 플래그, TCP 연결 종료


3. TCP의 3-way Handshaking의 목적

  ㅇ 연결이 시작됨과 옵션이 교환됐음을 알림
  ㅇ ISN(랜덤한 초기 순서번호)를 생성하고 교환했음을 알림


4. TCP 연결과정에서 교환되는 주요 정보

  ㅇ ISN (초기 순서번호)
  ㅇ 수신 윈도우 크기
  ㅇ 옵션 정보           ☞ TCP 옵션 참조
     - MSS 옵션
     - 윈도우 스케일 옵션
     - SACK 옵션 허용
     - SACK 옵션 데이터 등


반응형