Você está na página 1de 22

Camada Nome

5 Aplicação
BCC361 – Redes de Computadores
Universidade Federal de Ouro Preto
Departamento de Ciência da Computação
4

3
2
Transporte

Rede
Enlace
Agenda
1 Física

Prof. Reinaldo Silva Fortes


www.decom.ufop.br/reinaldo • Introdução;
2011/02
• Algoritmos de roteamento;
• Algoritmos de controle de congestionamento;
• Qualidade de serviço;
• Interligação de redes;
• A camada de rede da Internet.

Camada de Rede 1 2

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.

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 4

Introdução Introdução

Objetivos Comutação Store-and-Forward


• Camada de Enlace: move quadros de duas máquinas; • Define o contexto de operação dos protocolos da camada de rede;
• Um host envia o pacote para o roteador mais próximo;
• Camada de Rede: • O pacote é armazenado até chegar completamente e o checksum é
verificado;
• Transferência de pacotes de uma origem a um destino;
• Em seguida o roteador encaminha o pacote para o próximo roteador
• Pode envolver vários hops (saltos) em roteadores intermediários
ao longo do caminho até que ele encontre o host de destino.
ao longo do percurso;
• Para atingir seus objetivos, tem a necessidade de conhecer a
topologia da rede para escolher os caminhos mais apropriados.

5 6

1
Introdução Introdução

Serviços oferecidos Serviços oferecidos


• A camada de rede oferece serviços à camada de transporte através • Serviços não orientados à conexão:
de suas interfaces; • Os pacotes são injetados individualmente na rede e roteados de
modo independente uns dos outros;
• Objetivos: • Neste contexto os pacotes são denominados datagramas e a rede
1. Os serviços devem ser independentes da tecnologia dos roteadores; formada é denominada rede de datagramas.
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 8

Introdução Introdução

Serviços oferecidos Serviços oferecidos


• Serviços orientados à conexão: • Datagramas v.s. Circuitos Virtuais (1):
• É estabelecido um caminho entre os roteadores de origem e
Questão Rede de Datagramas Rede de Circuitos Virtuais
destino antes do envio de qualquer pacote. Todos os pacotes
serão enviados através deste caminho; Configuração de circuitos Desnecessária. Obrigatória.

• Esta conexão é denominada circuito virtual e a rede formada é Cada pacote contém os Cada pacote contém um
Endereçamento endereços completos de pequeno número do circuito
denominada rede de circuitos virtuais. origem e destino. virtual.
Os roteadores não Cada circuito virtual requer
Informações sobre o estado armazenam informações espaço em tabelas de
sobre o estado das conexões. roteadores por conexão.
A rota é escolhida quando o
Cada pacote é roteado circuito virtual é
Roteamento
independentemente. estabelecido; todos os
pacotes seguem essa rota.
9 10

Introdução

Serviços oferecidos
• Datagramas v.s. Circuitos Virtuais (2):

Questão Rede de Datagramas Rede de Circuitos Virtuais


Todos os circuitos virtuais
Nenhum, com exceção dos
que tiverem passado pelo
Efeitos de falhas no roteador pacotes perdidos durante a
roteador que apresentou o
falha.
defeito serão encerrados.
Fácil, se for possível alocar
recursos suficientes com
Qualidade de serviço Difícil.
antecedência para cada Introdução;
circuito virtual. Algoritmos de roteamento;
Algoritmos de controle de congestionamento;
Fácil, se for possível alocar Qualidade de serviço;
Controle de recursos suficientes com Interligação de redes;
Difícil.
congestionamento antecedência para cada A camada de rede da Internet.
circuito virtual.
11 ALGORITMOS DE ROTEAMENTO 12

2
Algoritmos de roteamento Algoritmos de roteamento

Tópicos Introdução
• Introdução; • Algoritmos de roteamento constituem um dos elementos
• O princípio da otimização; mais importantes no projeto da camada de rede;
• Roteamento pelo caminho mais curto;
• O algoritmo de roteamento é a parte do software da camada
• Roteamento por inundação (Flooding); de rede que decide sobre a interface de saída a ser utilizada
• Roteamento por vetor de distâncias; na transmissão de um pacote de entrada;
• Roteamento de estado de enlace;
• Roteamento hierárquico; • O roteamento é o processo de preenchimento e atualização
de tabelas de roteamento contidas em cada roteador;
• Roteamentos por broadcast, multicast e anycast;
• Roteamento para dispositivos móveis;
• O encaminhamento é o processo que trata a chegada de cada
• Roteamento em redes ad hoc. pacote, consultando a tabela de roteamento e direcionando-o
13 através da interface de saída (definida previamente pelo 14
roteamento).

Algoritmos de roteamento Algoritmos de roteamento

Introdução O princípio da otimização


