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
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
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