Parte 4 - Camada de Rede - DECOM-UFOP

Propaganda
Camada
BCC361 – Redes de Computadores
Universidade Federal de Ouro Preto
Departamento de Ciência da Computação
Nome
5
Aplicação
4
Transporte
3
Rede
2
Enlace
1
Física
Prof. Reinaldo Silva Fortes
www.decom.ufop.br/reinaldo
2012/02
Camada de Rede
1
Agenda
•
•
•
•
•
•
Introdução;
Algoritmos de roteamento;
Algoritmos de controle de congestionamento;
Qualidade de serviço;
Interligação de redes;
A camada de rede da Internet.
2
Introdução;
Algoritmos de roteamento;
Algoritmos de controle de congestionamento;
Qualidade de serviço;
Interligação de redes;
A camada de rede da Internet.
INTRODUÇÃO
3
Introdução
Tópicos
• Objetivos;
• Comutação de pacotes Store-and-Forward;
• Serviços oferecidos à camada de transporte;
• Serviço não orientado a conexões;
• Serviço orientado a conexões;
• Datagramas v.s. Circuitos Virtuais.
4
Introdução
Objetivos
• Camada de Enlace: move quadros de duas máquinas;
• Camada de Rede:
• Transferência de pacotes de uma origem a um destino;
• Pode envolver vários hops (saltos) em roteadores intermediários
ao longo do percurso;
• Para atingir seus objetivos, tem a necessidade de conhecer a
topologia da rede para escolher os caminhos mais apropriados.
5
Introdução
Comutação Store-and-Forward
• Define o contexto de operação dos protocolos da camada de rede;
• Um host envia o pacote para o roteador mais próximo;
• O pacote é armazenado até chegar completamente e o checksum é
verificado;
• Em seguida o roteador encaminha o pacote para o próximo roteador
ao longo do caminho até que ele encontre o host de destino.
6
Introdução
Serviços oferecidos
• A camada de rede oferece serviços à camada de transporte através
de suas interfaces;
• Objetivos:
1. Os serviços devem ser independentes da tecnologia dos roteadores;
2. A camada de transporte deve ser isolada do número, tipo e da
topologia dos roteadores presentes;
3. Os endereços de rede que tornam os pacotes disponíveis para a
camada de transporte devem usar um plano de numeração uniforme;
• Dois tipos de serviço:
• Não orientados à conexão;
• Orientados à conexão.
7
Introdução
Serviços oferecidos
• Serviços não orientados à conexão:
• Os pacotes são injetados individualmente na rede e roteados de
modo independente uns dos outros;
• Neste contexto os pacotes são denominados datagramas e a rede
formada é denominada rede de datagramas.
8
Introdução
Serviços oferecidos
• Serviços orientados à conexão:
• É estabelecido um caminho entre os roteadores de origem e
destino antes do envio de qualquer pacote. Todos os pacotes
serão enviados através deste caminho;
• Esta conexão é denominada circuito virtual e a rede formada é
denominada rede de circuitos virtuais.
9
Introdução
Serviços oferecidos
• Datagramas v.s. Circuitos Virtuais (1):
Questão
Rede de Datagramas
Rede de Circuitos Virtuais
Configuração de circuitos
Desnecessária.
Obrigatória.
Endereçamento
Cada pacote contém os
endereços completos de
origem e destino.
Cada pacote contém um
pequeno número do circuito
virtual.
Informações sobre o estado
Os roteadores não
armazenam informações
sobre o estado das conexões.
Cada circuito virtual requer
espaço em tabelas de
roteadores por conexão.
Cada pacote é roteado
independentemente.
A rota é escolhida quando o
circuito virtual é
estabelecido; todos os
pacotes seguem essa rota.
Roteamento
10
Introdução
Serviços oferecidos
• Datagramas v.s. Circuitos Virtuais (2):
Questão
Efeitos de falhas no roteador
Qualidade de serviço
Controle de
congestionamento
Rede de Datagramas
Rede de Circuitos Virtuais
Nenhum, com exceção dos
pacotes perdidos durante a
falha.
Todos os circuitos virtuais
que tiverem passado pelo
roteador que apresentou o
defeito serão encerrados.
Difícil.
Fácil, se for possível alocar
recursos suficientes com
antecedência para cada
circuito virtual.
Difícil.
Fácil, se for possível alocar
recursos suficientes com
antecedência para cada
circuito virtual.
11
Introdução;
Algoritmos de roteamento;
Algoritmos de controle de congestionamento;
Qualidade de serviço;
Interligação de redes;
A camada de rede da Internet.
ALGORITMOS DE ROTEAMENTO
12
Algoritmos de roteamento
Tópicos
•
•
•
•
•
•
•
•
•
•
Introdução;
O princípio da otimização;
Roteamento pelo caminho mais curto;
Roteamento por inundação (Flooding);
Roteamento por vetor de distâncias;
Roteamento de estado de enlace;
Roteamento hierárquico;
Roteamentos por broadcast, multicast e anycast;
Roteamento para dispositivos móveis;
Roteamento em redes ad hoc.
13
Algoritmos de roteamento
Introdução
• Algoritmos de roteamento constituem um dos elementos
mais importantes no projeto da camada de rede;
• O algoritmo de roteamento é a parte do software da camada
de rede que decide sobre a interface de saída a ser utilizada
na transmissão de um pacote de entrada;
• O roteamento é o processo de preenchimento e atualização
de tabelas de roteamento contidas em cada roteador;
• O encaminhamento é o processo que trata a chegada de cada
pacote, consultando a tabela de roteamento e direcionando-o
através da interface de saída (definida previamente pelo
roteamento).
14
Algoritmos de roteamento
Introdução
• Algoritmos de roteamento podem ser classificados em:
• Não adaptativos (roteamento estático):
• A escolha das rotas é previamente calculada na inicialização da rede;
• Não responde bem a falhas;
• Mais útil quando a escolha de rotas é óbvia (ex. apenas uma opção);
• Adaptativos (roteamento dinâmico):
• Alteram as decisões de roteamento para refletir mudanças de
topologia e tráfego;
15
Algoritmos de roteamento
O princípio da otimização
• Caso o roteador J esteja no caminho ótimo entre I e K, então o
caminho ótimo entre J e K também está na mesma rota;
• O conjunto de rotas ideais de todas as origens para determinado
destino formam uma árvore denominada árvore de escoamento;
• Como se trata de uma árvore, não contém loops, assim um pacote
será entregue dentro de um limite finito de hops.
16
(a) Uma rede. (b) A árvore de escoamento para o roteador B.
Algoritmos de roteamento
Roteamento pelo caminho mais curto
• Técnica simples para obter caminhos ideais a partir de uma
imagem da rede;
• A partir de um grafo da rede (nós representam hosts e arestas
representam interfaces de ligação), aplica-se um algoritmo
para encontrar o caminho mais curto entre dois hosts;
• Métricas possíveis (pesos das arestas):
•
•
•
•
Número de hops;
Distância física;
Tempo de retardo;
Etc...
17
Algoritmos de roteamento
Roteamento por inundação (Flooding)
• Cada pacote é enviado para cada interface de saída, exceto
aquela pela qual ele chegou;
• Problema: muitos pacotes duplicados;
• O cabeçalho de cada pacote contém um contador de hops que é
decrementado a cada hop, quando zerado o pacote é descartado;
• Para evitar transmitir pacotes mais de uma vez, pode ser
acrescentado um número de sequência relacionado a cada
origem;
• Utilidades:
• Pode ser eficiente quando existirem vários destinos;
• É robusto, pois geralmente encontra um caminho, podendo ser
eficiente em situações de guerra ou catástrofes.
18
Algoritmos de roteamento
Roteamento por vetor de distâncias
• Cada roteador mantém uma tabela contendo a melhor
distância até cada destino e qual interface deve ser utilizada;
• Estas tabelas são atualizadas com base na troca de
informações com seus vizinhos;
• As métricas utilizadas são variadas;
• Também conhecido como algoritmo de Bellmand-Ford ou
Ford-Fullkerson;
• Usado na ARPANET até 1979.
19
Algoritmos de roteamento
Roteamento por vetor de distâncias
• Processo de atualização:
20
(a) Topologia da rede.
(b) Entrada em A, I, H, K, e nova tabela de roteamento de J.
Algoritmos de roteamento
Roteamento por vetor de distâncias
• Problema da contagem ao infinito:
• O estabelecimento das rotas pela rede é chamado convergência;
• Apesar de convergir para a resposta correta, no roteamento por vetor de
distâncias pode ser feito de forma lenta;
• “Notícias boas” se espalham rapidamente, as “más notícias” se
propagam lentamente:
21
(a) A inicialmente está fora de funcionamento e reestabelece comunicação.
(b) A inicialmente está em funcionamento e perde a comunicação.
Algoritmos de roteamento
Roteamento de estado de enlace
• O roteamento por vetor de distância leva muito tempo para
convergir (decorrência da contagem ao infinito);
• Assim, foi substituído por um novo algoritmo, o roteamento
de estado de enlace;
• Nele, cada roteador realiza os seguintes passos:
1.
2.
3.
4.
5.
Descobrir seus vizinhos e aprender seus endereços;
Medir a distância (ou custo) até cada um de seus vizinhos;
Criar um pacote contendo tudo que acabou de aprender;
Enviar este pacote para todos e receber pacotes de todos os
outros roteadores;
Calcular o caminho mais curto até cada um dos outros
roteadores.
22
Algoritmos de roteamento
Roteamento de estado de enlace
1. Descobrir seus vizinhos e aprender seus endereços:
•
•
•
•
Um pacote HELLO é enviado;
Os vizinhos respondem com um identificador;
Este identificador precisa ser exclusivo;
Quando determinados roteadores estão conectados em
broadcast a situação é um pouco mais complexa:
23
(a) Nove roteadores e uma LAN. (b) Grafo para a rede considerando um nó virtual N
para representar a LAN (um roteador é selecionado para representar N).
Algoritmos de roteamento
Roteamento de estado de enlace
2. Medir a distância (ou custo) até cada um de seus vizinhos:
• O custo pode ser definido automaticamente ou configurado pelo
administrador da rede;
• Automaticamente:
• Um pacote especial ECHO/REPLAY é enviado e devolvido
imediatamente;
• Com o tempo de ida e volta é possível estimar o custo;
• Manualmente:
• Um exemplo é utilizar valores inversamente proporcionais à largura
de banda das conexões.
24
Algoritmos de roteamento
Roteamento de estado de enlace
3. Criar um pacote contendo tudo que acabou de aprender:
• Os pacotes devem conter: Identidade do transmissor, Número de
sequência, Idade (TTL), Lista de vizinhos e seus custos;
• Quando criar estes pacotes?
• Periodicamente em intervalos regulares;
• Na ocorrência de eventos significativos.
25
(a) Rede. (b) Pacotes de estado de enlace para rede (a).
Algoritmos de roteamento
Roteamento de estado de enlace
4. Enviar este pacote e receber pacotes de todos os outros
roteadores (1):
• Parte mais complicada do algoritmo, todos os roteadores
precisam receber os pacotes de estado de enlace de forma rápida
e confiável;
• Algoritmo mais básico: Inundação;
• É feito o controle de roteadores e números de sequência;
• Para não haver repetição de número de sequência usa 32 bits;
• Problemas:
• Falha do roteador e reinício da numeração;
• Erro (adulteração) do número de sequência;
26
Algoritmos de roteamento
Roteamento de estado de enlace
4. Enviar este pacote e receber pacotes de todos os outros
roteadores (2):
• Solução: incluir a “idade” (TTL) do pacote;
• Ele é decrementado a cada segundo, quando chega a 0 os
dados do roteador são descartados;
• Aprimoramentos:
• Retenção do pacote de estado de enlace;
• Confirmação dos pacotes de estado.
27
Algoritmos de roteamento
Roteamento de estado de enlace
5. Calcular o caminho mais curto até cada um dos outros
roteadores:
• A partir dos pacotes de estado é possível criar o grafo da subrede;
• Executa-se então o algoritmo de Dijkstra localmente;
• Memória necessária: ordem de K * N (K vizinhos e N roteadores).
28
Algoritmos de roteamento
Roteamento hierárquico
• Com o aumento do tamanho das redes, a quantidade de
recursos necessários para o roteamento também crescem;
• Uma estratégia a ser usada é a segmentação da rede em
regiões, originando o roteamento hierárquico;
• Isso pode acarretar em um aumento do comprimento do
trajeto, mas pesquisas apontam para que esta perda não seja
tão impactante;
• O número ideal de níveis para uma rede de N roteadores é
ln N, exigindo e ln N entradas por roteador na tabela de
roteamento;
29
Algoritmos de roteamento
Roteamento hierárquico
• Exemplo de roteamento em uma hierarquia de dois níveis com
cinco regiões:
30
Algoritmos de roteamento
Roteamento por broadcast
• Em algumas aplicações os hosts necessitam enviar mensagens
a muitos ou a todos os outros hosts;
• O envio para todos os outros hosts é denominado broadcast;
• Existem vários métodos;
•
•
•
•
N mensagens (1 para cada destino);
Roteamento para vários destinos;
Inundação;
Encaminhamento pelo caminho inverso (vide figura no próximo
slide).
31
Algoritmos de roteamento
Roteamento por broadcast
• Encaminhamento pelo caminho inverso:
(a) Rede. (b) Árvore de escoamento associada ao roteador I.
(c) Árvore a partir do encaminhamento inverso.
32
Algoritmos de roteamento
Roteamento por multicast
• Em determinadas aplicações é necessário enviar mensagens
para vários receptores;
• Quando o número de receptores é muito grande o
roteamento por broadcast pode ser uma boa alternativa;
• Por outro lado, quando ele for muito pequeno, enviar uma
mensagem para cada receptor pode ser uma boa alternativa;
• Entretanto, quando este número não é grande ou pequeno o
suficiente para as duas alternativas anteriores, um outro tipo
de estratégia se torna necessária => Roteamento por
multicast.
33
Algoritmos de roteamento
Roteamento por multicast
• Para a realização do multcasting é necessário fazer o
gerenciamento dos grupos;
• Usaremos como premissa que o roteador sabe a que grupo
pertence cada host;
• Cada roteador calcula uma árvore de multicasting;
• O encaminhamento pode ser feito realizando “podas”.
34
Algoritmos de roteamento
Roteamento por multicast
• Exemplo:
(a) Rede. (b) Spanning tree* para o roteador mais à esquerda.
(c) Árvore multicast para o grupo 1. (d) Árvore multicast para o grupo 2.
* Uma spanning tree é uma árvore que é um subconjunto da rede que inclui todos os roteadores mas não contém loop.
Uma árvore de escoamento ou de encaminhamento inverso é uma spanning tree.
35
Algoritmos de roteamento
Roteamento por anycast
• Um pacote é entregue ao membro mais próximo de um grupo
=> Roteamento por anycast;
• Usado no DNS (protocolo da camada de aplicação);
• Não necessita um esquema novo para o roteamento, vetor de
distância e estado de enlace podem ser usados;
• Todos os nós de um grupo receberão o mesmo identificador.
36
Algoritmos de roteamento
Roteamento para dispositivos móveis
• Muitas pessoas utilizam dispositivos conectados enquanto
viajam ou se locomovem;
• Hosts móveis:
• Dispositivos sem fio em carros em movimento;
• Celulares com acesso a redes;
• Notebooks utilizados em “trânsito”;
• Poderíamos simplesmente utilizar os algoritmos vistos
anteriormente, atualizado as tabelas de roteamento à medida
que o host se movimenta;
• O número de hosts móveis vem crescendo rapidamente e a as
atualizações necessárias começam a se tornar impeditivas.
37
Algoritmos de roteamento
Roteamento para dispositivos móveis
• Outra alternativa é oferecer mobilidade acima da camada de rede;
• Normalmente ocorre com os notebooks;
• Em cada local eles adquirem novo endereço;
• Não se faz a associação entre os diferentes endereços;
• Outra ideia, envolvendo a camada de redes:
• Usada na Internet e em redes de celulares;
• O host móvel informa a um host local (agente local) onde ele está
naquele instante;
• Como o agente local deverá sempre saber onde o host móvel se
encontra, ele pode ser utilizado para manter a comunicação entre
outros hosts e o host móvel;
• Tunelamento: o agente local recebe um pacote destinado ao host
móvel, encapsula este pacote em um novo pacote enviando-o ao
host móvel.
38
Algoritmos de roteamento
Roteamento para dispositivos móveis
• Roteamento de pacotes para dispositivos móveis:
39
Algoritmos de roteamento
Roteamento em redes ad hoc
• Vimos como realizar roteamento para hosts móveis e
roteadores fixos no roteamento para dispositivos móveis;
• Uma situação ainda mais extrema envolve também
roteadores móveis. Ex.:
• Trabalhos emergenciais em áreas de catástrofes naturais;
• Veículos militares em campos de batalha;
• Um grupo de pessoas com notebooks em uma área sem
instalações 802.11;
• Nestas situações, cada nó constitui um host e um roteador, e a
rede é denominada rede ad hoc ou MANET (Mobile Ad Hoc
NETworks).
40
Algoritmos de roteamento
Roteamento em redes ad hoc
• Vários algoritmos foram propostos:
• AODV (Ad Hoc On-demand Distance Vector);
• DSR (Dynamic Source Routing);
• GPSR (Greed Perimeter Stateless Routing);
• No AODV as rotas são calculadas sob demanda, ou seja,
apenas quando são necessárias;
• Duas tarefas essenciais são realizadas:
• Descoberta de rota (figura no próximo slide);
• Manutenção de rota:
• Cada nó envia um pacote Hello, aos vizinhos;
• Ausência de resposta indica que não está mais ao alcance, as
rotas que o utilizam são eliminadas.
41
Algoritmos de roteamento
Roteamento em redes ad hoc
• Descoberta de rota de A para I:
(a) Área de broadcast de A.
(b) Após B e D receberem.
(c) Após C, F e G receberem.
(d) Após E, H e I receberem.
Os nós sombreados são os novos nós receptores.
As linhas tracejadas são possíveis rotas inversas.
As linhas contínuas correspondem à rota descoberta.
42
Introdução;
Algoritmos de roteamento;
Algoritmos de controle de congestionamento;
Qualidade de serviço;
Interligação de redes;
A camada de rede da Internet.
ALGORITMOS DE CONTROLE DE
CONGESTIONAMENTO
43
Algoritmos de controle de congestionamento
Tópicos
•
•
•
•
•
Introdução;
Roteamento com conhecimento do tráfego;
Controle de acesso;
Controle de tráfego;
Corte de carga.
44
Algoritmos de controle de congestionamento
Introdução
• Quando há um número excessivo de pacotes trafegando pela
rede podem ocorrer atrasos ou perdas que prejudicam seu
desempenho;
• Este estado da rede é denominado Congestionamento;
• As camadas de rede e transporte possuem responsabilidades
de lidar com congestionamento;
45
Algoritmos de controle de congestionamento
Introdução
• Colapso de Congestionamento:
46
• Goodput é diferente de throughput, ele exclui os bits de overhead
de protocolos. Assim, ele será sempre menor que o throughput.
Algoritmos de controle de congestionamento
Introdução
• Controle de Congestionamento v.s. Controle de Fluxo:
• Controle de Congestionamento:
• Garantia de que a rede seja capaz de transportar o tráfego oferecido;
• É uma questão global, envolvendo o comportamento de toda a rede;
• Controle de Fluxo:
• Está relacionado ao tráfego entre um transmissor em particular e um
receptor em particular;
• Garantia de que um transmissor rápido não transmita dados numa
velocidade maior do que o receptor seja capaz de tratá-los.
47
Algoritmos de controle de congestionamento
Introdução
• Duas formas de tratar o congestionamento:
• Aumentar os recursos;
• Reduzir a carga;
• Escalas de tempo para impedir o congestionamento:
48
Algoritmos de controle de congestionamento
Roteamento com conhec. do tráfego
• Os algoritmos de roteamento vistos anteriormente levam em
consideração apenas pesos fixos para as arestas;
• Outros fatores (variáveis) podem ser levados em
consideração:
• Carga (número de pacotes);
• Atraso de propagação;
• Atraso médio de enfileiramento;
• Assim, caminhos com menor peso favorecerão caminhos
menos sobrecarregados.
49
Algoritmos de controle de congestionamento
Controle de acesso
• Técnica usada em redes de circuitos virtuais;
• A ideia é simples: não monte um novo circuito virtual a menos
que a rede possa transportar o tráfego adicional sem ficar
congestionada;
• Assim, a tarefa é estimar quantos circuitos caberão dentro da
capacidade da rede sem causar congestionamento.
50
Algoritmos de controle de congestionamento
Controle de acesso
• O controle de acesso pode ser combinado ao roteamento com
conhecimento de tráfego:
• Considera-se rotas em torno dos pontos críticos como parte do
estabelecimento de uma conexão;
51
(a) Rede congestionada. (b) Parte da rede sem congestionamento.
Circuito virtual existente entre A e B.
Algoritmos de controle de congestionamento
Controle de tráfego
• Outra estratégia para contornar o congestionamento é fazer
com que os transmissores reduzam suas transmissões em
situações críticas (prevenção de congestionamento);
• Dois problemas precisam ser resolvidos (1):
• Determinar quando o congestionamento é iminente;
• Os roteadores precisam notificar os transmissores que estejam
causando o congestionamento em tempo hábil.
52
Algoritmos de controle de congestionamento
Controle de tráfego
• Dois problemas precisam ser resolvidos (2):
• Determinar quando o congestionamento é iminente:
• Monitoramento dos recursos da rede:
• Médias de utilização dos enlaces de saída;
• Enfileiramento de pacotes em buffer*;
• Número de pacotes perdidos em função de buffering
insuficiente;
• Os roteadores precisam notificar os transmissores que estejam
causando o congestionamento em tempo hábil.
* Das 3 alternativas a segunda é mais útil. A 1ª não está diretamente relacionada ao
congestionamento, uma média de 50% de utilização do enlace pode ser pouco para um
tráfego constante, mas pode ser muito para um tráfego altamente variável. Na 3ª o
congestionamento já estará ocorrendo quando os pacotes forem perdidos.
53
Algoritmos de controle de congestionamento
Controle de tráfego
• Dois problemas precisam ser resolvidos (3):
• Determinar quando o congestionamento é iminente;
• Os roteadores precisam notificar os transmissores que estejam
causando o congestionamento em tempo hábil:
• Os roteadores precisam identificar os transmissores corretos
e notificá-los sem sobrecarregar uma rede que já está
congestionada (ou prestes a ficar);
• Estratégias (exemplos a seguir):
• Pacotes Reguladores;
• Pacotes reguladores Hop a Hop;
• Notificação explícita de congestionamento.
54
Algoritmos de controle de congestionamento
Controle de tráfego
• Pacotes reguladores:
55
(a) Um pacote regulador que afeta apenas a origem.
(b) Um pacote regulador que afeta cada hop pelo qual passa.
Algoritmos de controle de congestionamento
Controle de tráfego
• Notificação explícita de congestionamento:
• Não envia pacotes adicionais;
• Ao invés disso, “marca” um pacote que ao chegar ao destino será
utilizado para alertar a necessidade de notificação ao
transmissor;
• A notificação será então adicionada em um pacote de resposta do
receptor ao transmissor;
56
Algoritmos de controle de congestionamento
Corte de carga
• Quando os roteadores estão inundados de pacotes que não
podem manipular, eles simplesmente os descarta;
• Quais pacotes descartar?
• Vinho: quanto mais velho melhor:
• Ex.: Transferência de arquivo;
• Leite: quanto mais novo melhor:
• Ex.: Mídia em tempo real;
• Prioridade:
• Ex.: Pacotes com informações de roteamento são mais
importantes que pacotes de dados;
• A próprias aplicações podem marcar seus pacotes com uma
indicação de sua importância; Como garantir idoneidade?
• Detecção Aleatória Prematura;
57
Introdução;
Algoritmos de roteamento;
Algoritmos de controle de congestionamento;
Qualidade de serviço;
Interligação de redes;
A camada de rede da Internet.
QUALIDADE DE SERVIÇO
58
Qualidade de serviço
Tópicos
•
•
•
•
•
•
•
Introdução;
Requisitos da aplicação;
Modelagem de tráfego;
Listagem de pacotes;
Controle de acesso;
Serviços integrados;
Serviços diferenciados.
59
Qualidade de serviço
Introdução
• As técnicas anteriores foram projetadas para reduzir o
congestionamento e melhorar o desempenho da rede;
• Algumas aplicações exigem garantia de desempenho mais
altas do que o melhor que se pode fazer em um momento;
• A atenção agora está em oferecer uma qualidade de serviço
adequada às necessidades das aplicações.
60
Qualidade de serviço
Introdução
• Um solução seria a sobreposição: montar uma rede com
capacidade suficiente para qualquer tráfego exigido dela;
• Entretanto, esta solução é muito cara, além de ser
dependente de estimativas de tráfego futuro (se o padrão
mudar ela pode não atender mais);
• Os mecanismos de qualidade de serviço permitem que uma
rede com menos capacidade atenda aos requisitos da
aplicação da mesma forma.
61
Qualidade de serviço
Introdução
• Quatro aspectos devem ser resolvidos para garantir a
qualidade de serviço:
1.
2.
3.
4.
Quais aplicações da rede são necessárias;
Como regular o tráfego que entra na rede;
Como reservar recursos nos roteadores para garantir
desempenho;
Se a rede pode aceitar mais tráfego com segurança.
62
Qualidade de serviço
Requisitos da aplicação
• Uma sequência de pacotes de uma origem para um destino é
denominada fluxo;
• Não confundir fluxo com rota;
• Quatro parâmetros podem caracterizar as necessidades de um
fluxo:
1.
2.
3.
4.
Largura de banda;
Atraso;
Flutuação (variação do atraso);
Perda;
• Estes parâmetros definem o QoS (Quality of Service) para o
fluxo.
63
Qualidade de serviço
Requisitos da aplicação
• Rigidez de requisitos de QoS de diferentes aplicações:
Aplicação
Largura de Banda
Atraso
Flutuação
Perda
Correio eletrônico
Baixa
Baixa
Baixa
Média
Transf. de arquivos
Alta
Baixa
Baixa
Média
Acesso à Web
Média
Média
Baixa
Média
Login remoto
Baixa
Média
Média
Média
Áudio por demanda
Baixa
Baixa
Alta
Baixa
Vídeo por demanda
Alta
Baixa
Alta
Baixa
Telefonia
Baixa
Alta
Alta
Baixa
Videoconferência
Alta
Alta
Alta
Baixa
64
Qualidade de serviço
Requisitos da aplicação
• Categorias de suporte a QoS:
1.
Taxa de bits constante:
• Largura de banda e atraso uniformes;
• Ex.: telefonia;
2.
Taxa de bits variável de tempo real:
• Quando os pacotes podem variar em tamanho (compactação de
vídeo por exemplo);
• Ex.: Videoconferência;
3.
Taxa de bits variável não de tempo real:
• Pacotes podem variar de tamanho mas não exige tempo real;
• Ex.: Streamming de vídeo;
4.
Taxa de bits disponível:
• Aplicações não sensíveis a atraso ou flutuação;
• Ex.: Correio eletrônico.
65
Qualidade de serviço
Modelagem de tráfego
• Em redes de dados o tráfego é caracterizado por rajadas, que
são mais difíceis de lidar do que redes de tráfego constante;
• As rajadas podem encher os buffers e causar perdas de pacotes;
• A modelagem de tráfego é uma técnica relacionada à
regulagem da taxa média de fluxo de dados que entra na rede;
• Quando um fluxo é configurado o usuário e a rede concordam
com um determinado padrão de tráfego:
• Acordo de nível de serviço – SLA (Service Level Agreement);
• Os pacotes que excedem o padrão acordado podem ser
descartados ou serem marcados com baixa prioridade;
• O monitoramento do fluxo é denominado controle de tráfego;
66
Qualidade de serviço
Modelagem de tráfego
• Algoritmos Leaky e Token bucket:
(a) Modelagem de pacotes. (b) Leaky bucket. (c) Token bucket.
67
Qualidade de serviço
Listagem de pacotes
• Para oferecer garantia de desempenho é necessário reservar
recursos suficientes ao longo da rota percorrida pelos pacotes;
• Para isso, deve-se considerar que todos os pacotes de um
fluxo seguem uma rota fixa:
• É difícil garantir qualidade se os pacotes percorrem rotas
diferentes;
• Desta forma, algo semelhante a um circuito virtual será feito para
todos os pacotes de um fluxo.
68
Qualidade de serviço
Listagem de pacotes
• Os algoritmos que realizam a tarefa de alocar recursos de
roteadores para os fluxos de pacotes são denominados
algoritmos de escalonamento de pacotes;
• Três tipos de recursos podem ser reservados:
1.
2.
3.
Largura de banda;
Espaço em buffer;
Ciclos de CPU.
69
Qualidade de serviço
Listagem de pacotes
• Algoritmo de enfileiramento ordenado com rodízio de filas:
• Problemas:
• Oferece mais largura de banda para pacotes maiores;
• Todos os hosts possuem a mesma prioridade.
70
Qualidade de serviço
Listagem de pacotes
• Algoritmo de enfileiramento ordenado com rodízio de filas
ponderado (WFQ – Weighted Fair Queueing):
• Rodízio é byte a byte e não pacote a pacote;
• Hosts com maior prioridade podem transmitir mais bytes.
71
(a) Rodízio de filas ponderado. (b) Tempo final dos pacotes.
Qualidade de serviço
Controle de acesso
• Até aqui estudamos elementos necessários para a QoS, agora
é hora de reuni-los para realmente oferecer QoS;
• No controle de acesso para regular o congestionamento
procurávamos uma garantia de desempenho, mesmo que
fraca;
• Agora, no controle de acesso para QoS as garantias são mais
fortes:
• O usuário fornece à rede um fluxo com um requisito de QoS
desejado (especificação de fluxo):
• Taxa e tamanho de token bucket;
• Taxa de dados de pico;
• Tamanho mínimo e máximo de pacote.
72
Qualidade de serviço
Controle de acesso
• As reservas de recursos devem ser feitas em toda a rota;
• Muitos algoritmos de roteamento encontram o melhor caminho
entre uma origem e destino e direciona todo o tráfego por ele;
• Muitos fluxos podem ser rejeitados por não haver recursos de reserva
suficientes para atender o fluxo pelo melhor caminho;
• Roteamento por QoS: definir rotas diferentes que tenham
capacidade de sobra para atender aos fluxos.
73
Qualidade de serviço
Controle de acesso
• Algumas aplicações podem flexibilizar a especificação de fluxo:
• Exemplo: Uma aplicação de streaming de vídeo que normalmente utiliza
30 quadros/segundo pode reduzir a taxa do vídeo para 25 quadros por
segundo caso a rede não possua recursos suficientes;
• Negociação de fluxo:
• Envolvidos: transmissor, receptor e roteadores intermediários;
• O transmissor prepara uma especificação de fluxo e o propaga
através da rota;
• Cada roteador avalia e modifica os parâmetros conforme sua
capacidade;
• Quando a especificação chega à outra extremidade os
parâmetros podem ser estabelecidos.
74
Qualidade de serviço
Serviços integrados
• Surgiram por iniciativa da IETF (Internet Engineering Task
Force), nas RFCs 2205 a 2212 para a criação de uma
arquitetura para streaming de multimídia;
• Tinha como foco aplicações unicast e multicast;
• Protocolo RSVP (Resource reSerVation Protocol) (1):
• Parte principal da arquitetura;
• Trata-se de um protocolo de reserva de recursos;
• Utiliza roteamento multicast com spanning trees;
75
Qualidade de serviço
Serviços integrados
• Protocolo RSVP (Resource reSerVation Protocol) (2):
• Uma rede em que 1 e 2 são transmissores e 3, 4 e 5 são
receptores:
76
(a) Rede. (b) A spanning tree multicast para o host 1.
(c) A spanning tree multicast para o host 2.
Qualidade de serviço
Serviços integrados
• Protocolo RSVP (Resource reSerVation Protocol) (3):
• Processo de reserva:
77
(a) O host 3 solicita um canal para o host 1.
(b) O host 3 então solicita um canal para o host 2.
(c) O host 5 solicita um canal para o host 1.
Qualidade de serviço
Serviços diferenciados
• Os algoritmos baseados em fluxo têm uma desvantagem por
necessitar realizar uma configuração antecipada para
estabelecer cada fluxo;
• Quando existem muitos fluxos este problema é
potencializado;
• Assim, a IETF procurou uma alternativa para resolver esta
questão;
• Surgiram os Serviços Diferenciados (SD), descritos nas RFCs
2474, 2475, e outras.
78
Qualidade de serviço
Serviços diferenciados
• Esta técnica é conhecida como QoS baseada em classe;
• Um conjunto de classes de serviço são definidas com regras de
encaminhamento correspondentes;
• Um cliente utilizando o DS terá seus pacotes marcados com a
classe correspondente;
• A reserva de recursos é feita para uma classe de pacotes;
• O tráfego de uma classe deve seguir uma forma específica.
79
Qualidade de serviço
Serviços diferenciados
• A IETF definiu alguns gerenciamentos de classes
independentes:
• Encaminhamento Expresso:
• Duas classes:
• Pacotes Expressos;
• Pacotes Regulares;
• Encaminhamento Garantido:
• Quatro classes de prioridades;
• Três classes de descarte de pacotes que estejam sofrendo
congestionamento;
• Doze combinações (classes de serviço).
80
Qualidade de serviço
Serviços diferenciados
• Encaminhamento Expresso:
81
Qualidade de serviço
Serviços diferenciados
• Encaminhamento Garantido:
82
Introdução;
Algoritmos de roteamento;
Algoritmos de controle de congestionamento;
Qualidade de serviço;
Interligação de redes;
A camada de rede da Internet.
INTERLIGAÇÃO DE REDES
83
Interligação de redes
Tópicos
•
•
•
•
•
Introdução;
Como as redes podem ser conectadas;
Tunelamento;
Roteamento entre redes;
Fragmentação de pacotes.
84
Interligação de redes
Introdução
• Existem diversas redes diferentes;
• Como interligá-las para formar uma rede interligada, ou seja,
uma internet (com “i” minúsculo)?
• Como as redes interligadas normalmente diferem em aspectos
importantes, levar pacotes de uma rede para outra nem
sempre é fácil;
• Quais são as principais diferenças?
85
Interligação de redes
Introdução
• Exemplos de diferenças entre redes:
• Endereçamento;
• Orientada a conexão ou não;
• QoS v.s. Melhor esforço;
• Mecanismos de segurança;
• Nos próximos tópicos algumas estratégias para interligar
diferentes redes.
86
Interligação de redes
Como as redes podem ser conectadas
• Duas escolhas básicas:
1.
2.
Criar dispositivos que traduzam ou convertam pacotes de cada
tipo em pacotes para outra rede;
Acrescentar uma camada de abstração, criando uma camada
comum em cima das diferentes redes;
• A segunda opção tem sido tremendamente bem sucedida, a
camada proposta foi separada nos protocolos TCP e IP;
• O IP está na camada de rede e o TCP está na camada de
transporte.
87
Interligação de redes
Como as redes podem ser conectadas
• Uma rede interligada:
(a) Pacote cruzando diferentes redes. (b) Rede interligada
e processamento de protocolo da camada de enlace.
• MPLS (Multi Protocol Label Switching): rede orientada a conexões.
88
Interligação de redes
Como as redes podem ser conectadas
• Este tipo de interligação é eficiente quando existe uma
camada de rede comum entre as redes;
• Exemplos:
• IP, é o protocolo de rede quase universal;
• Outros protocolos: IPX, SNA e AppleTalk;
• As versões do IP: IPv4 e IPv6, são incompatíveis;
• Um roteador capaz de lidar com vários protocolos de rede é
denominado roteador multiprotocolo.
89
Interligação de redes
Tunelamento
• É uma alternativa eficiente quando os hosts de origem e
destino estão em um mesmo tipo de rede, mas estão
separados por um tipo diferente;
• Túnel entre Paris e Londres:
90
Interligação de redes
Roteamento entre redes
• Deferentes redes podem utilizar algoritmos de roteamento
distintos, e incompatíveis (estratégias, pesos, etc...);
• Isso leva à necessidade de um roteamento em dois níveis:
• Protocolo de Gateway Interior, intradomínio;
• Protocolo de Gateway Exterior, interdomínio;
• “Gateway”: termo mais antigo para roteador;
• Na Internet o protocolo interdomínio é chamado BGP (Border
Gateway Protocol);
• Como uma rede opera de forma independente das demais, ela
é denominada de sistema autônomo, ou AS (Autonomous
System).
91
Interligação de redes
Fragmentação de pacotes
• Cada rede (ou enlace) impõe um tamanho máximo de pacote
devido a uma variedade de motivos:
1.
2.
3.
4.
5.
6.
Hardware
Sistema operacional
Protocolos
Adequação aos padrões (inter)nacionais
Redução nas retransmissões devido a erros
Impedir que pacotes ocupem o canal por muito tempo
• Esse tamanho de pacote é denominado unidade máxima de
transmissão do caminho, ou Path MTU (Path Maximum
Transmission Unit);
• Como interligar redes com tamanhos MTUs diferentes?
92
Interligação de redes
Fragmentação de pacotes
• Uma solução é o uso de fragmentação:
93
(a) Fragmentação transparente. (b) Fragmentação não transparente.
Interligação de redes
Fragmentação de pacotes
• A fragmentação apresenta alguns problemas:
• Overhead introduzido com a fragmentação;
• Um pacote inteiro pode ser perdido se apenas um de seus
fragmentos for perdido;
• Pode ser um peso a mais para os hosts;
• Uma solução é eliminar a fragmentação, usando a descoberta
da MTU do caminho:
94
Introdução;
Algoritmos de roteamento;
Algoritmos de controle de congestionamento;
Qualidade de serviço;
Interligação de redes;
A camada de rede da Internet.
A CAMADA DE REDE DA INTERNET
95
A camada de rede da Internet
Tópicos
•
•
•
•
•
Introdução;
Protocolo IPv4;
Protocolo IPv6;
Protocolos de controle;
Protocolos de roteamento.
96
A camada de rede da Internet
Introdução
• A camada de rede da Internet pode ser vista como um
conjunto de subredes, ou sistemas autônomos (AS),
conectados entre si;
• Existem diversos backbones construídos a partir de linhas de
grande largura de banda e roteadores rápidos;
• Conectados aos backbones estão os ISPs (Internet Service
Providers) que oferecem acesso à Internet para residências e
empresas.
97
A camada de rede da Internet
Introdução
• Esquema da estrutura da Internet:
98
A camada de rede da Internet
Protocolo IPv4
• Elemento que mantém a Internet unida;
• Foi projetado desde o início tendo como objetivo a
interligação de redes;
• Um datagrama IPv4 consiste de uma parte de cabeçalho e
uma parte de dados;
99
A camada de rede da Internet
Protocolo IPv4
• O cabeçalho IPv4:
• Possui uma parte de tamanho fixo de 20 bytes e uma parte
opcional de tamanho variado;
100
A camada de rede da Internet
Protocolo IPv4
• O cabeçalho IPv4:
• Versão (4 bits):
• Indica o número da versão corrente;
• A versão 4 é largamente utilizada.
101
A camada de rede da Internet
Protocolo IPv4
• O cabeçalho IPv4:
• IHL (4 bits):
• Indica o tamanho do cabeçalho em palavras de 32 bits;
• O tamanho mínimo é 5 (nenhuma opção presente);
• O tamanho máximo é 15 (60 bytes, sendo 40 para opções).
102
A camada de rede da Internet
Protocolo IPv4
• O cabeçalho IPv4:
• Serviços diferenciados (6 bits):
• Utilizado para distinguir diferentes classes de serviços;
• Possibilita diferentes combinações de confiabilidade e velocidade.
103
A camada de rede da Internet
Protocolo IPv4
• O cabeçalho IPv4:
• Tamanho total (16 bits):
• Tamanho em bytes de todo o pacote (cabeçalho + dados);
• Valor máximo 65.535.
104
A camada de rede da Internet
Protocolo IPv4
• O cabeçalho IPv4:
• Identificação (16 bits), DF (1 bit), MF (1 bit) e Deslocamento de
Fragmento (13 bits) :
• Utilizados na fragmentação e remontagem de pacotes;
• DF: não fragmentar (utilizado para descoberta de MTU);
• MF: Mais fragmentos (todos exceto o último são marcados).
105
A camada de rede da Internet
Protocolo IPv4
• O cabeçalho IPv4:
• Tempo de vida (TTL) (8 bits) :
• Contador de hops utilizado para limitar a vida útil dos pacotes;
• Quando chega a zero o pacote é descartado e um pacote de
advertência é enviado ao computador de origem.
106
A camada de rede da Internet
Protocolo IPv4
• O cabeçalho IPv4:
• Protocolo (8 bits) :
• Indica o processo de transporte para o qual o datagrama deve ser
entregue no destino (normalmente TCP ou UDP).
107
A camada de rede da Internet
Protocolo IPv4
• O cabeçalho IPv4:
• Checksum do cabeçalho (16 bits) :
• Para validação do cabeçalho;
• Deve ser calculado para cada hop pois ao menos o TTL é alterado em
cada roteador.
108
A camada de rede da Internet
Protocolo IPv4
• O cabeçalho IPv4:
• Endereços de origem e destino (32 bits cada) :
• Endereços IP dos hosts de origem e destino.
109
A camada de rede da Internet
Protocolo IPv4
• O cabeçalho IPv4:
• Opções (tamanho variável) :
• Mecanismo para permitir inserir informações inexistentes no projeto
original.
110
A camada de rede da Internet
Protocolo IPv4
• Endereços IP (1):
• Cada host e roteador na Internet tem um endereço IP que pode
ser usado nos campos origem e destino;
• O endereço está na verdade associado a uma interface de rede,
assim, se um host ou roteador pode estar ligado a mais de uma
rede e possuir mais de um endereço;
• A distribuição dos endereços é feita pela ICANN;
• São escritos em notação decimal separados por ponto:
• Ex.: 128.208.2.151.
111
A camada de rede da Internet
Protocolo IPv4
• Endereços IP (2):
• Cada endereço de 32 bits é composto de uma parte para a
identificação da rede e uma parte para a identificação do host;
• O número de bits utilizados para a parte da rede é representado
no final do endereço separado por uma barra:
• Ex.: 128.208.0.0/24 (24 bits para a parte da rede);
112
A camada de rede da Internet
Protocolo IPv4
• Endereços IP (3):
• Para facilitar o gerenciamento de IPs, uma rede pode ser
subdividida em subredes:
Subrede
Endereço
Ciência da Computação
10000000.11010000.1XXXXXXX.XXXXXXXX
Engenharia Elétrica
10000000.11010000.00XXXXXX.XXXXXXXX
Artes
10000000.11010000.011XXXXX.XXXXXXXX
113
A camada de rede da Internet
Protocolo IPv4
• Endereços IP (4):
• Os endereços IP são escassos, um endereço “/16” fornece um
número de 65.534 hosts;
• Se um ISP tiver um número superior de clientes ele terá um sério
problema;
• Uma estratégia para contornar este problema é não fornecer IPs
fixos para seus clientes, ou seja, ao se conectar o cliente recebe
um IP, após a conexão se tornar inativa este IP poderá ser
atribuído a outro cliente;
• Ainda assim existe uma séria limitação.
114
A camada de rede da Internet
Protocolo IPv4
• Endereços IP (5):
• Uma solução melhor é o NAT (Network Address Translation);
• Cada empresa possui um IP único;
• Cada host possui um IP específico (usado internamente):
• 10.0.0.0 a 10.255.255.255/8 (16.777.216 hosts);
• 172.10.0.0 a 172.31. 255.255/12 (1.048.576 hosts);
• 192.168.0.0 a 192.168. 255.255/16 (65.536 hosts);
• Para tráfego externo é feita uma tradução de endereços;
115
A camada de rede da Internet
Protocolo IPv6
• Os últimos endereços IPv4 estão prestes a serem distribuídos;
• Antecipando este problema e visando solucionar outras
deficiências do IPv4, a IETF, desde 1990 começou a trabalhar
em uma nova versão do IP, o IPv6;
• Principais objetivos do IPv6 (1):
• Suporte a bilhões de hosts;
• Redução das tabelas de roteamento;
• Protocolo simplificado;
• Melhoria na segurança;
116
A camada de rede da Internet
Protocolo IPv6
• Principais objetivos do IPv6 (2):
• Cuidado com o tipo de serviço;
• Auxílio ao multicasting;
• Deslocamento de hosts sem alteração do IP;
• Possibilidade de evolução do protocolo;
• Coexistência entre protocolos antigos e novos;
• Entretanto, apesar de implementado, o IPv6 ainda não se
popularizou, sendo usado por aproximadamente 1% da
Internet.
117
A camada de rede da Internet
Protocolos de controle
• Além do IP, a Internet possui outros protocolos usados na
camada de rede, exemplos:
• ICMP (Internet Control Message Protocol);
• ARP (Address Resolution Protocol);
• DHCP (Dynamic Host Configuration Protocol);
• Veremos algumas características destes protocolos para suas
versões correspondentes ao IPv4;
• ICMP e DHCP possuem versões semelhantes para o IPv6, e o
correspondente ao ARP é o NDP (Neighbor Discovery
Protocol).
118
A camada de rede da Internet
Protocolos de controle
• ICMP (Internet Control Message Protocol) (1):
• A operação da Internet é monitorada pelos roteadores, quando
algo inesperado ocorre durante o processamento de um pacote o
transmissor será notificado através do protocolo de mensagem
de controle, o ICMP;
• Também é usado para realização de testes da rede;
• Existem cerca de 12 tipos de mensagens ICMP;
• Cada mensagem é encapsulada e transmitida em um pacote IP;
• As mais importantes são apresentadas no quadro a seguir;
119
A camada de rede da Internet
Protocolos de controle
• ICPM (Internet Control Message Protocol) (2):
• Principais tipos de mensagem:
Tipo de Mensagem
Descrição
Destination unreachable
O pacote não pode ser entregue.
Time exceed
O campo TTL atingiu 0.
Parameter problem
Campos de cabeçalho inválido.
Source quench
Restringe o envio de pacotes.
Redirect
Ensina uma rota a um roteador.
Echo e Echo reply
Verificam se uma máquina está ativa.
Timestamp request/reply
O mesmo que Echo, mas com o registro de tempo.
Router
advertisement/solicitation
Encontra um roteador próximo.
• Uma lista completa pode ser obtida em:
• http://www.iana.org/assignments/icmp-parameters/
120
A camada de rede da Internet
Protocolos de controle
• ARP (Address Resolution Protocol):
• O hardware na camada de enlace não reconhece endereços IP;
• Como mapear endereços IP para endereços NIC (Network
Interface Cards)?
121
A camada de rede da Internet
Protocolos de controle
• DHCP (Dynamic Host Configuration Protocol):
• Quando um computador é iniciado, ele já possui seu NIC, mas
ainda não possui um IP;
• Permite atribuir um endereço IP automaticamente;
• Para isso:
• O ARP envia um pacote DHCP DISCOVER em broadcast;
• Quando o servidor DHCP recebe o pacote ele atribui um endereço IP
livre e o envia ao host em um pacote DHCP OFFER;
• Para evitar que endereços IP sejam “perdidos”, é adotada uma
estratégia de “aluguel” (leasing) do endereço IP.
122
A camada de rede da Internet
Protocolos de roteamento
• Na Internet existem diferentes protocolos para a realização de
roteamento:
• MPLS (MultiProtocol Label Switching);
• OSPF (Open Shortest Path First);
• BGP (Border Gateway Protocol).
123
A camada de rede da Internet
Protocolos de roteamento
• MPLS (MultiProtocol Label Switching):
• O roteamento é feito com base em rótulos ao invés de ser pelo
endereço IP;
• Com isso, fica bem próximo de um protocolo de comutação de
circuitos;
• Definido pela IETF na RFC 3031;
124
A camada de rede da Internet
Protocolos de roteamento
• OSPF (Open Shortest Path First):
•
•
•
•
•
•
Protocolo de Roteamento de Gateway Interior;
Responsável pelo roteamento intradomínio;
Utiliza estratégia de roteamento por estado de enlace;
Realiza balanceamento de carga;
Possui rápida adaptação a alterações de topologia;
Definido pela IETF nas RFCs 1131 e 2328.
125
A camada de rede da Internet
Protocolos de roteamento
• BGP (Border Gateway Protocol):
•
•
•
•
•
•
•
•
Protocolo de Roteamento de Gateway Exterior;
Responsável pelo roteamento interdomínio;
Possui preocupações políticas;
Restrições podem ser definidas manualmente;
Utiliza estratégia de roteamento por vetor de distância;
Rotas que infringem alguma restrição assumem distância infinita;
Não sofre com o problema de contagem ao infinito;
A versão 4 é definida na RFC 4271.
126
Fim!
REFERÊNCIAS:
• A.S. TANENBAUM, Redes de Computadores, Prentice Hall, 5a.
edição, 2011;
• Materiais didáticos dos professores:
• Rande A. Moreira, UFOP / 2011-01
Disponível em: http://randearievilo.com.br/redes/ (acesso em 17/08/2011);
• Fátima Figueiredo, PUC Minas, não disponível on-line;
127
Download