Teleprocessamento e Redes
Capítulo 4:
Camada de Rede
Prof. Fábio M. Costa
INF / UFG
Visão Geral







2
Serviço oferecidos pela camada de rede
Organização interna da camada de rede
Algoritmos de roteamento – visão geral
Controle de congestionamento
Interconexão de redes
A camada de rede na Internet
A camada de rede em redes ATM – visão
geral
Prof. Fábio M. Costa - INF / UFG
No contexto da pilha de protocolos...
3
Prof. Fábio M. Costa - INF / UFG
Função básica da Camada de Rede


Determinar caminhos para a transmissão de pacotes
Conduzir pacotes através da rede, passando por
vários nodos, da origem até o destino
–

Nodo: Roteador ou Host
Primeira camada que se ocupa com transmissão de
dados fim-a-fim
Sub-rede
R1
4
Origem
R2
R4
R3
R5
Destino
Prof. Fábio M. Costa - INF / UFG
Fução básica da Camada de Rede (2)
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
5
Prof. Fábio M. Costa - INF / UFG
Pressupostos básicos




Conhecimento da topologia da rede
Capacidade de escolher caminhos
otimizados
Evitar a sobrecarga de certos enlaces ou
roteadores
Lidar com as incompatibilidades entre redes
diferentes
–
6
Quando origem e destino se encontram em redes
com características diferentes
Prof. Fábio M. Costa - INF / UFG
Serviço oferecido pela Camada de
Rede

Requisitos fundamentais:
–
–
–

Dois tipos mutuamente excludentes de
serviços:
–
–
7
Independentes da tecnologia da rede subjacente
Isolar a Camada de Transporte das questões
relativas ao tamanho, tipo e topologia das subredes presentes
Usar um esquema de endereçamento uniforme
Serviço orientado a conexões
Serviço sem conexões
Prof. Fábio M. Costa - INF / UFG
Serviço sem conexões


Defendido pela comunidade ligada à Internet
Argumentos principais:
–
A função da sub-rede é mover bits de um lado
para o outro

–
A sub-rede é inerentemente não-confiável,
independentemente de seu design



8
SEND_PACKET, RECEIVE_PACKET
Hosts devem aceitar o fato, sendo que os mesmos são
responsáveis pelo controle de erros e de fluxo
Tornar a sub-rede o mais simples possível
Movendo a complexidade adicional para os
hosts (computadores dos usuários)
Prof. Fábio M. Costa - INF / UFG
Serviço orientado a conexões


Defendido pela comunidade ligada às
companhias telefônicas
Principais argumentos:
–
Sub-rede deve prover um serviço confiável

–
Usuários (hosts) não devem se preocupar com
estes “detalhes”



9
Funções como controle de erros e de fluxo são
realizadas pela sub-rede
Apropriado no caso de terminais “burros”: telefone
Remove a complexidade dos hosts
Sub-rede mais complexa
Prof. Fábio M. Costa - INF / UFG
Organização interna da Camada de
Rede
Rede baseada em Circuitos Virtuais
X
Rede baseada em Datagramas
Datagramas
Circuitos Virtuais (VC)
–
–
–
10
rota fixa no estabelec.
da conexão
roteadores mantém
tabela de VCs ativos
análogo ao sistema
telefônico
–
–
–
rota determinada para
cada pacote individual
pacotes podem seguir
rotas diferentes
análogo ao sistema
postal
Prof. Fábio M. Costa - INF / UFG
Sub-rede baseada em Circuitos
Virtuais

Cada roteador mantém uma tabela de VCs:
–
–

Cada VC recebe um número único no
contexto de um roteador
–

11
Uma entrada para cada VC passando por ele
Indicando a interface de rede através da qual
pacotes de cada VC devem ser encaminhados
O mesmo VC pode ser identificado através de
números diferentes em roteadores distintos
Pacotes são identificados pelo número do
VC ao qual pertencem
Prof. Fábio M. Costa - INF / UFG
Sub-rede baseada em Circuitos
Virtuais (2)

Protocolo de sinalização
–
–
Usado para o estabelecimento de circuitos virtuais
Antes que transferência de dados real possa ocorrer
application
transport 5. Data flow begins
network 4. Call connected
data link 1. Initiate call
physical
12
6. Receive data application
3. Accept call
2. incoming call
transport
network
data link
physical
Prof. Fábio M. Costa - INF / UFG
Sub-rede baseada em Datagramas

Cada roteador mantém uma tabela indicando:
–
A interface de rede através da qual cada roteador
existente pode ser atingido

–

Tabela de rotas
Pacotes (datagramas) devem conter o
endereço completo do destino
–
13
Interface usada para encaminhar pacotes destinados
àquele roteador específico
Roteadores usam este endereço para verificar, em
suas tabelas de rotas, qual interface usar para
encaminhar cada pacote recebido
Prof. Fábio M. Costa - INF / UFG
Sub-rede baseada em Datagramas (2)


Não é necessário tempo inicial de preparação da
conexão
Dados começam a ser transmitidos imediatamente
application
transport
network
data link 1. Send data
physical
14
application
transport
network
2. Receive data
data link
physical
Prof. Fábio M. Costa - INF / UFG
Circuitos Virtuais e Datagramas:
Comparação
Aspecto
Sub-rede baseada em
Datagramas
Sub-rede baseada em
VCs
Estabelecimento de
circuito
Não necessário
Necessário. Overhead
inicial
Endereçamento
Cada pacote contém o
endereço completo do
destino
Cada pacote contém um
pequeno número
identificando o VC
Informação de
estado
Sub-rede stateless
Cada VC requer uma
entrada na tabela de VCs
Roteamento
Cada pacote roteado
independente
Rota escolhida quando
do estabelecim. do VC
Efeito de falhas de
roteadores
Nenhum. Pacotes podem
seguir outra rota
VCs passando pelo
roteador são terminados
Controle de
congestionamento
Difícil
Resolvido com a reserva
de buffers para cada VC
15
Prof. Fábio M. Costa - INF / UFG
Estrutura Interna da Sub-rede e Tipos
de Serviço
Tipo de sub-rede
Tipo de serviço
(camada superior)
16
Datagrama
Circuito Virtual
Sem-conexão
UDP
sobre
IP
UDP
sobre
IP
sobre
ATM
Orientado a conexão
TCP
sobre
IP
ATM AAL1
sobre
ATM
Prof. Fábio M. Costa - INF / UFG
Roteamento

