4: nível de rede4a-1 capítulo 4: nível de rede objectivos: r compreender os princípios...
TRANSCRIPT
4: Nível de Rede 4a-1
Capítulo 4: Nível de RedeObjectivos: 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: intra-
domain Entre domínios: inter-domain
4: Nível de Rede 4a-2
Funções do nível de rede Encaminhar pacotes dos
emissores para os receptores Protocolos de nível de rede em
cada routerTrê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
RedeLig.
LógicaFísica
RedeLig.
LógicaFísica
RedeLig.
LógicaFísica
RedeLig.
LógicaFísica
RedeLig.
LógicaFísica
RedeLig.
LógicaFísica
RedeLig.
LógicaFísica
RedeLig.
LógicaFísica
AplicaçãoTransporte
RedeLig. lógica
Física
AplicaçãoTransporte
RedeLig. lógica
Física
4: Nível de Rede 4a-3
Modelo de serviço de redeQ: 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?
? ??Circuito virtual
ou Datagrama ?
A abstração mais importante do serviço
do nível de rede:
Abst
raçõ
es d
e se
rviço
4: Nível de Rede 4a-4
Circuitos virtuais
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.
“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
4: Nível de Rede 4a-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çãoTransport
eRede
Lig. lógicaFísica
AplicaçãoTransport
eRede
Lig. lógicaFísica
1. Initiate call 2. incoming call3. Accept call4. Call connected
5. Início do fluxo de dados6. Recepção de dados
4: Nível de Rede 4a-6
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çãoTransport
eRede
Lig. lógicaFísica
AplicaçãoTransport
eRede
Lig. lógicaFísica
1. Send data 2. Receive data
4: Nível de Rede 4a-8
Rede datagrama ou de VCs: porquê?Internet Dados transferidos entre
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
ATM Surgiu da telefonia 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-9
Routing
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
Objectivo: determinar um bom caminho (sequência
de routers) entre a origem e o destino
Protocolos de routing
A
ED
CB
F2
21 3
1
12
53
5
“Bons” caminhos: Tipicamente caminhos
mais curtos Outras possibilidade ..
4: Nível de Rede 4a-10
ClassificaçãoInformaçã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 tempoDinamica: Rotas variam mais
rapidamente Actualização periódica Em resposta a
alterações de custo em ligações.
4: Nível de Rede 4a-11
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-13
Step012345
start NA
ADADE
ADEBADEBC
ADEBCF
D(B),p(B)2,A2,A2,A
D(C),p(C)5,A4,D3,E3,E
D(D),p(D)1,A
D(E),p(E)infinity
2,D
D(F),p(F)infinityinfinity
4,E4,E4,E
A
ED
CB
F2
21 3
1
12
53
5
Algorithmo de Dijsktra: exemplo
4: Nível de Rede 4a-14
Oscilações possíveis: e.g., custo da ligação = quantidade do tráfego
transportado
AD
CB
1 1+e
e0
e1 1
0 0A
DC
B2+e 0
001+e1
AD
CB
0 2+e
1+e10 0
AD
CB
2+e 0
e01+e1
Inicialmente … recalculandoa rota
… recalculando… recalculando
Algoritmo de Dijsktra: discussão
4: Nível de Rede 4a-15
Algoritmo Vector de Distânciaiterativo: 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çãodistribuí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
D (Y,Z)X
Distância a partir X paraY, sendo Z o próximo nó
c(X,Z) + min {D (Y,w)}Zw
=
=
4: Nível de Rede 4a-16
Tabela de distâncias: exemplo
A
E D
CB78
12
1
2D ()
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
Ecost to destination via
dest
inat
ion
D (C,D)E
c(E,D) + min {D (C,w)}Dw=
= 2+2 = 4
D (A,D)E
c(E,D) + min {D (A,w)}Dw=
= 2+3 = 5
D (A,B)E
c(E,B) + min {D (A,w)}Bw=
= 8+6 = 14
loop!
loop!
4: Nível de Rede 4a-17
Tabela de Distâncias e Tabela de Routing
D ()
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
Ecost to destination via
dest
inat
ion
A
B
C
D
A,1
D,5
D,4
D,4
Outgoing link to use, cost
dest
inat
ion
Distance table Routing table
4: Nível de Rede 4a-18
Encaminhamento Vector de Distância: overviewIterativo, 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
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
Cada nó:
4: Nível de Rede 4a-26
Encaminhamento hierárquico
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
Estudo de encaminhamento até agora - ideal Todos os routers são idênticos Rede plana (“Flat”)… não é verdade na prática
4: Nível de Rede 4a-27
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
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 inter-domínio (inter-AS routing) com os outros gateways routers
gateway routers
4: Nível de Rede 4a-28
Intra-AS and Inter-AS routingGateways:
•Executam routing inter-domínio entre eles•Executam routing intra-domínio com os restantes routers do AS
inter-AS, intra-AS routing in
gateway A.c
network layerlink layer
physical layer
a
b
ba
aC
A
Bd
A.aA.c
C.bB.a
cb
c
4: Nível de Rede 4a-29
Encaminhamento intra e inter domínio
Host h2a
b
ba
aC
A
Bd c
A.aA.c
C.bB.a
cb
Hosth1
Intra-AS routingdentro de AS A
Inter-AS routingentre A e B
Intra-AS routingdentro de AS B
4: Nível de Rede 4a-30
O nível de rede na Internet
Tabelade
routing
Funções de nível de rede num Sistema Terminal e num router:
Protocolos de routing•Selecção de caminhos•RIP, OSPF, BGP
Protocolo IP •Convenções de endereços•Formato dos datagramas•Processamento de pacotes
Protocolo ICMP•Reporte de erros•router “signaling”
Nível de transporte: TCP, UDP
Nível de ligação lógica
Nível físico
Nível derede
4: Nível de Rede 4a-31
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 Os routers tem múltiplas
interfaces Os Sistemas Terminais
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
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
4: Nível de Rede 4a-32
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
Pode-se chegar aos vários elementos duma rede sem intervenção do router
Esta rede é constituída por 3 redes IP• Para os endereços IP que começam em 223 • Primeiros 24 bits identificam a rede
LAN
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
4: Nível de Rede 4a-33
Endereçamento IPComo encontrar as
redes? Identificar cada
interface dum router, host
Criar ilhas de redes isoladas
223.1.1.1
223.1.1.4
223.1.1.3
223.1.2.2223.1.2.1
223.1.2.6
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.2
223.1.7.1223.1.8.2223.1.8.1
223.1.9.1
223.1.9.2
Sistema interligadoConstituído por 6 redes
4: Nível de Rede 4a-34
0network host
10 network host
110 network host
1110 multicast address
A
B
C
D
classe 1.0.0.0 to127.255.255.255128.0.0.0 to191.255.255.255192.0.0.0 to223.255.255.255224.0.0.0 to239.255.255.255
32 bits
Dada a noção de rede, vamos re-examinar o endereço IP“class-full” addressing:
Endereçamento IP
Classe Redes STA 27 224
B 214 216
C 221 28
4: Nível de Rede 4a-35
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
11001000 00010111 00010000 00000000
Parte da rede Parte do ST
200.23.16.0/23 Endereço/prefixo
4: Nível de Rede 4a-36
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-37
Rede (Parte da rede): Aloca uma parte do espaço de endereços
reservado para o ISPParte 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
Endereços IP: Como se obtém um ?
4: Nível de Rede 4a-38
Endereçamento hierárquico: agregação de rotas
“Envia-me qualquer pacote com o endereço começado por 200.23.16.0/20”
200.23.16.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
200.23.18.0/23Organization 1
ISPs-R-Us “Envia-me qualquer pacote com o endereço começado por 199.31.0.0/16”
200.23.20.0/23Organization 2
...
...
Endereçamento hierárquico permite uma distribuição eficiente daInformação de encaminhamento
4: Nível de Rede 4a-39
Endereçamento hierárquico: rotas mais específicasISPs-R-Us tem rotas mais específicas para cada organização (Organização 1)
“Envia-me qualquer pacote com o endereço começado por 200.23.16.0/20”
200.23.16.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
ISPs-R-Us
200.23.18.0/23Organization 1
“Envia-me qualquer pacote com o endereço começado por 199.31.0.0/16ou 200.23.18.0/23”
200.23.20.0/23Organization 2
...
...
200.23.18.0/23Organization 1
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-41
Enviando um datagrama da origem para o destino
Datagrama IP:
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
miscfields
sourceIP addr
destIP addr data
Datagrama mantém-se inalterado quando viaja da origem para o destino
Campos de endereço com interesse para esta análise
Dest. Net. next router Nhops223.1.1.0/24 1223.1.2.0/24 223.1.1.4 2223.1.3.0/24 223.1.1.4 2
Tabela de Encaminhamento de A
4: Nível de Rede 4a-42
Getting a datagram from source to dest.
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
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
miscfields223.1.1.1223.1.1.3data Dest. Net. next router Nhops
223.1.1.0/24 1223.1.2.0/24 223.1.1.4 2223.1.3.0/24 223.1.1.4 2
4: Nível de Rede 4a-43
Getting a datagram from source to dest.
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
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
miscfields223.1.1.1223.1.2.3 data Dest. Net. next router Nhops
223.1.1.0/24 1223.1.2.0/24 223.1.1.4 2223.1.3.0/24 223.1.1.4 2
4: Nível de Rede 4a-44
Getting a datagram from source to dest.
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
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!)
miscfields223.1.1.1223.1.2.3 data network router Nhops interface
223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9
223.1.3 - 1 223.1.3.27
Dest. next
4: Nível de Rede 4a-45
Formato do datagrama IP32 bitsNº de versão do
Protocolo IPDimensão do
Cabeçalho (bytes)
Nº máximo de hops a visitar
(decrementado emcada router)
parafragmentaçãoreassemblagem
Dimensão total do datagrama(bytes)
Nível superior do protocolo a que
se destina o pacote
“tipo” de dados
E.g. timestamp,Armazena a rota tomada, lista de routers a visitar
ver length
data (variable length,typically a TCP
or UDP segment)
16-bit identifierInternet
checksumtime to
live32 bit source IP address
head.len
type ofservice
flgs fragment offset
upper layer
32 bit destination IP addressOptions (if any)
4: Nível de Rede 4a-46
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çãoin: 1 datagrama grandeout: 3 datagramas pequenos
reassemblagem
4: Nível de Rede 4a-47
ID=x
offset=0
fragflag=0
length=4000
ID=x
offset=0
fragflag=1
length=1500
ID=x
offset=1480
fragflag=1
length=1500
ID=x
offset=2960
fragflag=0
length=1040
Um datagrama grande transforma-se em 3 pequenos
Fragmentação e reassemblagem IP
4: Nível de Rede 4a-48
Fragmentação e reassemblagem IP
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 TCP20 Bytes são para o cabeçalho IP
ver length
16-bit identifier
Internet checksum
time tolive
32 bit source IP address
head.len
type ofservice
flgsfragment
offset
upper layer
32 bit destination IP address
Options (if any)
# porto origem # porto destino
applicationdata
(variable length)
Número sequênciaNúmero acknowledgment
rcvr window sizeptr urgent datachecksum
FSRPAUheadlen
notused
Opções (dimensão variável)
4: Nível de Rede 4a-49
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 Code description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion control - not used)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header