본문 바로가기

기술면접

20_TCP/UDP에 대해서 설명해주세요.

TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 둘 다 네트워크 통신을 위한 프로토콜로, 인터넷 프로토콜 스위트의 일부입니다. 이 두 프로토콜은 데이터를 전송하는 방식연결 유지에 대한 처리 방식에서 차이가 있습니다.


1️⃣ TCP(Transmission Control Protocol, 전송 제어 프로토콜):
연결 지향적 프로토콜입니다. 통신하기 전에 연결을 설정하고, 데이터를 전송한 후에는 연결을 해제합니다.
데이터 전송의 신뢰성을 보장합니다. 패킷이 손실되거나 순서가 바뀌더라도 재전송 및 순서 보장 기능을 통해 데이터를 정확하게 전달합니다. 흐름 제어와 혼잡 제어 메커니즘을 통해 네트워크 상황을 감지하고 조절하여 네트워크의 안정성을 유지합니다. 대부분의 웹 브라우징, 이메일 전송, 파일 전송 등에 사용됩니다.

 

2️⃣ UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜):
비연결 지향적 프로토콜입니다. 데이터를 전송하기 전에 연결을 설정하지 않습니다.
신뢰성을 보장하지 않습니다. 데이터를 전송하고 받는 쪽에서 패킷 손실이나 순서 변경 등을 처리해야 합니다.
흐름 제어나 혼잡 제어를 제공하지 않습니다. 그래서 전송 속도가 빠르고 부하가 적지만, 네트워크 상황에 따라 데이터의 손실이 발생할 수 있습니다. 실시간 스트리밍, 온라인 게임, DNS 등에서 사용됩니다.

 

요약하자면, TCP는 신뢰성이 있고 순서가 보장되는 연결 지향적 프로토콜이며, UDP는 연결 없이 빠르게 데이터를 전송하는 비연결 지향적 프로토콜입니다.