ScholarGate
Assistente

Camada de Transporte e Controle de Congestionamento

A camada de transporte estende a entrega de host para host para comunicação de processo para processo, oferecendo aos aplicativos fluxos de bytes confiáveis, ordenados e com controle de congestionamento (TCP) ou datagramas leves sem conexão (UDP), enquanto o controle de congestionamento regula as taxas de envio para que a rede compartilhada não entre em colapso.

Encontrar tema com PaperMindEm breveFind papers & topics
Tools & resources
Baixar slides
Learn & explore
VídeoEm breve

Definition

A camada de transporte é a camada de protocolo que fornece comunicação lógica entre processos de aplicação em execução em diferentes hosts, adicionando serviços como multiplexação, entrega confiável, controle de fluxo e controle de congestionamento sobre a entrega de host para host da camada de rede.

Scope

Esta área abrange os serviços de transporte de ponta a ponta: multiplexação e demultiplexação de dados para processos de aplicação, os princípios de transferência de dados confiável sobre uma rede não confiável (reconhecimentos, retransmissão, números de sequência, janelas deslizantes), o Protocolo de Controle de Transmissão orientado à conexão e o Protocolo de Datagrama do Usuário sem conexão, e a teoria e prática do controle de congestionamento. Exclui o roteamento de pacotes pela rede (camada de rede) e os protocolos de aplicação que usam serviços de transporte (camada de aplicação).

Sub-topics

Core questions

  • Como a camada de transporte entrega dados ao processo de aplicação correto via multiplexação e demultiplexação?
  • Como a entrega confiável e em ordem pode ser construída sobre uma rede não confiável e com perdas?
  • Como funcionam a configuração de conexão, o controle de fluxo e os mecanismos de confiabilidade do TCP?
  • Quando um aplicativo deve usar UDP em vez de TCP?
  • Como o controle de congestionamento detecta e responde à sobrecarga da rede, mantendo a equidade?

Key concepts

  • multiplexação e demultiplexação
  • portas e sockets
  • transferência de dados confiável
  • janela deslizante, go-back-N, repetição seletiva
  • handshake de três vias do TCP
  • controle de fluxo
  • controle de congestionamento
  • aumento aditivo/diminuição multiplicativa (AIMD)
  • slow start e congestion avoidance
  • Protocolo de Datagrama do Usuário (UDP)

Key theories

Transferência de dados confiável sobre um canal não confiável
A confiabilidade é construída a partir de reconhecimentos, temporizadores de retransmissão, números de sequência e protocolos de janela deslizante (go-back-N e repetição seletiva) que detectam e se recuperam de perdas, duplicações e reordenações, apesar de uma rede subjacente não confiável.
Controle de congestionamento TCP
O TCP infere congestionamento a partir da perda de pacotes e ajusta sua janela de envio com dinâmica de aumento aditivo/diminuição multiplicativa — slow start, congestion avoidance e fast recovery — para sondar a largura de banda disponível, recuando drasticamente em caso de perda.
Transporte sem conexão versus orientado à conexão
O UDP oferece um serviço fino e sem conexão, sem configuração, confiabilidade ou controle de congestionamento, minimizando atrasos e sobrecarga, enquanto o TCP oferece um fluxo de bytes orientado à conexão, confiável e com controle de congestionamento; a escolha troca latência e controle por garantias.

Clinical relevance

O comportamento da camada de transporte molda o desempenho de quase todos os aplicativos em rede: o TCP transporta web, e-mail e transferências de arquivos de forma confiável, enquanto o UDP sustenta usos de baixa latência, como DNS, voz e vídeo em tempo real e muitos jogos. O controle de congestionamento é o que impediu o colapso da Internet sob carga desde o final dos anos 1980, e o trabalho contínuo em algoritmos como CUBIC e BBR e protocolos como QUIC continua a ajustar o equilíbrio latência-throughput-equidade.

History

TCP e IP eram originalmente um único protocolo no projeto Cerf-Kahn de 1974 e foram posteriormente divididos, com o UDP (RFC 768, 1980) adicionado para aplicações que necessitavam apenas de serviço de datagrama básico. Após uma série de colapsos de congestionamento na Internet primitiva, o trabalho de Van Jacobson em 1988 introduziu os algoritmos de slow-start e congestion-avoidance que permanecem a base do controle de congestionamento TCP, refinados ao longo de décadas em variantes como Reno, CUBIC e BBR.

Debates

Controle de congestionamento baseado em perda versus baseado em atraso e baseado em modelo
O TCP clássico infere congestionamento a partir da perda de pacotes, o que pode subutilizar links de alta largura de banda e alta latência e reagir tardiamente, impulsionando algoritmos baseados em atraso e baseados em modelo, como o BBR; o debate continua sobre a equidade e a capacidade de implantação quando tais algoritmos coexistem com os baseados em perda.

Key figures

  • Van Jacobson
  • Jon Postel
  • Vinton Cerf
  • Sally Floyd

Related topics

Seminal works

  • kurose2021
  • jacobson1988
  • rfc9293

Frequently asked questions

Quando devo usar UDP em vez de TCP?
Use UDP quando a baixa latência for mais importante do que a entrega garantida e você puder tolerar ou lidar com a perda por conta própria — por exemplo, voz/vídeo em tempo real, consultas DNS ou jogos. Use TCP quando precisar de entrega confiável e ordenada e controle de congestionamento integrado, como para páginas da web, transferências de arquivos e e-mail.
O que o controle de congestionamento realmente faz?
O controle de congestionamento ajusta a velocidade com que um remetente injeta dados na rede com base em sinais de congestionamento, tipicamente perda de pacotes ou atraso. Ao recuar quando a rede está sobrecarregada e sondar a capacidade sobressalente de outra forma, ele mantém o tráfego agregado próximo à capacidade da rede e compartilha a largura de banda de forma aproximadamente justa entre os fluxos.

Methods for this concept

Related concepts