parte 1

Propaganda
Capítulo 4: Nível de Rede
Objectivos:
 Compreender os
princípios subjacentes ao
serviço do nível de rede:

Encaminhamento
(selecção do caminho)
• routing (path selection)

Problema de escala
• Como é que o router
funciona
• Tópicos avançados:
IPv6, multicast
 Instanciação e
implementação na
Internet
Visão geral:
 Princípios do serviço de nível




de rede
Princípios de encaminhamento:
selecção do caminho
Encaminhamento hierárquico
IP
Protocolos de encaminhamento
na Internet


Dentro do domínio: intradomain
Entre domínios: inter-domain
4: Nível de Rede
4a-1
Funções do nível de rede
 Encaminhar pacotes dos
emissores para os receptores
 Protocolos de nível de rede
em cada router
Três funções importantes:
 Determinação do caminho:
rota percorrida pelos pacotes
da origem para o destino –
algoritmos de routing
 Comutação switching:
transferir os pacotes da
entrada do router para a
saída apropriada
 Estabelecimento de chamada:
Algumas arquitectura de rede
requerem que os routers
estabelecem um caminho
antes de se iniciar a
transferência de dados
Aplicação
Transporte
Rede
Lig. lógica
Física
Rede
Lig. Lógica
Física
Rede
Lig. Lógica
Física
Rede
Lig. Lógica
Física
Rede
Lig. Lógica
Física
Rede
Lig. Lógica
Física
Rede
Lig. Lógica
Física
Rede
Lig. Lógica
Física
Rede
Lig. Lógica
Física
Aplicação
Transporte
Rede
Lig. lógica
Física
4: Nível de Rede
4a-2
Modelo de serviço de rede
Q: Qual o modelo de
serviço para um canal
que transporte pacotes
do emissor para o
receptor?
 Largura de banda garantida?
 Preservação do tempo entre
pacotes (sem jitter)?
 Entrega sem perdas ?
 Entrega organada?
 Informação de congestão ao
emissor?
A abstração mais
importante do serviço do
nível de rede:
? ?
?
Circuito virtual
ou
Datagrama ?
4: Nível de Rede
4a-3
Circuitos virtuais
“os caminhos entre a fonte e o destino comportam-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 cirvuito virtual
(VC) (não o identificador do destino)
 Cada router no caminho entre a origem e o destino mantem
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 (bandwidth,
buffers) são alocados por VC

Desempenho semelhante a um circuito permanente.4: Nível de Rede
4a-4
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
Aplicação
Transporte 5. Início do fluxo de dados 6. Recepção de dados
Transporte
4. Call connected
Rede
3. Accept call
Rede
Lig. lógica 1. Initiate call
2. incoming call
Lig. lógica
Física
Física
4: Nível de Rede
4a-5
Redes datagrama: 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 tipicamente encaminhados usando o ID do sistema
terminal de destno

Pacotes com origem e destino comuns podem utilizar rotas
diferentes
Aplicação
Transporte
Rede
Lig. lógica 1. Send data
Física
Aplicação
Transporte
Rede
2. Receive data
Lig. lógica
Física
4: Nível de Rede
4a-6
Rede datagrama ou de VCs: porquê?
Internet
ATM
computadores
 Serviço elástico sem
restrições temporais.
 Sistemas Terminais
“inteligentes”
 Adaptação, controlo e
recuperação de erros
 Simplicidade da rede,
complexidade na periferia
 Muitos tipos de ligações
 Características diferentes
 Dificuldade dum serviço
uniforme
 Surgiu da telefonia
 Dados transferidos entre
 Conversão humana:
Requisitos temporais e
de fiabilidade
 Necessidade de serviço
garantido
 Sistemas Terminais
“burros”
 telefones
 Complexidade na rede

4: Nível de Rede
4a-8
Routing
Protocolos de routing
Objectivo: determinar um
bom caminho (sequência de
routers) entre a origem e o
destino
Grafos usados como
modelo de abstração:
 Nós - routers
 Arestas – ligações
físicas

Custo da ligaçõa: atraso,
$, ou nível de congestão
5
2
A
B
2
1
D
3
C
3
1
5
F
1
E
2
 “Bons” caminhos:
 Tipicamente caminhos
mais curtos
 Outras possibilidade ..
