주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

TCP/IP와 UDP 비교

전송 제어 프로토콜(TCP 또는 TCP/IP)과 사용자 데이터그램 프로토콜(UDP 또는 UDP/IP)은 모두 인터넷 프로토콜(IP) 위에 계층화된 전송 계층 프로토콜입니다. TCP/IP 및 UDP 인터페이스를 사용하여 이진 데이터와 ASCII 데이터를 모두 읽고 쓸 수 있습니다. 서버, 컴퓨터, 계측기에 읽고 쓸 수 있으며, 스트리밍 비디오 및 오디오, 판매 시점 관리 시스템(POS) 및 기타 비즈니스 애플리케이션과 같은 애플리케이션을 사용할 수 있습니다.

지원 플랫폼

TCP/IP 및 UDP 인터페이스는 다음 플랫폼에서 지원됩니다.

  • Linux®

  • macOS

  • Windows® 10 이상

인터페이스 비교

TCP/IP와 UDP는 아래와 같이 비교됩니다:

  • 연결 방식 대 비연결 방식 — TCP/IP는 연결 기반 프로토콜인 반면, UDP는 비연결 프로토콜입니다. TCP/IP에서 통신 링크의 양 끝단은 통신 중 항상 연결되어 있어야 합니다. UDP를 사용하는 애플리케이션은 패킷을 준비한 후 수신자가 패킷을 수신할 준비가 되었는지 먼저 확인하지 않고 수신자의 주소로 패킷을 전송합니다. 수신 측이 패킷을 수신할 준비가 되어 있지 않으면 패킷이 손실됩니다.

  • 스트림 대 패킷 — TCP/IP는 스트림 지향 프로토콜인 반면, UDP는 패킷 지향 프로토콜입니다. 이는 TCP/IP가 연결의 한 끝에서 다른 끝으로 전송되는 하나의 긴 데이터 흐름과, 반대 방향으로 흐르는 또 다른 긴 데이터 흐름으로 간주된다는 것을 의미합니다. TCP/IP 스택은 데이터 스트림을 패킷으로 분할하고 해당 패킷을 전송하는 역할을 담당하는 반면, 상대편의 스택은 패킷 헤더에 포함된 정보를 활용하여 패킷을 다시 데이터 스트림으로 재조립하는 역할을 담당합니다. 반면 UDP는 패킷 지향 프로토콜로, 애플리케이션 자체에서 데이터를 패킷으로 분할하여 상대방에게 전송합니다. 다른 쪽 끝은 데이터를 다시 스트림으로 재조립할 필요가 없습니다. 참고: 일부 애플리케이션은 기본 프로토콜이 UDP일 때 데이터를 스트림 형태로 제공할 수 있습니다. 그러나 이는 UDP 위에 추가 프로토콜을 중첩하는 것이며, UDP 프로토콜 자체에 내재된 특성은 아닙니다.

  • TCP/IP는 신뢰성 있는 프로토콜인 반면, UDP는 신뢰성이 없습니다 — TCP/IP로 전송되는 패킷에는 고유한 시퀀스 번호가 포함됩니다. 통신 시작 시 시퀀스 번호가 상대방에게 전달됩니다. 수신기는 각 패킷을 확인하며, 확인 응답에는 시퀀스 번호가 포함되어 발신자가 어떤 패킷이 확인되었는지 알 수 있도록 합니다. 이는 전송 중 손실된 패킷은 재전송될 수 있음을 의미합니다(송신자는 수신 확인을 받지 못했기 때문에 패킷이 목적지에 도달하지 못했음을 알게 됩니다). 또한 순서대로 도착하지 않은 패킷은 수신 측에서 올바른 순서로 재조립할 수 있습니다.

    또한, 발신자는 (처음 몇 개의 패킷을 통해) 패킷이 전송되고 그 확인 응답이 수신되기까지 평균적으로 걸리는 시간을 알고 있기 때문에 타임아웃을 설정할 수 있습니다. 반면 UDP는 패킷을 전송한 후 추적하지 않습니다. 따라서 패킷이 순서대로 도착하지 않거나 전송 중 손실되더라도 수신 측(또는 송신 측)은 이를 알 수 있는 방법이 없다.

"신뢰할 수 없는"이라는 표현은 "자주 실패할 것"이라는 의미가 아니라 "성공이 보장되지 않는다"는 의미로 사용됨에 유의하십시오. 실제 사용 시, 수신 소켓이 활성화되어 있고 데이터가 도착하는 대로 신속하게 처리하는 한 UDP는 상당히 신뢰할 수 있습니다.

참고 항목

도움말 항목