TCP/ UDP
전송 계층에서 사용하는 두 가지 주요 프로토콜
TCP (Transmission Control Protocol)
키워드 : 연결 설정, 신뢰성, 전송제어, 속도조절, 패킷순서, 재전송
- 연결 지향적 프로토콜로 통신 전에 연결을 설정하고 통신이 완료되면 연결을 해제합니다. (3way handshake)
- 데이터를 순서대로 조립해서 보내며 데이터를 유실한 경우 재전송합니다.
- 네트워크에 트래픽이 몰리는 경우 전송 속도를 조절하여 혼잡을 제어합니다.
-
일단 데이터가 왔다고 하면 그 데이터는 온전한 데이터임을 보장합니다.
- 하는 일이 많다보니 부하가 크고 속도가 상대적으로 느립니다.
- 웹 서비스, 파일 전송, 파일 다운로드 등 신뢰성과 순서 보장이 필요한 응용 프로그램에 적합합니다.
UDP (User Datagram Protocol)
키워드 : 비신뢰성, 비연결성, 속도
- 비연결 지향적 프로토콜로 송신자와 수신자의 연결을 확립하지 않고 데이터를 전송합니다.
- 한 번 전송한 후, 확인하지 않습니다. (재전송 X)
- 순서와 중복, 데이터의 손실에 대해 전송을 보장하지 않습니다.
- 실시간 데이터 같은 경우 많은 트래픽을 계속해서 보내기 때문에 TCP로 하기에는 부하가 큽니다.
- 부하가 적어 빠른 속도로 데이터를 전송할 수 있다
- 게임, 실시간 스트리밍 서비스 등 속도가 중요하고 약간의 데이터 손실이 허용되는 실시간 응용 프로그램에 적합합니다.
This post is licensed under
CC BY 4.0
by the author.