Pular para o conteúdo principal

Questão de Redes de Computadores — TCP e UDP — VUNESP 2023

Redes de ComputadoresTCP e UDP
Código
vu196821
Banca
VUNESP
Órgão
TRF 3
Ano
2023
Cargo
TJ TRF3

O conteúdo de um segmento TCP foi capturado por um software sniffer de rede, tendo sido apresentado da seguinte maneira.

 

Transmission Control Protocol, Src Port: 23,
Dst Port: 1254, Seq: 1, Ack: 28, Len: 3
   Source Port: 23
   Destination Port: 1254
   [Stream index: 0]
   [Conversation completeness: Complete, WITH_
   DATA (31)]
   [TCP Segment Len: 3]
   Sequence Number: 1(relative sequence number)
   Sequence Number (raw): 3225454543
   [Next Sequence Number: 4 (relative sequence number)]
   Acknowledgment Number: 28 (relative ack number)
   Acknowledgment number (raw): 72603787

 

O número de sequência relativo do próximo byte que o transmissor desse segmento espera receber da outra parte, na continuidade da comunicação, é

  1. A72603788.
  2. B29.
  3. C28.
  4. D2.
  5. E3225454544.
Revelar gabarito e comentário

GabaritoC — 28.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Resolução

Gabarito: letra C — a conta chega a 28 — alternativa C.

A ideia por trás

O TCP é um protocolo de comunicação confiável: ele divide os dados em segmentos e numera cada byte para garantir que tudo chegue na ordem certa. Dois números no cabeçalho fazem esse controle: o número de sequência (SEQ), que diz qual byte este segmento está carregando, e o número de confirmação (ACK), que diz qual byte o remetente espera receber de volta — ou seja, é a forma de avisar 'já recebi tudo até aqui, manda o próximo'.

A regra é simples: o campo ACK de um segmento indica o próximo byte esperado na direção contrária. Se o ACK vale 28, significa que todos os bytes até o 27 foram recebidos e o 28 é o próximo aguardado. Já o campo SEQ indica o primeiro byte dos dados que este segmento está enviando; somando o comprimento (Len) ao SEQ, obtém-se o próximo número de sequência dos próprios dados, que é diferente do ACK.

A questão testa exatamente essa distinção: ela pergunta pelo próximo byte que o transmissor espera receber, que é o valor do campo ACK, não o próximo SEQ calculado com Len.

O que a questão dá

  • Seq: 1 (número de sequência relativo)

  • Ack: 28 (número de confirmação relativo)

  • Len: 3 (comprimento do segmento em bytes)

O que queremos: o número de sequência relativo do próximo byte que o transmissor espera receber da outra parte

Passo 1 — Identificar o campo que indica o próximo byte esperado

A pergunta é sobre o que o transmissor espera receber da outra parte. No TCP, quem informa isso é o campo Acknowledgment Number (ACK), não o Sequence Number (SEQ). O SEQ fala dos dados que estão sendo enviados agora; o ACK fala dos dados que se espera receber em seguida.

NÃO CAIA NESSA!

Confundir SEQ com ACK — o SEQ é o que se envia, o ACK é o que se espera receber.

Passo 2 — Ler o valor do campo ACK no segmento capturado

Já sabemos que o ACK é o campo certo; agora basta extrair o valor dele da captura. O enunciado mostra claramente 'Acknowledgment Number: 28 (relative ack number)' — esse é o número relativo, que é o que a questão pede.

28\boxed{28}
NÃO CAIA NESSA!

Usar o valor bruto (raw) 72603787 em vez do relativo 28 — a questão pede explicitamente o relativo.

Resposta: 28 — alternativa C

Link permanente: /questoes/vu196821