• Algoritmos de roteamento podem ser classificados em: • 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;
• Não adaptativos (roteamento estático): • O conjunto de rotas ideais de todas as origens para determinado
• A escolha das rotas é previamente calculada na inicialização da rede;
destino formam uma árvore denominada árvore de escoamento;
• Não responde bem a falhas; • Como se trata de uma árvore, não contém loops, assim um pacote
• Mais útil quando a escolha de rotas é óbvia (ex. apenas uma opção); será entregue dentro de um limite finito de hops.

• Adaptativos (roteamento dinâmico):


• Alteram as decisões de roteamento para refletir mudanças de
topologia e tráfego;

15 16
(a) Uma rede. (b) A árvore de escoamento para o roteador B.

Algoritmos de roteamento Algoritmos de roteamento

Roteamento pelo caminho mais curto Roteamento por inundação (Flooding)


• Técnica simples para obter caminhos ideais a partir de uma • Cada pacote é enviado para cada interface de saída, exceto
imagem da rede; aquela pela qual ele chegou;
• Problema: muitos pacotes duplicados;
• A partir de um grafo da rede (nós representam hosts e arestas • O cabeçalho de cada pacote contém um contador de hops que é
representam interfaces de ligação), aplica-se um algoritmo decrementado a cada hop, quando zerado o pacote é descartado;
para encontrar o caminho mais curto entre dois hosts; • Para evitar transmitir pacotes mais de uma vez, pode ser
acrescentado um número de sequência relacionado a cada
origem;
• Métricas possíveis (pesos das arestas):
• Utilidades:
• Número de hops;
• Pode ser eficiente quando existirem vários destinos;
• Distância física;
• É robusto, pois geralmente encontra um caminho, podendo ser
• Tempo de retardo; eficiente em situações de guerra ou catástrofes.
• Etc... 17 18

3
Algoritmos de roteamento Algoritmos de roteamento

Roteamento por vetor de distâncias Roteamento por vetor de distâncias


• Cada roteador mantém uma tabela contendo a melhor • Processo de atualização:
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;

19 20
• Usado na ARPANET até 1979. (a) Topologia da rede.
(b) Entrada em A, I, H, K, e nova tabela de roteamento de J.

Algoritmos de roteamento Algoritmos de roteamento

Roteamento por vetor de distâncias Roteamento de estado de enlace