Principal função da camada de rede
–
–
–
Pacotes passam por múltiplos nós intermediários
até chegar ao destino
Achar o “melhor” dentre vários caminhos
alternativos (de acordo com algum critério)
Em redes de difusão (broadcast):


17
Dispensa roteamento internamente
Mas não se origem e destino estiverem em redes
diferentes
Prof. Fábio M. Costa - INF / UFG
Algoritmos de Roteamento

Parte do software de camada de rede
responsável por decidir o caminho a ser
seguido pelos pacotes
–

Em redes baseadas em Datagrama:
–

Roteamento é (ou pode ser) feito individualmente
para cada pacote
Em redes baseadas em Circuito Virtual:
–
18
Geralmente executado passo-a-passo
Roteamento por sessão: caminho fixo seguido
por todos os pacotes de um mesmo VC
Prof. Fábio M. Costa - INF / UFG
Algoritmos de Roteamento:
Propriedades desejáveis

Corretude
–

Simplicidade
–

Facilidade de implementação e baixo custo
computacional
Robustez
–
–
19
Caminhos calculados deve conduzir ao destino
endereçado
Funcionar continuamente, a despeito de falhas de
nodos (roteadores), mudanças de topologia da
rede, variações nos padrões de tráfego
Algoritmo distribuído
Prof. Fábio M. Costa - INF / UFG
Algoritmos de Roteamento:
Propriedades desejáveis (2)

Estabilidade
–

O algoritmo deve convergir (de maneira
determinística, de preferência)
Justiça (Fairness)
–
O algoritmo não deve favorecer alguns nodos
(roteadores) em detrimento de outros



Optimalidade
–
20
distribuição de carga deve ser balancea entre os nodos
oportunidade de transmissão de pacotes deve ser igual
para todos os nodos (hosts).
Em nível global da rede Vs. no nível de cada sessão
Prof. Fábio M. Costa - INF / UFG
OBS.: Justiça Vs. Optimalidade

Optimizar throughput de tráfego global
Sessões independentes entre: A e A´, B e B´, C e C´
–
Vs.
Justiça para com todos os hosts


–
21
Comunicação entre X e X´ pode ficar prejudicada
Prof. Fábio M. Costa - INF / UFG
Critérios para otimização

Duas metas conflitantes:
1) Minimizar o atraso médio de transmissão (fim-a-
2)
–
fim) de pacotes
Maximizar o throughput global da rede
Meta (2) requer que a rede opere no limite de
sua capacidade

–
Filas mais longas: aumenta-se o tempo que
cada pacote tem que esperar para ser roteado

22
Com as filas de pacotes nos roteadores sempre cheias
Conseqüentemente, aumenta-se o atraso fim-a-fim
dos pacotes
Prof. Fábio M. Costa - INF / UFG
Otimização: Solução de compromisso


Minimizar o número de roteadores
intermediários que um pacote tem que
percorrer
Tende a melhorar o atraso fim-a-fim
Reduz a quantidade de largura de banda
consumida por cada sessão de comunicação
–
Tende a melhorar o throughput global da rede

23
Rede capaz de suportar mais sessões
Prof. Fábio M. Costa - INF / UFG
Categorias de Algoritmos de
Roteamento

Algoritmos não-adaptativos (ou estáticos)
–

Caminhos são computados previamente (off-line) e
então descarregados nos roteadores
Algoritmos adaptativos
–
–
Rotas são computadas dinamicamente
Cálculo de rotas é feito periodicamente, baseado
nas condições atuais da rede



24
Análise de variáveis em âmbito local ou global
Métricas: distância, número de hops, estimativa de delay
Refletindo mudanças na topologia e nas características
de tráfego
Prof. Fábio M. Costa - INF / UFG
Princípio da Optimalidade

Se o roteador J está no caminho ótimo do roteador I
para o roteador K, então o caminho ótimo de J para
K também segue a mesma rota
I
K
J
Melhor caminho de J para K
25
Melhor caminho de I para K
Prof. Fábio M. Costa - INF / UFG
Árvore de “sorvedouro”


26
O conjunto de rotas ótimas de todas os nodos-origem
para um dado nodo de destino forma uma árvore cuja
raiz é o nodo de destino
Pode haver mais do que uma árvore de sorvedouro
para uma mesma rede
Prof. Fábio M. Costa - INF / UFG
Árvore de “sorvedouro” (2)

Cada roteador pode ter uma visão diferente
da árvore
–


27
Ex.: devido a mudanças na topologia da rede, as
quais podem não ser percebidas por todos os
roteadores ao mesmo tempo
Mecanismo usado pelos roteadores para
obter informações de topologia para montar
a árvore: dependente de protocolo
Provê um modelo genérico para algoritmos
de roteamento (juntamente com o princípio
da optimalidade)
Prof. Fábio M. Costa - INF / UFG
Roteamento por Caminho Mais Curto

Constrói-se um grafo da sub-rede
–
–
nodos representando roteadores
arestas representando enlaces de comunicação
Melhor rota entre um dado par de roteadores
Rota mais curta entre os dois nodos
correspondentes no grafo
28
Prof. Fábio M. Costa - INF / UFG
Métricas para se calcular o custo de
um caminho






