TCP 통신은 기본적으로 안정적인 통신을 가능하게 해준다.(연결지향)(Transmission Control Protocol)
ACK와 timeout, 재전송을 통해 안정성을 확보한다.
ACK는 잘 받았다는 확인신호 이며 확인신호가 오지않는다면 재전송한다.
오지않는 케이스는 보통 두가지 경우인데,
1. 수신쪽이 보내야 하는것을 아예 모르는경우
2. 불안정한 IP로 인한 중간 유실이다.
과정을 설명하면,
1) 클라이언트는 서버에 접속을 요청하는 SYN패킷을 보낸다.
2) 서버는 클라이언트의 요청인 SYN을 받고 클라이언트에게 요청을 수락한다는 ACK(a+1)와 SYN이 설정된 패킷을 발송한다.
3) 클라이언트는 서버의 수락 응답인 ACK와 SYN 패킷을 받고 ACK를 서버로 보내면 연결이 성립된다.
4-way Handshake 의 경우 논리적인 접속 상태를 해제 하기 위한 과정이다.
서버와 클라이언트간 tcp 연결 해제를 통해 리소스를 정리한다.
TCP 연결 종료는, 양방향 2개 연결을 각 측이 독립적으로 닫게 됨 - `FIN 및 그에대한 FIN-ACK`의 2 쌍(4개 세그먼트)으로 즉, 4-way 핸드세이크로써 종료함(출처 : www.ktword.co.kr/abbr_view.php?m_temp1=2436 )
4-way Handshaking의 패킷 설명에 대해선 www.ktword.co.kr/abbr_view.php?m_temp1=2436 를 참고하자
'네트워크 공부' 카테고리의 다른 글
TCP/UDP 특징 및 비교 (0) | 2021.04.22 |
---|---|
DHCP (0) | 2021.04.22 |
TCP/UDP 소켓 통신 실습 (0) | 2021.04.22 |
혼자 노트 필기 정리(NAT,NAPT,DHCP) (0) | 2021.04.21 |
IP 클래스 분류 (0) | 2021.04.20 |