cTosMaster 2025. 3. 10. 21:20

1. 초간단 정의

 

TCP 소켓 통신에는 서버-클라이언트 모델이 채택되어 있으며, 

"클라이언트(사용자) <--------->  서버" 간의 통신 시 이용된다. 

우리가 말하는 웹 서비스도 TCP 소켓을 생성한 뒤 통신된다. 

 

2. 3Way-handshake 연결 과정

   

연결 수립 시

네트워크에서의 개념으로 Syn -> Syn/Ack -> Ack로 연결을 수립한다. 

정상 종료 시, FIN 패킷을 보내어 연결을 종료하고 비정상 종료(interrupt)시에는 RST 패킷을 날린다.

자세한 내용은 RFC 문서에 기록되어 있다. 

정상적인 연결 종료 시

 

3. 어플리케이션 단에서의 연결 동작 과정

서버 소켓 / 클라이언트 소켓 2가지로 나누어 지며, 

아래 그림과 같다. 

 

 

위의 소켓 동작 방식을 이용하여 간단한 채팅 프로그램도 만들 수 있다.

*) TCP vs UDP 차이

연결 방식 연결 지향 (3-Way Handshake) 비연결 지향
신뢰성 신뢰성 보장 (패킷 손실 시 재전송) 신뢰성 없음 (손실 가능)
속도 상대적으로 느림 빠름
용도 웹, 이메일, 파일 전송 스트리밍, VoIP, 게임