반응형
TCP (Transmission Control Protocol)와 UDP (User Datagram Protocol)는 네트워크 통신에서 사용되는 두 가지 주요한 프로토콜입니다.
- 연결 지향성:
- TCP: 연결 지향적인 프로토콜입니다. 연결을 설정하기 위해 3-way handshake를 사용하며, 데이터의 전송 및 수신 확인을 위한 메커니즘이 있습니다.
- UDP: 비연결 지향적인 프로토콜입니다. 연결 설정이나 연결 종료 과정이 없으며, 데이터 전송 시 신뢰성이 보장되지 않습니다.
- 신뢰성:
- TCP: 데이터 전송 시 재전송, 순서 보장, 흐름 제어 및 혼잡 제어 등의 기능을 제공하여 신뢰성을 보장합니다.
- UDP: 신뢰성이 보장되지 않으며, 패킷 손실이나 순서 변경이 발생할 수 있습니다.
- 헤더 크기:
- TCP: 헤더 크기가 상대적으로 크며, 제어 정보가 포함되어 있습니다.
- UDP: 헤더 크기가 작아서 더 적은 오버헤드를 가지고 있습니다.
- 사용 사례:
- TCP: 웹 브라우징, 파일 전송, 이메일 전송 등 신뢰성이 필요한 애플리케이션에서 주로 사용됩니다.
- UDP: 스트리밍 서비스, 도메인 이름 조회 (DNS), 게임 및 VoIP (Voice over IP) 등 실시간 통신이 필요한 애플리케이션에서 주로 사용됩니다.
- 속도와 지연:
- TCP: 연결 설정 및 관리와 같은 추가적인 오버헤드로 인해 UDP보다 지연이 발생할 수 있습니다.
- UDP: 오버헤드가 적어 속도가 빠르며, 지연 시간도 짧습니다.
요약하면,
TCP는 신뢰성과 연결 지향성이 중요한 애플리케이션에 적합하며,
UDP는 신속한 데이터 전송이 필요하거나, 추가적인 오버헤드 없이 빠른 통신이 필요한 애플리케이션에 적합합니다.
반응형
'개발 > 신입개발자 기술면접' 카테고리의 다른 글
[신입개발자 기술면접] HTTP / HTTPS 설명 (0) | 2024.01.09 |
---|---|
[신입개발자 기술면접] Well-Known Ports (0) | 2024.01.09 |
[신입개발자 기술면접] Process 와 Thread 차이 (0) | 2024.01.08 |
[신입개발자 기술면접] 배열 (Array)과 연결 리스트 (Linked List)의 장단점 (1) | 2024.01.08 |
[신입개발자 기술면접] Stack과 Queue의 차이 (2) | 2024.01.08 |