Top10VPN은 모든 VPN을 독립적으로 리뷰하지만 Top10VPN을 통해 사용자가 VPN 요금을 결제하는 경우 수수료를 받을 수도 있습니다.

UDP vs. TCP: 차이점은 무엇인가요?

JP Jones는 Top10VPN의 CTO입니다. 25년 이상의 소프트웨어 엔지니어링 및 네트워킹 경력을 가지고 있으며 VPN 테스트 프로세스의 모든 기술적 측면을 감독합니다.

Top10VPN의 요약 평가

UDP는 동일한 작업을 완료하는 데 더 적은 데이터를 사용하기 때문에 TCP보다 빠르고 효율적입니다. 하지만, TCP는 모든 데이터 패킷을 추적하고 올바른 순서로 전달되도록 보장하므로 더욱 안전하고 안정적입니다. OpenVPN 프로토콜을 사용하는 경우 UDP를 먼저 시도하고 작동하지 않으면 TCP로 전환하는 것이 좋습니다.

UDP(사용자 데이터그램 프로토콜)TCP(전송 제어 프로토콜)는 인터넷을 통해 정보를 전송하는 데 사용되는 2가지 유형의 통신 프로토콜입니다.

VPN 소프트웨어에서 OpenVPN 프로토콜은 UDP 또는 TCP를 사용하여 기기와 VPN 서버 간에 데이터를 전송해야 합니다. 그렇다면 이들 간의 차이점은 무엇이고 VPN 연결 시 어떤 것을 사용하는 것이 더 좋을까요?

요약: UDP와 TCP의 주요 차이점

  • TCP는 데이터를 전송하기 위해 발신자와 수신자 사이에 연결을 설정해야 하지만, UDP는 채널을 설정하거나 수신자가 준비되었는지 묻지 않고도 다른 기기로 패킷을 전송할 수 있습니다.
  • UDP는 데이터 패킷을 주문하거나 오류를 확인하지 않기 때문에 TCP보다속도가 빠릅니다.
  • TCP는 UDP보다 더 안정적입니다. TCP에는 오류 검사 기능이 있고 데이터 패킷이 올바른 순서로 통신 애플리케이션에 전달되도록 보장합니다.
  • TCP가 UDP보다 약간 더 안전합니다. TCP는 모든 데이터 패킷을 추적하기 때문에 악성 데이터를 심기 더 어렵습니다.

이 가이드에서는 UDP와 TCP가 무엇인지, 2가지 프로토콜 간의 차이점이 무엇인지, 스트리밍, 게임, 웹 서핑 등을 포함한 VPN 연결에 어떤 프로토콜을 사용하는 것이 더 좋은지 설명하도록 하겠습니다.

UDP와 TCP의 차이점은 무엇인가요?

TCP와 UDP는 둘 다 통신 프로토콜 형태이지만 작동 방식이 다릅니다.

아래 표에서 UDP와 TCP의 주요 차이점을 비교하세요:

UDP TCP
작동 방식 연결을 설정하지 않음 연결을 설정함
속도 더 빠름 더 느림
안정성 더 낮음 더 높음
손상된 패킷을 재전송 하나요? 안 함 재전송함
패킷이 올바른 순서로 착신 되었는지 확인하나요?  안 함 확인함
전송량 컨트롤 없음 – 수신이 과부하되면 데이터 패킷이 삭제(손실)될 수 있습니다.  있음 – 수신자는 패킷을 수신하기 위해 버퍼에 얼마나 공간이 있는지 발신자에게 알려줍니다. TCP는 여유 공간이 생길 때까지 패킷을 보관합니다.
데이터 사용량 낮음 높음
VPN 터널 내부에서 어떤 애플리케이션이 사용되나요? 
(VPN 터널에 여전히 TCP나 UDP를 사용할 수 있습니다)
  • 도메인 이름 시스템(DNS)
  • 온라인 게임 
  • 동영상 스트리밍 
  • 인터넷 전화 (VoIP)
  • 사물 인터넷 기기 (예: 산발적으로 데이터를 집으로 전송하는 센서)
  • 도메인 이름 시스템(DNS)
  • 웹 브라우징(HTTP, HTTPS)
  • 이메일(SMTP, IMAP/POP)
  • 다운로드 및 업로드(FTP)
  • 보안 셸을 사용한 원격 컴퓨터 접속(SSH)
