CH4-05. TCP 연결
TCP는 연결형 프로토콜
- 연결 설정 → 3 way handshake : 연결 수립 과정
- 데이터 송수신
- 연결 종료
호스트 A → 엑티브 오픈 호스트 : 연결을 처음 시작하는 호스트
호스트 B → 패시브 오픈 호스트 : 연결 요청을 수락하는 호스트
3 way handshake 과정
- 연결 시작을 위해 엑티브 오픈 호스트에서 패시브 오픈 호스트로 SYN 세그먼트 전송
- 패시브는 확인과 연결 시작을 위해 SYN + ACK 세그먼트를 전송
- 액티브는 확인의 의미로 ACK 세그먼트 전송
액티브 클로즈 호스트 : 처음 연결 종료 요청하는 호스트
패시브 클로즈 호스트 : 연결 종료 요청을 받는 호스트
연결 종료 과정
- 액티브 클로즈 호스트에서 연결을 끊는 다는 의미인 FIN 세그먼트를 패시브 클로즈 호스트에게 전송
- 클로즈에서 확인했다는 ACK 세그먼트를 전송
- 패시브 클로즈에서 끝내겠다는 FIN 세그먼트 전송
- 엑티브 클로즈에서 확인했다는 ACK를 전송
- 액티브 클로즈 호스트는 마지막 ACK을 보낸 뒤 일정 시간을 기다리고 연결을 종료한다.
→ 이유 : 마지막 ACK 세그먼트의 유실 대비, 또 다른 연결 과정에서의 패킷 혼선 방지