Capítulo 4: Camada de Rede Objectivos:
❒
Visão geral:
Compreender os
❒
Serviços de nível de rede
princípios subjacentes ao
❒
Princípios de encaminhamento:
serviço da camada de rede:
❍
encaminhamento (selecção do caminho)
❍
problema de escala
❍
como um router funciona
❍
tópicos avançados: IPv6,
selecção do caminho
❒
Encaminhamento hierárquico
❒
IP
❒
Protocolos de encaminhamento na Internet
multicast, mobilidade
❒
Instanciação e
❒
dentro do domínio: intra-domain
❍
entre domínios: inter-domain
O que existe dentro de um router?
implementação na Internet
❍
❒
IPv6
❒
Mobilidade Camada de Rede
4-1
Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade
Camada de Rede
4-2
Funções da camada de rede
❒
Encaminhar pacotes dos
emissores para os receptores
❒
Protocolos de nível de rede em cada máquina, router
"$#% & '( )* + ,.-!/ 012 3 -465 7 5 85 9: ; < 8/ 831 => 1 : ? /
Três funções importantes:
❒
!
Determinação do caminho:
rota percorrida pelos pacotes da origem para o destino
algoritmos de encaminhamento
❒
Expedição (forwarding):
transferir os pacotes da
!
entrada do router para a saída apropriada
❒
!
Estabelecimento de chamada:
@$2A : ? /B6C 3 ,D-E/ 012 3 -465 7 5 85 9: ; < 8 / 831 => 1 : ? /
Algumas arquitecturas de
rede requerem que os routers
estabeleçam um caminho antes de se iniciar a transferência de dados
Camada de Rede
4-3
Modelo de serviço de rede Q: Qual o modelo de serviço para um canal que transporta pacotes
Abstrações de serviço
do emissor para o receptor?
❒
Largura de banda garantida?
❒
Preservação do tempo entre pacotes (sem jitter)?
❒
Entrega sem perdas ?
❒
Entrega ordenada?
❒
Informação de congestão ao
A abstracção mais importante do serviço do nível de rede:
? ? ?
Circuito virtual ou
Datagrama ?
emissor?
Camada de Rede
4-4
Circuitos virtuais o caminho entre a fonte e o destino comporta-se de forma semelhante a um circuito telefónico
❒
❍
Bom desempenho
❍
Acções da rede no caminho entre a fonte e o destino
Estabelecimento de chamada antes de se iniciar a transferência de dados; no final cancelamento da chamada
❒
Cada pacote transporta o identificador do circuito virtual (VC, Virtual Circuit) (não o identificador do destino)
❒
Cada router no caminho entre a origem e o destino mantém o estado de cada ligação que o atravessa
❍
❒
Ligações de nível de transporte só envolvem sistemas terminais
Os recursos das ligações e dos routers (largura de banda, buffers) são reservados por VC
❍
Desempenho semelhante a um circuito permanente. Camada de Rede
4-5
Circuitos virtuais: protocolos de sinalização
❒
Usados para estabelecer, manter e terminar VC
❒
Tecnologias: ATM, frame-relay, X.25
❒
Não utilizados actualmente na Internet
Aplicação Transporte Rede Lig. dados Física
5. Início do fluxo de dados 4. Chamada estabelecida 1. Iniciar chamada
6. Recepção de dados Aplicação
Transporte
3. Chamada Aceite 2. Chegou chamada
Rede Lig. dados Física
Camada de Rede
4-6
Redes de datagramas: O modelo Internet ❒
Não há estabelecimento de chamada ao nível de rede
❒
routers: não há estado sobre as ligações extremo-a-extremo
❍
não há conceito de ligação ao nível de rede
Pacotes encaminhados usando o endereço do destino
❒
❍
pacotes com origem e destino iguais podem utilizar rotas diferentes
Aplicação
Aplicação
Transporte Rede Lig. dados
Transporte 1. Envia dados
2. Recebe dados
Física
Rede Lig. dados Física
Camada de Rede
4-7
Modelos do serviço de rede:
Arquitectura de Rede Internet
❒
Modelo de ritmo Serviço
ATM
melhor esforço CBR
ATM
VBR
ATM
ABR
ATM
UBR
Garantias ? perdas ordem tempo
Informação de congestão
não
não
não
não
ritmo constante ritmo garantido mínimo garantido não
sim
sim
sim
sim
sim
sim
não
sim
não
não (inferida pelas perdas) sem congestão sem congestão sim
não
sim
não
não
O modelo Internet está a ser estendido: Intserv, Diffserv
❍
Capítulo 6 Camada de Rede
4-8
Rede de datagramas ou de VCs: porquê? Internet
❒
Dados transferidos entre computadores
❍
serviço elástico, sem
ATM
❒
Evoluiu da rede telefónica
❒
Conversação humana:
❍
restrições temporais.
❒
fiabilidade
Sistemas Terminais
❍
inteligentes (computadores)
❍
adaptação, controlo e recuperação de erros
❍
simples dentro da rede, complexidade na periferia
❒
características diferentes
❍
dificuldade dum serviço
necessidade de serviço garantido
❒
Sistemas Terminais burros
❍
telefones
❍
complexidade dentro da
Muitos tipos de linhas
❍
requisitos temporais e de
rede
uniforme
Camada de Rede
4-9
Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento
❍
encaminhamento por estado das ligações
❍
encaminhamento por vector de distâncias
4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade
Camada de Rede
4-10
Encaminhamento (Routing) protocolo de encaminhamento 5
Objectivo: determinar um bom caminho (sequência de routers) na rede entre a origem e o destino
2
A
Grafos usados como
2 1
modelo de abstracção:
❒
Nós - routers
❒
Arcos linhas físicas
❍
❒
custo da linha: atraso,
B
D
3
C
3
F
1
E
1
5
2
Caminhos bons:
❍
Tipicamente caminhos mais curtos
$, ou nível de congestão
❍
Outras possibilidades ... (e.g. políticas)
Camada de Rede
4-11
Classificação de algoritmos de encaminhamento Informação global ou descentralizada? Global:
❒
todos os routers têm a topologia
Estática ou dinâmica? Estática:
❒
no tempo (e.g.
completa, custos das ligações
❒
Decentralizada:
❒
routers sabem os vizinhos a que estão ligados fisicamente e os
❒
Dinâmica:
❒
rotas variam mais rapidamente
custos das respectivas ligações
❍
actualização periódica
processo iterativo de
❍
em resposta a
computação, troca de informação entre vizinhos
❒
intervenção humana)
algoritmos de estado das ligações (link state)
rotas variam lentamente
algoritmos de vector de distâncias (distance vector)
alterações de custo em linhas. Camada de Rede
4-12
Algoritmo de Encaminhamento Estado de Ligação (Link- State)
Algoritmo de Dijkstra
❒
Topologia da rede, custo das ligações para todos os nós conhecido
❍
conseguido com difusão do estado das ligações
❍
todos os nós têm a mesma informação
❒
Calcula caminhos de menor custo dum nó (origem)
para todos os restantes
❍
calcula a tabela de
routing para esse nó
❒
iterativo: depois de k
iterações, conhece os
caminhos de menor custo para k destinos
Notação:
❒ c(i,j): custo da
ligação do nó
i para o nó j
❍
Custo infinito para nós que não são vizinhos
❒ D(v): valor
actual do custo
do caminho da origem até ao destino v.
❒ p(v): penúltimo
nó
(predecessor) no caminho da origem até ao destino v.
❒ N: conjunto
de nós que têm
o caminho de menor custo conhecido Camada de Rede
4-13
Algoritmo de Dijkstra para o nó A
1 Inicialização: 2 N = {A} 3 para todos os nós v 4 se v adjacente a A 5 então D(v) = c(A,v) 6 senão D(v) = infinito 7 8 Ciclo 9 encontrar w ∉ N tal que D(w) seja mínimo 10 adicionar w a N 11 actualizar D(v) para todos os v ∉ N, adjacentes a w: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* novo custo para v é o custo antigo para v ou o custo do 14 caminho mais curto para w mais o custo de w para v */ 15 até todos os nós em N Camada de Rede
4-14
Algoritmo de Dijkstra: exemplo
Passo 0 1 2 3 4 5
N A AD ADE ADEB ADEBC ADEBCF conjunto
D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F) 2,A 1,A 5,A infinito infinito 2,A 4,D 2,D infinito 2,A 3,E 4,E 3,E 4,E 4,E Linha de saída a usar, custo
5
A
2 1
D
C
F
1
3
1
5
destino
B
2
3
2
E
B
B,2
C
D,3
D
D,1
E
D,2
F
D,4 Camada de Rede
4-15
Algoritmo de Dijkstra: discussão Complexidade do Algoritmo: n nós
∉N
❒
cada iteração: necessita de verificar todos os nós w
❒
n*(n+1)/2 comparações: O(n**2)
❒
são possíveis implementações mais eficientes: O(nlogn)
Oscilações possíveis: e.g., custo da linha = quantidade do tráfego transportado
❒
1
D 0 1
A
1+e 0
0
C
B
e
2+e
D 0
1
e
Inicialmente
A 1+e 1
C
0
B
0
recalculando a rota
0
D 1
A 0
C
2+e 0
B
1+e
recalculando
2+e
D 0
A 1+e 1
C
0
B
e
recalculando Camada de Rede
4-16
Algoritmo de Vector de Distâncias iterativo:
❒
Estrutura de dados: Tabela de
continua até que nenhum
Distâncias
nó envie informação.
❒
termina automaticamente: não há sinal de paragem
assíncrono:
❒
❒
cada nó tem a sua própria
❒
uma linha para cada destino
❒
uma coluna para cada nó
adjacente que conduz ao destino
nós não precisam de
❒
exemplo: nó X, para o destino Y através do nó vizinho Z:
transferir informação em sincronismo
distribuído: cada nó só comunica com
D (Y,Z)
os seus vizinhos directos
distância de X para Y, = via Z como próximo nó Z
= c(X,Z) + minw{D (Y,w)} Camada de Rede
4-17
Tabela de distâncias: exemplo
7
A
B
1
C
E
D ()
A
B
D
A
1
14
5
2
B
7
8
5
C
6
9
4
D
4
11
2
D
E
D
D (C,D) = c(E,D) + minw {D (C,w)} = 2+2 = 4
E
D
D (A,D) = c(E,D) + minw {D (A,w)} = 2+3 = 5
E
custo para destino via
2
8 1
E
destino
❒
X
ciclo!
B
D (A,B) = c(E,B) + minw{D (A,w)} = 8+6 = 14
ciclo! Camada de Rede
4-18
Tabela de Distâncias e Tabela de Encaminhamento
custo para destino via
E
Linha de saída a usar, custo
B
D
A
1
14
5
A
A,1
B
7
8
5
B
D,5
C
6
9
4
C
D,4
D
4
11
2
D
D,2
Tabela de distâncias
destino
A
destino
D ()
Tabela de encaminhamento
Camada de Rede
4-19
Funcionamento do Algoritmo de Vector de Distâncias Iterativo, assíncrono:
cada iteração local causada
Cada nó:
por:
❒
alteração do custo de linha local
❒
mensagem dum nó vizinho: o menor custo a partir
espera por (mudança no custo local de uma linha ou mensagem de um vizinho)
desse vizinho para um destino mudou Distribuído:
❒
recalcula tabela de distâncias
cada nó notifica os vizinhos apenas quando o seu menor custo para um destino muda
❍
os vizinhos por sua vez
notificam os vizinhos se
se o custo mínimo para algum destino mudou, notifica vizinhos
necessário
Camada de Rede
4-20
Algoritmo de Vector de Distâncias: Em todos os nós, X:
1 Inicialização: 2 para todos os nós adjacentes v: 3 D X(*,v) = infinito /* o operador * significa ”para todas as linhas" */ X 4 D (v,v) = c(X,v) 5 para todos os destinos, y X 6 envia minwD (y,w) para cada vizinho /* w sobre todos os vizinhos de X */
Camada de Rede
4-21
Algoritmo de Vector de Distâncias (cont.):
8 ciclo 9 espera (até ver uma mudança de custo da linha para o vizinho V 10 ou até receber uma actualização do vizinho V) 11 12 se (c(X,V) muda de d) 13 /* muda o custo para todos os destinos via o vizinho V de d */ 14 /* nota: d pode ser positivo ou negativo */ 15 para todos os destinos y: D X(y,V) = DX(y,V) + d 16 17 senão se (recebeu actualização de V em relação ao destino Y) 18 /* o caminho mais curto de V para algum Y mudou */ 19 /* V enviou um novo valor para o seu min w DV(Y,w) */ 20 /* chame-se este novo valor recebido de "novovalor" */ 21 para o único destino y: D X(Y,V) = c(X,V) + novovalor 22 23 se temos um novo min w DX(Y,w) para algum destino Y 24 enviar o novo valor de min wD X(Y,w) para todos os vizinhos 25 4-22 26 parasempre Camada de Rede
Algoritmo de Vector de Distâncias: exemplo
2
X
Y
1
Z
7
Camada de Rede
4-23
Algoritmo de Vector de Distâncias: exemplo
2
X
Y
7
1
Z
Z
X
D (Y,Z) = c(X,Z) + minw{D (Y,w)} = 7+1 = 8 Y
X
D (Z,Y) = c(X,Y) + minw {D (Z,w)} = 2+1 = 3
Camada de Rede
4-24
Vector de Distâncias: alteração do custo de linhas
Alteração do custo de uma linha:
❒
nó detecta alteração no custo local
❒
actualiza a tabela de distâncias (linha 15)
❒
se o custo do caminho de menor custo se
1 4
X
Y
1
Z
50
alterar, notifica os vizinhos (linhas 23,24)
algoritmo termina
as boas notícias viajam depressa
Camada de Rede
4-25
Vector de Distâncias: alteração do custo de linhas Alteração do custo de uma linha:
❒
boas notícias viajam depressa
❒
más notícias viajam devagar problema de contagem para infinito!
60 4
X
Y
50
1
Z
algoritmo continua!
Camada de Rede
4-26
Vector de Distâncias: poisoned reverse (envenenamento inverso) Se Z encaminha por Y para X :
❒
60
Z diz a Y que a sua (de Z) distância para X é infinita (para que Y não encaminhe para
X
X via Z)
❒
4
Y
1
50
Z
será que isto resolve completamente o problema da contagem para infinito?
algoritmo termina
Camada de Rede
4-27
Comparação dos algoritmos LS e DV Complexidade das mensagens
❒
LS: com n nós, E linhas, cada nó envia O(nE) mensagens
❒
DV: transfere mensagens apenas entre vizinhos
❍
tempo de convergência varia
Velocidade de convergência
❒
LS: algoritmo O(n ) requer O(nE) 2
mensagens
❍
❒
podem existir circuitos fechados
❍
o router funciona mal ? LS:
❍
nó pode anunciar custo da ligação incorrecto
❍
cada nó calcula apenas a sua própria tabela
DV:
❍
nó pode anunciar custo do caminho incorrecto
pode ter oscilações
DV: tempo de convergência varia
❍
Robustez: o que acontece se
❍
a tabela de cada nó é utilizada pelos restantes
erros propagam-se pela rede
problema da contagem para infinito
Camada de Rede
4-28
Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade
Camada de Rede
4-29
Encaminhamento hierárquico Estudo de encaminhamento até agora - ideal
❒
todos os routers são idênticos
❒
rede plana (Flat)
não é verdade na prática escala: com 50 milhões de destinos:
❒
não é possível armazenar todos os destinos nas
tabelas de encaminhamento
❒
a transferência das tabelas de encaminhamento entupia
Autonomia administrativa
❒
Internet = rede de redes
❒
cada administrador de rede pode querer controlar o encaminhamento dentro da sua própria rede
as linhas!
Camada de Rede
4-30
Encaminhamento hierárquico
❒
❒
gateway routers
Agregação de routers em regiões, autonomous
❒
Routers especiais dum AS
systems (AS)
❒
Executam protocolo de
routing intra-domínio com
routers no mesmo AS
todos os outros routers do
usam o mesmo protocolo
mesmo AS
de encaminhamento
❍
❒
protocolo de
por encaminhar para o
encaminhamento intra-
exterior do domínio
domínio (intra-AS)
❍
Também são responsáveis
❍
routers em AS
executa o protocolo de encaminhamento inter-
diferentes podem usar
domínio (inter-AS
diferentes protocolos de
routing) com os outros
encaminhamento
gateways routers
Camada de Rede
4-31
Encaminhamento Intra-AS e Inter-AS C.b
Gateways:
B.a
usam routing
A.a a
b
A.c
C d A
b
a B
a c
inter-domínio
c b
entre eles usam routing intra-domínio com os restantes routers do AS
camada de rede encaminhamento inter-AS, intra-AS na gateway A.c
camada de ligação de dados
camada física
Camada de Rede
4-32
Encaminhamento intra e inter domínio Inter-AS routing
C.b
entre A.a
a
b
Host h1
A e B A.c
C
B.a Host
B
a d A
b
c
Intra-AS routing
h2
c
a
b
Intra-AS routing dentro de AS B
dentro de AS A
❒
Veremos brevemente protocolos de encaminhamento inter-AS e intra-AS específicos da Internet
Camada de Rede
4-33
Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol)
❍
4.4.1 Endereçamento IPv4
❍
4.4.2 Enviando um datagrama da fonte para o destino
❍
4.4.3 Formato de um Datagrama
❍
4.4.4 Fragmentação IP
❍
4.4.5 ICMP: Internet Control Message Protocol
❍
4.4.6 DHCP: Dynamic Host Configuration Protocol
❍
4.4.7 NAT: Network Address Translation
4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade
Camada de Rede
4-34
A camada de rede na Internet Funções da camada de rede num Sistema Terminal e num router:
Camada de transporte: TCP, UDP
Camada de rede
Protocolos de
Protocolo IP
encaminhamento
convenções de endereços
selecção de
formato dos datagramas
caminhos
processamento de pacotes
RIP, OSPF, BGP
tabela de
encaminhamento
Protocolo ICMP reporte de erros sinalização
Camada de ligação de dados Camada física
Camada de Rede
4-35
Endereçamento IP: introdução ❒
Endereço IP :
❍ ❍
identificador de 32 bits para Sistemas Terminais e interfaces de routers
❒
223.1.1.1
interface: ligação entre Sistemas Terminais,
223.1.2.1 223.1.1.2 223.1.1.4 223.1.1.3
223.1.2.9
223.1.3.27
223.1.2.2
Routers e a linha física
❍
os routers têm múltiplas interfaces
❍
os Sistemas Terminais
223.1.3.2
223.1.3.1
podem ter múltiplas interfaces
❍
os endereços IP estão associadas às interfaces, não aos Sistemas Terminais ou aos routers
223.1.1.1 = 11011111 00000001 00000001 00000001 223
1
1 Camada de Rede
1 4-36
Endereçamento IP
❒
223.1.1.1
Endereço IP:
❍
parte da rede (bits mais
223.1.2.1 223.1.1.2 223.1.1.4
significativos)
❍
parte do Sistema Terminal (host) (bits
223.1.1.3
menos significativos)
❒
223.1.2.9
223.1.3.27
O que é uma rede ? (na
LAN
perspectiva do endereço IP)
❍
223.1.2.2
223.1.3.2
223.1.3.1
dispositivos de interface com um valor comum para a parte do endereço IP
Rede constituída por 3 redes IP (para os
que identifica a rede
❍
endereços IP que começam em 223, os
pode-se chegar aos vários nós de uma mesma
primeiros 24 bits são o endereço de rede)
rede sem intervenção do router
Camada de Rede
4-37
Endereçamento IP Como encontrar as redes?
❒
223.1.1.4
desligar cada interface dum router,
223.1.9.2
computador
❒
223.1.1.2 223.1.1.3
223.1.1.1
223.1.7.2
criar ilhas de redes isoladas
223.1.9.1
223.1.7.1 223.1.8.1
223.1.8.2
223.1.2.6 Sistema interligado
223.1.2.1
223.1.3.27 223.1.2.2
223.1.3.1
223.1.3.2
constituído por 6 redes
Camada de Rede
4-38
Endereços IP Dada a noção de rede, vamos reexaminar o endereço IP: endereçamento em classes (class-full addressing): classe A
0 rede
B
10
C
110
D
1110
1.0.0.0 até
host
rede
127.255.255.255 128.0.0.0 até
host
rede
191.255.255.255
host
endereço multicast
32 bits
192.0.0.0 até 223.255.255.255 224.0.0.0 até 239.255.255.255
Classe
Redes
#
A
2
7
2
24
B
2
14
2
16
C
2
21
2
8
Camada de Rede
4-39
Endereçamento IP: CIDR
❒
Endereçamento em classes (classful):
❍
Uso ineficiente do espaço de endereçamento, falta de endereços disponíveis
❍
e.g., uma rede de classe B reserva 65K endereços para os
sistemas terminais, mesmo que na realidade só existam 2K !
❒
CIDR: Classless InterDomain Routing
❍
A parte do endereço que identifica a rede tem um tamanho arbitrário
❍
Formato do endereço : a.b.c.d/x, em que x representa o nº de bits do endereço que representam a rede Parte da rede
Parte do ST
11001000 00010111 00010000 00000000 200.23.16.0/23
Endereço/prefixo Camada de Rede
4-40
Endereços IP: Como se obtém um ? Q: Como um
Sistema Terminal obtém um
endereço IP?
❒
configurado pelo administrador do sistema num ficheiro
❍
Wintel: painel de controlo->rede->configuração-> tcp/ip->propriedades->Endereço IP
❍
❒
UNIX: /etc/rc.config
DHCP: Dynamic Host Configuration Protocol: obtém endereço dinamicamente de um servidor
❍
plug-and-play
(mais em breve) Camada de Rede
4-41
Endereços IP: Como se obtém um ? Q: Como uma rede obtém a parte da rede do endereço IP? R: obtém uma parte do espaço de endereços do seu ISP
Bloco do ISP
11001000 00010111 00010000 00000000
200.23.16.0/20
Organização 0 Organização 1 Organização 2 ... Organização 7
11001000 00010111 00010000 00000000 11001000 00010111 00010010 00000000 11001000 00010111 00010100 00000000 ….. …. 11001000 00010111 00011110 00000000
200.23.16.0/23 200.23.18.0/23 200.23.20.0/23 …. 200.23.30.0/23
8 blocos de igual dimensão Camada de Rede
4-42
Endereçamento hierárquico: agregação de rotas
O endereçamento hierárquico permite o anúncio eficiente da informação de encaminhamento
Organização 0
200.23.16.0/23 Envia-me quaisquer pacotes com
Organização 1
endereços começados por
200.23.18.0/23 Organização 2
200.23.20.0/23
Organização 7
. . .
200.23.16.0/20
. . .
Fly-By-Night-ISP Internet
200.23.30.0/23 ISPs-R-Us
Envia-me quaisquer pacotes com endereços começados por 199.31.0.0/16
Camada de Rede
4-43
Endereçamento hierárquico: rotas mais específicas ISPs-R-Us tem uma rota mais específicas para a Organização 1 Organização 0
200.23.16.0/23 Envia-me quaisquer pacotes com
Organização 1
endereços começados por
200.23.18.0/23 Organização 2
200.23.20.0/23
Organização 7
. . .
200.23.16.0/20
. . .
Fly-By-Night-ISP Internet
200.23.30.0/23 ISPs-R-Us Organização 1
200.23.18.0/23
Envia-me quaisquer pacotes com endereços começados por 199.31.0.0/16 ou 200.23.18.0/23
Quando se envia um pacote destinado à organização 1, a selecção do ISP realiza-se comparando com o maior prefixo Camada de Rede
4-44
Endereçamento IP: a última palavra...
Q: Como um ISP obtém um bloco de endereços? R: ICANN: Internet Corporation for Assigned Names and Numbers
❒
❍
atribui endereços
❍
gere o DNS
❍
atribui nomes de domínios, resolve disputas
Actualmente há três instituições regionais:
❍
ARIN American Registry for Internet Number
❍
RIPE Reseaux IP Europeans
❍
APNIC Asia Pacific Network Information Center Camada de Rede
4-45
Datagrama IP: da origem para o destino Tabela de Encaminhamento de A
Rede destino prox. router #saltos 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24
Datagrama IP: misc fields
❒
source
dest
IP addr IP addr
data
A
datagrama mantém-se
❒
campos de endereço com interesse para esta análise
223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4
inalterado quando viaja da origem para o destino
223.1.1.4 223.1.1.4
1 2 2
223.1.2.9
B
223.1.1.3 223.1.3.1
223.1.3.27
223.1.2.2
E
223.1.3.2
Camada de Rede
4-46
Datagrama IP: da origem para o destino tabela de encaminhamento de A misc fields
Rede destino prox. router #saltos
223.1.1.1 223.1.1.3 data
223.1.1.0/24 223.1.2.0/24 223.1.3.0/24
Iniciando em A, como enviar um datagrama IP para B ? procura a parte de endereço da
❒
A
rede de B na tabela
223.1.1.2 223.1.1.4
rede que A
223.1.2.9
B
a camada de ligação de dados
❒
223.1.1.1 223.1.2.1
descobre que B está na mesma
❒
223.1.1.4 223.1.1.4
1 2 2
envia o datagrama directamente
223.1.1.3
223.1.3.27
223.1.2.2
para B através de uma trama da camada de ligação de dados
❍
E
223.1.3.2
223.1.3.1
B e A estão directamente ligados Camada de Rede
4-47
Datagrama IP: da origem para o destino misc fields
223.1.1.1 223.1.2.2
data
Começando em A, destino E:
❒
procura a parte de endereço da rede de E na tabela
❒
E pertence a outra rede
❍
A e E não estão
tabela de encaminhamento de A
Rede destino prox. router #saltos 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 A
directamente ligados
❒
223.1.1.4
❒
223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4
tabela de encaminhamento: próximo router para E é
223.1.1.4 223.1.1.4
1 2 2
223.1.2.9
B
223.1.1.3
223.1.3.27
223.1.2.2
a camada de ligação de dados envia o datagrama para o
223.1.3.1
E
223.1.3.2
223.1.1.4 dentro duma trama
❒
datagrama chega a 223.1.1.4
❒
continua...
Camada de Rede
4-48
Datagrama IP: da origem para o destino tabela de encaminhamento do router misc fields
prox. rede dest. router #saltos interface
data
223.1.1.1 223.1.2.2
223.1.1 223.1.2 223.1.3
Datagrama chega a 223.1.4, destinado a 223.1.2.2
❒
analisar a parte de endereço da
A
rede de E na tabela do router
❒
1 1 1
E está na mesma rede que a
223.1.3.27
223.1.2.1 223.1.1.2 223.1.1.4
223.1.2.9
❍
223.1.1.4 223.1.2.9
223.1.1.1
interface do router que tem o IP
223.1.2.9
B
router e E estão directamente ligados
❒
-
223.1.1.3
a camada de ligação de dados envia o datagrama para o
223.1.3.27
223.1.3.1
223.1.2.2
E
223.1.3.2
223.1.2.2 dentro duma trama através da interface 223.1.2.9
❒
datagrama chega a 223.1.2.2!!!
Camada de Rede
(Hurra!)
4-49
Formato do datagrama IP Nº de versão do
dimensão do cabeçalho (bytes) tipo de dados Nº máximo de hops a visitar (decrementado em cada router) protocolo da camada superior a quem se destinam os dados
overhead no TCP?
❒
20 bytes de TCP
❒
20 bytes de IP
❒
= 40 bytes + overhead da apl.
dimensão total
32 bits
Protocolo IP ver
head. type of len
service
16-bit identifier flgs time to live
upper layer
do datagrama length fragment offset
Internet
(bytes) para fragmentação/ reassemblagem
checksum
32 bit source IP address 32 bit destination IP address Opções (se existirem)
dados (tamanho variável, tipicamente um
E.g. timestamp, Armazena a rota tomada, lista de routers a visitar
segmento TCP ou UDP)
Camada de Rede
4-50
Fragmentação e reassemblagem em IP ❒
Linhas da rede têm MTU (max. transfer unit) dimensão máxima das tramas da camada de ligação de dados.
❍
fragmentação
linhas diferentes têm
in: 1 datagrama grande
MTUs diferentes
❒
out: 3 datagramas pequenos
datagramas IP grandes são divididos (fragmentados) na rede
❍
reassemblagem
Um datagrama transforma-se em vários datagramas
❍
reassemblados apenas no destino final
❍
bits do cabeçalho IP usados para identificar, ordenar fragmentos relacionados
Camada de Rede
4-51
Fragmentação e reassemblagem em IP length
Exemplo
❒
datagrama de 4000 bytes
❒
=4000
ID fragflag offset =x
MTU = 1500 bytes
Valor mínimo do MTU suportado é de 576 bytes
❒
=0
Um datagrama grande transforma-se em 3 pequenos
length
❒
=0
Se a dimensão máxima dos dados num segmento TCP
=1500 length =1500
length =1040
ID fragflag offset =x
=1
=0
ID fragflag offset =x
=1
=1480
ID fragflag offset =x
=0
=2960
for de 536 bytes, a fragmentação pode ser eliminada Camada de Rede
4-52
ICMP: Internet Control Message Protocol
❒
Utilizado pelos sistemas terminais, routers e gateways para transferir informação de controlo de nível de rede
❍
reporte de erros: endereço, rede, porto, protocolo não atingível
❍
pedido/resposta de eco (usado pelo ping)
❒
Camada de rede acima do IP:
❍
msgs ICMP transportadas em datagramas IP
❒
mensagem ICMP: tipo, código mais primeiros 8 bytes do datagrama IP que causou o
tipo código descrição 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest. host unreachable 3 2 dest. protocol unreachable 3 3 dest. port unreachable 3 6 dest. network unknown 3 7 dest. host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 router advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header
erro Camada de Rede
4-53
DHCP: Dynamic Host Configuration Protocol Objectivo: permitir que um sistema terminal obtenha dinamicamente o seu endereço IP de um servidor da rede quando se liga à rede Pode renovar o empréstimo de um endereço em uso Permite reutilização de endereços (apenas mantém o endereço quando está ligado) Suporta utilizadores móveis que queiram ligar-se à rede (mais em breve)
Resumo do DHCP:
❍
sistema terminal envia msg em difusão DHCP discover
❍
servidor de DHCP responde com msg DHCP offer
❍
sistema terminal pede endereço IP: msg DHCP request
❍
servidor DHCP envia endereço: msg DHCP ack Camada de Rede
4-54
Cenário cliente/servidor DHCP
A
servidor DHCP
223.1.1.1
223.1.1.2 223.1.1.4
223.1.2.1
223.1.2.9
B
223.1.2.2 223.1.1.3
223.1.3.27
223.1.3.1
E
223.1.3.2
cliente DHCP: à chegada precisa de obter um endereço nesta rede
Camada de Rede
4-55
Cenário cliente/servidor DHCP servidor DHCP: 223.1.2.5
DHCP discover
cliente que chega
src : 0.0.0.0, 68 dest.: 255.255.255.255,67 yiaddr: 0.0.0.0 transaction ID: 654
UDP porto 67
DHCP offer src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddr: 223.1.2.4 transaction ID: 654 Lifetime: 3600 secs
L.M NOPODQ RJSTUV WXYZ\[XZY^]_P_D[Z` `
DHCP request
FGHJIK
src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs DHCP ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs Camada de Rede
4-56
NAT: Network Address Translation
resto da
rede local
Internet
(e.g., rede de casa) 10.0.0/24
10.0.0.4
10.0.0.1
10.0.0.2
138.76.29.7
10.0.0.3
Todos os datagramas ao deixar a
Datagramas com origem ou
rede local têm o mesmo endereço IP
destino nesta rede têm
de origem (do NAT): 138.76.29.7, mas diferentes números de porto de origem
endereços 10.0.0/24 para origem, destino (como habitual)
Camada de Rede
4-57
NAT: Network Address Translation
❒
Motivação: do ponto de vista do mundo exterior, a rede local usa apenas um endereço IP:
❍
não há necessidade de reservar uma gama de endereços do ISP: apenas um endereço IP é utilizado para todos os equipamentos
❍
pode-se modificar os endereços dos equipamentos da rede local sem notificar o mundo exterior
❍
pode-se mudar de ISP sem mudar endereços na rede local
❍
equipamentos dentro da rede local não são directamente endereçáveis, visíveis pelo mundo exterior (um ganho de segurança). Camada de Rede
4-58
NAT: Network Address Translation Implementação: um router NAT deve:
❍
datagramas que saem: substituir (endereço IP de origem, #porto) de cada datagrama que sai por (endereço IP do NAT, novo #porto)
. . . clientes/servidores remotos responderão usando como endereço de destino (endereço IP do NAT, novo #porto).
❍
guardar (na tabela de tradução NAT) todos os pares de tradução (endereço IP de origem, #porto) (endereço IP do NAT, novo #porto)
❍
para
datagramas de entrada: substituir (endereço IP do NAT, novo #porto) nos campos de destino de cada datagrama que chega, o valor correspondente de
(endereço IP de origem, #porto) guardado na tabela do NAT
Camada de Rede
4-59
NAT: Network Address Translation
2: router NAT muda endereço de origem do datagrama de 10.0.0.1, 3345 para
tabela de tradução NAT endereço público
ender. privado
138.76.29.7, 5001
10.0.0.1, 3345
1: PC 10.0.0.1 envia datagrama para 128.119.40.186, 80
138.76.29.7, 5001,
S: 10.0.0.1, 3345
actualiza tabela
D: 128.119.40.186, 80
2
S: 138.76.29.7, 5001 D: 128.119.40.186, 80
138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001
3: Chega resposta endereço destino: 138.76.29.7, 5001
3
1
10.0.0.1
10.0.0.4
S: 128.119.40.186, 80 D: 10.0.0.1, 3345
10.0.0.2
4 10.0.0.3
4: router NAT muda endereço de destino do datagrama de
138.76.29.7, 5001 para 10.0.0.1, 3345
Camada de Rede
4-60
NAT: Network Address Translation
❒
campo número de porto de 16 bits:
❍
60,000 ligações simultâneas com um único endereço público!
❒
A tradução de endereços de NAT é controversa:
❍
os routers deviam processar apenas até à camada 3 (de rede)
❍
viola o argumento extremo a extremo
a possibilidade de NAT tem de ser levada em conta pelos programadores de aplicações, eg, aplicações P2P
❍
a escassez de endereços devia ser resolvida antes pelo IPv6
Camada de Rede
4-61
Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet
❍
4.5.1 Intra-AS routing: RIP e OSPF
❍
4.5.2 Inter-AS routing: BGP
4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade Camada de Rede
4-62
Encaminhamento na Internet
❒
A Internet Global consiste de Sistemas Autónomos (AS, Autonomous Systems) interligados entre si:
❍
Stub AS: pequenas empresas: uma ligação a outros ASs
❍
Multihomed AS: grandes empresas: múltiplas ligações a outros ASs (sem tráfego de trânsito)
❍
❒
Transit AS: fornecedor, ligando muitos ASs
Encaminhamento em dois níveis:
❍
Intra-AS: cada administrador é responsável pela escolha do algoritmo de encaminhamento dentro da rede
❍
Inter-AS: standard único para encaminhamento inter-AS: BGP
Camada de Rede
4-63
Hierarquia de ASs da Internet routers Inter-AS (gateway exterior)
routers Intra-AS (gateway interior)
Camada de Rede
4-64
Encaminhamento Intra-AS
❒
Também conhecidos como protocolos Interior Gateway Protocols (IGP)
❒
Protocolos de encaminhamento Intra-AS mais comuns:
❍
RIP: Routing Information Protocol
❍
OSPF: Open Shortest Path First
❍
IGRP: Interior Gateway Routing Protocol (proprietário da Cisco)
Camada de Rede
4-65
RIP ( Routing Information Protocol)
❒
Algoritmo de vector de distâncias
❒
Incluído na distribuição BSD-UNIX em 1982
❒
Métrica de distância: # de saltos (máx = 15 saltos)
❍
❒
Consegue adivinhar porquê?
Vectores de distâncias: trocados entre vizinhos cada 30 seg via Response Message (também chamada anúncio - advertisement)
❒
Cada anúncio: lista até 25 redes de destino dentro do AS
Camada de Rede
4-66
RIP: Exemplo z w
x
A
y
D
B
C Rede de Destino
Próximo Router
#saltos para destino
w
A
2
y
B
2
z
B
7
x
--
1
.
.
....
Tabela de encaminhamento em D Camada de Rede
4-67
RIP: Exemplo Destino
Próx. saltos
w
-
-
x
-
-
z
C
4
.
...
w
Anúncio de A para D
z x
A
y
D
B
C Rede de Destino
Próximo Router
#saltos para destino
w
A
2
y
B
2
z
B A
7 5
x
--
1
.
.
....
Tabela de encaminhamento em D
Camada de Rede
4-68
RIP: Falha de Linha e Recuperação Se nenhum anúncio é recebido em 180 seg --> vizinho/linha declarado morto
❍
caminhos via vizinho invalidados
❍
novos anúncios enviados para vizinhos
❍
vizinhos por sua vez enviam novos anúncios (se as tabelas tiverem mudado)
❍
informação de falha de linha rapidamente se propaga a toda a rede
❍
poison reverse utilizado para evitar ciclos de pingpong (distância infinita = 16 saltos)
Camada de Rede
4-69
RIP: Processamento de Tabelas
❒
As tabelas de encaminhamento do RIP são geridas por um processo de nível aplicação chamado route-d (daemon)
❒
anúncios enviados em pacotes UDP, repetidos periodicamente routed
routed
Transporte
Transporte
(UDP) rede (IP) lig. dados físico
(UDP) tabela de
tabela de
expedição
expedição
rede (IP) lig. dados físico
Camada de Rede
4-70
RIP: Exemplo de Tabela Router: giroflee.eurocom.fr
Destination -------------------127.0.0.1 192.168.2. 193.55.114. 192.168.3. 224.0.0.0 default
Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------127.0.0.1 UH 0 26492 lo0 192.168.2.5 U 2 13 fa0 193.55.114.6 U 3 58503 le0 192.168.3.5 U 2 25 qaa0 193.55.114.6 U 3 0 le0 193.55.114.129 UG 0 143454
❒
Três redes de classe C ligadas (LANs)
❒
O router apenas conhece caminhos para LANs adjacentes
❒
Router default utilizado para subir
❒
Endereço multicast: 224.0.0.0
❒
Interface loopback (para debugging) Camada de Rede
4-71
OSPF (Open Shortest Path First)
❒
open - aberto: especificação pública
❒
Usa algoritmo de estado das ligações
❒
❍
disseminação de pacotes de estado das ligações (LS packet)
❍
mapa da topologia em cada nó
❍
cálculo de caminhos pelo algoritmo de Dijkstra
Os anúncios OSPF transportam uma entrada por router vizinho
❒
Anúncios disseminados para toda a AS (por inundação)
❍
transportados em mensagens OSPF directamente sobre o IP (em vez de TCP ou UDP)
Camada de Rede
4-72
OSPF: funcionalidades avançadas (inexistentes no RIP)
❒
Segurança: todas as mensagens OSPF autenticadas (para evitar intrusão maliciosa)
❒
Permite múltiplos caminhos de igual custo (apenas um caminho no RIP)
❒
Para cada linha, múltiplas métricas de custos para diferentes TOS (e.g., custo de ligações satélite baixo para melhor esforço; alto para tempo real)
❒
Suporte integrado de uni- e multicast:
❍
Multicast OSPF (MOSPF) usa a mesma base de dados de topologia que o OSPF
❒
OSPF Hierárquico em domínios grandes. Camada de Rede
4-73
Camada de Rede
4-74
OSPF hierárquico
OSPF hierárquico
❒
Hierarquia de dois níveis: área local, núcleo da rede (backbone).
❍
anúncios de estado das ligações apenas na área
❍
cada nó tem a topologia detalhada da área; apenas sabe a direcção (caminho mais curto) para redes noutras áreas.
❒
Area border routers: resumem distâncias para redes na sua própria área, anunciam para outros Area Border routers.
❒
Backbone routers: usam encaminhamento OSPF limitado ao núcleo da rede.
❒
Boundary routers: ligam a outros ASs. Camada de Rede
4-75
Encaminhamento Inter-AS na Internet: BGP R4 R5
R3
AS1
BGP
AS2
(encaminhamento
AS3
(encaminhamento OSPF intra-AS)
BGP
RIP intra-AS)
R1
R2 (encaminhamento OSPF intra-AS)
Camada de Rede
4-76
Encaminhamento Inter-AS na Internet: BGP
❒
BGP (Border Gateway Protocol): o standard de facto
❒
Protocolo de Vector de Caminhos:
❍
semelhante ao protocolo de Vector de Distâncias
❍
cada Border Gateway difunde para os vizinhos (pares) o caminho completo (i.e., sequência de ASs) para o destino
❍
BGP encaminha para redes (ASs), não para destinos individuais
❍
E.g., Gateway X pode enviar o seu caminho para o destino Z:
Caminho (X,Z) = X,Y1,Y2,Y3,
,Z Camada de Rede
4-77
Encaminhamento Inter-AS na Internet: BGP
Suponha: gateway X envia o seu caminho para o seu gateway par W
❒
W pode ou não seleccionar o caminho oferecido por X
❍
custo, política (não encaminhar via AS da competição), para evitar ciclos.
❒
Se W selecciona o caminho anunciado por X, então: Caminho (W,Z) = w, Caminho (X,Z)
❒
Nota: X pode controlar o tráfego que recebe controlando os seus anúncios de caminhos para os seus pares:
❍
e.g., não quer encaminhar tráfego para Z -> não anuncia caminhos para Z Camada de Rede
4-78
BGP: controlando quem encaminha para si
legenda:
B
W
rede de fornecedor
X A
rede de cliente
C
Y
❒
A,B,C são redes de fornecedores
❒
X,W,Y são clientes (das redes dos fornecedores)
❒
X é dual-homed: ligado a duas redes
❍
X não quer encaminhar de B via X para C
❍
.. então X não anuncia a B caminhos para C
Camada de Rede
4-79
BGP: controlando quem encaminha para si
legenda:
B
W
rede de fornecedor
X A
rede de cliente
C
Y
❒
A anuncia para B o caminho AW
❒
B anuncia para X o caminho BAW
❒
Deve B anunciar para C o caminho BAW?
❍
De maneira nenhuma! B não lucra por encaminhar CBAW pois nem W nem C são clientes de B
❍
B quer forçar C a encaminhar para W via A
❍
B quer encaminhar apenas para/de os seus clientes! Camada de Rede
4-80
BGP: funcionamento Q: O que faz um router BGP ?
❒
Recebe e filtra anúncios de caminhos de vizinhos directamente ligados.
❒
Selecciona caminhos.
❍
Para encaminhar para o destino X, que caminho (dos vários anunciados) será tomado?
❒
Envia anúncios de caminhos para os vizinhos.
Camada de Rede
4-81
BGP: mensagens
❒
Mensagens BGP trocadas por TCP.
❒
Mensagens BGP:
❍
OPEN: abre ligação TCP para o par e autentica o emissor
❍
UPDATE: anuncia novo caminho (ou retira antigo)
❍
KEEPALIVE: mantém ligação activa na ausência de UPDATES; também confirma pedido OPEN
❍
NOTIFICATION: reporta erros nas mensagens anteriores; também utilizado para fechar a ligação
Camada de Rede
4-82
Porquê diferentes protocolos Intra- and Inter-AS ?
Política:
❒
Inter-AS: administrador quer controlar como o seu tráfego é encaminhado, quem encaminha pela sua rede.
❒
Intra-AS: único administrador, pelo que não são necessárias decisões políticas
Escala:
❒
encaminhamento hierárquico poupa na dimensão das tabelas, reduz tráfego de actualizações
Desempenho:
❒
Intra-AS: pode focar-se no desempenho
❒
Inter-AS: política pode dominar sobre desempenho Camada de Rede
4-83
Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade
Camada de Rede
4-84
Arquitectura de um Router: Sumário Duas funções chave de um router:
❒
execução de algoritmos/protocolo de encaminhamento (RIP, OSPF, BGP)
❒
comutação de datagramas das linhas de entrada para as linhas de saída
Camada de Rede
4-85
Funções dos Portos de Entrada
Camada física: recepção do nível do bit
Comutação descentralizada:
❒
porto de saída utilizando a tabela de
Camada de
encaminhamento na memória do porto de entrada
Ligação de Dados: e.g., Ethernet
dado o destino de um datagrama, procurar o
❒
ver capítulo 5
objectivo: completar o processamento do porto de entrada ao ritmo da linha
❒
fila de espera: se os datagramas chegarem mais depressa que o ritmo de envio para a malha de comutação
Camada de Rede
4-86
Fila de espera no porto de entrada
❒
Malha de comutação mais lenta que os portos de entrada combinados -> podem ocorrer filas de espera nas entradas
❒
Bloqueio Head-of-the-Line (HOL): o datagrama na primeira posição da fila impede os outros de avançar
❒
atrasos na fila e perdas quando transborda!
Camada de Rede
4-87
Três arquitecturas de comutação
Camada de Rede
4-88
Comutação pela Memória Routers de primeira geração:
❒
pacotes copiados pela (única) CPU do sistema
❒
velocidade limitada pela largura de banda da memória
(2 passagens no bus por datagrama)
Memória
Porto de Entrada
Porto de Saída
Bus do Sistema Routers modernos:
❒
o processador do porto de entrada consulta a tabela,
copia para a memória
❒
Cisco Catalyst 8500
Camada de Rede
4-89
Camada de Rede
4-90
Comutação por um Bus
❒
o datagrama passa da memória do porto de entrada para a memória do porto de saída por um bus partilhado
❒
contenção no bus:
velocidade de
comutação limitada pela largura de banda do bus
❒
Cisco 1900, bus de 1 Gbps: velocidade suficiente para routers empresariais e de acesso (não para regionais ou do núcleo da rede)
Comutação por uma malha de interligação
❒
Ultrapassa as limitações de largura de banda do bus
❒
Redes de Banyan, outras redes de interligação inicialmente desenvolvidas para interligar processadores num ambiente multiprocessador
❒
Estrutura avançada: fragmentação de datagramas em células de tamanho fixo, comutação de células
❒
Cisco 12000: comuta Gbps através de uma rede de interligação
Camada de Rede
4-91
Funções dos Portos de Saída
❒
Armazenamento necessário quando os datagramas chegam da malha de comutação a um ritmo superior ao ritmo de transmissão de saída
❒
Disciplina de Serviço escolhe o datagrama, de entre os que estão na fila, para transmitir a seguir Camada de Rede
4-92
Fila de espera no porto de saída
❒
armazenamento quando o ritmo de chegada pela malha de comutação excede o ritmo da linha de saída
❒
atrasos na fila e perdas quando a fila espera de saída transborda!
Camada de Rede
4-93
Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade
Camada de Rede
4-94
IPv6
❒
Motivação Inicial: espaço de endereços de 32-bits completamente atribuído em 2008.
❒
Motivações Adicionais:
❍
o formato do cabeçalho pode ajudar a acelerar o processamento/encaminhamento dos pacotes
❍
modificar cabeçalho para facilitar QoS
❍
novo endereço anycast: encaminhar para o melhor de vários servidores replicados
❒
Formato do datagrama IPv6:
❍
cabeçalho de tamanho fixo de 40 bytes
❍
não é permitida fragmentação Camada de Rede
4-95
Cabeçalho dos pacotes IPv6 Classe de Tráfego: identifica a prioridade de um datagrama num fluxo Flow Label: identifica os datagramas de um mesmo fluxo. (o conceito de fluxo não está bem definido).
Next header: identifica o protocolo da camada superior que processa os dados
Camada de Rede
4-96
Outras modificações em relação ao IPv4
❒
Checksum: removido para reduzir o tempo de processamento em cada nó
❒
Opções: permitidas, mas fora do cabeçalho, indicado pelo campo Next Header, como se se tratasse de um protocolo de nível superior
❒
ICMPv6: nova versão do ICMP
❍
novos tipos de mensagens, e.g. Packet Too Big
❍
funções de gestão de grupos multicast
Camada de Rede
4-97
Transição de IPv4 para IPv6
❒
Nem todos os routers podem ser actualizados simultaneamente
❍
Não é possível definir um dia 1 para o IPv6
❍
Como vai funcionar a rede com uma mistura de routers IPv4 e IPv6?
❒
Duas abordagens possíveis:
❍
Pilha Dupla (Dual Stack): alguns routers com pilha dupla (v6, v4) podem traduzir entre formatos
❍
Túneis (Tunneling): IPv6 transportado como dados em datagramas IPv4 nos routers IPv4
Camada de Rede
4-98
Pilha Dupla B
C
D
IPv6
IPv6
IPv4
IPv4
Flow: X
Src:A
Src: A
Dest: F
Dest: F
dados
❒
IPv6
Src:A Dest: F
dados
dados
A-para-B:
B-para-C:
IPv6
IPv4
F
E
A
IPv6
Flow: ?? Src: A Dest: F
dados
B-para-C: B-para-C: IPv6
IPv4
Informação específica de IPv6, que não existe em IPv4, perde-se.
❒
Como preservá-la? Camada de Rede
4-99
Túnel (Tunneling) Visão Lógica:
Visão Física:
A
B
IPv6
IPv6
IPv6
B
C
D
IPv6
IPv6
IPv4
IPv4
Src: A Dest: F
dados
A-para-B: IPv6
IPv6
F
E
A
Flow: X
F
E
túnel
IPv6
Src:B
Src:B
Dest: E
Dest: E
Flow: X
Flow: X
Src: A
Src: A
Dest: F
Dest: F
dados
dados
B-para-C:
B-para-C:
IPv6 dentro
IPv6 dentro
de IPv4
de IPv4
IPv6
Flow: X Src: A Dest: F
dados
E-para-F: IPv6
Camada de Rede
4-100
Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade
Camada de Rede
4-101
Multicast: um emissor para muitos receptores
❒
Multicast (Difusão): acto de enviar um datagrama para múltiplos receptores com uma única operação de transmissão
❍
❒
analogia: um professor para muitos estudantes
Questão: como conseguir o multicast ?
Multicast via unicast
❒
fonte envia N datagramas unicast, um para cada um dos N receptores
routers encaminham datagramas unicast
receptor multicast (vermelho) não é receptor multicast (não vermelho) Camada de Rede
4-102
Multicast: um emissor para muitos receptores
❒
Multicast (Difusão): acto de enviar um datagrama para múltiplos receptores com uma única operação de transmissão
❍
❒
analogia: um professor para muitos estudantes
Questão: como conseguir o multicast ?
Multicast na rede
❒
Os routers participam activamente no multicast, fazendo cópias dos pacotes à medida do necessário e
Routers
encaminhando-os para os
Multicast (vermelho) duplicam e
receptores multicast
encaminham datagramas multicast
Camada de Rede
4-103
Multicast: um emissor para muitos receptores
❒
Multicast (Difusão): acto de enviar um datagrama para múltiplos receptores com uma única operação de transmissão
❍
❒
analogia: um professor para muitos estudantes
Questão: como conseguir o multicast ?
Multicast na Aplicação
❒
os sistemas envolvidos no multicast copiam e enviam datagramas unicast entre eles
Camada de Rede
4-104
Modelo do Serviço Multicast na Internet 128.59.16.12
128.119.40.186
grupo
128.34.108.63
multicast 226.17.30.197 128.34.108.60
conceito de grupo multicast: uso de indirecção
❍
máquinas endereçam datagramas IP para o grupo multicast
❍
os routers encaminham os datagramas multicast para as máquinas que se juntaram ao grupo multicast Camada de Rede
4-105
Grupos Multicast q endereços Internet de classe D reservados para multicast:
q semântica de um grupo: o qualquer um pode juntar-se ao grupo multicast (receber)
o qualquer um pode enviar para o grupo multicast o os membros do grupo não conhecem a identificação dos outros membros através da camada de rede
q necessário: infra-estrutura para entregar datagramas com destino multicast a todas as máquinas que se juntaram ao grupo multicast
Camada de Rede
4-106
Juntar-se a um grupo multicast: duas fases
❒
local: máquina informa o router multicast local que quer
juntar-se ao grupo: IGMP (Internet Group Management Protocol)
❒
área alargada: router local interage com os outros
routers para receber o fluxo de datagramas multicast
❍
muitos protocolos (e.g., DVMRP, MOSPF, PIM) IGMP
IGMP encaminhamento
multicast
de área alargada
IGMP
Camada de Rede
4-107
IGMP: Internet Group Management Protocol
❒
máquina: envia report IGMP quando a aplicação se junta ao grupo multicast
❍
opção dos sockets IP_ADD_MEMBERSHIP
❍
a máquina não precisa de explicitamente sair do grupo quando termina (soft-state)
❒
router: envia query IGMP a intervalos regulares
❍
máquinas pertencendo ao grupo multicast têm de responder ao query
query
report
Camada de Rede
4-108
IGMP IGMP versão 1
❒
router: mensagem
Host Membership
Query difundida na LAN para todas as
IGMP v2: adições incluem:
❒
Query específico do grupo
❒
mensagem para sair do grupo
❍
Query pode enviar uma
máquinas
❒
máquina: mensagem Host Membership
mensagem explícita para sair do grupo
❍
❍
atraso aleatório antes da resposta
❍
saída implícita ao não
router envia query específico do grupo para ver se alguma
Report para indicar
participação no grupo
última máquina a responder ao
máquina saiu do grupo
❍
RFC 2236
IGMP v3: em desenvolvimento como Internet draft
responder ao Query
❒
RFC 1112
Camada de Rede
4-109
Encaminhamento Multicast: O Problema
❒
Objectivo: encontrar uma árvore (ou árvores) que ligue os routers com membros locais de grupos multicast
❍
árvore: nem todos os caminhos entre routers são usados
❍
baseado na fonte: árvore diferente para cada emissor
❍
árvore partilhada: a mesma árvore utilizada por todos os membros do
→
receptores
grupo
árvore partilhada
árvores baseadas na fonte
Camada de Rede
4-110
Abordagens para construir árvores multicast
❒
árvore baseada na fonte (source-based tree): uma árvore por fonte
❍
árvores de caminho mais curto
❍
expedição pelo caminho inverso (reverse path forwarding)
❒
árvore partilhada (group-shared tree): o grupo usa uma árvore
❍
custo mínimo (Steiner)
❍
árvores baseadas num centro
primeiro vemos as abordagens básicas, depois protocolos específicos adoptando estas abordagens
Camada de Rede
4-111
Árvore de caminho mais curto
❒
árvore de encaminhamento multicast: árvore
dos caminhos mais curtos da fonte para todos os destinos
❍
algoritmo de Dijkstra
F: fonte
LEGENDA
R1
2
1
R4
R2 3
R3
router com membro do grupo lá ligado
5 4
lá ligados
R5 6
R6
router sem membros do grupo
R7
i
linha usada para encaminhar,
i indica a ordem de adição da linha pelo algoritmo
Camada de Rede
4-112
Expedição pelo caminho inverso (Reverse Path Forwarding)
q baseia-se no conhecimento pelo router dos
caminhos unicast mais curtos de si para o emissor
q cada router tem um comportamento simples: se (o datagrama multicast foi recebido pela
linha de entrada correspondente ao caminho mais curto de retorno ao emissor)
então envia o datagrama para todas as linhas
de saída (inundação - flooding), excepto a linha por onde recebeu o datagrama
senão ignora o datagrama
Camada de Rede
4-113
Expedição pelo caminho inverso: exemplo F: fonte
LEGENDA
R1
R4
router com membro do grupo lá ligado
R2 R5 R3
R6
R7
router sem membros do grupo lá ligados
datagrama será reenviado datagrama não será reenviado
resulta numa árvore de caminho mais curto inversa específica da fonte
pode ser uma má opção com linha assimétricas Camada de Rede
4-114
Expedição pelo caminho inverso: poda
❒
árvore de encaminhamento contém subárvores sem membros do grupo multicast
❍
não é necessário transmitir os datagramas para essa subárvore
❍
mensagens de poda (prune) enviadas no sentido ascendente pelos routers sem membros do grupo para baixo LEGENDA
F: fonte R1
router com membro do
R4
R2
grupo lá ligado
router sem membros do
P R5
P
P
R3
R6
R7
grupo lá ligados
mensagem de poda (prune) linha com encaminhamento multicast
Camada de Rede
4-115
Árvore Partilhada: Árvore de Steiner
❒
Árvore de Steiner: árvore de custo mínimo
interligando todos os routers com membros do grupo ligados
❒
o problema é NP-completo
❒
existem excelentes heurísticas
❒
não utilizado na prática:
❍
complexidade computacional
❍
necessária informação sobre toda a rede
❍
monolítico: executar novamente sempre que um router necessita de se juntar/sair
Camada de Rede
4-116
Árvores baseadas num centro
❒
única árvore de entrega partilhada por todos
❒
um router identificado comocentro da árvore
❒
para se juntar:
❍
o router de periferia envia uma mensagem unicast
para se juntar (join-msg) endereçada ao router que é o centro
❍
a join-msg é processada pelos routers intermédios e encaminhada para o centro
❍
a join-msg chega a um ramo da árvore já existente para este centro, ou chega ao centro
❍
o caminho seguido pela join-msg torna-se um novo ramo da árvore para este router
Camada de Rede
4-117
Árvores baseadas num centro: um exemplo
Suponha que R6 foi escolhido como centro:
LEGENDA R1 3 R2
router com membro do
R4
grupo lá ligado
router sem membros do
2 R5
R3
1
grupo lá ligados
ordem/caminhos em que as mensagens de juntar ao
1
R6
R7
grupo foram geradas
Camada de Rede
4-118
Encaminhamento Multicast na Internet: DVMRP
❒
DVMRP: distance vector multicast routing protocol, RFC 1075
❒
inundação e poda (flood and prune):
expedição pelo
caminho inverso (RPF), árvore baseada na fonte
❍
árvore RPF baseada nas próprias tabelas de
encaminhamento do DVMRP, construídas pelos routers DVMRP em comunicação
❍
não se assume nada sobre o unicast existente
❍
datagrama inicial para o grupo multicast inundado para todo o lado por RPF
❍
routers que não querem o grupo: enviam mensagens de poda (prune) no sentido ascendente
Camada de Rede
4-119
DVMRP: continuação
❒
soft state: um router DVMRP periodicamente (1 min.) esquece que os ramos foram podados:
❍
dados multicast fluem novamente nos ramos não podados
❍
router descendente: repodar ou continuar a receber os dados
❒
os routers podem rapidamente voltar a enxertar-se na árvore
❍
❒
depois de um join IGMP numa folha
para terminar
❍
normalmente implementado nos routers comerciais
❍
encaminhamento no Mbone feito com DVMRP
Camada de Rede
4-120
Túneis Q: Como ligar ilhas de routers multicast num mar de routers unicast?
topologia física
q
topologia lógica
datagramas multicast encapsulados dentro de datagramas normais (sem utilizar endereço multicast)
q
datagrama IP normal enviado por túnel usando unicast IP normal para o router multicast receptor
q
o router multicast receptor desencapsula o datagrama multicast Camada de Rede
4-121
PIM: Protocol Independent Multicast
❒
não dependente de um algoritmo de encaminhamento unicast subjacente (funciona com todos)
❒
dois cenário diferentes de distribuição multicast:
Modo Denso:
Modo Esparso:
q membros do grupo
q nº de redes com membros do
em núcleos densos, de grande
proximidade q largura de banda
mais abundante
grupo pequena em comparação
com o nº de redes interligadas q membros do grupo muito
dispersos
q largura de banda não abunda
Camada de Rede
4-122
Consequências da Dicotomia Esparso-Denso: Modo Denso
Modo Esparso:
❒
❒
assume-se que um router pertence ao grupo até
grupo até se juntar
que seja explicitamente podado
❒
construção da árvore
explicitamente
❒
árvore multicast se se
(e.g., RPF)
quiser juntar a um grupo
largura de banda e processamento em routers não
um router só precisa de
intervir na construção da
envolve todos os routers
❒
um router não pertence ao
(e.g., baseada num centro)
❒
pertencentes ao grupo grandes
largura de banda e
processamento em routers não pertencentes ao grupo moderados Camada de Rede
4-123
PIM - Modo Denso RPF com inundação e poda, semelhante a DVMRP, mas
q o protocolo unicast existente fornece
informação RPF para os datagramas que chegam
q inundação no sentido descendente menos
complicada (menos eficiente) que no DVMRP reduz dependência do algoritmo de encaminhamento existente
q tem um mecanismo no protocolo para um router
detectar que é um router de um nó folha
Camada de Rede
4-124
PIM - Modo Esparso
❒
aproximação baseada num centro
❒
R1
router envia mensagem join
para o ponto de rendezvous
R2
(RP)
❍
os routers intermédios actualizam o estado e encaminham o join
❒
depois de se juntar via o
RP, um router pode mudar
para uma árvore específica da fonte
❍
R4
join join
R5
join
R3
R7
R6
todos os dados
multicast enviados do ponto de
ponto de
rendezvous
rendezvous
melhor desempenho: menos
concentração, caminhos mais
Camada de Rede
curtos
4-125
PIM - Modo Esparso emissor(es):
❒
R1
enviam dados por unicast pela árvore com raiz em RP
❒
ascendente até à fonte
❒
R2
o RP pode estender a
árvore multicast no sentido
o RP pode enviar mensagem stop se não houver receptores ligados
❍
ninguém está a ouvir!
R4
join
para o RP, que distribui
R3
join R5
join R6
todos os dados
multicast enviados do ponto de
R7
ponto de
rendezvous
rendezvous
Camada de Rede
4-126
Capítulo 4: Sumário 4.1 Introdução e Modelos de Serviço de Rede 4.2 Princípios de Encaminhamento 4.3 Encaminhamento Hierárquico 4.4 O Protocolo IP (Internet Protocol) 4.5 Encaminhamento na Internet 4.6 O que existe dentro de um Router 4.7 IPv6 4.8 Encaminhamento Multicast 4.9 Mobilidade
Camada de Rede
4-127
O que é mobilidade?
❒
espectro da mobilidade, da perspectiva da rede:
sem mobilidade
grande mobilidade
utilizador móvel,
utilizador móvel
utilizador móvel,
ponto de acesso
se da rede com
pontos de acesso
sempre no mesmo
ligando/desligandoDHCP
passando por múltiplos mantendo as ligações estabelecidas (tal
como um telemóvel)
Camada de Rede
4-128
Mobilidade: Vocabulário home network (rede de origem):
home agent (agente na rede de origem):
móvel
mobilidade em nome da estação móvel,
rede onde reside a estação (e.g., 128.119.40/24)
entidade que realiza funções de quando ela está distante
rede de área alargada
Permanent address (endereço permanente): endereço na home
network, que pode ser sempre usado para
correspondente
aceder à estação móvel e.g., 128.119.40.186
Camada de Rede
4-129
Mobilidade: mais vocabulário visited network (rede
Permanent address (endereço permanente):
visitada): rede onde está
128.119.40.186)
(e.g., 79.129.13/24)
permanece constante (e.g.,
actualmente a estação móvel
Care-of-address:
endereço na rede visitada (e.g., 79.129.13.2)
rede de área alargada
foreign agent (agente na rede visitada): correspondente (correspondent):
quer comunicar com a estação móvel
entidade na rede
visitada que realiza
funções de mobilidade em nome da estação Camada de Rede
móvel
4-130
Como é que você contacta uma amiga móvel:
Considere uma amiga que muda
frequentemente de endereço,
Para onde será
que foi a Alice?
como a encontra?
❒
procura em todas as listas telefónicas?
❒
telefona aos seus pais?
❒
espera que seja ela a dizer-lhe onde está?
Camada de Rede
4-131
Mobilidade: abordagens
❒
A cargo do encaminhamento: os routers anunciam os
endereços permanentes das estações móveis residentes
através das normais trocas de tabelas de encaminhamento.
❍
as tabelas de encaminhamento indicam onde cada estação móvel está localizada
❍
❒
não há mudanças nos sistemas terminais
A cargo dos sistemas terminais:
❍
encaminhamento indirecto (indirect routing): a
comunicação do correspondente para a estação móvel
passa pelo agente na rede de origem (home agent), e só depois é encaminhada para a estação móvel
❍
encaminhamento directo (direct routing): o
correspondente obtém o endereço na rede visitada da estação móvel, envia directamente para ele Camada
de Rede
4-132
Mobilidade: abordagens
❒
A cargo do encaminhamento: os routers anunciam os
endereços permanentes das estações móveis residentes não
através das normais trocas de tabelas de encaminhamento. escala para
❍
milhões de as tabelas de encaminhamento indicam onde cada móveis
estação móvel está localizada
❍
❒
não há mudanças nos sistemas terminais
A cargo dos sistemas terminais:
❍
encaminhamento indirecto (indirect routing): a
comunicação do correspondente para a estação móvel
passa pelo agente na rede de origem (home agent), e só depois é encaminhada para a estação móvel
❍
encaminhamento directo (direct routing): o
correspondente obtém o endereço na rede visitada da estação móvel, envia directamente para ele Camada
Mobilidade: registo
de Rede
4-133
rede visitada
visited network
rede de origem
home network
2
1
rede de área alargada
o agente na rede visitada
contacta o agente na rede de origem: esta estação móvel está na minha rede
Resultado final:
a estação móvel contacta o
agente na rede
visitada quando entra na rede visitada
❒
o agente na rede visitada conhece a estação móvel
❒
o agente na rede de origem conhece a localização da estação móvel
Camada de Rede
4-134
Mobilidade por encaminhamento indirecto agente na rede visitada
o agente da rede de
recebe os pacotes,
origem intercepta os
pacotes, envia-os para o agente na rede visitada
envia-os para a estação
rede
móvel
visitada
rede de origem
3 rede de área alargada
1
2
correspondente
4
endereça pacotes
usando o endereço permanente da estação móvel
a estação móvel responde
directamente ao correspondente Camada de Rede
4-135
Encaminhamento Indirecto: comentários
❒
Estação móvel usa dois endereços:
❍
endereço permanente: utilizado pelo
correspondente (pelo que a localização da estação móvel é transparente para o correspondente)
❍
care-of-address: utilizado pelo agente na rede de origem para enviar pacotes para a estação móvel
❒
as funções de agente na rede visitada podem ser feitas pela própria estação móvel
❒
encaminhamento em triângulo: correspondente-redede-origem-móvel
❍
ineficiente quando o
correspondente e móvel estão na mesma rede
Camada de Rede
4-136
Envio de pacotes para a estação móvel remota pacote do agente na rede pacote enviado pelo agente na rede de
origem para o agente na rede visitada: um pacote dentro de um pacote dest: 79.129.13.2
visitada para a estação móvel dest: 128.119.40.186
dest: 128.119.40.186
endereço
permanente:
128.119.40.186
dest: 128.119.40.186
Care-of address: 79.129.13.2
pacote enviado pelo
correspondente Camada de Rede
4-137
Encaminhamento Indirecto: mudança de redes
❒
suponha que o utilizador móvel se move para outra rede
❍
regista-se com um agente na nova rede visitada
❍
o agente na nova rede visitada regista-se com o agente na rede de origem
❍
o agente na rede de origem actualiza o care-ofaddress da estação móvel
❍
os pacotes continuam a ser encaminhados para a
estação móvel (mas com um novo care-of-address)
❒
Mobilidade, mudança de agente na rede
visitada transparente: as ligações em curso podem ser mantidas!
Camada de Rede
4-138
Mobilidade por encaminhamento Directo agente na rede correspondente envia
para o agente na rede visitada
visitada recebe os
pacotes, envia para a estação móvel
rede
visitada
rede de origem
4 rede de área alargada
2
correspondente pede, recebe o endereço da rede visitada da estação móvel
1
3 4 estação móvel responde
directamente para o correspondente Camada de Rede
4-139
Mobilidade por encaminhamento Directo: comentários
❒
resolve o problema do encaminhamento em triângulo
❒
não transparente para o correspondente:
o correspondente tem de obter o care-ofaddress do agente da rede de origem
❍
O que acontece se a estação móvel muda de rede?
Camada de Rede
4-140
Mobile IP
❒
RFC 3220
❒
tem muitas funcionalidades já descritas:
❍
agente na rede de origem, agente na rede
visitada, registo em agentes na rede visitada, care-of-addresses, encapsulamento (pacote dentro de um pacote)
❒
três componentes do standard:
❍
descoberta de agentes
❍
registo com o agente na rede de origem
❍
encaminhamento indirecto de datagramas
Camada de Rede
4-141
Mobile IP: descoberta de agentes
❒
anúncio de agentes: os agentes anunciam o serviço difundindo mensagens ICMP (campo type = 9)
0
16
8 type = 9
24 checksum
code = 0
bits H,F: sou agente Home e/ou Foreign
router address
campos ICMP standard
bit R: é necessário registo
type = 16
length
registration lifetime
sequence # RBHFMGV reserved bits
0 ou mais care-ofaddresses
extensão para anúncio de mobilidade de agentes
Camada de Rede
4-142
Mobile IP: exemplo de registo agente na rede de origem HA: 128.119.40.7
agente na rede visitada COA: 79.129.13.2
rede visitada: 79.129.13/24
anúncio de
agente ICMP
agente móvel MA: 128.119.40.186
COA: 79.129.13.2
….
registration req.
registration req.
COA: 79.129.13.2 HA: 128.119.40.7 MA: 128.119.40.186 Lifetime: 9999 identification: 714 encapsulation format ….
COA: 79.129.13.2 HA: 128.119.40.7 MA: 128.119.40.186 Lifetime: 9999 identification:714 ….
registration reply tempo
HA: 128.119.40.7 MA: 128.119.40.186 Lifetime: 4999 Identification: 714 encapsulation format ….
registration reply
HA: 128.119.40.7 MA: 128.119.40.18 6 Lifetime: 4999 Identification: 714 …. Camada de Rede
4-143
Camada de Rede: sumário O que se cobriu:
❒
serviços da camada de rede
❒
princípios de encaminhamento:
estado das ligações e vector de distâncias
❒
encaminhamento hierárquico
❒
IP
❒
protocolos de encaminhamento na Internet: RIP, OSPF, BGP
❒
o que existe dentro de um router?
❒
IPv6
❒
mobilidade
Próxima paragem: a Camada de
Ligação de Dados!
Camada de Rede
4-144