실시간 앱 사용에 적절한가요? 아니오

UDP와 TCP의 주요 차이점.

UDP는 TCP보다 빠릅니다.

Top10VPN은 UDP 및 TCP와 함께 OpenVPN 프로토콜 사용 시 속도를 비교하기 위해 2024년 최고의 VPN인 ExpressVPN과 NordVPN을 테스트했습니다.

각 VPN 및 OpenVPN 유형에 대해 미국 본사에서 미국, 영국, 호주의 서버에 연결하고 다운로드 속도를 측정한 결과는 다음과 같습니다.

ExpressVPN (Mbps) NordVPN (Mbps)
국가 UDP TCP % 손실률 UDP TCP % 손실률
미국 94 91 3 92 94 0
영국 62 47 24 85 16 81
호주 75 47 37 67 4 94

국제 연결에서 UDP와 TCP의 속도 테스트 결과를 비교한 것입니다.

테스트 결과에서 볼 수 있듯이 UDP가 일반적으로 TCP보다 빠르며 서버와의 거리가 멀어질수록 그 차이가 더 커집니다. TCP는 오류가 확인된 스트림으로 순서대로 데이터 패킷을 전달하기 때문입니다. 올바르지 않거나 누락된 데이터는 전송을 보내는 컴퓨터에 다시 요청해기 때문에 지연이 발생합니다.

또한 UDP 패킷의 헤더는 더 작기 때문에 TCP 패킷보다 더 많은 부하(payload) 덕분에 주어진 네트워크 연결 파이프(예: 100Mbs)에 더 많은 데이터가 들어갈 수 있어 데이터 처리량이 증가합니다.

이 때문에 스트리밍이나 게임 같은 활동에는 TCP보다 UDP가 사용되는 경우가 많습니다.

TCP를 사용하면 발신자와 수신자 간의 상호 통신 시 메시지가 더 멀리 이동해야 하기 때문에 VPN의 평균 속도가 감소합니다.

ExpressVPN 사용 시, UDP는 미국에서 영국으로의 연결을 24% 더 빠르게 했고, 호주로의 연결은 37% 더 빨라지게 했습니다.

NordVPN 사용 시 차이가 더욱 명확해졌습니다. TCP를 사용하여 영국에 연결하는 경우 다운로드 속도가 81%, 호주에 연결하는 경우 94%가 손실되었습니다. 하지만 같은 국가 내의 NordVPN 서버에 연결할 때는 TCP가 UDP보다 약간 더 빠르다는 것을 발견했습니다.

TCP가 UDP보다 데이터 소비량이 많습니다.

TCP는 각 데이터 패킷의 헤더에 더 많은 정보를 포함하기 때문에 UDP보다 더 많은 데이터를 사용합니다. 덕분에 TCP를 더 안정적으로 만들지만 UDP보다 효율성이 떨어집니다.

인터넷을 통해 전송되는 모든 데이터 패킷에는 헤더가 있는데, 이는 봉투에 주소를 쓰는 것과 같습니다. 여기에는 데이터를 올바른 위치로 가져오는 데 필요한 정보와 프로토콜에 필요한 추가 정보가 포함되어 있습니다.

UDP와 TCP 모두 데이터의 소스 및 착신 포트, 데이터 패킷 길이, 헤더의 체크섬을 표시합니다. 그러나 TCP에는 올바른 전달을 보장하기 위한 추가 정보도 포함되어 있습니다.

전문가 팁: 체크섬은 데이터를 전송하기 전과 받은 후에 데이터에 대해 두 번 수행되는 계산입니다. 수신 측에서 결과가 다르게 나오는 경우 전송 중에 데이터가 손상되었음을 의미합니다.

UDP와 TCP의 헤더의 차이점은 다음과 같습니다:

UDP TCP
헤더 크기 8바이트 20바이트 이상
헤더 연결 (UDP 및 TCP)
  • 소스 포트
  • 착신 포트
  • 길이
  • 체크섬
  • 소스 포트
  • 착신 포트
  • 길이
  • 체크섬
