1. TCP 연결의 특징
ㅇ 종단 호스트 내 프로세스 간에 만 존재하는 연결 : 세션
- 다만, 중간 네트워크 요소인 라우터는,
. 이 연결을 감지못하고, 단지 데이터그램 덩어리 만을 보게됨
ㅇ 느슨한 연결 (Loosly Connected) : 연결지향적
- 같은 전송계층의 UDP가 비연결성(connectionless)인 것과는 달리, TCP는 연결지향적 임
- TCP의 경우, 느슨한 연결(Loosly Connected)을 갖음
. 즉, 강한 연결을 의미하는 `가상회선`이라는 표현 보다는, 오히려 `연결지향적`이라고 말함
ㅇ 멀티캐스트 불가능 : 단대단 전송 방식 (1:1) 만 가능
- 단일 송신자와 단일 수신자 간에 단일 경로 연결이 설정됨
. 한편, 차세대 전송계층 프로토콜로써, ☞ MPTCP (다중 세션 지원) 참고
ㅇ 양방향 연결 (Full-Duplex)
- 연결에 대한 데이터 전송 방향은 양방향성 임
※ TCP 연결을 쉽게 확인하는 명령어 : netstat
2. TCP 연결의 식별
ㅇ 연결의 식별 : 4 Tuple이 (4개 요소가) 하나의 연결을 식별
- 2개의 IP 주소 및 2개의 포트 번호에 의한 4개 요소가 하나의 연결을 식별함
. 양 끝점(endpoint)에서의 (송신/수신 IP 주소, 포트번호)에 의해 식별됨
- 즉, 아래 4 값에 의해 연결(커넥션) 및 그 방향(연결 요청/허락)도 식별이 가능
. (발신지 IP 주소, 발신지 포트 번호, 수신지 IP 주소, 수신지 포트 번호)
ㅇ 응용과의 연결점 식별 ☞ 포트 번호 참조
- TCP는 포트 번호에 의해 어플리케이션(응용)과의 연결점을 식별
3. TCP 연결의 설정,해제,강제종료
ㅇ TCP 연결의 설정 및 해제 ☞ TCP 상태 참조
- 연결설정 ☞ TCP 3-way Handshaking
- 연결해제 ☞ TCP 4-way Handshaking
. `FIN 세그먼트 및 그에대한 FIN-ACK`의 2 쌍(4개 세그먼트)으로
즉, 4-way 핸드세이크로써 종료함
* 3번의 Handshaking으로 연결을 설정하고, 3번 또는 4번의 패킷 교환으로 연결을 끊음
ㅇ TCP 연결의 강제 종료 : TCP Reset 요구(RESET 세그먼트) 기능
- 존재하지 않는 포트로의 연결 요구시, 비정상적인 상황에 의한 연결 중단 요구,
상대측의 긴 휴지 상태를 확인한 후 강제 연결 종료