Número de saltos (hops) ou enlaces
intermediários
Distância geográfica
Tempo médio de enfileiramento e
transmissão nos roteadores
Largura de banda dos enlaces
Carga de tráfego nos enlaces
Custo monetário da comunicação
Ou uma função de várias destas métricas
29
Prof. Fábio M. Costa - INF / UFG
Exemplo

Métrica: número de saltos:
–

Métrica: distância geográfica:
–
30
rota ABCD (3 saltos) melhor que rota ABEFHD (5 saltos)
rota ABEFHD (dist.=10) melhor que rota ABCD (dist.=12)
Prof. Fábio M. Costa - INF / UFG
Algoritmo de Djikstra† para caminhos
mínimos

Cada nodo é rotulado com sua distância a
partir do nodo origem da rota
–

Inicialmente:
–
–

31
ao longo da melhor rota conhecida até então
Nenhuma rota é conhecida
Todos os nodos são rotulados com distância
infinita
À medida em que o algoritmo prossegue,
rótulos podem mudar, refletindo melhores
caminhos encontrados
Prof. Fábio M. Costa - INF / UFG
Algoritmo de Djikstra† para caminhos
mínimos (2)

Rótulo:
–
–
tentativo: não se sabe se reflete a melhor rota
permanente: rótulo representa a melhor rota



Inicialmente, todos os rótulos são tentativos
Ao se descobrir que o rótulo de um nodo
representa a melhor rota da origem até tal
nodo, este rótulo é tornado permanente
–

32
I.e., nodo correspondente faz parte da melhor rota
Não pode ser mais alterado
Repete até chegar ao nodo de destino
Prof. Fábio M. Costa - INF / UFG
Exemplo: Rota mais curta de A para D
33
Prof. Fábio M. Costa - INF / UFG
Roteamento Hierárquico




34
Rede é dividida em regiões
Algoritmo de roteamento é executado
independentemente em cada região
Apenas os nodos (roteadores) que conectam
uma região à outra têm conhecimento de
regiões externas
Melhor escalabilidade
Prof. Fábio M. Costa - INF / UFG
Roteamento Hierárquico: Exemplo
35
Prof. Fábio M. Costa - INF / UFG
Roteamento para Hosts Móveis
36
Prof. Fábio M. Costa - INF / UFG
Controle de Congestionamento


Quando o número de
pacotes presentes na
rede está acima de sua
capacidade
Tráfego ligeiramente
acima do limite:
–

Roteadores começam a
perder pacotes
Tráfego muito acima
do limite:
–
37
Colapso
Prof. Fábio M. Costa - INF / UFG
Congestionamento: Principais causas

Vazão de pacotes que chegam em um roteador é
maior do que a vazão de saída de pacotes
–
–
Ex.: tráfego chegando por várias linhas, mas com uma
única linha de saída
Overflow do buffer (fila) do roteador
Fila
Roteador
38
Prof. Fábio M. Costa - INF / UFG
Congestionamento: Principais causas
(2)

Baixa capacidade de processamento nos
roteadores
–
–

Enlaces de baixa capacidade
–

Efeito semelhante
Melhorar em um ponto apenas não resolve o
problema
–
39
Roteador não consegue processar todo o tráfego
que chega
Overflow das filas do roteador
Deve-se eliminar todos os “gargalos” na rede
Prof. Fábio M. Costa - INF / UFG
Congestionamento: Principais causas
(3)

Processo de re-alimentação
–
–
–
40
Congestionamento causa o descarte de pacotes
Pacotes descartados são retransmitidos
Aumentando o congestionamento ainda mais
Prof. Fábio M. Costa - INF / UFG
Controle de Congestionamento:
Princípios gerais

Soluções de loop aberto:
–
–
Prevenção de congestionamento através de um
bom design da rede e de seus protocolos
Técnicas mai comun:


–
41
Controle de admissão de tráfego: quando aceitar novas
conexões ou pacotes para transmitir
Decisões de escalonamento apropriadas: balancear a
carga entre os roteadores da rede
Técnica essencialmente preventiva
Prof. Fábio M. Costa - INF / UFG
Controle de Congestionamento:
Princípios gerais (2)

Soluções de loop fechado:
–
Baseadas em retro-alimentação (feedback)



–
Principais métricas:

–
% de pacotes perdidos, tamanho médio das filas, % de
pacotes que sofrem timeouts, atraso médio dos pacotes
Cuidar para não acentuar o congestionamento

42
Monitorar o sistema para detectar congestionamentos
Informar hosts e roteadores p/ que tomem a ação
apropriada (ex.: reduzir envio de pacotes)
Ajustar a operação do sistema para corrigir o problema
Não enviar pacotes de controle de congestionamento
desnecessariamente. Ex.: usar piggybacking
Prof. Fábio M. Costa - INF / UFG
Controle de Congestionamento:
Princípios gerais (3)

Aumentar temporariamente a quantidade de
recursos da rede para lidar com a carga de
tráfego extra
–
Fazendo-se valer da redundância incorporada à
rede para fins de tolerância a falhas

–
Contratação temporária de mais recursos


Aumentar a largura de banda dos enlaces
Medidas drásticas:
–
43
Roteadores e enlaces redundantes
Recusa ou degradação do serviço prestado aos
usuários
Prof. Fábio M. Costa - INF / UFG
Controle de Congestionamento: Onde
aplicar
Essencialmente uma tarefa “fim-a-fim”

Em redes baseadas em circuitos virtuais
–

Em redes baseadas em datagramas
–

44
Na própria camada de Rede
Na camada de Transporte
Técnicas auxiliares podem ser empregadas
na camada de Enlace
Prof. Fábio M. Costa - INF / UFG
Políticas de Prevenção de
Congestionamento
45
Prof. Fábio M. Costa - INF / UFG
Modelamento de Tráfego

Tráfego de dados geralmente não segue um
padrão de fluxo constante
–
–