헤더 콘텐츠 (TCP 경우만) 추가 헤더 데이터 없음
  • 일련 번호
  • 승인 번호
  • TCP 플래그(예: 연결을 설정하는 데 사용되는 동기화 및 승인 플래그)
  • 윈도우(송신자가 너무 많은 데이터를 보내지 않도록 제한하는 수신 버퍼의 크기)
  • 긴급 포인터
  • 선택적 TCP 옵션(예: 타임스탬프)

UDP와 TCP 헤더의 차이점 비교.

이 표에서 볼 수 있듯이 UDP와 비교하여 TCP는 인터넷을 통해 정보를 보낼 때 데이터 전송을 관리하기 위해 더 많은 데이터를 사용합니다.

또한, TCP의 경우 발신자와 수신자 간에 더 많은 통신이 이루어집니다. 이는 수신자가 TCP를 사용하여 패킷을 수신할 때 각 패킷마다 ACK(승인)를 보내고 손실된 패킷은 재전송되기 때문입니다. 그 결과, TCP는 UDP보다 더 많은 데이터를 사용합니다.

VPN 데이터 사용량 분석에서 UDP와 비교했을 때 TCP를 사용하는 VPN이 소진하는 추가 데이터의 증가량을 측정했습니다. 결과를 요약하면 다음과 같습니다:

OpenVPN의 UDP OpenVPN의 TCP
VPN 미사용 시와 비교했을 때 데이터 증가량  17.23% 19.96%

UDP와 TCP의 데이터 사용량을 비교한 테스트 결과.

기가바이트 단위로 요금을 지불하는 모바일 데이터 요금제를 사용 중이거나 데이터 한도가 고정되어 있는 경우 TCP를 사용하면 데이터가 더 빨리 소진될 수 있습니다.

TCP이 UDP보다 조금 더 안전합니다.

UDP나 TCP는 보안을 위해 설계되지 않았습니다. 인터넷을 통해 데이터 패킷을 보내는 목적으로 사용되며 해당 패킷은 일반 텍스트일 수도 있고 암호화될 수도 있습니다. 일반적으로 통신 스택의 상위에 있는 다른 프로토콜이나 애플리케이션이 보안을 담당합니다.

TCP에서는 패킷의 순서가 지정되고 승인되기 때문에 UDP보다 TCP에 해커가 악성 데이터를 심기 더 어렵습니다.

실제로 두 프로토콜 모두 VPN과 함께 사용 시 보안 문제가 없습니다. TCP와 UDP 모두 사용자의 안전을 유지하는 데 사용되는 보안 및 개인정보 보호 기능을 지원합니다.

VPN은 UDP와 TCP를 어떻게 사용하나요?

OpenVPN은 대부분의 안전한 VPN 서비스들이 사용하는 오픈 소스 VPN 프로토콜입니다. 대부분의 경우 사용자가 OpenVPN UDPOpenVPN TCP 중에서 선택할 수 있습니다. 이 섹션에서는 어떤 것을 선택하느냐에 따라 VPN 기능에 어떤 영향을 미치는지에 대해 설명하도록 하겠습니다.

NordVPN의 프로토콜 설정

NordVPN의 UDP 및 TCP 기능은 프로토콜 메뉴에서 찾을 수 있습니다.

먼저, VPN 없이 웹페이지를 탐색하고 있다고 상상해 보세요. 기기와 웹 서버 간의 연결에 UDP보다 안정적인 TCP를 사용하고 있다고 가정할 경우, 작동 방식은 다음과 같습니다.

TCP 트래픽 도식화

VPN 없이 인터넷을 통해 TCP 트래픽이 라우팅되는 방법.

VPN을 사용하기 시작하면 기기와 VPN 서버 사이의 OpenVPN 터널에 새로운 통신이 래핑됩니다. 해당 터널은 기기와 VPN 서버를 연결하며 이때 UDP나 TCP가 사용됩니다.

OpenVPN UDP 및 TCP 터널 도식화

OpenVPN UDP 및 TCP이 TCP 트래픽을 래핑하는 방법.

VPN 설정 변경 시, 사용할 래퍼(wrapper)를 결정해야 합니다. 그 때, 어떤 프로토콜을 사용하는 것이 나을까요?

UDP vs TCP: 어느 것이 더 좋은가요?