4: Nível de Rede
4a-9
Classificação
Informação global ou
descentralizada?
Global:
 Todos os routers tem a
toplogia completa, custos
das ligaçõee
 “link state”
Decentralizada:
 Routers sabem os vizinhos a
que estão ligados
fisicamente e os custos das
respectivas ligações
 Processo iterativo de
computação, troca de
informação entre vizinhos
 “distance vector”
Estática ou dinâmica?
Estática:
 Rotas variam lentamente no
tempo
Dinamica:
 Rotas variam mais
rapidamente
 Actualização periódica
 Em resposta a
alterações de custo em
ligações.
4: Nível de Rede 4a-10
Algoritmo de Encaminhamento Estado de Linha (Link-State)
Algoritmo de Dijkstra
 Topologia da rede, custo
das ligações para todos os
nós conhecido
 Difusão do estado das
ligações
 Todos os nós têm a
mesma informação
 Calcula caminhos de menor
custo dum nó para todos os
restantes
 Calcula a tabela de
routing para cada nó
 iterativo: depois de k
iterações, conhece os
caminhos de menor custo
para cada destino k
Notação:
 c(i,j): custo da ligação do
nó i para onó 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): nó predecessor bo
caminho da origem até ao
destino v.
 N: conjunto de nós que têm
o caminho de menor custo
conhecido
4: Nível de Rede 4a-11
Algorithmo de Dijsktra: exemplo
Step
0
1
2
3
4
5
start N
A
AD
ADE
ADEB
ADEBC
ADEBCF
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
infinity
infinity
2,A
4,D
2,D
infinity
2,A
3,E
4,E
3,E
4,E
4,E
5
2
A
B
2
1
D
3
C
3
1
5
F
1
E
2
4: Nível de Rede 4a-13
Algoritmo de Dijsktra: discussão
Oscilações possíveis:
 e.g., custo da ligação = quantidade do tráfego
transportado
D
1
1
0
A
0 0
C
e
1+e
B
e
2+e
D
0
1
Inicialmente
A
1+e 1
C
0
B
0
… recalculando
a rota
0
D
1
A
0 0
2+e
B
C 1+e
… recalculando
2+e
D
0
A
1+e 1
C
0
B
e
… recalculando
4: Nível de Rede 4a-14
Algoritmo Vector de Distância
iterativo:
 Continua até que mais
nenhum nó precise de
enviar informação.
 self-terminating: não
há “sinal” de paragem
assíncrono:
 Nós não precisam de
transferir informação
distribuído:
 Cada nó só comunica
com os nós que lhe
estão adjacentes
Estrutura de dados: Tabela de
Distâncias
 Cada nó tem a sua própria
 Linha para cada destino
 Coluna para cada nó adjacente
que conduz ao destino
 exemplo: nó X, para o destino Y
através do nó Z
X
D (Y,Z)
Distância a partir X para
= Y, sendo Z o próximo nó
= c(X,Z) + min {DZ(Y,w)}
w
4: Nível de Rede 4a-15
Tabela de distâncias: exemplo
7
A
B
1
C
E
cost to destination via
D ()
A
B
D
A
1
14
5
B
7
8
5
C
6
9
4
D
4
11
2
2
8
1
E
2
D
E
D (C,D) = c(E,D) + min {DD(C,w)}
= 2+2 = 4
w
E
D (A,D) = c(E,D) + min {DD(A,w)}
E
w
= 2+3 = 5
loop!
D (A,B) = c(E,B) + min {D B(A,w)}
= 8+6 = 14
w
loop!
4: Nível de Rede 4a-16
Tabela de Distâncias e Tabela de Routing
E
cost to destination via
Outgoing link
D ()
A
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,4
Distance table
to use, cost
Routing table
4: Nível de Rede 4a-17
Encaminhamento Vector de Distância:
overview
Iterativo, assíncrono:
cada iteração local causada
por:
 Alteração do custo da
ligação
 Mensagem dum nó vizinho:
o menor custo a partir
desse vizinho para um
destino pode ser alterado
Distribuído:
 Cada nó notifica os vizinhos
apenas quando o menor
custo para um destino se
altera

