TCP(Transmission Control Protocol) : 전송 제어 프로토콜
UDP(User Datagram Protocol) : 사용자 데이터그램 프로토콜

TCP 통신
데이터를 보냈을 때 응답을 보내고 그 응답(ACK, acknowledge)에 대한 응답을 보냄.
특징
- 스트림 전송으로 전송 데이터의 크기가 무제한입니다.
- 패킷에 대한 응답이 필요하기 때문에 성능이 낮습니다.
- Streaming 서비스에 불리합니다.
- 신뢰성있는 데이터를 보내기에 적합합니다.
데이터 통신 과정

- 데이터들을 Segment 단위로 잘게 쪼개어 포장하여 패킷상태로 라우터에 전송한다.
- 패킷에는 세그먼트, 목적지 주소, 출발지 주소가 있다.
- 반대쪽 라우터에 전송하여 D에 전송한다. (3 way handShaking)
- 패킷의 데이터를 재조립
UDP 통신
데이터를 데이터 그램 단위로 처리하는 프로토콜
특징
- 정보를 주고 받을 때 정보를 보내거나 받는다는 신호 절차를 거치지 않습니다.
- UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출합니다.
- 신뢰성이 낮습니다.(3-way handshaking의 과정이 없기 때문)
- TCP보다 속도가 빠릅니다.
IP(Internet Protocol)
호스트가 가지고있는 고유의 값(Host : 인터넷이 되는 모든 장치)
특징
- 2가지 버전으로 IPv4(32bit)와 IPv6(128bit)가 있습니다.
- IPv4는 최대 약 43억개의 고유한 주소를 제공합니다. 하지만 최근 인터넷의 급속한 성장으로 인해 이 주소들이 고갈되었고, 이에 대한 해결책으로 IPv6가 도입되었습니다.
- 인터넷에서 데이터를 전송할 때는 대부분 신뢰성 있는 데이터 전송을 보장하는 TCP/IP라는 조합을 사용합니다.
통신 방식 종류
Simplex(단방향) : 데이터를 보내기만 하는 방식
Half Duplex(반이중) : 데이터를 보내면 응답해주는 방식 (웹)
- 4개의 버터가 있음
- Stateless (상태를 보존하지 않음)
Full Duplex(전이중, 양방향) : 두 장치 서로 동시에 데이터를 주고 받는 방식(카카오톡)
- Thread가 2개 필요하다.
- Stateful (상태가 사라지지 않는다.)
Share article