IBM Cloud Docs
Entendendo os protocolos de comunicação da Internet

Entendendo os protocolos de comunicação da Internet

De um modo geral, um protocolo de comunicação é um sistema de regras que permite que duas ou mais entidades de um sistema de comunicações transmitam informações. A Internet tem um grande conjunto de protocolos para cobrir muitas situações. Na criação de aplicativos baseados na web e interfaces de programação, os desenvolvedores de software geralmente usam três desses protocolos de comunicação para descrever o estado da rede e as maneiras pelas quais os pacotes de dados são movidos pela rede:

  • ICMP, Internet Control Message Protocol, parte do conjunto de protocolo da Internet definida na RFC 792.
  • TCP, Protocolo de Controle de Transmissões
  • UDP, Protocolo UDP

Os protocolos que são usados para uma implementação específica de, digamos, uma chamada API, podem influenciar o comportamento geral de sua rede. Portanto, vale a pena entender as diferenças básicas entre elas. Se você precisar de mais informações, muitos bons artigos estão disponíveis na Internet com descrições detalhadas dos protocolos.

ICMP

ICMP é um protocolo de controle, o que significa que ele é projetado para transportar informações sobre o status da própria rede. Ele é essencialmente um protocolo de relatório de erro e de controle de erro da camada de rede (camada OSI 3) para a rede. Os exemplos mais conhecidos do ICMP na prática são os utilitários ping e traceroute. O utilitário ping usa o ICMP para análise de hosts remotos quanto à responsividade e o tempo de roundtrip geral das mensagens de análise. O utilitário traceroute usa o ICMP para descobrir e rastrear rotas de rede que os pacotes ICMP levam quando eles viajam para seu destino

O que os desenvolvedores precisam saber é que os pacotes ICMP não possuem números de porta TCP ou UDP associados a eles porque os números de porta são uma construção de camada 4 (camada de transporte).

TCP e UDP

O Protocolo de Controle de Transmissão (TCP) e o Protocolo de Datagrama do Usuário (UDP) são protocolos de transporte OSI da camada 4. Esses protocolos são usados para passar os dados reais. A principal diferença entre TCP e UDP, da perspectiva de um desenvolvedor, é como eles manipulam a ordem do pacote.

O TCP é um protocolo orientado a conexão, ele garante que todos os pacotes enviados cheguem ao destino na ordem correta.

Como alternativa, UDP é um protocolo sem conexão. A comunicação é orientada por datagrama. Portanto, a integridade é garantida somente no datagrama único. Os datagramas atingem um destino e podem chegar fora de ordem ou, possivelmente, eles não chegam de modo algum.

Geralmente o UDP é usado para comunicação em tempo real, em que é preferível uma pequena porcentagem da taxa de perda de pacotes à sobrecarga de uma conexão TCP.