Os vizinhos só notificam
os vizinhos se necessário
Cada nó:
wait for (change in local link
cost of msg from neighbor)
recompute distance table
if least cost path to any dest
has changed, notify
neighbors
4: Nível de Rede 4a-18
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 as ligações!
Autonomia administrativa
 internet = rede de redes
 Cada domínio administrativo
pode controlar o
encaminhamento dentro da
sua própria rede
4: Nível de Rede 4a-26
Encaminhamento hierárquico
 Agregação de routers em
regiões, “autonomous
systems” (AS)
 routers do mesmo AS
executam o mesmo
protocolo de routing

Protocolo de routing:
intra-domínio (“intra-AS”)
 routers de AS´s
diferentes executam
diferentes protocolos de
routing
gateway routers
 Routers especiais dum AS
 Executam protocolo de
routing intra-domínio com
todos os outros routers do
mesmo AS
 Também são responsáveis
por encaminhar para o
exterior do domínio
 Executa o protocolo de
encaminhamento interdomínio (inter-AS
routing) com os outros
gateways routers
4: Nível de Rede 4a-27
Intra-AS and Inter-AS routing
C.b
a
C
Gateways:
B.a
A.a
b
A.c
d
A
a
b
c
a
c
B
b
•Executam routing
inter-domínio
entre eles
•Executam routing
intra-domínio com
os restantes
routers do AS
network layer
inter-AS, intra-AS
routing in
gateway A.c
link layer
physical layer
4: Nível de Rede 4a-28
Encaminhamento intra e inter domínio
C.b
a
Host
h1
C
b
A.a
Inter-AS
routing
entre
AeB
A.c
a
d
c
b
A
Intra-AS routing
dentro de AS A
B.a
a
c
B
Host
h2
b
Intra-AS routing
dentro de AS B
4: Nível de Rede 4a-29
O nível de rede na Internet
Funções de nível de rede num Sistema Terminal e num router:
Nível de transporte: TCP, UDP
Nível de
rede
Protocolo IP
•Convenções de endereços
•Formato dos datagramas
•Processamento de pacotes
Protocolos de routing
•Selecção de caminhos
•RIP, OSPF, BGP
Tabela
de
routing
Protocolo ICMP
•Reporte de erros
•router “signaling”
Nível de ligação lógica
Nível físico
4: Nível de Rede 4a-30
Endereçamento IP: introdução
 Endereço IP :


Identificador de 32-bit
Para Sistemas Terminais
e interfaces dos routers
 interface: ligação entre
Sistemas Terminais,
Routers e a ligação física



223.1.1.1
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
Os routers tem 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
223.1.1.1 = 11011111 00000001 00000001 00000001
Terminais ou aos routers
223
1
1
1
4: Nível de Rede 4a-31
Endereçamento IP
 Endereço IP:
Parte da rede (bits mais
significativos)
 Parte do Sistema
Terminal (host) (bits
menos significativos)
 O que é uma rede ? (na
perspectiva do endereço IP)
 Dispositivos de interface
com um valor comum para
a parte do endereço IP
que identifica a rede
223.1.1.1


Pode-se chegar aos vários
elementos duma rede sem
intervenção do router
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
LAN
223.1.3.1
223.1.3.2
Esta rede é constituída por 3 redes IP
• Para os endereços IP que começam em 223
• Primeiros 24 bits identificam a rede
4: Nível de Rede 4a-32
Endereçamento IP
223.1.1.2 223.1.1.3
223.1.1.1
Como encontrar as
redes?
223.1.1.4
 Identificar cada
interface dum router,
223.1.7.2
223.1.9.2
host
 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
Constituído por 6 redes
223.1.2.1
223.1.3.27
223.1.2.2
223.1.3.1
223.1.3.2
4: Nível de Rede 4a-33
Endereçamento IP
Dada a noção de rede, vamos re-examinar o endereço IP
“class-full” addressing:
classe
A 0 network
B
10
C
110
D
1110
1.0.0.0 to
127.255.255.255
host
network
128.0.0.0 to
191.255.255.255
host
network
multicast address
32 bits
host
192.0.0.0 to
223.255.255.255
224.0.0.0 to
239.255.255.255
Classe
A
B
C
Redes
27
214
221
ST
224
216
28
4: Nível de Rede 4a-34
Endereçamento IP : CIDR
 Endereçamento classful:


