it-swarm-ko.tech

UDP와 TCP의 차이점은 무엇입니까?

라우터에는 포트 전달을 설정할 때 선택할 수있는 두 가지 프로토콜 (및 "둘 다"옵션)이 있습니다 : UDP 및 TCP. 이 두 프로토콜의 차이점은 무엇이며 언제 포트 포워딩에서 다른 프로토콜을 선택할 것입니까?

47
Guy

TCP 데이터가 어디로 가는지 확인하기 위해 acks와 재 시도에 의해 지원됩니다. UDP 은 연결이없고 "화재와 잊어"입니다. UDP는 주로 스트리밍 유형 응용 프로그램에 사용되며 일부 데이터가 손실되면 다시 보내려고 할 필요가 없습니다.

사용하는 응용 프로그램에 따라 다릅니다. 예를 들어 웹 서버는 TCP를 사용합니다.

52
user640

여기서 좋은 요약을 찾을 수 있습니다.

DP와 TCP 인터넷 프로토콜의 차이점은 무엇입니까?

TCP와 UDP는 모두 전송 계층 TCP/IP 모델에서 작동하지만 사용법이 매우 다릅니다.

가장 중요한 차이점은 다음과 같습니다.

  • 신뢰성 :
    TCP : 연결 지향
    UDP : 비 연결
  • 주문 :
    TCP : 메시지 수신 순서가 보장됩니다
    UDP : 주문이 보장되지 않습니다
  • 프로토콜 무게 :
    TCP : 연결/주문 오버 헤드로 인해 헤비급
    UDP : 경량, 매우 적은 오버 헤드
  • 패킷 :
    TCP : 스트리밍, 데이터는 하나의 패킷이 끝나고 다른 패킷이 시작되는 위치를 구분하지 않고 "스트림"으로 읽 힙니다. 읽기 호출 당 여러 개의 패킷이있을 수 있습니다.
    UDP : 데이터 그램, 한 번의 읽기 호출 당 하나의 패킷.

프레임 구조

데이터가 네트워크를 통해 전송 될 때 소위 "프레임"으로 캡슐화해야합니다. 사용중인 프로토콜 및 토폴로지에 따라 다양한 캡슐화 방법이 있습니다. 다음 이미지는 TCP와 UDP 프레임 구조가 어떻게 다른지 보여줍니다.

이것은 TCP 프레임 구조입니다 :

TCP frame

이것은 UDP 프레임 구조로 훨씬 간단합니다.

UDP frame

TCP를 사용하는 일반적인 프로토콜은 HTTP, FTP 및 SMTP입니다. UDP를 사용하는 프로토콜의 예는 DNS 및 DHCP입니다.

74
splattne

그리고 CEO 수준의 설명 :

UDP는 용지를 쓰레기통의 일반적인 방향으로 던질 때입니다.

TCP는 누락 된 경우 동일한 용지의 정확한 사본을 휴지통에 넣을 때까지 반복해서 던집니다. 종이 낭비, 심지어 재전송 TCP 패킷으로 인해 네트워크 또는 시스템 리소스가 낭비 될 수 있습니다.).

45
pgs

TCP와 UDP는 모두 IP 위에서 실행되는 프로토콜입니다. TCP 배달을 보장하고 UDP는 보장하지 않습니다. 전달하려는 서비스에 따라 포트 전달을 위해 하나를 선택합니다. HTTP는 예를 들어 TCP입니다. 전달하려는 서비스가 어떤 프로토콜인지 알지 못합니다. 거의 확실하게 TCP입니다.

7
Brian

질문의 다른 부분에 대답하려면 응용 프로그램에서 사용하는 내용을 전달해야합니다. HTTP 트래픽을 전달하려면 TCP를 선택하십시오. TFTP 트래픽을 전달하려면 UDP를 선택하십시오. p2p 프로그램은 대부분 tcp와 udp를 모두 사용하므로 둘 다 전달하십시오.

프로토콜과 사용중인 프로그램에 따라 다릅니다.

3
hayalci

지금까지 언급 된 차이점뿐만 아니라 TCP

흐름 제어. 창 메커니즘을 사용하여 수신자는 발신자가 더 많은 데이터를 보낼 수있는 권한을 기다려야하기 전에 발신자로부터 수신하려는 옥텟 (바이트) 수를 제한합니다. 대화가 진행되는 동안 수신자가 창의 크기를 변경할 수 있습니다. 이것은 수신자가 보낸 사람으로부터 오는 데이터의 속도를 '조절'할 수있게합니다. UDP는 이것을 허용하지 않으며 수신자가 할 수있는 모든 것은 도착시 버퍼링하거나 처리 할 수없는 데이터를 버리는 것입니다.

