TCP 연결과정 (3-way handshaking)
Segment 단위로 서로 정보를 주고받는데
여기서 Segment는 기존에 알고 있는 Segment와는 다르게
Payload가 없이 TCP Header와 IP Header만 있는 관리 목적의 Segment로 이동한다
1_
Client에서 Sequence Number를 랜덤으로 생성한다
그리고 그 Sequence Number를 SYN(Synchronization)으로 보낸다
2_
그 Sequence Number를 받았다는 의미로 Server는 ACK로
그 Sequence Number에 +1을 한 것과
Server도 랜덤으로 Sequence Number 생성한 것을 SYN으로 보낸다
3_
Client가 Server에게 받은 값에 +1 ACK를 보내면서 끝난다
Client는 2번 과정을 받고 연결이 되었다고 판단하고
Server는 3번 과정을 받고 연결이 되었다고 판단하며 둘 간의 시간차가 존재한다
TCP 연결은 정책 교환이 핵심이다
정책 교환 중 대표적인 것은
앞서 본 Sequence Number 교환과
MSS의 정보 교환이다
MSS의 정보 교환은 MSS(Maximum Segment Size)의 크기를 알려주어
통신 단위의 사이즈를 서로 맞추는 것이다
이러한 TCP 연결은 Physical이 아닌 Logical, Virtual이라는 점도 잊지 말자
'CS > [널널한 개발자] 네트워크' 카테고리의 다른 글
4-4] L4 수준에서 외울 것들 - TCP, UDP 헤더형식과 게임서버 특징 (0) | 2023.06.20 |
---|---|
4-3] L4 수준에서 외울 것들 - TCP 연결 종료 및 상태 변화 (0) | 2023.06.20 |
4-1] L4 수준에서 외울 것들 - TCP, UDP 개요 (0) | 2023.06.19 |
3-5] L3 수준에서 외울 것들 - TTL, 단편화, DHCP, ARP, Ping (0) | 2023.06.19 |
3-4] L3 수준에서 외울 것들 - Broadcast IP, Host IP (0) | 2023.06.17 |