728x90
TCP (Transmission Control Protocol)와 UDP (User Datagram Protocol)는 둘 다 네트워크 통신을 위한 프로토콜이지만, 몇 가지 중요한 차이가 있습니다.
- 연결 지향성:
- TCP: 연결 지향적입니다. 클라이언트와 서버 간에 가상의 연결을 설정하고, 데이터를 안정적으로 전송하기 위해 패킷의 전송 및 수신을 관리합니다.
- UDP: 비연결성 프로토콜입니다. 각 데이터그램은 독립적으로 처리되며, 클라이언트와 서버 간에 실제 연결이 설정되지 않습니다.
- 신뢰성:
- TCP: 데이터 전송의 신뢰성을 보장합니다. 데이터가 손실되거나 손상되면 재전송을 요청하여 신뢰성 있는 통신을 제공합니다.
- UDP: 데이터 전송에 대한 신뢰성이 보장되지 않습니다. 데이터그램이 손실될 수 있고, 순서가 뒤바뀔 수 있으며, 중복될 수 있습니다.
- 흐름 제어 및 혼잡 제어:
- TCP: 흐름 제어와 혼잡 제어 메커니즘을 제공하여 네트워크 상황에 따라 데이터 전송 속도를 조절합니다.
- UDP: 흐름 제어나 혼잡 제어를 제공하지 않습니다. 데이터는 최대 전송 속도로 전송되며, 수신 측에서 처리할 수 있습니다.
- 오버헤드:
- TCP: 연결 설정, 연결 유지 및 신뢰성을 제공하기 위한 추가적인 오버헤드가 있습니다.
- UDP: 연결 설정이나 신뢰성을 위한 추가적인 오버헤드가 없으므로 빠릅니다.
- 사용 사례:
- TCP: 파일 전송, 웹 브라우징, 이메일 등과 같이 데이터 전송의 신뢰성이 중요한 경우에 사용됩니다.
- UDP: 실시간 영상 스트리밍, DNS 조회, 음성 통화 등과 같이 속도가 중요하고 일부 데이터 손실이 허용되는 경우에 사용됩니다.
- 포트 번호:
- TCP: TCP 통신은 연결 지향적이므로 통신이 시작되기 전에 연결을 설정하고 통신을 위한 포트를 지정합니다.
- UDP: UDP 통신은 비연결성이므로 포트 번호가 데이터그램의 일부로 지정됩니다.
이러한 차이로 인해 TCP와 UDP는 각각 다른 상황에 적합합니다. 신뢰성 있는 데이터 전송이 필요한 경우 TCP를 사용하고, 빠른 전송이 중요하거나 데이터 손실이 허용되는 경우 UDP를 사용할 수 있습니다.
728x90
반응형
'IT > Etc' 카테고리의 다른 글
FFmpeg 비디오, 오디오 파일 변환 (0) | 2024.07.02 |
---|---|
Elasticsearch란? (0) | 2024.05.31 |
UDP 사용시 양쪽으로 연결해야 하는 이유 (0) | 2024.05.30 |
우분투 설치 (0) | 2024.05.19 |
웹 서버와 WAS의 차이점 (0) | 2024.04.22 |