Protocolos e Serviços de Transporte: TCP, UDP e RDT

Classificado em Computação

Escrito em em português com um tamanho de 3,94 KB

Protocolos e Serviços de Transporte

Fornecem comunicação lógica entre processos de aplicação em diferentes hospedeiros.

Os protocolos de transporte são executados nos sistemas finais:

  • Lado emissor: quebra mensagens da aplicação em segmentos e envia para a camada de rede.
  • Lado receptor: remonta os segmentos em mensagens e passa para a camada de aplicação.

Camada de Transporte vs. Camada de Rede

  • Camada de Transporte: Comunicação lógica entre os processos; depende dos serviços da camada de rede (para garantir a entrega).
  • Camada de Rede: Comunicação lógica entre os hospedeiros.

Protocolos Principais

  • TCP (Transmission Control Protocol): Confiável, garante ordem de entrega (inclui controle de congestionamento, controle de fluxo e é orientado a conexão).
  • UDP (User Datagram Protocol): Não confiável, sem garantia de ordem de entrega (é uma extensão do melhor esforço do IP, não garante atrasos nem banda).

Multiplexação e Demultiplexação

  • Multiplexação: No hospedeiro emissor, coleta dados de múltiplos *sockets*, envelopa os dados com cabeçalho.
  • Demultiplexação: No hospedeiro receptor, entrega os segmentos recebidos ao *socket* correto. O hospedeiro usa endereços IP e números de porta para direcionar o segmento ao *socket* apropriado.

Identificação de Conexão

  • Sem conexão (UDP): Cria *sockets* com número de portas (identificado por 2 valores: verifica o número da porta de destino e direciona o segmento UDP para o *socket* com este número).
  • Orientado a conexão (TCP): Usa 4 valores (endereço IP e porta de origem/destino).

Checksum: Detecta erros no segmento transmitido.

Protocolos de Transmissão Confiável (RDT)

  • RDT 1.0: Transmissão confiável usando um canal confiável (sem perda de bits e pacotes).
  • RDT 2.0: Lida com canais com erros de bits (usa *ACKs* - receptor avisa que recebeu; *NAKs* - não recebeu; novos mecanismos para detecção de erros; tratamento de duplicatas).
  • RDT 2.2: Protocolo sem *NAK*.
  • RDT 3.0: Lida com canais com erros e perdas.

Características do TCP

Paralelismo: Vários pacotes ao mesmo tempo (aumenta o número de sequência e armazena no receptor/transmissor).

Visão Geral (Overview): Ponto a ponto, confiável, *sequencial byte stream*, *pipelined*, controle de congestionamento e de fluxo, *buffers* de transmissão e recepção, orientado a conexão.

Controle de Tempo e Retransmissão

  • RTT (Round-Trip Time): Como escolher a temporização: deve ser maior que o RTT medido. Muito curto causa temporização prematura; muito longo causa reação lenta à perda de segmento.
  • Estimativa de RTT: Usa *sample RTT* (tempo medido da transmissão de um segmento até sua confirmação).
  • Retransmissão Rápida: Reenvia o segmento antes que o temporizador expire.

Controle de Fluxo e Congestionamento

  • Controle de Fluxo: O transmissor não deve esgotar os *buffers* de recepção enviando dados rápidos demais (*speed-matching* encontra a taxa adequada equilibrando vazão e envio).
  • Controle de Congestionamento:
    • Recepção Multiplicativa: Diminui o *Congestion Window* (*congwin*) pela metade após um evento de perda.
    • Aumento Aditivo: Aumenta o *congwin* em 1 MSS a cada RTT.
    • Partida Lenta (*Slow Start*): Cresce exponencialmente até o primeiro evento de perda.

Entradas relacionadas: