QUESTÃO 6

CAPACIDADE: Caracterizar protocolo de rede de comunicação.

Contexto:

O projeto RNC utiliza comunicação TCP/IP entre CLP e Node-RED.

Comando:

Qual protocolo é usado para garantir conexão confiável?

Alternativas:

A. UDP
B. TCP
C. HTTP
D. MQTT
E. FTP

Passo 1

O enunciado diz que o projeto RNC usa comunicação TCP/IP entre CLP e Node-RED. A pergunta é direta: “Qual protocolo é usado para garantir conexão confiável?” As alternativas são:
A. UDP
B. TCP
C. HTTP
D. MQTT
E. FTP

Passo 2

Entender o que significa “conexão confiável” é essencial. Vou explicar de forma simples o que isso quer dizer, com exemplos:
  • Conexão confiável significa que os dados enviados chegam ao destino em ordem, sem perdas (ou que perdas são detectadas e os pacotes são reenviados), e que existe confirmação (acknowledgement) do recebimento.
  • Em uma conexão confiável também costuma existir estabelecimento de conexão antes da troca de dados (handshake), controle de fluxo (para não sobrecarregar o receptor) e mecanismos para lidar com congestionamento na rede.
    Exemplo concreto: se o CLP envia um comando importante para ligar um motor, queremos certeza de que o comando chegou e foi aplicado — se um pacote se perder, queremos que ele seja reenviado automaticamente.

Passo 3

Explicando o protocolo UDP (alternativa A) para depois contrastar:
  • UDP é um protocolo simples, “connectionless” (sem conexão).
  • Ele envia datagramas sem fazer handshake, não exige confirmação de recebimento, não reordena nem retransmite pacotes perdidos.
  • Vantagem: menor overhead, menor latência; Desvantagem: sem garantia de entrega.
    Conclusão: UDP NÃO garante conexão confiável.

Passo 4

Agora explicando (em termos gerais) o protocolo que fornece os mecanismos típicos de confiabilidade:
  • Esse protocolo é orientado a conexão: antes de trocar dados ele estabelece uma sessão entre remetente e receptor (handshake).
  • Usa números de sequência para ordenar bytes, confirmações (ACKs) para saber quais partes chegaram, e retransmissão automática quando detecta perda.
  • Tem controle de fluxo (janela deslizante) para evitar que o receptor seja sobrecarregado, e controle de congestionamento para não saturar a rede.
    Exemplo prático passo a passo: o emissor manda um segmento, espera ACK; se não chegar ACK em certo tempo, retransmite; cada segmento tem número de sequência para reordenar se necessário.

Passo 5

Explicando as alternativas C, D e E (HTTP, MQTT, FTP):
  • HTTP, MQTT e FTP são protocolos de camada de aplicação — ou seja, definem como trocar mensagens/serviços entre programas.
  • Na prática, esses protocolos normalmente rodam sobre o protocolo de transporte que provê confiabilidade (o mesmo que descrevi no Passo 4). Ou seja, eles dependem do transporte para ter entrega garantida.
  • Portanto, embora HTTP/MQTT/FTP sejam usados em comunicações confiáveis, a própria garantia de entrega vem do protocolo de transporte subjacente, não deles diretamente.

Passo 6

Comparando e eliminando:
  • UDP (A): sem confiabilidade → eliminar.
  • HTTP (C), MQTT (D), FTP (E): são aplicações que, por si só, não implementam o mecanismo de estabelecimento de conexão, ACKs e retransmissão de baixo nível; dependem de um protocolo de transporte confiável → eliminar como resposta direta à pergunta “qual protocolo garante conexão confiável?”.
  • Resta a alternativa B, que corresponde ao protocolo de transporte orientado a conexão com handshake, ACKs, retransmissões e controle de fluxo/congestionamento — ou seja, o que garante a conexão confiável descrita.

Resposta

B. TCP

Exercícios relacionados