Ch 4. TCP(2) - TCP 연결과 흐름제어
TCP 연결 설정
- 능동적 열림(Active open)
- 클라이언트는 서버가 열어 놓은 포트로 TCP연결을 요청
- 수동적 열림(Passive open)
- 서버는 네트워크 응용을 수행하기 위해 정해진 포트를 열고 클라이언트의 요청을 기다림
세 방향 핸드쉐이크(Three-way handshake)
- 두 호스트는 TCP 연결을 위해 3개의 패킷이 송/수신되어야함
- 클라이언트는 서버에게 자신을 연결하라는 의미로 클라이언트 측 SEQ번호(순서번호)와 함께 SYN = 1 플래그가 저장된 세그먼트를 전송
- 이를 수신한 서버는 클라이언트에게 이에 대한 수락으로 ACK=1, 서버를 클라이언트에 연결하라는 의미로 SYN=1 플래그를 저장하며 클라이언트로부터 수신한 패킷의 SEQ+1를 ACK필드 값에, 서버 측의 순서번호를 SEQ필드에 저장하여 전송
- 서버로부터 SYN 패킷가 수신된 클라이언트는 서버에게 순서번호를 인지했다는 의미로 ACK=1플래그, ACK 필드 값은 수신한 패킷의 SEQ+1로 저장하여 전송