Published on

네트워크의 두 주축 : TCP vs UDP

Authors
  • avatar
    Name
    Inhwan Cho
    Twitter

네트워크 통신을 이해하는 데 있어서 TCP와 UDP는 매우 중요한 두 가지 프로토콜입니다.

프로토콜은 통신을 위한 규칙이나 표준의 집합을 의미합니다.

TCP(Transmission Control Protocol)UDP(User Datagram Protocol)는 이러한 프로토콜 중 가장 핵심적인 두 가지로, 전송 계층에서 데이터를 교환하는 방식을 정의합니다.

여기서는 TCP와 UDP의 주요 차이점들을 살펴보고, 각각 어떤 상황에서 사용되는지에 대해 예시를 들어 설명드리겠습니다.

TCP (Transmission Control Protocol)

TCP는 전송 제어 프로토콜로, 데이터를 신뢰성 있게, 순서대로, 에러 없이 전송하도록 설계되었습니다.

이는 데이터가 송수신 양쪽 끝에서 정확히 동일하게 전달되었는지를 확인합니다.

TCP의 주요 특징

  • 신뢰성 있는 데이터 전송: 패킷 손실이 발생하면 재전송을 요청합니다.
  • 순서 보장: 데이터 패킷은 전송된 순서대로 도착합니다.
  • 흐름 제어 & 혼잡 제어: 네트워크 혼잡을 방지하고 데이터 흐름을 관리합니다.

예시: 웹 페이지 요청

웹 브라우저에서 웹 페이지를 요청할 때, 이 정보는 TCP를 사용하여 서버에 전송됩니다. 예를 들어, index.html 파일을 요청하는 경우:

html
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>예시 웹 페이지</title>
</head>
<body>
    <h1>웹 페이지 요청 시 TCP 사용 예시</h1>
</body>
</html>

이 경우, TCP는 웹 서버와 클라이언트 사이의 연결을 설정하고, 데이터를 분할하여 전송한 다음, 서버에서 받은 데이터 조각들을 원래 순서대로 재조립합니다.

UDP (User Datagram Protocol)

UDP는 사용자 데이터그램 프로토콜로, 간단하고 연결이 없는 프로토콜입니다.

이는 최소한의 통신 메커니즘을 제공하며, 데이터 전송의 신뢰성이나 순서에 대해서는 보장하지 않습니다.

UDP의 주요 특징

  • 저지연: 연결 설정이 필요 없어 데이터 전송 시작이 빠릅니다.
  • 간단한 프로토콜: 헤더 크기가 작아 오버헤드가 낮습니다.
  • 비신뢰성 및 비연결성: 데이터가 손실되거나 순서가 뒤바뀔 수 있습니다.

예시: 비디오 스트리밍

비디오 스트리밍과 같은 실시간 응용 프로그램은 지연 시간을 최소화해야 하므로 UDP를 선호합니다.

예를 들어, 실시간 비디오 스트리밍에서는 순서대로 데이터가 도착하지 않거나 일부 데이터가 손실되더라도, 빠른 스트리밍을 위해 UDP를 사용할 수 있습니다.

TCP와 UDP 비교

특징TCPUDP
연결연결형비연결형
신뢰성높음낮음
순서 보장보장함보장하지 않음
데이터 전송 속도비교적 느림비교적 빠름
사용 사례웹 페이지, 이메일, 파일 전송 등실시간 스트리밍, 온라인 게임 등

결론

TCP와 UDP의 이러한 특성 때문에, 서로 다른 응용 프로그램과 서비스는 자신의 요구 사항에 가장 잘 맞는 프로토콜을 선택하여 사용합니다.

예를들어, 웹 페이지 로딩, 이메일 전송, 파일 전송 등 오류 없는 데이터 전송이 중요한 경우 TCP가 사용되며,

실시간 비디오 스트리밍, 온라인 게임, 음성 통화 등 지연 시간이 중요하고 일부 데이터 손실이 허용되는 경우 UDP가 선호됩니다.