Qual protocolo é responsável por controlar o tamanho dos segmentos e a taxa na qual os segmentos são trocados entre um cliente web e um servidor web?
a) TCP
b) IP
c) HTTP
d) Ethernet

Passo 1

O enunciado pergunta qual protocolo é responsável por controlar o tamanho dos segmentos e a taxa na qual os segmentos são trocados entre um cliente web e um servidor web. As alternativas fornecidas são:
a) TCP
b) IP
c) HTTP
d) Ethernet

Passo 2

Vamos clarificar o que a pergunta quer dizer com “tamanho dos segmentos” e “taxa na qual os segmentos são trocados”. Isso significa duas coisas principais:
  • Quem decide quantos bytes um remetente pode mandar antes de receber confirmação (controle de fluxo / janela).
  • Quem decide como aumentar ou reduzir a taxa de envio quando a rede está congestionada (controle de congestionamento).
    Também há a parte de “segmentos”: isso remete a unidades de dados em que a camada responsável divide a informação antes de enviar pela rede.

Passo 3

Apresentando o protocolo que faz isso (aula rápida e prática, sem pular etapas):
  • O protocolo de transporte orientado à conexão implementa segmentação (divide o fluxo de bytes em segmentos), confiabilidade (retransmissão de segmentos perdidos) e mecanismos de controle de fluxo e de congestionamento.
  • Controle de fluxo: o receptor informa ao emissor quanto espaço tem disponível com um campo chamado janela de recepção ( \text{rwnd}). O emissor limita o total de dados não confirmados a no máximo a janela do receptor.
  • Controle de congestionamento: o emissor também mantém uma janela de congestionamento ( \text{cwnd}) que cresce ou encolhe conforme algoritmos como Slow Start, Congestion Avoidance, Fast Retransmit / Fast Recovery. O total de bytes que o emissor pode ter em voo é aproximadamente
\min\big(\text{cwnd},\text{rwnd}\big).
  • Tamanho do segmento: esse protocolo negocia um parâmetro chamado Maximum Segment Size ( \text{MSS}) durante o estabelecimento da conexão; cada segmento normalmente carrega até \text{MSS} bytes de dados (sujeito ao MTU da rede).

Passo 4

Explicando rapidamente as outras camadas/opções para ver por que elas não são responsáveis por isso:
  • \text{IP}: é o protocolo da camada de rede. Ele trata de endereçamento e roteamento de datagramas entre hosts e faz fragmentação quando um pacote excede o MTU de um enlace. Não implementa controle de fluxo ou algoritmos de congestionamento fim-a-fim. Ou seja, não decide a taxa de envio entre cliente e servidor.
  • \text{HTTP}: é protocolo de aplicação usado para requests/responses (páginas, APIs). Ele roda sobre o protocolo de transporte; não lida com tamanho de segmento, janela, ou congestionamento — apenas troca mensagens no formato da aplicação.
  • \text{Ethernet}: é protocolo da camada de enlace (local). Ele organiza quadros em um enlace físico (rede local) e tem seu próprio MTU, detecção de colisões em versões antigas, etc., mas não controla a taxa fim-a-fim entre cliente e servidor através da Internet.

Passo 5

Exemplo prático e concreto (para fixar): suponha que o \text{MSS}=1460 bytes e, no início, a \text{cwnd}=1 MSS (fase Slow Start). Após cada RTT sem perda, \text{cwnd} dobra: 1 MSS, 2 MSS, 4 MSS, … até encontrar perda ou atingir limite. Se o receptor anuncia \text{rwnd}=8 MSS, o emissor envia no máximo
\min(\text{cwnd},\text{rwnd})
dados não confirmados. Esses mecanismos combinados determinam tanto o tamanho dos segmentos usados quanto a taxa de envio ao longo do tempo.

Passo 6

Resumo do raciocínio: o protocolo que realiza segmentação, negocia \text{MSS}, mantém janelas \text{rwnd} e \text{cwnd}, e executa algoritmos de controle de fluxo e congestionamento é o protocolo de transporte orientado à conexão usado na web. As outras opções atuam em camadas diferentes (rede, aplicação, enlace) e não fazem esse controle fim-a-fim.

Resposta

a) TCP