Protocolos TCP vs UDP
Tanto o TCP quanto o UDP se encaixam na quarta camada do modelo OSI, que é a camada de transporte logo acima da camada IP. TCP e UDP suportam transmissão de dados de duas maneiras diferentes, TCP é orientado à conexão e UDP é menos a conexão.
No transporte de pacotes existem duas restrições principais, uma é a confiabilidade e outra é a latência. A confiabilidade é a entrega garantida do pacote e a latência é a entrega oportuna do pacote. Ambos não podem atingir o pico ao mesmo tempo, mas podem ser otimizados.
Para iniciar uma comunicação de dados entre dois nós, o remetente deve conhecer o IP do destinatário, bem como o número da porta. O endereço IP é para rotear o pacote e o número da porta é para entregar o pacote à pessoa correta. Explicando melhor esse cenário em um exemplo do mundo real, pense em um ambiente de complexo multicompras e alguém o direcionou para a loja 30 (que é um barbeiro), Golden Plaza, No 21 Park Ave, para chegar a este lugar você precisa saber apenas Não 21 park avenue, mas para obter o serviço do saloon, você precisa saber o número da loja que é 30. Você pode assumir o número 21 como endereço IP e o número 30 como porta.
O mesmo que no modelo de comunicação de dados e serviços de aplicação As aplicações TCP escutam os números das portas para aceitar conexões TCP. O mesmo que os aplicativos UDP também escutam números de porta para fornecer serviços UDP.
TCP:
Definido na RFC 793
TCP é um protocolo confiável de ponta a ponta orientado à conexão para suportar transmissão de dados garantida. A partir do próprio estabelecimento da conexão o TCP garante a confiabilidade. Algumas das principais características do TCP são handshake de 3 vias (SYN, SYN-ACK, ACK), Detecção de Erros, Inicialização Lenta, Controle de Fluxo e Controle de Congestionamento.
TCP é um mecanismo de transporte confiável, portanto, será usado onde a entrega de pacotes é obrigatória mesmo em congestionamentos. Exemplo típico para aplicativos TCP e números de porta são dados de FTP (20), FTP Control (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP(80), POP3(110), SNMP(161) e HTTPS(443). Esses são aplicativos TCP bem conhecidos.
UDP:
Definido na RFC 768
UDP (User Datagram Protocol) é um protocolo de transmissão simples que fornece um serviço não confiável. Isso não significa que o UDP não entregará os dados, mas não há mecanismos para monitorar o controle de congestionamento ou perda de pacotes etc. Como é simples, evita o processamento de sobrecarga na interface de rede. Os aplicativos em tempo real usam principalmente UDP porque é preferível descartar pacotes do que pacotes atrasados. Um exemplo típico são os fluxos de mídia de voz sobre IP.
Resumo:
(1) TCP é orientado à conexão e confiável, enquanto o UDP é menos confiável e não confiável.
(2) O TCP precisa de mais processamento no nível da interface de rede, enquanto no UDP não é.
(3) TCP usa, handshake de 3 vias, controle de congestionamento, controle de fluxo e outros mecanismos para garantir a transmissão confiável.
(4) O UDP é usado principalmente nos casos em que o atraso do pacote é mais sério do que a perda do pacote. (Aplicativos em tempo real)