Transmissão em “rajadas”
Torna mais difícil o controle de congestionamento
Modelamento de tráfego (traffic shaping):
–
Regular o tráfego de forma a:


–
46
Impor uma certa regularidade (eliminando rajadas)
Controlar a taxa de transmissão
Baseado em um acordo entre o usuário e a subrede
Prof. Fábio M. Costa - INF / UFG
Modelamento de Tráfego (2)

Requer policiamento do tráfego pela subrede
–
Para verificar se o usuário está obedecendo o
acordo firmado inicialmente, quanto à:


–
–
47
Taxa de transmissão (vazão)
Regularidade do tráfego
Mais simples de implantar em redes de circuito
virtual
Em redes de datagrama: implementado na
camada de Transporte (fim-a-fim)
Prof. Fábio M. Costa - INF / UFG
Controle de Congestionamento:
Algoritmo do “Balde furado” (leaky
bucket)
48
Prof. Fábio M. Costa - INF / UFG
Resumo dos Tópicos Abordados





49
Serviço oferecido pela camada de Rede
Protocolos de Roteamento
Controle de Congestionamento
Interconexão de Redes
Camada de Rede na Internet
Prof. Fábio M. Costa - INF / UFG
Interconexão de Redes

50
Diversidade de tecnologias de rede incompatíveis,
mas que precisam ser interligadas
Prof. Fábio M. Costa - INF / UFG
Dispositivos de interconexão de redes
Camada
Dispositivo
Funcionalidade
Física
Repetidor
Cópia de bits entre segmentos de cabo
distintos
Enlace
Ponte
Armazenar e retransmitir quadros com
base no endereço de destino
Rede
Roteador
multiprotocolo
Armazenar e retransmitir quadros, rotear
pacotes, compatibilizar protocolos de rede
diferentes
Transporte Gateway de
transporte
Conectar duas redes no nível de transporte
Aplicação
Conectar duas partes de uma mesma
aplicação suportada por protocolos de
aplicação diferentes
51
Gateway de
aplicação
Prof. Fábio M. Costa - INF / UFG
“Half- and Full Gateways”
52
Prof. Fábio M. Costa - INF / UFG
Diferenças entre redes
53
Prof. Fábio M. Costa - INF / UFG
Duas abordagens básicas para
interconexão



54
Concatenação de circuitos virtuais
Interconexão baseada em datagramas (i.e.,
sem conexão)
Tunelamento (tunneling)
Prof. Fábio M. Costa - INF / UFG
Concatenação de Circuitos Virtuais


55
Roteadores concatenam circuitos virtuais
estabelecidos dentro das redes conectadas
Problemas ao conectar redes com características
diferentes em relação à confiabilidade
Prof. Fábio M. Costa - INF / UFG
Interconexão Baseada em Datagramas


56
Cada pacote tratado independentemente
Pacotes podem seguir rotas diferentes, passando
por diferentes roteadores e redes
Prof. Fábio M. Costa - INF / UFG
Problemas com Interconexão Baseada
em Datagramas

Redes com protocolos diferentes
–
–

Esquemas de endereçamento diferentes
–
–
57
Pacotes de uma rede não podem trafegar na outra
Conversão de protocolos só faz sentido se os dois
protocolos forem suficientemente semelhantes
Ex.: endereços IP de 32 bits versus endereços
decimais utilizados pelo protocolo OSI CLNP
Conversão de endereços pode requerer grandes
bases de dados: difícil de gerenciar
Prof. Fábio M. Costa - INF / UFG
Comparação

Concatenação de circuitos
virtuais
–
–
–
–
–
–
–
–
58
Reserva adiantada de buffers
evita congestionamento
Garante seqüência dos pacotes
Cabeçalhos mais curtos
Elimina duplicação de pacotes
Tabelas de VCs em memória
Rotas fixas
Vulnerável a falhas de
roteadores
Impossível de implementar se
alguma rede intermediária for
baseada em datagramas

Interconexão baseada em
datagramas
–
–
–
–
–
Sujeito a congestionamentos
Roteamento adaptável
Robustez frente a falhas de
roteadores
Cabeçalhos mais longos
Pode ser empregado na
interconexão de redes
baseadas em datagramas e
redes de circuito virtual
Prof. Fábio M. Costa - INF / UFG
Tunneling

Aplicável quando as redes de origem e destino da
conexão são do mesmo tipo
–



59
Mas os dados devem passar por redes intermédiárias com
características diferentes
Pacote original (inteiro) é transmitido dentro do
campo de payload de um pacote da rede
intermediária
Na rede de destino, o pacote é removido e
transmitido normalmente até seu endereço final
Técnica comum ao se conectar duas redes locais
através de uma rede pública de longa distância
Prof. Fábio M. Costa - INF / UFG
Tunneling (2)
60
Prof. Fábio M. Costa - INF / UFG
Tunneling: Analogia
61
Prof. Fábio M. Costa - INF / UFG
Roteamento Inter-Redes

Semelhante ao roteamento dentro de uma única
rede
–
Mas realizado de forma hierárquica


62
Roteamento interno: dentro de cada rede
Roteamento externo: entre as redes interconectadas
Prof. Fábio M. Costa - INF / UFG
Roteamento entre Sistemas
Autônomos


Cada rede interconectada pode ser
independente das demais
Protocolo de roteamento próprio
Diferentes políticas de administração do
tráfego
–


63
Ex.: Diferentes leis ao cruzar fronteiras nacionais
Diferentes mecanismos para atribuir custo
ao serviço de transmissão de dados
Diferentes qualidades de serviço
 Faz do roteamento uma tarefa mais
complexa
Prof. Fábio M. Costa - INF / UFG
Fragmentação de Pacotes


Diferentes redes possuem limites diferentes
quanto ao tamanho máximo de pacotes
Problema ao se transmitir um pacote através
de uma rede intermediária cujo tamanho
máximo permitido seja menor
–
–

