3-way handshake

SYN과 ACK는 양쪽 ISN을 서로 확인한다

세 개의 세그먼트로 클라이언트와 서버가 각자의 시작 순서 번호와 옵션을 맞춘다.

SYN consumes 1 ACK = 다음 기대 번호 옵션 협상
클라이언트
SYNseq=xactive open, 상태는 SYN-SENT
ACKack=y+1서버 SYN을 확인하고 ESTABLISHED
서버
LISTENpassive open, SYN 대기
SYN-ACKseq=y, ack=x+1MSS, SACK, Window Scale 같은 옵션도 협상
ESTABLISHED마지막 ACK를 받으면 accept 가능한 연결이 됨
SYN순서 번호 1 소비SYN은 데이터가 없어도 sequence space를 차지한다.
ACK다음 번호를 말함ack=x+1은 x까지 받았다는 뜻이다.
Data세 번째 ACK부터 가능데이터 동반 가능 여부와 처리 정책은 구현에 따라 달라질 수 있다.