Uso ineficiente do espaço de endereçamento, falta de
endereços disponíveis
e.g., uma rede de classe B reserva 64K para os sistemas
terminais, mesmo que só existam 2K na realidade !
 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
4: Nível de Rede 4a-35
Endereços IP: Como se obtém um ?
Sistemas terminais (parte do Sistema Terminal):
 hard-coded pelo administrador de sistema num
ficheiro
 DHCP: Dynamic Host Configuration Protocol: endereço
IP obtido dinamicamente “plug-and-play”
 Sistema Terminal envia em difusão “DHCP discover” msg
 Servidor de DHCP responde com “DHCP offer” msg
 Sistema Terminal pode endereço IP : “DHCP request” msg
 Sevidor DHCP envia endereço: “DHCP ack” msg
4: Nível de Rede 4a-36
Endereços IP: Como se obtém um ?
Rede (Parte da rede):
 Aloca uma parte do espaço de endereços
reservado para o ISP
Parte do ISP
11001000 00010111 00010000 00000000
200.23.16.0/20
Organization 0
11001000 00010111 00010000 00000000
200.23.16.0/23
Organization 1
11001000 00010111 00010010 00000000
200.23.18.0/23
Organization 2
...
11001000 00010111 00010100 00000000
…..
….
200.23.20.0/23
….
Organization 7
11001000 00010111 00011110 00000000
200.23.30.0/23
8 blocos de igual dimensão
4: Nível de Rede 4a-37
Endereçamento hierárquico: agregação de rotas
Endereçamento hierárquico permite uma distribuição eficiente da
Informação de encaminhamento
Organization 0
200.23.16.0/23
“Envia-me qualquer pacote com
o endereço começado por
200.23.16.0/20”
Organization 1
200.23.18.0/23
Organization 2
200.23.20.0/23
Organization 7
.
.
.
.
.
.
Fly-By-Night-ISP
Internet
200.23.30.0/23
ISPs-R-Us
“Envia-me qualquer pacote com
o endereço começado por
199.31.0.0/16”
4: Nível de Rede 4a-38
Endereçamento hierárquico: rotas mais específicas
ISPs-R-Us tem rotas mais específicas para cada organização (Organização 1)
Organization 0
200.23.16.0/23
“Envia-me qualquer pacote com
o endereço começado por
200.23.16.0/20”
Organization 1
200.23.18.0/23
Organization 2
200.23.20.0/23
Organization 7
.
.
.
.
.
.
Fly-By-Night-ISP
Internet
200.23.30.0/23
ISPs-R-Us
Organization 1
200.23.18.0/23
“Envia-me qualquer pacote com
o endereço começado por
199.31.0.0/16
ou 200.23.18.0/23”
Quando se envia um pacote destino à organização A a selecção do ISP realiza-se
comparando com o maior prefixo
4: Nível de Rede 4a-39
Enviando um datagrama da origem para o
destino
Tabela de Encaminhamento de A
Dest. Net. next router Nhops
223.1.1.0/24
223.1.2.0/24
223.1.3.0/24
Datagrama IP:
misc source dest
fields IP addr IP addr
data
A
 Datagrama mantém-se
inalterado quando viaja da
origem para o destino
 Campos de endereço com
interesse para esta
análise
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1
223.1.2.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
4: Nível de Rede 4a-41
Getting a datagram from source to dest.
misc
data
fields 223.1.1.1 223.1.1.3
Iniciando em A, como enviar
um datagrama IP para B ?
 Analisar a parte de endereço da
rede de B
 Descobrir que B está na mesma
rede do que A
 Nível de ligação de dados envia
o datagrama directamente para
B através duma trama de nível
lógico
 A e B estão directamente
ligados
Dest. Net. next router Nhops
223.1.1.0/24
223.1.2.0/24
223.1.3.0/24
A
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1
223.1.2.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
4: Nível de Rede 4a-42
Getting a datagram from source to dest.
misc
data
fields 223.1.1.1 223.1.2.3
Iniciando em A, como enviar um
datagrama IP para E ?:
 Analisar a parte de endereço
da rede de E
 E pertence a outra rede
 A e A não estão
directamente ligados
 Tabela de encaminhamento:
next hop router para E é
223.1.1.4
 O nível de ligação de dados