64
Se for uma rede intermediária, pode-se tentar
contorná-la
Se for a rede de destino, a única saída é
fragmentar o pacote em vários pacotes menores
a serem transmitidos separadamente
Remontagem do pacote original no destino
Prof. Fábio M. Costa - INF / UFG
Fragmentação de Pacotes:
Transparente Vs. Não-Transparente
65
Prof. Fábio M. Costa - INF / UFG
Fragmentação Transparente


Hosts não precisam se preocupar com a
remontagem, que é feita pela rede
Todos os pacotes devem deixar a rede
intermediária através do mesmo roteador
–
–

66
Para que o pacote original possa ser remontado
Não permite explorar rotas alternativas
Overhead gerado por sucessivas
fragmentações e remontagens de pacotes
Prof. Fábio M. Costa - INF / UFG
Fragmentação Não-Transparente


Hosts devem ser capazes de remotar os pacotes
Aumenta o overhead de cabeçalho
–


Cada fragemento pode passar por uma rota
diferente
Um dado fragmento pode necessitar fragementação
–

ao passar por uma rede com limite ainda mais estrito
Remontagem depende do esquema de numeração
dos fragmentos
–
67
cada fragmento é um pequeno pacote com cabeçalho
completo
que precisa ser robusto na presença de perdas de pacotes
Prof. Fábio M. Costa - INF / UFG
Esquema de Numeração dos
Fragmentos
68
Prof. Fábio M. Costa - INF / UFG
Firewalls


Segregação de tráfego
Impedir que tráfego expúrio entre na rede
–

Impedir que informações valiosas deixem a
rede de maneira não autorizada
–

informações confidenciais, segredos de negócio
Impedir tipos de acesso que podem trazer
vulnerabilidades à rede
–
69
vírus, worms, hackers, spam
telnet
Prof. Fábio M. Costa - INF / UFG
Estrutura de uma Firewall
70
Prof. Fábio M. Costa - INF / UFG
Firewall: Filtro de Pacotes

Roteador equipado com funcionalidade
adicional para:
–
aceitar ou descartar pacotes de acordo com
algum critério programado




Dois filtros, localizados em redes distintas
–
–
–
71
endereços de origens e destinos aceitáveis
endereços de origens e destinos bloqueados
protocolos de aplicação aceitáveis (ex.: web, e-mail)
Impedindo comunicação direta entre a parte
externa e a parte interna da firewall
Filtro interno: checa pacotes que saem
Filtro externo: checa pacotes que chegam
Prof. Fábio M. Costa - INF / UFG
Firewall: Gateway de Aplicação


Examina os dados que entram e saem da
rede no nível das aplicações
Ex.: um gateway de e-mail examinaria o
conteúdo das mensagens:
–
–
–
72
cabeçalho
texto da mensagem
tamanho da mensagem
Prof. Fábio M. Costa - INF / UFG
Firewalls e Redes sem Fio



73
Firewalls são baseadas na suposição de que
não há outros meios de comunicação entre a
rede interna e a rede externa
Esta suposição é inválida no caso de redes
sem fio
...
Prof. Fábio M. Costa - INF / UFG
A Camada de Rede na Internet









74
O protocolo IP
Endereços IP
Sub-redes
Protocolos de controle
Protocolos de roteamento
Multicasting
IP Móvel
Classless InterDomain Routing
IPv6
Prof. Fábio M. Costa - INF / UFG
A Camada de Rede na Internet
75
Prof. Fábio M. Costa - INF / UFG
Modelo típico de comunicação
Camada de Transporte (TCP, UDP, etc.)
Camada de Transporte
Stream de dados
...
Stream
Datagramas
(≤64KB)
Camada de Rede (IP)
76
Fragmentos
de datagramas
...
...
Datagramas
(≤64KB)
Camada de Rede (IP)
Prof. Fábio M. Costa - INF / UFG
O Protocolo IP (Internet Protocol):
Formato de Pacote
Ordem de Transmissão dos Bits (Big Endian)
Máx: 40 bytes (10 words)
77
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

Versão
–
–
–
78
Número da versão do protocolo IP utilizada
Atualmente: 4
Permite transição suave entre versões diferentes do
protocolo
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

IHL (Internet Header Length)
–
–
79
Comprimento do cabeçalho do pacote (em palavras de 32
bits)
Mínimo: 5 (20 bytes); Máximo: 15 (60 bytes)
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

Tipo de serviço
–
–
–
–
80
Permite solicitar vários tipos de serviço diferentes
3 bits de precedência: prioridade do pacote (0: normal, 7: máx.)
3 bits de flags: Delay, Throughput, Reliability
Na prática, este campo é ignorado pelos roteadores
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

Comprimento total
–
–
81
Cabeçalho + Dados
Máx.: 65.535 bytes
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

Identificação
–
–


82
Usado no caso de datagramas fragmentados
Indica a qual datagrama o fragmento pertence
Fragmentos são transmitidos como pacotes.
Isto é, um datagrama pode ser transmitido em um ou mais
pacotes.
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

Bit DF (Don´t Fragment)
–

Bit MF (More Fragments)
–
83
Impede que roteadores fragmentem um datagrama
Indica se o fragmento é (0) ou não o último na seqüência de
fragmentos que compõem um datagrama
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

Fragment Offset
–
84
Indica a posição, dentro do datagrama original, onde tem início
o fragmento
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

Time to Live
–
–
–
85
Contador utilizado para limitar o tempo de vida de um pacote
na rede
Decrementado a cada roteador intermediário pelo qual um
pacote passa no percurso da origem até o destino
Evita que pacotes fiquem trafegando na rede indefinidamente
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

Protocol
–
–
–
86
Identifica o protocolo de Transporte que gerou os dados
contidos no pacote
Útil quando o IP vai entregar um datagrama à camada de
transporte no destino: que processo chamar
Cada protocolo de Transporte tem um número padrão (RFC
1700)
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

