TCP Socket - 이론
TCP (Transmisson Control Protocol)
- 전송을 제어하는 프로토콜
- 연결형 서비스로 가상 회선 방식 제공
- 흐름 제어 및 혼잡 제어
- 높은 신뢰성 보장
TCP 서버 특징
- 서버 소켓은 연결만을 담당
- 연결 과정에서 반환된 클라이언트 소켓이 데이터의 송수신에 사용된다면 가상 회선 방식 제공
- 서버와 클라이언트는 1:1 연결
- 스트림 전송으로 전송 데이터의 크기 무제한
- 패킷에 대한 응답을 해야하기 때문에 성능이 낮다.
- Packet? 인터넷 내에서 데이터를 보내기 위한 경로 배정을 효율적으로 하기 위해 데이터를 여러 개의 조각들로 나누어 전송하는 단위
- 손실된 경우 재전송 요청을 해야하기 때문에 Streaming 서비스에는 불리
Socket
- 네트워크 상에서 서버와 클라이언트 두 개의 프로그램이 특정 포트를 통해 양방향 통신이 가능하도록 만들어주는 소프트웨어 장치
- TCP/IP 통신을 행하는 컴퓨터가 가지는 네트워크 내에서의 주소에 해당하는 IP 주소와 IP 주소의 서브 주소인 포트 번호를 조합한 네트워크 주소
- 즉, 프로그램이 네트워크에서 데이터를 통신할 수 있도록 연결해주는 연결부로 프로그램 간 통신의 종착점
Client & Server
- IP 주소와 포트 번호로 데이터 송수신
- 클라이언트는 네트워크를 이용해 서버 측에 서비스 요청
- 서버는 네트워크 상에서 HW or SW로써 서비스의 요청을 받음