• Problema da contagem ao infinito: • O roteamento por vetor de distância leva muito tempo para
• O estabelecimento das rotas pela rede é chamado convergência; convergir (decorrência da contagem ao infinito);
• Apesar de convergir para a resposta correta, no roteamento por vetor de • Assim, foi substituído por um novo algoritmo, o roteamento
distâncias pode ser feito de forma lenta;
de estado de enlace;
• “Notícias boas” se espalham rapidamente, as “más notícias” se
propagam lentamente: • Nele, cada roteador realiza os seguintes passos:
1. Descobrir seus vizinhos e aprender seus endereços;
2. Medir a distância (ou custo) até cada um de seus vizinhos;
3. Criar um pacote contendo tudo que acabou de aprender;
4. Enviar este pacote e receber pacotes de todos os outros
roteadores;
5. Calcular o caminho mais curto até cada um dos outros
21 roteadores. 22
(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 Algoritmos de roteamento

Roteamento de estado de enlace Roteamento de estado de enlace


1. Descobrir seus vizinhos e aprender seus endereços: 2. Medir a distância (ou custo) até cada um de seus vizinhos:
• Um pacote HELLO é enviado; • O custo pode ser definido automaticamente ou configurado pelo
• Os vizinhos respondem com um identificador; administrador da rede;
• Este identificador precisa ser exclusivo; • Automaticamente:
• Quando determinados roteadores estão conectados em • Um pacote especial ECHO/REPLAY é enviado e devolvido
imediatamente;
broadcast a situação é um pouco mais complexa:
• 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.

23 24
(a) Nove roteadores e uma LAN. (b) Grafo para a rede considerando um nó virtual N
para representar a LAN (um roteador da LAN é selecionado para representar N).

4
Algoritmos de roteamento Algoritmos de roteamento

Roteamento de estado de enlace Roteamento de estado de enlace


3. Criar um pacote contendo tudo que acabou de aprender: 4. Enviar este pacote e receber pacotes de todos os outros
• Os pacotes devem conter: Identidade do transmissor, Número de roteadores (1):
sequência, Idade (TTL), Lista de vizinhos e seus custos; • Parte mais complicada do algoritmo, todos os roteadores
• Quando criar estes pacotes? precisam receber os pacotes de estado de enlace de forma rápida
• Periodicamente em intervalos regulares; e confiável;
• Na ocorrência de eventos significativos. • 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;

25 26
(a) Rede. (b) Pacotes de estado de enlace para rede (a).

Algoritmos de roteamento Algoritmos de roteamento

Roteamento de estado de enlace Roteamento de estado de enlace


4. Enviar este pacote e receber pacotes de todos os outros 5. Calcular o caminho mais curto até cada um dos outros
roteadores (2): roteadores:
• Solução: incluir a “idade” (TTL) do pacote; • A partir dos pacotes de estado é possível criar o grafo da subrede;
• Ele é decrementado a cada segundo, quando chega a 0 os • Executa-se então o algoritmo de Dijkstra localmente;
dados do roteador são descartados; • Memória necessária: ordem de K * N (K vizinhos e N roteadores).
• Aprimoramentos:
• Retenção do pacote de estado de enlace;
• Confirmação dos pacotes de estado.

27 28

Algoritmos de roteamento Algoritmos de roteamento

Roteamento hierárquico Roteamento hierárquico


• Com o aumento do tamanho das redes, a quantidade de • Exemplo de roteamento em uma hierarquia de dois níveis com
recursos necessários para o roteamento também crescem; cinco regiões:

• 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 30

5
Algoritmos de roteamento Algoritmos de roteamento

Roteamento por broadcast Roteamento por broadcast


• Em algumas aplicações os hosts necessitam enviar mensagens • Encaminhamento pelo caminho inverso:
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 (a) Rede. (b) Árvore de escoamento associada ao roteador I. 32
(c) Árvore a partir do encaminhamento inverso.

Algoritmos de roteamento Algoritmos de roteamento

Roteamento por multicast Roteamento por multicast


• Em determinadas aplicações é necessário enviar mensagens • Para a realização do multcasting é necessário fazer o
para vários receptores; gerenciamento dos grupos;

• Quando o número de receptores é muito grande o • Usaremos como premissa que o roteador sabe a que grupo
roteamento por broadcast pode ser uma boa alternativa;
pertence cada host;

• Por outro lado, quando ele for muito pequeno, enviar uma
mensagem para cada receptor pode ser uma boa alternativa; • Cada roteador calcula uma árvore de multicasting;

• Entretanto, quando este número não é grande ou pequeno o • O encaminhamento pode ser feito realizando “podas”;
suficiente para as duas alternativas anteriores, um outro tipo
de estratégia se torna necessária => Roteamento por
multicast. 33 34

Algoritmos de roteamento Algoritmos de roteamento

Roteamento por multicast Roteamento por anycast


• Exemplo: • 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;

(a) Rede. (b) Spanning tree* para o roteador mais à esquerda. 35


• Ressalva para estado de enlace: identificadores de grupos 36
(c) Árvore multicast para o grupo 1. (d) Árvore multicast para o grupo 2. devem ser usados apenas como destinos finais;
* 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.

6
Algoritmos de roteamento Algoritmos de roteamento

Roteamento para dispositivos móveis Roteamento para dispositivos móveis


• Muitas pessoas utilizam dispositivos conectados enquanto • Outra alternativa é oferecer mobilidade acima da camada de rede;
viajam ou se locomovem; • Normalmente ocorre com os notebooks;
• Hosts móveis: • Em cada local eles adquirem novo endereço;
• Não se faz a associação entre os diferentes endereços;
• Dispositivos sem fio em carros em movimento;
• Celulares com acesso a redes; • Outra ideia, envolvendo a camada de redes:
• Notebooks utilizados em “trânsito”; • Usada na Internet e em redes de celulares;
• O host móvel informa a um host local (agente local) onde ele está
naquele instante;
• Poderíamos simplesmente utilizar os algoritmos vistos
• Como o agente local deverá sempre saber onde o host móvel se
anteriormente, atualizado as tabelas de roteamento à medida encontra, ele pode ser utilizado para manter a comunicação entre
que o host se movimenta; outros hosts e o host móvel;
• O número de hosts móveis vem crescendo rapidamente e a as • Tunelamento: o agente local recebe um pacote destinado ao host
atualizações necessárias começam a se tornar impeditivas. móvel, encapsula este pacote em um novo pacote enviando-o ao
37 host móvel; 38

Algoritmos de roteamento Algoritmos de roteamento

Roteamento para dispositivos móveis Roteamento em redes ad hoc


• Roteamento de pacotes para dispositivos móveis: • 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


39 rede é denominada rede ad hoc ou MANET (Mobile Ad Hoc 40
NETworks).

Algoritmos de roteamento Algoritmos de roteamento

Roteamento em redes ad hoc Roteamento em redes ad hoc


• Vários algoritmos foram propostos: • Descoberta de rota de A para I:
• 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); (a) Área de broadcast de A.
(b) Após B e D receberem.
• Manutenção de rota: (c) Após C, F e G receberem.
• Cada nó envia um pacote Hello, aos vizinhos; (d) Após E, H e I receberem.
Os nós sombreados são os novos nós receptores.
• Ausência de resposta indica que não está mais ao alcance, as 41 As linhas tracejadas são possíveis rotas inversas.
42
rotas que o utilizam são eliminadas; As linhas contínuas correspondem à rota descoberta.