Header Checksum
–
–
–
87
Código de detecção de erros do cabeçalho
IP não checa erros na parte de dados do pacote
Deve ser re-computado em cada roteador intermediario:
cabeçalho pode mudar ao longo do caminho (campo time to
live)
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

Endereços de Origem e de Destino
–
–
88
32 bits
Identificam a origem e o destino do pacote
Prof. Fábio M. Costa - INF / UFG
Pacotes IP

89
Campo de Opções
Prof. Fábio M. Costa - INF / UFG
Endereços IP


Endereço único atribuído a computadores ou
roteadores presentes na Internet
Composição:
–
–

Máquinas conectadas a mais de uma rede:
–
–

90
Número da rede
Número da máquina (host)
através de várias interfaces de rede
um endereço IP para identificar cada interface
5 Classes de endereços: A, B, C, D, E
Prof. Fábio M. Costa - INF / UFG
Endereços IP
91
Prof. Fábio M. Costa - INF / UFG
Endereços IP: Classes

Classe A
–

Classe B
–

92
2 milhões de redes com até 254 hosts cada
Classe D:
–

16.382 redes com até 64K hosts cada
Classe C
–

126 redes com até 16 milhões de hosts cada
Endereços de multicast
Classe E: reservada para uso futuro
Prof. Fábio M. Costa - INF / UFG
Endereços IP: Formato



Notação decimal pontuada
Ex.: 192.41.6.20, 200.18.197.65
Primeiro e último números de cada rede:
–
93
este host e broadcast na rede, respectivamente
Prof. Fábio M. Costa - INF / UFG
Sub-redes

Partição de uma rede IP em várias redes
–
–

Permite um melhor aproveitamento de
endereços de rede
–

Um mesmo número de rede IP pode ser
particionado em várias redes físicas (ex.: LANs)
Subnet mask
–
94
Efeito no endereçamento e roteamento interno
Externamente: visto como uma única rede
Indica quais bits do endereço identificam a subrede e quais identificam uma máquina específica
Prof. Fábio M. Costa - INF / UFG
Subnet Mask

Exemplo:
–
–
–
Rede classe C: 200.18.162.0
Subnet mask: 255.255.255.192
Divide a rede classe C original em 4 sub-redes:


95
200.18.162.0 a 63, 200.18.162.64 a127,
200.18.162.128 a 191, 200.18.162.192 a 255
1o. e último endereços: this host e broadcast na sub-rede
Prof. Fábio M. Costa - INF / UFG
Processamento de Pacotes nos
Roteadores: Sem Sub-redes

Cada roteador tem uma tabela de rotas, com
dois tipos de entradas:
–
–


96
(rede, 0): rota para chegar a uma rede distante
(esta_rede, host): rota para máquinas locais
Rotas: interface de rede através da qual um
pacote deve ser transmitido para chegar ao
destino (rede ou host)
Rota default: utilizada quando o roteador não
conhece a rede de destino do pacote
Prof. Fábio M. Costa - INF / UFG
Processamento de Pacotes nos
Roteadores: Com Sub-redes

Dois novos tipos de entradas na tabela de rotas:
–
–

Ao receber um pacote para encaminhamento
(destinado a outra sub-rede):
–

97
(esta_rede, sub-rede, 0): rota para chegar a uma das
outras sub-redes
(esta_rede, sub-rede, host): rota para chegar a um host
na sub-rede onde está o roteador
Endereço IP AND subnet mask: para isolar o número da
rede e sub-rede e então fazer o lookup na tabela de rotas
Roteador não precisa manter rotas individuais para
hosts em outras sub-redes
Prof. Fábio M. Costa - INF / UFG
Tabela de rotas em um roteador de
pequeno porte: Exemplo
fmc@zeus:~> netstat -r
Kernel IP routing table
Destination
Gateway
200.137.197.128 apollo.inf.ufg.
200.137.197.192 artemis.inf.ufg
200.137.197.0
*
200.137.197.64 *
default
ares.inf.ufg.br
Genmask
255.255.255.192
255.255.255.192
255.255.255.192
255.255.255.192
0.0.0.0
Flags
UG
UG
U
U
UG
MSS
40
40
40
40
40
Window
0
0
0
0
0
irtt
0
0
0
0
0
Iface
eth1
eth1
eth1
eth0
eth1
Genmask
255.255.255.192
255.255.255.192
255.255.255.192
255.255.255.192
0.0.0.0
Flags
UG
UG
U
U
UG
MSS
40
40
40
40
40
Window
0
0
0
0
0
irtt
0
0
0
0
0
Iface
eth1
eth1
eth1
eth0
eth1
fmc@zeus:~>
fmc@zeus:~> netstat -nr
Kernel IP routing table
Destination
Gateway
200.137.197.128 200.137.197.2
200.137.197.192 200.137.197.6
200.137.197.0
0.0.0.0
200.137.197.64 0.0.0.0
0.0.0.0
200.137.197.1
fmc@zeus:~>
98
Prof. Fábio M. Costa - INF / UFG
Topologia da rede
200.137.197.192
200.137.197.128
zeus.inf.ufg.br
eth0
apollo
artemis
200.18.197.2
200.18.197.6
eth1
200.137.197.0
200.137.197.64
200.137.197.1
UFGNet
99
ares.inf.ufg.br
Prof. Fábio M. Costa - INF / UFG
Outro exemplo de tabela de rotas:
ares.inf.ufg.br
Destination
Gateway
Genmask
Flags
200.137.192.0
200.137.197.0
200.137.197.64
200.137.197.128
200.137.197.192
192.168.0.0
192.168.40.0
0.0.0.0
0.0.0.0
0.0.0.0
200.137.197.11
200.137.197.2
200.137.197.6
200.137.197.18
200.137.197.18
200.137.192.1
255.255.255.0
255.255.255.192
255.255.255.192
255.255.255.192
255.255.255.192
255.255.255.0
255.255.255.0
0.0.0.0
U
U
UG
UG
UG
UG
UG
UG

