TCP (Transmission Control Protocol)와 UDP (User Datagram Protocol)는 네트워크 통신에서 사용되는 두 가지 중요한 전송 프로토콜입니다.
TCP (Transmission Control Protocol):
- 연결 지향적 (Connection-Oriented): TCP는 통신을 시작하기 전에 연결을 설정하고, 통신이 완료된 후에는 연결을 해제하는 연결 지향적인 프로토콜입니다.
- 신뢰성: TCP는 데이터 전송 중 손실된 패킷을 다시 전송하고, 패킷의 순서를 보장하여 신뢰성 있는 통신을 제공합니다.
- 흐름 제어 (Flow Control): 수신자가 처리할 수 있는 속도로만 데이터를 전송하도록 조절하여 네트워크 혼잡을 방지합니다.
- 혼잡 제어 (Congestion Control): 네트워크 혼잡을 방지하고 효율적인 대역폭 사용을 위한 메커니즘을 제공합니다.
- 데이터 전송 보장: TCP는 데이터의 안정적인 전송을 보장하기 위해 각 패킷에 대한 확인 응답을 사용합니다.
UDP (User Datagram Protocol):
- 비연결성 (Connectionless): UDP는 연결을 설정하지 않고, 데이터를 전송하며, 연결을 해제하지 않는 비연결성 프로토콜입니다.
- 비신뢰성: UDP는 데이터 전송 중 손실된 패킷에 대한 복구 메커니즘이 없으며, 순서가 바뀔 수 있습니다.
- 흐름 제어 및 혼잡 제어 없음: UDP는 흐름 제어나 혼잡 제어를 제공하지 않습니다. 따라서 데이터를 빠르게 전송하고자 할 때 사용됩니다.
- 단순함: TCP에 비해 간단한 프로토콜이며, 처리 속도가 빠릅니다.
- 멀티캐스트, 브로드캐스트 지원: UDP는 멀티캐스트(Multicast) 및 브로드캐스트(Broadcast)와 같은 다양한 통신 모델을 지원합니다.
일반적으로 TCP는 신뢰성 있는 데이터 전송이 필요한 상황에서 사용되며, UDP는 신속한 데이터 전송이 중요한 상황에서 사용됩니다.
TCP (Transmission Control Protocol):
- 설명: TCP는 데이터를 안정적으로 전송하는 데 중점을 둔 프로토콜입니다. 연결을 설정한 후에 데이터를 신뢰성 있게 주고 받고, 손실된 데이터에 대해서는 재전송을 시도합니다. 이는 파일 전송, 이메일 전송과 같이 데이터 무결성이 중요한 통신에 주로 사용됩니다.
UDP (User Datagram Protocol):
- 설명: UDP는 빠른 데이터 전송에 중점을 둔 프로토콜입니다. 연결을 설정하지 않고 빠르게 데이터를 전송하며, 데이터의 순서가 바뀌거나 일부가 손실되어도 높은 신뢰성을 요구하지 않는 통신에 주로 사용됩니다. 실시간 스트리밍, 온라인 게임과 같이 빠른 응답이 중요한 통신에 활용됩니다.
'면접준비' 카테고리의 다른 글
ORM을 사용하면서 쿼리가 복잡해지는 경우에는 어떻게 해결하는게 좋을까요? (0) | 2024.01.12 |
---|---|
CI/CD에 대해서 설명해주세요. (0) | 2024.01.11 |
GET, POST의 개념과 함께 데이터 흐름에 대해서 설명해주세요. (0) | 2024.01.10 |
RDBMS의 정규화에 대해 설명해주세요. (0) | 2024.01.10 |
User대용량 트래픽 발생 시 어떻게 대응해야 하나요? (0) | 2024.01.09 |