TCP
- Transmission Control Protocol
- 인터넷상에서 데이터를 메시지 형태로 보내기 위해 IP와 함께 사용하는 프로토콜
- TCP는 송신자와 수신자간의 통신을 하기 위해 가상 회선을 정하고, 3-way handshaking으로 연결
3-way-handshake
- 연결을 해제할땐 4-way handshaking, 2번 ACK를 보내고 3번 LAST ACK를 보내 클라이언트가 TIME_WAIT 과정이 추가된다
- TIME_WAIT가 추가된 이유는 지연 패킷이 발생할 경우 무결성 문제를 방지하기 위함과, 실제로 두 장치가 닫혔는지를 확인하기 위함
- 회선이 정해져있기에 흐름이나 혼잡도 제어가 가능하고 신뢰성도 보장
- 대부분의 서비스가 UDP보단 TCP로 많이 쓰고 있는데 신뢰성도 있고 속도도 서로 차이가 있기 때문
UDP
- User Datagram Protocol
- 데이터를 데이터그램 단위로 처리하는 프로토콜
- TCP와 달리 비연결형, 연결을 위한 가상 경로가 없고 각 패킷들이 독립적인 경로를 통해 처리
- 연결을 위한 신호를 주고받지도 않기에 TCP보단 속도가 빠르지만 신뢰성은 낮다
- 주로 실시간 서비스 스트리밍에 자주 사용된다고 함