MSS
1500
1500
1500
1500
1500
1500
1500
1500
Window irtt
Iface
0
0
0
0
0
0
0
0
eth0
eth1
eth1
eth1
eth1
eth1
eth1
eth0
0
0
0
0
0
0
0
0
Ver esboço da topologia da rede no próximo slide
100
Prof. Fábio M. Costa - INF / UFG
101
Prof. Fábio M. Costa - INF / UFG
Protocolos de Controle da Internet







102
Monitoramento, configuração e controle do
funcionamento da camada de rede
Pacotes destes protocolos são encapsulados
em pacotes IP para transmissão
ICMP
ARP
RARP
BOOTP
DHCP
Prof. Fábio M. Costa - INF / UFG
ICMP – Internet Control Message
Protocol

Usado pelos roteadores para:
–
–

Reportar eventos anômalos
Testar a rede
Exemplo: utilitário ping
–
–
Envia um pacote de requisição de “eco” e
aguarda a resposta
Efetua medições:


103
Tempo de resposta
% de pacotes perdidos
Prof. Fábio M. Costa - INF / UFG
ICMP: Tipos de mensagens
104
Prof. Fábio M. Costa - INF / UFG
ARP – Address Resolution Protocol



Roteadores (camada de rede): utilizam
endereços IP de 32 bits
LAN (camada de enlace): utiliza endereços
MAC (ex.: endereços Ethernet de 48 bits)
Transmissão de um pacote na rede local:
–
–


105
Encapsular o pacote em um quadro Ethernet
Mapear o endereço IP em um endereço Ethernet
Protocolo ARP dispensa a necessidade de
extensas tabelas de mapeamento
Normalmente não usado se destino em outra
rede
Prof. Fábio M. Costa - INF / UFG
ARP: Funcionamento

Host de origem do pacote IP efetua o
broadcast de um pacote ARP contendo:
–
–

Host de destino responde com outro pacote
ARP contendo seu próprio end. Ethernet
–

106
Endereço IP do host de destino
Endereços IP e Ethernet do host de origem
Aproveita o endereço Ethernet recebido do host de
origem
Mapeamentos de endereços são guardados
em uma cache (para evitar outros broadcasts)
Prof. Fábio M. Costa - INF / UFG
ARP: Exemplo
107
Prof. Fábio M. Costa - INF / UFG
RARP – Reverse Address Resolution
Protocol


Dado um endereço Ethernet, qual o endereço IP
correspondente?
Útil ao inicializar uma estação sem disco (ou, mais
genericamente, estações que não conhecem seu
endereço IP)
–
–


Estação faz um broadcast RARP, contendo seu
endereço MAC (ex.: end. Ethernet de 48 bits)
Servidor RARP responde com o endereço IP da
estação
–
108
Tudo o que a estação conhece é seu endereço MAC
O endereço IP da estação pode mudar caso esta seja
movida para uma rede diferente
Cada rede local deve ter um servidor RARP
Prof. Fábio M. Costa - INF / UFG
Protocolos mais sofisticados para a
configuração inicial de estações

BOOTP
–
–
–
–

DHCP (Dynamic Host Configuration Protocol)
–

Flexível quanto ao tipo de informação de configuração a ser
fornecido pelo servidor
Utilizam broadcast no nível do protocolo UDP
–
–
109
Endereço IP da estação
Endereço IP do servidor de arquivos contendo a imagem de
memória de estações sem disco
Endereço IP do roteador default
Subnet mask a ser usada
propagado pelos roteadores
permite que servidor BOOTP/DHCP esteja em uma rede
diferente
Prof. Fábio M. Costa - INF / UFG
Protocolos de Roteamento na Internet

Rede dividida em:
–
–

Interior Gateway Routing Protocol
–
–

Usado dentro de um AS
OSPF – Open Shortest Path First
Exterior Gateway Routing Protocol
–
–
110
Sistemas Autônomos (AS)
Backbone conectando os sistemas autônomos
Usado no Backbone da Internet
BGP – Border Gateway Protocol
Prof. Fábio M. Costa - INF / UFG
Estrutura de
Roteamento
na Internet
111
Prof. Fábio M. Costa - INF / UFG
OSPF: Características Gerais


Protocolo de domínio público (aberto)
Supore a diversas métricas diferentes
–


Dinâmico: capaz de se adaptar a mudanças
Roteamento baseado em tipo de serviço
–


112
Ex.: pode escolher rotas diferentes para tráfego de temporeal e tráfego não-tempo-real
Permite balanceamento de carga
–

distância física, atraso, etc.
Divide a carga entre rotas alternativas
Suporte a redes hierárquicas
Suporte a medidas de segurança básicas
Prof. Fábio M. Costa - INF / UFG
OSPF: Funcionamento Básico


Definir rotas ótimas dentro de um mesmo sistema
autônomo
Roteadores adjacentes trocam informações de
estado dos links (custo) entre si
–

Cada roteador constrói sua visão (grafo) da rede
–
–

A partir da qual rotas “ótimas” são computadas
Rota: próximo nodo no caminho até o destino
Algoritmo hierárquico
–
–
113
Atualizadas periodicamente
–
Rede dividida em áreas ligadas por um backbone
Roteador na “borda” de uma área: rotas até o backbone
Rotas parciais são conectadas: área 1 + backbone + área 2
Prof. Fábio M. Costa - INF / UFG
OSPF: Grafo
da Rede
114
Prof. Fábio M. Costa - INF / UFG
BGP: Características Básicas

Protocolo de roteamento que leva em conta questões
de natureza política
–
Necessário quando se conecta sistemas autônomos com
objetivos conflitantes


Permite a inclusão de políticas de roteamento.
Exemplos:
–
–

