it-swarm-pt.tech

Qual é a diferença entre UDP e TCP?

Meu roteador possui dois protocolos (e uma opção "ambos") que posso selecionar ao configurar o encaminhamento de porta: UDP e TCP. Qual é a diferença entre esses dois protocolos e quando você selecionaria um sobre o outro no encaminhamento de porta?

47
Guy

TCP é suportado por acks e novas tentativas para garantir que seus dados cheguem aonde estão indo. UDP está sem conexão e "dispara e esquece". O UDP é usado principalmente para aplicativos do tipo streaming, onde se você perder alguns dados, não precisará enviá-los novamente.

Qual você usa depende do aplicativo. Por exemplo, um servidor web usa TCP.

52
user640

Você pode encontrar um bom resumo aqui:

Qual é a diferença entre UDP e TCP?

Ambos TCP e UDP funcionam no modelo TCP/IP da camada de transporte, mas têm um uso muito diferente).

As diferenças mais importantes são:

  • Confiabilidade :
    TCP: orientado a conexão
    UDP: sem conexão
  • Encomenda :
    TCP: a ordem de recebimento da mensagem é garantida
    UDP: o pedido não é garantido
  • Peso do protocolo :
    TCP: pesado, devido à sobrecarga de conexão/pedido
    UDP: leve, muito pouca sobrecarga
  • Pacotes :
    TCP: streaming, os dados são lidos como um "stream", sem distinguir onde um pacote termina e o outro começa. Pode haver vários pacotes por chamada de leitura.
    UDP: datagramas, um pacote por chamada de leitura.

Estrutura do quadro

Quando os dados são enviados pela rede, eles precisam ser encapsulados nos chamados "quadros". Existem vários métodos de encapsulamento, dependendo do protocolo e da topologia que estão sendo usados. As imagens a seguir mostram como TCP e estruturas de quadros UDP diferem.

Esta é a estrutura do quadro TCP:

TCP frame

E essa é a estrutura de quadros UDP, muito mais simples:

UDP frame

Protocolos típicos que usam TCP são HTTP, FTP e SMTP. Exemplos de protocolos usando UDP são DNS e DHCP).

74
splattne

E a explicação no nível do CEO:

UDP é quando você joga seu papel na direção geral da lixeira.

Quando o TCP falha, você lança cópias exatas do mesmo papel repetidas vezes até que caia na lixeira. Haveria desperdício de papel e até ressentimento TCP resultam em desperdício de recursos da rede ou do sistema).

45
pgs

TCP e UDP são ambos protocolos executados em cima do IP. TCP tem entrega garantida e o UDP não. Você selecionaria um ou outro para encaminhamento de porta, dependendo do serviço que está tentando encaminhar. HTTP, por exemplo, é TCP. Se você não Para saber qual protocolo o serviço que você está tentando encaminhar, é quase certamente o TCP.

7
Brian

Para responder a outra parte da sua pergunta, você precisa encaminhar o que seu aplicativo usa. Para encaminhar o tráfego HTTP, selecione TCP. Para encaminhar o tráfego TFTP, selecione UDP. Os programas p2p usam principalmente tcp e udp, então encaminhe os dois.

Tudo depende do protocolo e do programa que você está usando.

3
hayalci

Assim como as diferenças mencionadas até agora TCP também fornece

controle de fluxo. Usando um mecanismo de janela, o destinatário limita quantos octetos (bytes) deseja receber do remetente antes que o remetente aguarde a permissão para enviar mais dados. O tamanho da janela pode ser alterado pelo receptor à medida que a conversa prossegue. Isso permite que um receptor 'acelere' a taxa de dados provenientes de um remetente: o UDP não permite isso e tudo o que um receptor pode fazer é jogar fora os dados que não podem ser armazenados em buffer ou processar na chegada.

