Escolar Documentos
Profissional Documentos
Cultura Documentos
ICMP IP REDE
Hardware ENLACE
ARP RARP
Interface DE DADOS
Protocolo de controle ICMP
ICMP: Internet Control Message Protocol
Kernel Protocolo
TCP TCP TRANSPORTE
(Comunicação TCP
de Dados)
Protocolo REDE
IP IP
IP
Protocolo ENLACE
Driver Ethernet Driver Ethernet
Ethernet DE DADOS
Rede Ethernet
Composição do Pacote de Dados
Transmitido
APLICAÇÃO APLICAÇÃO
DADOS
DADOS PDU
INFORMAÇÃO
INFORMAÇÃO
INFORMAÇÃO
Rede
Ambiente dos protocolos da camada de rede
Funções Da Camada De Rede
Transportar pacotes entre os aplicação
sistemas finais da rede transporter
ede
enlace
A camada de rede deve ter uma fisica
rede
rede enlace rede
entidade em cada sistema final enlace fisica enlace
fisica fisica
ou roteador da rede
rede
enlace
Funções importantes: fisica rede
enlace
fisica
Estabelecimento de conexão: rede
algumas arquiteturas de rede rede
enlace
enlace
fisica
exigem o estabelecimento de fisica
? ?
destino?
Banda-passante garantida? circuito virtual
abstração de serviço
?
entre pacotes? datagrama
Entrega sem perdas?
Entrega em ordem?
Realimentação de informação
de congestionamento?
Redes Datagrama: o modelo da Internet
Não existem conexões na camada de transporte
Não há informação de estado de conexão nos roteadores
Não existe conexão na camada de rede
Pacotes tipicamente transportam o endereço de destino
Pacotes para o mesmo destino podem seguir diferentes rotas
aplicação
aplicação
transporte
transporte
rede
rede
enlace 1. Envia dados 2. Recebe dados
enlace
fisica
fisica
Sub-rede roteando por datagrama: o modelo da
Internet
Circuitos Virtuais (VC)
“A ligação entre a origem e o destino emula uma
ligação telefônica”
Orientado ao desempenho
A rede controla a conexão entre a origem e o destino
aplicação
6. Recebe Dados aplicação
transporte 5. Inicia Fluxo de dados
rede 4. Call connected 3. Accept call transporte
rede
enlace 1. Call Request 2. incoming call
enlace
fisica
fisica
Modelos de Serviço da Camada de Rede:
Parâmetros Garantidos
Arquitetura Modelo de Realim. de
de Rede Serviço Banda Perda Ordem Tempo Congestão
“bons” caminhos:
tipicamente corresponde
aos caminhos de menor
custo
caminhos redundantes
Roteamento Hierárquico
Problemas do mundo real
roteadores não são todos idênticos
as redes não são “flat” na prática
Camada de enlace
Camada física
Controle de congestionamento
Controle de congestionamento
Quando há pacotes demais presentes em (parte de) uma sub-rede, o desempenho
diminui. Essa situação é chamada congestionamento. A figura ilustra o sintoma.
Controle de congestionamento
Quando o número de pacotes depositados na sub-rede pelos hosts está dentro
de sua capacidade de transporte, eles são todos entregues (exceto alguns que
sofram com erros de transmissão), e o número entregue é proporcional ao número
enviado.
Todos esses pacotes serão encaminhados com todo cuidado ao roteador seguinte,
aumentando a carga até o destino.
Controle de congestionamento
Processadores lentos também podem causar congestionamento.
• Por outro lado, o controle de fluxo se baseia no tráfego ponto a ponto entre um
determinado transmissor e um determinado receptor.
Sua tarefa é garantir que um transmissor rápido não possa transmitir dados
continuamente com maior rapidez do que o receptor é capaz de absorver.
O controle de fluxo quase sempre envolve algum feedback direto do receptor para o
transmissor. Dessa forma, o transmissor fica sabendo como tudo está sendo feito
na outra extremidade.
Princípios gerais do controle de congestionamento
Essa abordagem nos leva à divisão de todas as soluções em dois grupos: loops
abertos e loops fechados.
• As soluções para loops abertos tentam resolver o problema com um bom projeto,
basicamente para garantir que eles em princípio não ocorrerão. Uma vez que o
sistema esteja em funcionamento, não serão feitas correções que afetem processos
em andamento.
Tudo isso tem em comum o fato de que as decisões serão tomadas sem levar em
conta o estado atual da rede.
Princípios gerais do controle de congestionamento
Várias unidades métricas podem ser usadas para monitorar a sub-rede quanto à
ocorrência de congestionamentos.
É claro que esses pacotes extras aumentam a carga exatamente no momento em que
não há necessidade de mais carga, ou seja, quando a sub-rede está congestionada.
Essa informação pode então ser usada para rotear o tráfego em áreas
problemáticas, tornando possível que os roteadores façam o roteamento de pacotes
de modo a evitar os pontos congestionados.
Princípios gerais do controle de congestionamento
Políticas adotadas:
• Camada de Transporte
• Política de retransmissão
• Política de cache fora de ordem
• Política de confirmação
• Política de controle de fluxo
• Determinação de timeout
• Camada de Rede
• Circuitos virtuais versus datagramas na sub-rede
• Política de serviço e de enfileiramento de pacotes
• Política de descarte de pacotes
• Algoritmo de roteamento
• Gerenciamento da duração do pacote
• Camada de Enlace de dados
• Política de retransmissão
• Política de cache fora de ordem
• Política de confirmação
• Política de controle de fluxo
Políticas de prevenção de congestionamento
A idéia é simples: uma vez que o congestionamento tenha dado alguma indicação de
sua existência, nenhum outro circuito virtual será estabelecido até que o problema
tenha passado.
Políticas de prevenção de congestionamento
(a) Uma sub-rede congestionada. (b) Uma sub-rede redesenhada que elimina o
congestionamento. Também está representado um circuito virtual de A até B.
Políticas de prevenção de congestionamento
Esse tipo de reserva sempre poderá ser feito todo o tempo como procedimento de
operação padrão ou somente quando a sub-rede estiver congestionada. Uma
desvantagem de fazer isso o tempo todo é a tendência a desperdiçar recursos.
Políticas de prevenção de congestionamento
Agora vamos examinar algumas estratégias que podem ser utilizadas em sub-redes
de datagramas (e também em sub-redes de circuitos virtuais).
Se estiver, alguma ação será adotada. A ação específica pode ser uma dentre as
várias alternativas que examinaremos em seguida.
Políticas de prevenção de congestionamento
• O bit de advertência
Observe que, considerando que cada roteador ao longo do caminho podia ativar o bit
de advertência, o tráfego só aumentava quando nenhum roteador tinha problemas.
Políticas de prevenção de congestionamento
• Pacotes reguladores
O pacote original é marcado (um bit de cabeçalho é ativado) para que ele não venha
a gerar mais pacotes reguladores ao longo do caminho, e depois é encaminhado da
forma habitual.
Em geral, o primeiro pacote regulador faz a taxa de dados se reduzir a 0,50 de seu
valor anterior, o seguinte causa uma redução de 0,25 e assim por diante.
Uma abordagem alternativa é fazer com que o pacote regulador tenha efeito a cada
hop pelo qual passar.
Na etapa seguinte, o pacote regulador atingirá E, o que fará E reduzir o fluxo para
F. Essa ação impõe uma demanda maior sobre os buffers de E, mas proporciona
alívio imediato a F.
O efeito líquido desse esquema hop a hop é oferecer alívio rápido no ponto de
congestionamento, ao preço de aumentar o consumo de buffers do fluxo ascendente
(upstream).
Dessa maneira, o congestionamento pode ser cortado pela raiz sem perda de
pacotes.
Políticas de prevenção
de congestionamento
A primeira dessas políticas (antigo é melhor que novo) costuma ser chamada política
do vinho, e a segunda (novo é melhor que antigo) é chamada política do leite.
No caso de muitas aplicações, alguns pacotes são mais importantes que outros.
É bem conhecido o fato de que lidar com o congestionamento após sua detecção
inicial é mais eficaz do que permitir que o congestionamento se consolide e depois
tentar lidar com ele.
Essa observação nos leva à idéia de descartar pacotes antes que todo o espaço dos
buffers realmente se esgote.
O raciocínio por trás dessa lógica é que o TCP foi projetado para redes fisicamente
conectadas e essas redes são muito confiáveis; assim, a perda de pacotes se deve
muito mais ao estouro de buffers do que a erros de transmissão.
Tendo em vista que o roteador provavelmente não poderá detectar a origem que
está causando a maior parte do problema, escolher um pacote ao acaso na fila que
disparou a ação deve ser o melhor que ele consegue fazer.
Como ela sabe que a perda de pacotes em geral é causada pelo congestionamento e
por descartes, a origem responderá diminuindo a velocidade, em vez de continuar a
tentar transmitir com maior intensidade.
Em redes sem fios, nas quais a maioria das perdas se deve ao ruído no enlace
aéreo, essa abordagem não pode ser usada.
Políticas de prevenção de congestionamento
Controle de flutuação
Por exemplo, uma flutuação elevada, na qual alguns pacotes demoram 20 ms e outros
demoram 30 ms para chegar, resultará em uma qualidade irregular do som ou do
filme.
É claro que o valor médio escolhido deve ser viável. Ele deve levar em conta o tempo
de trânsito na velocidade da luz e o retardo mínimo na passagem pelos roteadores, e
talvez deixar uma pequena folga para alguns retardos inevitáveis.
Políticas de prevenção de congestionamento
Controle de flutuação
A flutuação pode ser limitada pelo cálculo do tempo de trânsito esperado para cada
hop ao longo do caminho.
Na realidade, o algoritmo que define, entre os diversos pacotes que disputam uma
linha de saída, o pacote que deve ser enviado em seguida sempre pode escolher o
pacote que estiver mais atrasado em sua programação.
Dessa forma, pacotes que estão adiantados na programação têm sua velocidade
reduzida, e pacotes que estão atrasados são acelerados; em ambos os casos, essa
ação reduz o volume de flutuação.
Políticas de prevenção de congestionamento
Controle de flutuação (minimizar o jitter)
Em algumas aplicações, como vídeo por demanda, a flutuação pode ser eliminada
pelo armazenamento em buffer no receptor, seguido pela busca de dados para
exibição no buffer, e não na rede em tempo real.
As técnicas que examinamos nas seções anteriores foram projetadas para reduzir o
congestionamento e melhorar o desempenho das redes.