7
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.

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 43 44

CONGESTIONAMENTO

Algoritmos de controle de congestionamento Algoritmos de controle de congestionamento

Introdução Introdução
• Quando há um número excessivo de pacotes trafegando pela • Colapso de Congestionamento:
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 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 Algoritmos de controle de congestionamento

Introdução Introdução
• Controle de Congestionamento v.s. Controle de Fluxo: • Duas formas de tratar o congestionamento:
• Aumentar os recursos;
• Controle de Congestionamento: • Reduzir a carga;
• Garantia de que a rede seja capaz de transportar o tráfego oferecido;
• É uma questão global, envolvendo o comportamento de toda a rede; • Escalas de tempo para impedir o congestionamento:

• 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 48

8
Algoritmos de controle de congestionamento Algoritmos de controle de congestionamento

Roteamento com conhec. do tráfego Controle de acesso


• Os algoritmos de roteamento vistos anteriormente levam em • Técnica usada em redes de circuitos virtuais;
consideração apenas pesos fixos para as arestas;
• A ideia é simples: não monte um novo circuito virtual a menos
• Outros fatores (variáveis) podem ser levados em que a rede possa transportar o tráfego adicional sem ficar
consideração: congestionada;
• Carga (número de pacotes);
• Atraso de propagação; • Assim, a tarefa é estimar quantos circuitos caberão dentro da
• Atraso médio de enfileiramento; capacidade da rede sem causar congestionamento.

• Assim, caminhos com menor peso favorecerão caminhos


menos sobrecarregados.
49 50

Algoritmos de controle de congestionamento Algoritmos de controle de congestionamento

Controle de acesso Controle de tráfego


• O controle de acesso pode ser combinado ao roteamento com • Outra estratégia para contornar o congestionamento é fazer
conhecimento de tráfego: com que os transmissores reduzam suas transmissões em
• Considera-se rotas em torno dos pontos críticos como parte do situações críticas (prevenção de congestionamento);
estabelecimento de uma conexão;
• 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.

51 52
(a) Rede congestionada. (b) Parte da rede sem congestionamento.
Circuito virtual existente entre A e B.

Algoritmos de controle de congestionamento Algoritmos de controle de congestionamento

Controle de tráfego Controle de tráfego


• Dois problemas precisam ser resolvidos (2): • Dois problemas precisam ser resolvidos (3):
• Determinar quando o congestionamento é iminente: • Determinar quando o congestionamento é iminente;
• Monitoramento dos recursos da rede: • Os roteadores precisam notificar os transmissores que estejam
• Médias de utilização dos enlaces de saída; causando o congestionamento em tempo hábil:
• Enfileiramento de pacotes em buffer*; • Os roteadores precisam identificar os transmissores corretos
• Número de pacotes perdidos em função de buffering e notificá-los sem sobrecarregar uma rede que já está
insuficiente; congestionada (ou prestes a ficar);
• Estratégias (exemplos a seguir):
• Os roteadores precisam notificar os transmissores que estejam
causando o congestionamento em tempo hábil. • Pacotes Reguladores;
• Pacotes reguladores Hop a Hop;
* Das 3 alternativas a segunda é mais útil. A 1ª não está diretamente relacionada ao • Notificação explícita de congestionamento.
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 54

9
Algoritmos de controle de congestionamento Algoritmos de controle de congestionamento

Controle de tráfego Controle de tráfego


• Pacotes reguladores: • 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;