algumas instalações mais técnicas, como reconhecimento não-contíguo (usa reconhecimentos seletivos para permitir ao remetente retransmitir apenas um quadro ausente, em vez do quadro ausente e dos subsequentes que o receptor já possui, mas não pôde reconhecer da maneira usual), manipulação de congestionamentos e retransmissão adaptativa (ajustando o temporizador que decide quanto tempo reenviar um quadro transmitido quando uma confirmação não é recebida). Eles não são relevantes para o UDP, mas ajudam TCP a fornecer serviços extras sobre o UDP sem aumentar muito a carga da rede para o mesmo volume de carga útil).

2
mas

O TCP faz um esforço para garantir que os dados cheguem ao destinatário; UDP não.

2
J. Polfer

Não importa todas as respostas que explicam uma contra a outra. Para propósitos de configurar um encaminhamento de porta, as regras são bem simples: você precisa escolher o TCP, a menos que os documentos do protocolo/aplicativo que você está usando digam para usar o UDP. Geralmente, os que usam UDP estão relacionados a streaming, ou coisas muito simples que favorecem protocolos leves/velocidade sobre confiabilidade (particularmente DNS e NTP). Observe que existem outros protocolos além de TCP e UDP também - ICMP, protocolos de encapsulamento etc.).

1
Lee B

Quanto mais conhecido é um protocolo, mais roteadores no caminho interferem no protocolo. Envie pacotes TCP, e há uma grande probabilidade de os pacotes recebidos serem altamente confundidos. O UDP geralmente não é tão confundido, e os outros 254 protocolos de paylod IP geralmente são completamente intocados.

1
user60557

Protocolo de datagrama de usuário (UDP)

Faz parte dos protocolos base do Internet Protocol Suite. Programas em computadores em rede podem enviar mensagens curtas, às vezes chamadas de datagramas. O UDP não garante confiabilidade (acontece que o datagrama pode chegar fora de ordem, duplicado ou ausente sem aviso prévio). O fato de não verificar se todos os pacotes são realmente entregues é feito, o UDP prova ser mais rápido e mais eficiente, para aplicativos que não precisam de entrega garantida. O UDP encontra seus usos em tais situações:

Aplicativos sensíveis ao tempo. Os problemas devido a pacotes atrasados ​​são evitados

Também é útil para servidores que respondem a pequenas consultas de um grande número de clientes. O UDP suporta transmissão de pacotes (transmite a todos na rede local) e multicasting (transmite a todos os assinantes).

Protocolo de controle de transmissão (TCP)

É frequentemente chamado de TCP/IP devido à importância deste protocolo no Internet Protocol Suite. TCP opera em um nível superior, relacionado apenas aos dois sistemas finais (por exemplo, entre um navegador da web e um servidor da web). TCP fornece entrega sequencial confiável de um fluxo de dados de um programa em um computador para outro programa em outro computador. Os usos comuns do TCP reagrupam o suporte por email, transferência de arquivos e aplicativos da Web. Entre suas tarefas de gerenciamento, TCP controla o tamanho da mensagem, a taxa na qual as mensagens são trocadas e o congestionamento do tráfego da rede. Quanto ao IP, ele lida com transmissões de nível inferior de computador para computador como uma mensagem transferida pela Internet.

0
surendran

Bem, ambos são protocolos de rede criados sobre algo chamado IP ou Internet Protocol. O Protocolo da Internet é o principal protocolo da Internet e é, por exemplo, o que nos permite navegar na web. É por isso que você frequentemente vê esses protocolos escritos como TCP/IP ou UDP/IP. Na verdade, eles são protocolos principais da internet.

Nos dois casos, seus dados são divididos em blocos chamados pacotes. TCP garante que esses pacotes cheguem ao seu destino e na ordem correta e sem erros).

O UDP, por outro lado, não garante que um pacote de dados chegue. Apenas garantirá que, se chegar, será sem erros.

Normalmente, outros protocolos são executados sobre TCP e UDP e são conhecidos como protocolos de aplicativos porque operam dentro de um aplicativo e não no sistema operacional.) Sua navegação na Web usa o protocolo HTTP que usará o TCP.

Pesquisas de nome de domínio ou consultas DNS geralmente usam UDP, mas também podem usar TCP. Vários serviços de streaming usam UDP sob outros protocolos de aplicativos.

Espero que responda sua pergunta em inglês mais simples.

0
Matt