envia o datagrama para o
223.1.1.4 dentro duma trama
de nível lógico
Dest. Net. next router Nhops
223.1.1.0/24
223.1.2.0/24
223.1.3.0/24
A
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1
223.1.2.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
4: Nível de Rede 4a-43
Getting a datagram from source to dest.
misc
data
fields 223.1.1.1 223.1.2.3
Datagrama chega a 223.1.4,
destinado a 223.1.2.2
 Analisar a parte de endereço da
rede de E
 E está na mesma rede que a
interface do router que tem o IP
223.1.2.9
 Router e E estão
directamente ligados
 O nível de ligação de dados envia
o datagrama para o 223.1.2.2
dentro duma trama de nível lógico
através da interface 223.1.2.9
 Datagrama chega a 223.1.2.2!!!
(hooray!)
Dest.
next
network router Nhops interface
223.1.1
223.1.2
223.1.3
A
-
1
1
1
223.1.1.4
223.1.2.9
223.1.3.27
223.1.1.1
223.1.2.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
4: Nível de Rede 4a-44
Formato do datagrama IP
Nº de versão do
Protocolo IP
Dimensão do
Cabeçalho (bytes)
“tipo” de dados
Nº máximo de hops a
visitar
(decrementado em
cada router)
Nível superior do
protocolo a que
se destina o pacote
32 bits
head. type of
length
len service
fragment
16-bit identifier flgs
offset
time to upper
Internet
layer
live
checksum
ver
Dimensão total
do datagrama
(bytes)
para
fragmentação
reassemblagem
32 bit source IP address
32 bit destination IP address
Options (if any)
data
(variable length,
typically a TCP
or UDP segment)
E.g. timestamp,
Armazena a rota
tomada, lista de
routers a visitar
4: Nível de Rede 4a-45
Fragmentação e reassemblagem IP
Ligações da rede têm MTU
(max.transfer size) – dimensão
máxima duma trama de nível de
rede.
 Ligações diferentes têm
MTUs diferentes
 datagramas IP grandes são
divididos (“fragmentados”) na
rede
 Um datagrama transforma-se
em vários datagranas
 “reassemblados” apenas no
destino final
 Bits do cabeçalho IP header
usados para identificar
fragmentos relacionados

fragmentação
in: 1 datagrama grande
out: 3 datagramas
pequenos
reassemblagem
4: Nível de Rede 4a-46
Fragmentação e reassemblagem IP
length ID fragflag offset
=4000 =x
=0
=0
Um datagrama grande transforma-se em 3 pequenos
length ID fragflag offset
=1500 =x
=1
=0
length ID fragflag offset
=1500 =x
=1
=1480
length ID fragflag offset
=1040 =x
=0
=2960
4: Nível de Rede 4a-47
Fragmentação e reassemblagem IP
ver
head.
len
type of
service
16-bit identifier
time to
live
length
fragment
offset
flgs
upper
layer
Internet
checksum
32 bit source IP address
32 bit destination IP address
Options (if any)
# porto origem
# porto destino
Número sequência
Número acknowledgment
not
head
rcvr window size
used U A P R S F
len
ptr urgent data
checksum
Opções (dimensão variável)
 Valor mínimo do MTU
suportado é de 576 Bytes
 Se a dimensão máxima do
segmento for de 536
Bytes a fragmentação
pode ser eliminada

20 Bytes são para o
cabeçalho TCP
20 Bytes são para o
cabeçalho IP
application
data
(variable length)
4: Nível de Rede 4a-48
ICMP: Internet Control Message Protocol
 Utilizado pelos sistemas
terminais, routers e gatewyas
para transferir informação de
controlo de nível de rede
 Reporte de erros :
unreachable host, network,
port, protocol
 echo request/reply (used
by ping)
 Nível de rede: “acima” do IP:
 ICMP msgs transportadas
em datagramas IP
 ICMP message: type, code plus
first 8 bytes of IP datagram
causing error
Type
0
3
3
3
3
3
3
4
Code
0
0
1
2
3
6
7
0
8
9
10
11
12
0
0
0
0
0
description
echo reply (ping)
dest. network unreachable
dest host unreachable
dest protocol unreachable
dest port unreachable
dest network unknown
dest host unknown
source quench (congestion
control - not used)
echo request (ping)
route advertisement
router discovery
TTL expired
bad IP header
4: Nível de Rede 4a-49
Download