비 인접 수신 확인 (송신자가 누락 된 프레임이 아니라 누락 된 프레임과 수신자가 이미 가지고 있지만 일반적인 방법으로 인식 할 수없는 후속 프레임 대신 재전송 할 수 있도록 선택적 수신 확인 사용), 혼잡 처리 및 적응 재전송 (응답이 수신되지 않을 때 전송 된 프레임을 재전송하는 시간을 결정하는 타이머 조정) 이는 UDP와 관련이 없지만 TCP는 동일한 페이로드 볼륨에 대한 네트워크로드를 크게 늘리지 않고 UDP를 통해 추가 서비스를 제공하는 데 도움이됩니다.

2
mas

TCP는 데이터가 수신자에게 전달되도록 노력합니다. UDP는 그렇지 않습니다.

2
J. Polfer

하나와 다른 것을 설명하는 모든 대답을 신경 쓰지 마십시오. 포트 포워드를 설정하기 위해 규칙은 매우 간단합니다. 사용중인 프로토콜/응용 프로그램에 대한 문서가 UDP를 사용한다고 말하지 않는 한 TCP를 선택해야합니다. 일반적으로 UDP를 사용하는 것은 스트리밍과 관련이 있거나 가벼운 프로토콜/신속성 (특히 DNS 및 NTP)보다 빠른 속도를 선호하는 매우 간단한 것입니다. TCP 및 UDP-ICMP, 터널링 프로토콜 등) 외에 다른 프로토콜이 있습니다.

1
Lee B

잘 알려진 프로토콜 일수록 경로에 더 많은 라우터가 프로토콜을 개입시킵니다. tcp 패킷을 보내면 수신 패킷이 엉망이 될 가능성이 큽니다. UDP는 일반적으로 그렇게 엉망이 아니며 다른 254 개의 IP paylod 프로토콜은 일반적으로 완전히 변경되지 않습니다.

1
user60557

사용자 데이터 그램 프로토콜 (UDP)

Internet Protocol Suite의 기본 프로토콜의 일부입니다. 네트워크 컴퓨터의 프로그램은 데이터 그램이라고도하는 짧은 메시지를 보낼 수 있습니다. UDP는 신뢰성을 보장하지 않습니다 (데이터 그램이 고장 났거나 복제되거나 사전 통지없이 누락 될 수 있음). 모든 패킷이 실제로 전달되는지 여부를 확인하지 않으므로 UDP는 전달이 보장되지 않는 응용 프로그램에 대해 더 빠르고 효율적입니다. UDP는 다음과 같은 상황에서 그 용도를 찾습니다.

시간에 민감한 응용 프로그램. 지연된 패킷으로 인한 문제를 피할 수 있습니다

또한 수많은 클라이언트의 작은 쿼리에 응답하는 서버에도 유용합니다. UDP는 패킷 브로드 캐스트 (로컬 네트워크의 모든 장치로 전달) 및 멀티 캐스팅 (모든 가입자에게 전달)을 지원합니다.

전송 제어 프로토콜 (TCP)

Internet Protocol Suite에서이 프로토콜의 중요성으로 인해 종종 TCP/IP라고합니다. TCP는 두 엔드 시스템 (예 : 웹 브라우저와 웹 서버 간)에만 관련된 상위 레벨에서 작동합니다. TCP는 한 컴퓨터의 한 프로그램에서 다른 컴퓨터의 다른 프로그램으로 데이터 스트림을 안정적으로 순차적으로 전달합니다. TCP 재 그룹 전자 메일 지원, 파일 전송 및 웹 응용 프로그램의 일반적인 사용. 관리 작업 중 TCP는 메시지 크기, 메시지 교환 속도 및 네트워크 트래픽 혼잡을 제어합니다. IP는 인터넷을 통해 전송되는 메시지로 컴퓨터에서 컴퓨터로의 하위 수준 전송을 처리합니다.

0
surendran

둘 다 인터넷 프로토콜 또는 IP라는 네트워크 프로토콜입니다. 인터넷 프로토콜은 인터넷의 주요 프로토콜이며 예를 들어 웹 탐색을 가능하게합니다. 따라서 이러한 프로토콜이 종종 TCP/IP 또는 UDP/IP로 작성되는 것을 보게됩니다. 그들은 실제로 인터넷의 핵심 프로토콜입니다.

두 경우 모두 데이터는 패킷이라고하는 청크로 분할됩니다. TCP이 패킷이 목적지에 올바른 순서로 오류없이 도착하도록합니다.

반면에 UDP는 데이터 패킷이 도착하는 것을 보장하지 않습니다. 도착한 경우 오류가 없는지 확인합니다.

일반적으로 다른 프로토콜은 TCP 및 UDP 위에서 실행되며 운영 체제가 아닌 응용 프로그램 내에서 작동하기 때문에 응용 프로그램 프로토콜이라고합니다. 웹 탐색은 HTTP 프로토콜을 사용합니다. TCP 프로토콜.

도메인 이름 조회 또는 DNS 쿼리는 종종 UDP를 사용하지만 TCP도 사용할 수 있습니다. 많은 스트리밍 서비스가 다른 응용 프로그램 프로토콜 아래에서 UDP를 사용합니다.

더 간단한 영어로 귀하의 질문에 대답하기를 바랍니다.

0
Matt