요약: VPN에서 UDP나 TCP 중 선택할 수 있는 경우, UDP를 먼저 사용해보시기 바랍니다. UDP는 TCP보다 빠르고 UDP VPN 터널 내에서 웹 검색과 같은 활동에는 여전히 TCP를 사용할 수 있습니다. TCP를 사용한다면 UDP가 방화벽에 의해 차단되거나 연결이 불안정한 경우에 도움이 될 수 있습니다.

VPN을 사용하는 이유에 어떤 통신 프로토콜이 더 좋은지 달라집니다. 이 섹션에서 스트리밍, 일반 브라우징, 검열 우회, 일반 VPN 사용 시 UDP와 TCP 중 무엇이 더 나은지 설명하도록 하겠습니다.

일반 VPN 연결

대부분의 일반 VPN 연결에는 UDP로 OpenVPN을 사용하는 것이 낫습니다.  UDP는 TCP보다 빠르고 데이터 사용량도 적기 때문입니다.

애플리케이션은 UDP VPN 터널 내 연결에서 TCP도 계속 사용하게 됩니다. 즉, TCP의 패킷 전달 안정성이 필요한 모든 서비스는 여전히 TCP를 사용할 수 있습니다.

스트리밍 및 게임

게임 및 동영상 스트리밍에는 일반적으로 UDP 연결을 사용합니다. 그 이유는 스트림을 복구하려고 시도하면서 지연이 발생하는 것보다 스트림의 작은 부분을 건너뛰는 것이 더 낫기 때문입니다.

따라서, VPN을 사용하여 동영상을 스트리밍하거나 비디오 게임을 하는 경우 UDP를 선택하는 것을 추천합니다.

OpenVPN TCP를 사용하는 경우 VPN이 손실된 데이터 패킷을 불필요하게 복구하려고 시도할 수 있습니다. 손실된 패킷이 다시 전송될 때까지 기다렸다가 화면이 다시 업데이트되면 게임이나 실시간 스트리밍이 이미 건너 뛰어져 있을 수 있습니다.

전문가의 팁: 넷플릭스와 아마존 프라임의 경우 대역폭 사용량을 모니터링하기가 더 쉽기 때문에 TCP를 사용합니다. 서버와 수신기 사이에 사용 가능한 모든 대역폭을 사용할 수 있으므로 데이터 패킷을 더 빠르게 전송할 수 있습니다. 그에 따라 동영상 품질을 변경하여 사용자 경험을 향상시킬 수도 있습니다.

이메일 및 웹 브라우징

이메일 전송, 웹 브라우징 등의 활동 시에는 OpenVPN UDP를 사용하는 것이 좋습니다.

OpenVPN UDP 터널 도식화

OpenVPN UDP가 TCP 트래픽에서 작동하는 방식.

추가적인 안정성이 필요한 애플리케이션을 위해서 TCP 기반 VPN 터널을 사용해야 한다는 것은 흔한 오해입니다. 그럴 필요가 없으며 좋은 선택이 아닐 수 있습니다. 필요한 경우 내부 연결에 여전히 TCP가 사용될 수 있기 때문에 VPN 터널은 다른 레이어를 추가할 필요가 없습니다.

TCP 연결 주위에 TCP VPN 터널을 래핑하면 “TCP 붕괴” 위험이 있습니다. 이는 TCP의 두 계층이 모두 손실된 패킷을 보상하려고 시도할 때 발생합니다. 내부 및 외부 TCP 계층에 패킷 손실 시기를 결정하는 데 사용되는 독립적인 타이머가 있기 때문에 발생합니다.

방화벽 및 검열 우회

검열을 피하거나 방화벽을 우회해야 한다면 OpenVPN에서 TCP를 선택하시기 바랍니다.

포트 4433에서 TCP를 사용하면 VPN 트래픽이 HTTPS로 암호화된 웹 트래픽과 동일하게 보입니다. TCP 포트 443을 차단하면 모든 이커머스 웹사이트가 종료되기 때문에 이 트래픽은 일반적으로 방화벽을 통해 허용됩니다.

일부 VPN은 암호화되지 않은 웹 트래픽에 사용되는 TCP 포트 80도 지원하며 문제 없이 방화벽을 통과합니다.

학생들은 OpenVPN에서 TCP를 사용할 때는 캠퍼스 방화벽을 뚫을 수 있었지만 UDP를 사용하면 차단되었다고 보고했습니다.