Um AS não aceita ser intermediário no roteamento de pacotes
para outros ASes
Não permitir que tráfego seja roteado através de certos ASes
Políticas: configuráveis manualmente
–
115
Ex.: ASes pertencentes a empresas concorrentes
Não são definidas como parte do protocolo
Prof. Fábio M. Costa - INF / UFG
BGP: Funcionamento Básico



Distance Vector Algorithm
Roteadores trocam entre si informações
sobre rotas completas
Rotas são escolhidas com base em
–
–

Atualizações periódicas
–
116
Métricas de custo
Políticas de roteamento
Rotas alternativas podem substituir rotas com
problemas
Prof. Fábio M. Costa - INF / UFG
BGP: Exemplo
117
Prof. Fábio M. Costa - INF / UFG
Internet Multicasting

Envio de um mesmo pacote para um grupo de
receptores simultaneamente
–

Suporte a multicast no IP: endereços Classe D
–
–
–

224.0.0.0 a 239.255.255.255
Cada endereço classe D: um grupo de hosts
Até cerca de 250 milhões de grupos
Sem garantias de confiabilidade
–
118
Ex.: atualização de réplicas de um BD distribuído,
tele-conferência
Best-effort: Alguns membros do grupo podem não
receber o pacote
Prof. Fábio M. Costa - INF / UFG
Internet Multicasting (2)

Endereços de grupo permanentes
–
–
–

224.0.0.1: todos os sistemas em uma LAN
224.0.0.2: todos os roteadores em uma LAN
224.0.0.5: todos os roteadores OSPF em uma LAN
Endereços de grupo temporários
–
–
Devem ser criados explicitamente
Processo requisita ao seu host:

–
119
entrada e saída no grupo
Host mantém uma tabela dos grupos aos quais
seus processos estão associados
Prof. Fábio M. Costa - INF / UFG
Internet Multicasting (3)

Implementação através de roteadores
habilitados a reconhecer endereços Classe D
–

Roteadores de Multicast
Protocolo IGMP (Internet Group Management
Protocol)
–
Permite a um roteador de multicast saber quais
grupos têm membros em sua LAN


120
Consultas periódicas aos hosts
Host respondem com os endereços de grupo pertinentes
Prof. Fábio M. Costa - INF / UFG
Internet Multicasting (4)

Roteamento de multicasts
–
–
–
–
121
Spanning tree (árvore de espalhamento)
Roteadores de multicast trocam entre si
informações sobre os grupos existentes
Cada roteador constrói para si uma spanning tree
para cada grupo “passando” por ele
Roteadores não pertencentes a um grupo não
participam do algoritmo (para aquele grupo
específico)
Prof. Fábio M. Costa - INF / UFG
IP Móvel

Endereços IP são ligados a localizações fixas
–

Host móvel (HM)
–
–

Migrar para uma rede diferente significaria ter que
assumir um novo endereço IP...
...E provavelmente ter que anunciá-lo para boa parte
dos roteadores na Internet
Pacotes enviados ao host móvel devem ser
entregues
–
122
Ex.: 200.137.197.65 => host 65 na rede 200.137.197
Independente de sua localização física
Prof. Fábio M. Costa - INF / UFG
IP Móvel
123
Prof. Fábio M. Costa - INF / UFG
IP Móvel: Requisitos





124
Cada HM deve poder utilizar seu endereço
IP original em qualquer lugar/rede
Não fazer mudanças no software de hosts
fixos
Não fazer mudanças no software e tabelas
de rotas dos roteadores
Maioria dos pacotes enviados para HMs não
deve fazer desvios na rede
Sem overhead quando o HM está em sua
rede original (i.e., em casa)
Prof. Fábio M. Costa - INF / UFG
IP Móvel: Funcionamento

Rede que aceita visitantes (hosts móveis):
–

Rede que permite a mobilidade de seus hosts:
–

Deve criar um agente “de casa” (home agent)
Na chegada de um HM a uma rede
estrangeira:
–
–
125
Deve criar um agente estrangeiro (foreign agent)
HM registra-se com o agente estrangeiro local
Agente estrangeiro contacta o agente da rede
original do HM (home agent), indicando o endereço
de desvio dos pacotes enviados ao HM
Prof. Fábio M. Costa - INF / UFG
IP Móvel: Funcionamento (2)

Na chegada de um pacote endereçado ao
HM em sua rede original:
–
–
–
–
–
–
126
Pacote chega por um dado roteador da rede
Roteador difunde um pacote ARP para obter o
endereço MAC (Ethernet) do host
Home agent responde com seu próprio endereço
MAC
Roteador transmite o pacote para o home agent
Home agent encapsula o pacote original em um
outro pacote IP (tunneling) e o envia ao foreign
agent atual
Foreign agent recebe o pacote, desencapsula o
pacote original e o entrega ao HM
Prof. Fábio M. Costa - INF / UFG
IP Móvel: Funcionamento (3)

Evitando futuros redirecionamentos:
–
–
–
127
Ao receber o primeiro pacote endereçado a um
HM distante...
...Home agent envia o endereço do agente
estrangeiro (da rede onde o HM se encontra)
para o transmissor...
...De forma que novos pacotes sejam enviados
diretamente para a rede na qual o HM se
encontra atualmente
Prof. Fábio M. Costa - INF / UFG
IP Móvel: Outras questões



Invalidação de tabelas ARP quando HM migra
HM sendo seu próprio agente estrangeiro
Como encontrar um agente
–
Agentes (home e estrangeiro) anunciam sua presença a
quem possa interessar

–


128
Através de broadcasts (difusão) na rede local
HMs difundem requisição pelo agente estrangeiro
HMs que deixam uma rede estrangeira
abruptamente: registro no agente válido por tempo
determinado
Segurança: agente estrangeiro deve provar que, de
fato o verdadeiro HM está em sua rede
Prof. Fábio M. Costa - INF / UFG
Download

Camada de Rede