55 56
(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

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: Introdução;
Algoritmos de roteamento;
• Ex.: Pacotes com informações de roteamento são mais Algoritmos de controle de congestionamento;
Qualidade de serviço;
importantes que pacotes de dados; Interligação de redes;
A camada de rede da Internet.
• A próprias aplicações podem marcar seus pacotes com uma
indicação de sua importância; Como garantir idoneidade? 57 QUALIDADE DE SERVIÇO 58
• Detecção Aleatória Prematura;

Qualidade de serviço Qualidade de serviço

Tópicos Introdução
• Introdução; • As técnicas anteriores foram projetadas para reduzir o
• Requisitos da aplicação; congestionamento e melhorar o desempenho da rede;
• Modelagem de tráfego;
• Listagem de pacotes; • Algumas aplicações exigem garantia de desempenho mais
• Controle de acesso; altas do que o melhor que se pode fazer em um momento;
• Serviços integrados;
• Serviços diferenciados. • A atenção agora está em oferecer uma qualidade de serviço
adequada às necessidades das aplicações.

59 60

10
Qualidade de serviço Qualidade de serviço

Introdução Introdução
• Um solução seria a sobreposição: montar uma rede com • Quatro aspectos devem ser resolvidos para garantir a
capacidade suficiente para qualquer tráfego exigido dela; qualidade de serviço:
1. Quais aplicações da rede são necessárias;
• Entretanto, esta solução é muito cara, além de ser 2. Como regular o tráfego que entra na rede;
dependente de estimativas de tráfego futuro (se o padrão 3. Como reservar recursos nos roteadores para garantir
mudar ela pode não atender mais); desempenho;
4. Se a rede pode aceitar mais tráfego com segurança.

• Os mecanismos de qualidade de serviço permitem que uma


rede com menos capacidade atenda aos requisitos da
aplicação da mesma forma.

61 62

Qualidade de serviço Qualidade de serviço

Requisitos da aplicação Requisitos da aplicação


• Uma sequência de pacotes de uma origem para um destino é • Rigidez de requisitos de QoS de diferentes aplicações:
denominada fluxo;
Aplicação Largura de Banda Atraso Flutuação Perda
• Não confundir fluxo com rota;
Correio eletrônico Baixa Baixa Baixa Média
• Quatro parâmetros podem caracterizar as necessidades de um
Transf. de arquivos Alta Baixa Baixa Média
fluxo:
Acesso à Web Média Média Baixa Média
1. Largura de banda;
Login remoto Baixa Média Média Média
2. Atraso;
Áudio por demanda Baixa Baixa Alta Baixa
3. Flutuação (variação do atraso);
Vídeo por demanda Alta Baixa Alta Baixa
4. Perda;
Telefonia Baixa Alta Alta Baixa
• Estes parâmetros definem o QoS (Quality of Service) para o
Videoconferência Alta Alta Alta Baixa
fluxo.
63 64

Qualidade de serviço Qualidade de serviço

Requisitos da aplicação Modelagem de tráfego


• Categorias de suporte a QoS: • Em redes de dados o tráfego é caracterizado por rajadas, que
1. Taxa de bits constante: são mais difíceis de lidar do que redes de tráfego constante;
• Largura de banda e atraso uniformes; • As rajadas podem encher os buffers e causar perdas de pacotes;
• Ex.: telefonia;
2. Taxa de bits variável de tempo real: • A modelagem de tráfego é uma técnica relacionada à
• Quando os pacotes podem variar em tamanho (compactação de regulagem da taxa média de fluxo de dados que entra na rede;
vídeo por exemplo);
• Ex.: Videoconferência;
• Quando um fluxo é configurado o usuário e a rede concordam
com um determinado padrão de tráfego:
3. Taxa de bits variável não de tempo real:
• Pacotes podem variar de tamanho mas não exige tempo real;
• Acordo de nível de serviço – SLA (Service Level Agreement);
• Ex.: Streamming de vídeo;
• Os pacotes que excedem o padrão acordado podem ser
4. Taxa de bits disponível: descartados ou serem marcados com baixa prioridade;
• Aplicações não sensíveis a atraso ou flutuação; 65 66
• O monitoramento do fluxo é denominado controle de tráfego;
• Ex.: Correio eletrônico.

11
Qualidade de serviço Qualidade de serviço

Modelagem de tráfego Listagem de pacotes


• Algoritmos Leaky e Token bucket: • 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.

(a) Modelagem de pacotes. (b) Leaky bucket. (c) Token bucket.


67 68

Qualidade de serviço Qualidade de serviço

Listagem de pacotes Listagem de pacotes


• Os algoritmos que realizam a tarefa de alocar recursos de • Algoritmo de enfileiramento ordenado com rodízio de filas:
roteadores para os fluxos de pacotes são denominados
algoritmos de escalonamento de pacotes;

• Três tipos de recursos podem ser reservados:


1. Largura de banda;
2. Espaço em buffer;
3. Ciclos de CPU.

• Problemas:
• Oferece mais largura de banda para pacotes maiores;
• Todos os hosts possuem a mesma prioridade.
69 70

Qualidade de serviço Qualidade de serviço

Listagem de pacotes Controle de acesso


• Algoritmo de enfileiramento ordenado com rodízio de filas • Até aqui estudamos elementos necessários para a QoS, agora
ponderado (WFQ – Weighted Fair Queueing): é hora de reuni-los para realmente oferecer QoS;
• Rodízio é byte a byte e não pacote a pacote; • No controle de acesso para regular o congestionamento
• Hosts com maior prioridade podem transmitir mais bytes. 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;
71 • Tamanho mínimo e máximo de pacote. 72

(a) Rodízio de filas ponderado. (b) Tempo final dos pacotes.

12
Qualidade de serviço Qualidade de serviço

Controle de acesso Controle de acesso


• As reservas de recursos devem ser feitas em toda a rota; • 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
• Muitos algoritmos de roteamento encontram o melhor caminho segundo caso a rede não possua recursos suficientes;
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; • Negociação de fluxo:
• Envolvidos: transmissor, receptor e roteadores intermediários;
• Roteamento por QoS: definir rotas diferentes que tenham • O transmissor prepara uma especificação de fluxo e o propaga
capacidade de sobra para atender aos fluxos. através da rota;
• Cada roteador avalia e modifica os parâmetros conforme sua
capacidade;
• Quando a especificação chega à outra extremidade os
73 parâmetros podem ser estabelecidos. 74

Qualidade de serviço Qualidade de serviço

Serviços integrados Serviços integrados


• Surgiram por iniciativa da IETF (Internet Engineering Task • Protocolo RSVP (Resource reSerVation Protocol) (2):
Force), nas RFCs 2205 a 2212 para a criação de uma • Uma rede em que 1 e 2 são transmissores e 3, 4 e 5 são
arquitetura para streaming de multimídia; receptores:

• 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 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 Qualidade de serviço

Serviços integrados Serviços diferenciados


• Protocolo RSVP (Resource reSerVation Protocol) (3): • Os algoritmos baseados em fluxo têm uma desvantagem por
• Processo de reserva: 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


77 2474, 2475, e outras. 78
(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.

13
Qualidade de serviço Qualidade de serviço

Serviços diferenciados Serviços diferenciados


• Esta técnica é conhecida como QoS baseada em classe; • A IETF definiu alguns gerenciamentos de classes
independentes:
• Um conjunto de classes de serviço são definidas com regras de • Encaminhamento Expresso:
encaminhamento correspondentes; • Duas classes:
• Pacotes Expressos;
• Pacotes Regulares;
• Um cliente utilizando o DS terá seus pacotes marcados com a
classe correspondente; • Encaminhamento Garantido:
• Quatro classes de prioridades;
• Três classes de descarte de pacotes que estejam sofrendo
• A reserva de recursos é feita para uma classe de pacotes; congestionamento;
• Doze combinações (classes de serviço).
• O tráfego de uma classe deve seguir uma forma específica. 79 80

Qualidade de serviço Qualidade de serviço

Serviços diferenciados Serviços diferenciados


• Encaminhamento Expresso: • Encaminhamento Garantido:

81 82

Interligação de redes

Tópicos
• Introdução;
• Como as redes podem ser conectadas;
• Tunelamento;
• Roteamento entre redes;
• Fragmentação de pacotes.

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 84

14
Interligação de redes Interligação de redes

Introdução Introdução
• Existem diversas redes diferentes; • Exemplos de diferenças entre redes:

• Como interligá-las para formar uma rede interligada, ou seja, • Endereçamento;


uma internet (com “i” minúsculo)?
• Orientada a conexão ou não;
• Como as redes interligadas normalmente diferem em aspectos
importantes, levar pacotes de uma rede para outra nem • QoS v.s. Melhor esforço;
sempre é fácil;
• Mecanismos de segurança;
• Quais são as principais diferenças?
• Nos próximos tópicos algumas estratégias para interligar
85 diferentes redes. 86

Interligação de redes Interligação de redes

Como as redes podem ser conectadas Como as redes podem ser conectadas
• Duas escolhas básicas: • Uma rede interligada:
1. Criar dispositivos que traduzam ou convertam pacotes de cada
tipo em pacotes para outra rede;
2. 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.
(a) Pacote cruzando diferentes redes. (b) Rede interligada
87 e processamento de protocolo da camada de enlace. 88

• MPLS (Multi Protocol Label Switching): rede orientada a conexões.

Interligação de redes Interligação de redes

Como as redes podem ser conectadas Tunelamento


• Este tipo de interligação é eficiente quando existe uma • É uma alternativa eficiente quando os hosts de origem e
camada de rede comum entre as redes; destino estão em um mesmo tipo de rede, mas estão
separados por um tipo diferente;
• Exemplos:
• IP, é o protocolo de rede quase universal; • Túnel entre Paris e Londres:
• 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 90

15
Interligação de redes Interligação de redes

Roteamento entre redes Fragmentação de pacotes


• Deferentes redes podem utilizar algoritmos de roteamento • Cada rede (ou enlace) impõe um tamanho máximo de pacote
distintos, e incompatíveis (estratégias, pesos, etc...); devido a uma variedade de motivos:
1. Hardware
• Isso leva à necessidade de um roteamento em dois níveis: 2. Sistema operacional
• Protocolo de Gateway Interior, intradomínio; 3. Protocolos
• Protocolo de Gateway Exterior, interdomínio; 4. Adequação aos padrões (inter)nacionais
• “Gateway”: termo mais antigo para roteador;
5. Redução nas retransmissões devido a erros
6. Impedir que pacotes ocupem o canal por muito tempo
• Na Internet o protocolo interdomínio é chamado BGP (Border
Gateway Protocol); • Esse tamanho de pacote é denominado unidade máxima de
transmissão do caminho, ou Path MTU (Path Maximum
Transmission Unit);
• Como uma rede opera de forma independente das demais, ela
é denominada de sistema autônimo, ou AS (Autonomous 91 • Como interligar redes com tamanhos MTUs diferentes? 92
System).

Interligação de redes Interligação de redes

Fragmentação de pacotes Fragmentação de pacotes


• Uma solução é o uso de fragmentação: • 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:

93 94
(a) Fragmentação tranparente. (b) Fragmentação não tranparente.

A camada de rede da Internet

Tópicos
• Introdução;
• Protocolo IPv4;
• Protocolo IPv6;
• Protocolos de controle;
• Protocolos de roteamento.

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 96

16
A camada de rede da Internet A camada de rede da Internet

Introdução Introdução
• A camada de rede da Internet pode ser vista como um • Esquema da estrutura da Internet:
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 98

A camada de rede da Internet A camada de rede da Internet

Protocolo IPv4 Protocolo IPv4


• Elemento que mantém a Internet unida; • O cabeçalho IPv4:

• 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;

• Possui uma parte de tamanho fixo de 20 bytes e uma parte


opcional de tamanho variado;
99 100

A camada de rede da Internet A camada de rede da Internet

Protocolo IPv4 Protocolo IPv4


• O cabeçalho IPv4: • O cabeçalho IPv4:

• Versão (4 bits): • IHL (4 bits):


• Indica o número da versão corrente; • Indica o tamanho do cabeçalho em palavras de 32 bits;
• A versão 4 é largamente utilizada. • O tamanho mínimo é 5 (nenhuma opção presente);
101 102
• O tamanho máximo é 15 (60 bytes, sendo 40 para opções).

17
A camada de rede da Internet A camada de rede da Internet

Protocolo IPv4 Protocolo IPv4


• O cabeçalho IPv4: • O cabeçalho IPv4:

• Serviços diferenciados (6 bits): • Tamanho total (16 bits):


• Utilizado para distinguir diferentes classes de serviços; • Tamanho em bytes de todo o pacote (cabeçalho + dados);
• Possibilita diferentes combinações de confiabilidade e velocidade. • Valor máximo 65.535.
103 104

A camada de rede da Internet A camada de rede da Internet

Protocolo IPv4 Protocolo IPv4


• O cabeçalho IPv4: • O cabeçalho IPv4:

• Identificação (16 bits), DF (1 bit), MF (1 bit) e Deslocamento de • Tempo de vida (TTL) (8 bits) :
Fragmento (13 bits) : • Contador de hops utilizado para limitar a vida útil dos pacotes;
• Utilizados na fragmentação e remontagem de pacotes; • Quando chega a zero o pacote é descartado e um pacote de
105 advertência é enviado ao computador de origem. 106
• DF: não fragmentar (utilizado para descoberta de MTU);
• MF: Mais fragmentos (todos exceto o último são marcados).

A camada de rede da Internet A camada de rede da Internet

Protocolo IPv4 Protocolo IPv4


• O cabeçalho IPv4: • O cabeçalho IPv4:

• Protocolo (8 bits) : • Checksum do cabeçalho (16 bits) :


• Indica o processo de transporte para o qual o datagrama deve ser • Para validação do cabeçalho;
entregue no destino (normalmente TCP ou UDP). • Deve ser calculado para cada hop pois ao menos o TTL é alterado em
107 cada roteador. 108

18
A camada de rede da Internet A camada de rede da Internet

Protocolo IPv4 Protocolo IPv4


• O cabeçalho IPv4: • O cabeçalho IPv4:

• Endereços de origem e destino (32 bits cada) : • Opções (tamanho variável) :


• Endereços IP dos hosts de origem e destino. • Mecanismo para permitir inserir informações inexistentes no projeto
original.
109 110

A camada de rede da Internet A camada de rede da Internet

Protocolo IPv4 Protocolo IPv4


• Endereços IP (1): • Endereços IP (2):
• Cada host e roteador na Internet tem um endereço IP que pode • Cada endereço de 32 bits é composto de uma parte para a
ser usado nos campos origem e destino; 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
• O endereço está na verdade associado a uma interface de rede, no final do endereço separado por uma barra:
assim, se um host ou roteador pode estar ligado a mais de uma • Ex.: 128.208.0.0/24 (24 bits para a parte da rede);
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 112

A camada de rede da Internet A camada de rede da Internet

Protocolo IPv4 Protocolo IPv4


• Endereços IP (3): • Endereços IP (4):
• Para facilitar o gerenciamento de IPs, uma rede pode ser • Os endereços IP são escassos, um endereço “/16” fornece um
subdividida em subredes: 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.

Subrede Endereço
Ciência da Computação 10000000.11010000.1XXXXXXX.XXXXXXXX 113 114
Engenharia Elétrica 10000000.11010000.00XXXXXX.XXXXXXXX
Artes 10000000.11010000.011XXXXX.XXXXXXXX

19
A camada de rede da Internet A camada de rede da Internet

Protocolo IPv4 Protocolo IPv6


• Endereços IP (5): • Os últimos endereços IPv4 estão prestes a serem distribuídos;
• Uma solução melhor é o NAT (Network Address Translation);
• Cada empresa possui um IP único; • Antecipando este problema e visando solucionar outras
• Cada host possui um IP específico (usado internamente): deficiências do IPv4, a IETF, desde 1990 começou a trabalhar
• 10.0.0.0 a 10.255.255.255/8 (16.777.216 hosts); em uma nova versão do IP, o IPv6;
• 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);
• Principais objetivos do IPv6 (1):
• Para tráfego externo é feita uma tradução de endereços;
• Suporte a bilhões de hosts;
• Redução das tabelas de roteamento;
• Protocolo simplificado;
115
• Melhoria na segurança; 116

A camada de rede da Internet A camada de rede da Internet

Protocolo IPv6 Protocolos de controle


• Principais objetivos do IPv6 (2): • Além do IP, a Internet possui outros protocolos usados na
• Cuidado com o tipo de serviço; camada de rede, exemplos:
• Auxílio ao multicasting; • ICMP (Internet Control Message Protocol);
• ARP (Address Resolution Protocol);
• Deslocamento de hosts sem alteração do IP;
• DHCP (Dynamic Host Configuration Protocol);
• Possibilidade de evolução do protocolo;
• Coexistência entre protocolos antigos e novos;
• Veremos algumas características destes protocolos para suas
versões correspondentes ao IPv4;
• Entretanto, apesar de implementado, o IPv6 ainda não se
popularizou, sendo usado por aproximadamente 1% da
• ICMP e DHCP possuem versões semelhantes para o IPv6, e o
Internet.
correspondente ao ARP é o NDP (Neighbor Discovery
117 Protocol). 118

A camada de rede da Internet A camada de rede da Internet

Protocolos de controle Protocolos de controle


• ICMP (Internet Control Message Protocol) (1): • ICPM (Internet Control Message Protocol) (2):
• A operação da Internet é monitorada pelos roteadores, quando • Principais tipos de mensagem:
algo inesperado ocorre durante o processamento de um pacote o
Tipo de Mensagem Descrição
transmissor será notificado através do protocolo de mensagem
de controle, o ICMP; Destination unreachable O pacote não pode ser entregue.

• Também é usado para realização de testes da rede; Time exceed O campo TTL atingiu 0.

• Existem cerca de 12 tipos de mensagens ICMP; Parameter problem Campos de cabeçalho inválido.

• Cada mensagem é encapsulada e transmitida em um pacote IP; Source quench Restringe o envio de pacotes.

• As mais importantes são apresentadas no quadro a seguir; 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 Encontra um roteador próximo.
119 advertisement/solicitation 120
• Uma lista completa pode ser obtida em:
• http://www.iana.org/assignments/icmp-parameters/

20
A camada de rede da Internet A camada de rede da Internet

Protocolos de controle Protocolos de controle


• ARP (Address Resolution Protocol): • DHCP (Dynamic Host Configuration Protocol):
• O hardware na camada de enlace não reconhece endereços IP; • Quando um computador é iniciado, ele já possui seu NIC, mas
• Como mapear endereços IP para endereços NIC (Network ainda não possui um IP;
Interface Cards)? • 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.

121 122

A camada de rede da Internet A camada de rede da Internet

Protocolos de roteamento Protocolos de roteamento


• Na Internet existem diferentes protocolos para a realização de • MPLS (MultiProtocol Label Switching):
roteamento: • O roteamento é feito com base em rótulos ao invés de ser pelo
• MPLS (MultiProtocol Label Switching); endereço IP;
• OSPF (Open Shortest Path First); • Com isso, fica bem próximo de um protocolo de comutação de
• BGP (Border Gateway Protocol). circuitos;
• Definido pela IETF na RFC 3031;

123 124

A camada de rede da Internet A camada de rede da Internet

Protocolos de roteamento Protocolos de roteamento


• OSPF (Open Shortest Path First): • BGP (Border Gateway Protocol):
• Protocolo de Roteamento de Gateway Interior; • Protocolo de Roteamento de Gateway Exterior;
• Responsável pelo roteamento intradomínio; • Responsável pelo roteamento interdomínio;
• Utiliza estratégia de roteamento por estado de enlace; • Possui preocupações políticas;
• Realiza balanceamento de carga; • Restrições podem ser definidas manualmente;
• Possui rápida adaptação a alterações de topologia; • Utiliza estratégia de roteamento por vetor de distância;
• Definido pela IETF nas RFCs 1131 e 2328. • 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.

125 126

21
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

22

Você também pode gostar