TCP는 VPN이 공식적으로 차단된 국가에서도 작동할 수 있지만 심층 패킷 검사를 통해 VPN 트래픽이 계속 식별될 수 있다는 점에 유의해야 합니다. 사용하는 국가에서 VPN 사용이 합법적이지 않거나 안전하지 않은 경우 TCP만으로는 사용자를 보호할 수 없습니다.

항상 OpenVPN의 UDP를 먼저 시도해보시기 바랍니다. 속도가 더 빠르고, 필요한 경우에는 애플리케이션이 내부 터널에 TCP를 계속 적용하여 안정성을 보장할 수 있습니다.

OpenVPN 프로토콜을 기반으로 VPN 소프트웨어를 만드는 회사인 OpenVPN Inc.는 다음과 같이 말했습니다:

 “OpenVPN 프로토콜 자체는 UDP 프로토콜만 사용하는 것보다 더 잘 작동합니다. 기본 연결 시 항상 UDP를 먼저 시도해보고, 실패할 경우 TCP를 시도하도록 미리 프로그래밍되어 있습니다.”

즉, 네트워크 문제로 인해 VPN에서 UDP이 잘 작동하지 않는 경우 OpenVPN은 TCP로 대체하여 이를 해결한다는 것입니다. TCP는 신뢰할 수 없는 네트워크 연결을 해결하도록 설계되었습니다.

TCP이 무엇인가요?

TCP는 컴퓨터와 웹 서버와 같이 2개의 기기 사이에 연결을 생성합니다. 해당 연결을 통해 데이터가 전송됩니다. 마치 2개의 기기가 서로 대화하여 정보가 올바르게 수신되었는지 확인하는 전화 통화와 같습니다.

TCP를 사용하는 경우:

  • 모든 패킷 수신이 보장됩니다. 수신자가 패킷을 수신했다는 것에 대해 확인 신호를 보내지 않으면 발신자는 패킷을 재전송합니다.
  • 발송된 순서와 동일한 순서로 수신자에게 도착하도록 패킷 순서가 지정됩니다.
  • 수신자가 패킷을 수신할 준비가 되어 있지 않으면 패킷이 전송되지 않습니다.

전문가의 팁: TCP/IP에 대해 들어본 적이 있을 것입니다. IP는 인터넷 프로토콜(Internet Protocol)을 의미하며 TCP가 데이터를 보낼 IP 주소를 찾는 방법입니다. IP 없이는 TCP를 사용할 수 없기 때문에 목적상으로는 TCP/IP와 TCP가 동일합니다.

UDP이 무엇인가요?

TCP와 달리 UDP는 연결이 없는 프로토콜입니다. 데이터가 전송되지만 제대로 수신되었는지 확인하는 피드백 메커니즘이 없습니다. UDP는 마치 우편으로 무언가를 보낼 때 우편함에 넣고 잊는 것과 비슷합니다.

UDP를 사용하는 경우:

  • 데이터 패킷은 전송 중에 손실될 수 있으며 발신자는 이에 대해 알 수 없습니다.
  • 부하량을 초과한 상태에서 수신자에게 전송된 패킷은 삭제(손실)되며 복구할 수 없습니다.
  • UDP에는 손실되거나 손상된 데이터를 위한 복구 메커니즘이 내장되어 있지 않지만 UDP를 사용하는 애플리케이션에는 자체 복구 메커니즘이 있을 수 있습니다.

UDP는 연결을 설정하거나 유지할 필요가 없기 때문에 TCP보다 빠르게 작동합니다. 화상 회의, 온라인 게임 등 대기 시간에 매우 민감한 애플리케이션 사용 시에 이상적입니다.

이 경우, 간헐적으로 누락된 패킷으로 인한 결함이 발생할 수 있지만 TCP가 패킷을재전송하는 동안 발생하는 지연보다 나을 수 있습니다.

도메인 이름 시스템(DNS)은 UDP와 TCP를 모두 사용할 수 있으며 실제로도 사용합니다. 쿼리 패킷이 증가함에 따라 TCP를 점점 더 많이 사용하고 있는 추세이지만, UDP는 여전히 최대한 빠른 속도를 보장하는 기본 프로토콜입니다.