Semana08 Roteamento
Semana08 Roteamento
Semana08 Roteamento
Semanas 8&9
Roteamento
Princípios de Roteamento
O que é...
Sistemas Autônomos
Roteamento Interno e Externo
Principais Tipos de Algoritmos
Distance-Vector
Link-State
O Funcionamento da Internet
2
Roteamento
Princípios de Roteamento
Roteamento: Transferir pacotes de um nó fonte a um nó
destino
Rede
fonte destino
ROTEADOR
ROTEADOR
C destino
fonte A
ROTEADOR
D
PC ROTEADOR Y
ROTEADOR destino
Z
6
Princípios de Roteamento
Sistemas Autônomos
Um Sistema Autônomo consiste de uma coleção de
roteadores trocando informação por meio de um
mesmo protocolo de roteamento
Um Sistema Autônomo é uma conjunto de
roteadores e redes sob a gerência de uma única
organização
Ex: Roteadores pertencentes a um provedor de serviços,
corporação ou universidade
Salvo em caso de falha, um Sistema Autônomo pode
ser representado por um grafo conexo
7
Princípios de Roteamento
8
Protocolo de Roteamento Interno
Interior Gateway Protocol
IG IG
ROTEADOR
B
ROTEADOR
ROTEADOR
C destino
fonte A
IG
IG ROTEADOR
D
fonte ROTEADOR X
EG
EG
EG
EG EG
IG IG
Se fonte e destino do datagrama ROTEADOR destino
PC ROTEADOR Y estiverem em SAs distintos, ao Z
menos dois protocolos distintos
serão utilizados 10
Protocolos de Roteamento
11
Roteamento Interno e Externo
3
2 B C
5
A 2 1 F
3
1 2
D E
1
13
Tipos de Algoritmos
Algoritmo Distance-Vector
Determina o melhor caminho para um destino baseando-se na
sua distância, isto é, no menor número de roteadores (hops)
para se chegar ao destino
Ex.: RIP (Routing Information Protocol)
Algoritmo Link-State
Determina o melhor caminho para um destino baseando-se em
um valor que é atribuído a cada link de comunicação de cada
rota
Este valor pode representar atraso, velocidade da linha, ou
qualquer coisa que o administrador da rede queira usar
Ex.: OSPF (Open Shortest Path First)
14
Algoritmo Distance-Vector
Inicialmente, cada roteador possui uma tabela (ou vetor)
contendo uma entrada para cada sub-rede à qual ele está
conectado
Periodicamente, cada roteador envia uma cópia de sua
tabela para todos os roteadores conectados diretamente
a ele
Nenhum roteador tem conhecimento dos custos de todas
as conexões da rede
O cálculo do custo do melhor caminho se faz de forma iterativa, de
modo distribuído, sem a necessidade de informação global
Algoritmos do tipo Distance-Vector (DV) são conhecidos
como Algoritmos de Roteamento Descentralizado
15
Exemplos de Tabela de Roteamento
Dx(y) = min(c(x,y) + Dy(y), c(x,z) + Dz(y)) Dx(z) = min(c(x,y) + Dy(z), c(x,z) + Dz(z))
= min(2 + 0, 7 + 1) = 2 = min(2 + 1, 7 + 0) = 3
X x y z x y z x y z
x 0 2 7 x 0 2 3 x 0 2 3
y y 2 0 1 y 2 0 1
Y
1 z z 7 1 0 z 3 1 0
2
Y x y z x y z x y z
X Z x x 0 2 7 x 0 2 3
7
y 2 0 1 y 2 0 1 y 2 0 1
Condição inicial z z 7 1 0 z 3 1 0
em t = 0 x y z x y z x y z
Z
x x 0 2 7 x 0 2 3
y y 2 0 1 y 2 0 1
z 7 1 0 z 3 1 0 z 3 1 0
Embora este exemplo didático passe a
ideia de que o algoritmo faz iterações de t=0 t=1 t=2
forma sincronizada, na prática, as
atualizações ocorrem de forma assíncrona Quando o nó Z recebe as tabelas de X e Y, o algoritmo descobre
que o caminho Z->Y->X = 3 é melhor que o caminho Z->X = 7 16
Roteamento Usando Distance-Vector
17
Roteamento Usando Distance-Vector
18
Roteamento Usando Distance-Vector
19
Roteamento Usando Distance-Vector
Vantagens
Algoritmo simples e fácil de implementar
Exige menos CPU
Desvantagens
Tráfego pode ser alto em redes grandes
Convergência lenta
Difícil detectar roteadores com problemas
20
Roteamento Usando Link-State
21
Roteamento Usando Link-State
Vantagens
Cálculo das rotas é realizado localmente, não
dependendo de máquinas intermediárias
Tamanho das mensagens não depende do número de
sub-redes e sim do número de roteadores
diretamente conectados ao roteador emissor
Fica mais fácil detectar roteadores defeituosos
Convergência é muito mais rápida
22
Roteamento Usando Link-State
Desvantagens
Exige bastante CPU e memória
23
Roteamento Usando Link-State
24
Algoritmo SPF
6 2
A B C 5
2 1 2 G
D E F 1
2 4
A B C D E F G
A 6 2
B 6 2 1
C 2 2 5
D 2 2
E 1 2 4
F 2 4 1
G 5 1
25
6 2
A B C 5
Algoritmo SPF 2 1 2 G
D E F 1
2 4
Cálculo de Dijkstra para o nó C
1 Coloca C no caminho 2 Coloca F no caminho 3 Coloca B no caminho
Examina os seus links Examina os seus links Examina os seus links
Existe um caminho Existe um caminho
melhor para G melhor para E
0 0 0
C C C
2
B F 2 2
2 B F
B F
G G
2 2 5
5
G E G E
A E
3 6 3 6
8 3
O número ao lado dos nós representa o custo total desde C até aquele nó
26
6 2
A B C 5
Algoritmo SPF 2 1 2 G
D E F 1
2 4
4 Coloca E no caminho 5 Coloca G no caminho
Examina os seus links Examina os seus links
0 0
C C
2 B F 2 2 B F 2
A E A E
G G
8 3 8 3
3 3
D D
5 5
O número ao lado dos nós representa o custo total desde C até aquele nó
27
6 2
A B C 5
Algoritmo SPF 2 1 2 G
D E F 1
2 4
6 Coloca D no caminho 7 Coloca A no caminho
Examina os seus links Examina o link state de A
Existe um caminho melhor para A Termina
0 0
C C
2 B F 2 2 B F 2
A E E G
G
8 3 3
3 3
D D
5 5
7 A 7 A
O número ao lado dos nós representa o custo total desde C até aquele nó
28
Roteamento na Internet
29
Routing Information Protocol (RIP)
Características
Roteamento Distance-Vector
Projetado para redes locais (Ethernet e wireless
LAN), isto é, redes dotadas de broadcast channels
Quando um nó faz uma transmissão, todos os outros nós
recebem uma cópia
Faz broadcast periódico da sua tabela de roteamento
aos seus vizinhos (que compartilham a mesma rede)
Pode ser também usados para WAN
Envia e recebe mensagens para/de outros roteadores,
usando UDP (User Datagram Protocol), através do
porto número 520
30
Routing Information Protocol (RIP)
Operação Básica
Broadcast (feita pelo roteador) da Tabela de
Roteamento a cada 30s, ou quando for atualizada
Mensagens de resposta ao broadcast: contêm os
prefixos de até 25 sub-redes dentro do Sistema
Autônomo, assim como a distância desse emissor a
cada uma dessas sub-redes
Métrica: Distância número de hops (roteadores)
da melhor rota entre o roteador e a sub-rede
Oscilação entre 2 caminhos: tabela é atualizada
somente se a nova rota possuir distância menor que a
atual
31
Open Shortest Path First (OSPF)
Significa que a especificação do protocolo é pública
Características
Roteamento Link-State
Projetado para grandes redes IP, mas que ainda
estejam dentro de um Sistema Autônomo
Todos roteadores possuem a mesma base de dados (a
mesma topologia, ou seja, um grafo)
Cada roteador pode rodar localmente o algoritmo de Dijkstra
Estrutura de dados – informações sobre interfaces
dos roteadores + estado dos links com os vizinhos –
LSA (Link-State Advertisement)
Distribuição: Flooding (o nó de origem envia uma cópia
do pacote a todos seus vizinhos, e cada vizinho
reproduz a mesma operação) 32
Open Shortest Path First (OSPF)
Características
Melhor convergência que RIP
Permite definição lógica de redes
Fornece mecanismo de agregação de rotas
Autenticação de rotas
Não possui limitação na contagem de hops (nós)
Atualização: quando ocorre alterações ou a cada 30 min.
Usa multicast para enviar atualizações
As atualizações poder ser enviadas a muitos nós seletivamente
escolhidos
Métrica: custo que representa o trabalho exigido para
enviar um pacote através da interface
33
Border Gateway Protocol (BGP)
Protocolo (extremamente complexo) de roteamento
entre Sistemas Autônomos
Permite aos SAs trocar informações sobre rotas entre
gateways (roteadores na entrada/saída de um SA)
Cada SA possui um número (ASN – autonomous system number)
Técnica: Path-Vector Routing
O protocolo opera com mensagens trocadas entre pares de
roteadores, transmitindo informações sobre as redes que
podem ser alcançadas através dos gateways e os SAs que
devem ser atravessados através dos roteadores internos
Definição de políticas de roteamento (para evitar que um
determinado caminho seja percorrido)
34
O Funcionamento da
Internet
Perguntas
36
Acesso à Internet
Internet
37
Espinha Dorsal e Rede de Acesso
38
Pergunta Crucial
O que há no
interior
da Internet?
39
Roteamento Inter-domínios
Intermediate-System to
Open Shortest Path First Intermediate-System
(link-state protocol) (link-state protocol)
Interior Gateway
BGP-4 Routing Protocol
BGP-4
BGP-4
BGP-3 OSPF
BGP-4
C:\>tracert www.ufabc.edu.br
Rastreando a rota para www.ufabc.edu.br [200.133.215.102] com no máximo 30 saltos:
1 1 ms <1 ms 1 ms 192.168.0.1
2 * * * Esgotado o tempo limite do pedido.
3 8 ms 8 ms 8 ms 201-0-91-41.dsl.telesp.net.br [201.0.91.41]
4 12 ms 9 ms 9 ms 200-100-1-69.dsl.telesp.net.br [200.100.1.69]
5 30 ms 10 ms 12 ms 187-11-163-238.dsl.telesp.net.br [187.11.163.238]
6 122 ms 239 ms 12 ms 200-153-5-230.customer.tdatabrasil.net.br [200.153.5.230]
7 231 ms 32 ms 12 ms rnp.ptt.ansp.br [200.136.34.2]
8 153 ms 10 ms 10 ms s2-sp.bkb.rnp.br [200.143.252.189]
9 187 ms 15 ms 11 ms router2.pop-sp.rnp.br [200.133.192.254]
10 14 ms 13 ms 13 ms 200.133.255.46
11 47 ms 12 ms 12 ms www.ufabc.edu.br [200.133.215.102] Destino
Rastreamento concluído.
N: número do roteador entre a fonte e o destino
Atraso entre o emissor e este roteador
Nome do roteador Endereço do roteador
42
Traceroute: ufabc.edu.br -> telesp.net.br
43
Traceroute: ufabc.edu.br -> google.com
44
Traceroute.org
45
Traceroute SWITCH (Suiça)
Este site oferece serviços de internet utilizando uma
rede entre as universidades suíças e as de outros países
46
VisualRoute (rotas alternativas)
A B C D E F
C:\Users\Sony>tracert servicios.telmexla.net.co
Rastreando a rota para trinity.telmexla.net.co [200.14.205.11] com no máximo 30 saltos:
1 2 ms 1 ms 1 ms 192.168.0.1
2 * * * Esgotado o tempo limite do pedido.
3 9 ms 9 ms 8 ms 201-0-91-77.dsl.telesp.net.br [201.0.91.77]
4 10 ms 11 ms 9 ms 200-100-1-77.dsl.telesp.net.br [200.100.1.77]
5 9 ms 9 ms 10 ms 201-63-253-126.customer.tdatabrasil.net.br [201.63.253.126]
6 13 ms 12 ms 42 ms Xe7-2-0-0-grtsanem2.red.telefonica-wholesale.net [84.16.10.233]
7 120 ms 126 ms 125 ms Xe3-3-0-0-grtmiabr6.red.telefonica-wholesale.net [84.16.15.38]
8 118 ms 121 ms 117 ms Xe1-2-0-0-grtmiabr4.red.telefonica-wholesale.net [84.16.14.13]
9 119 ms 119 ms 119 ms So7-0-2-0-grtmiana3.red.telefonica-wholesale.net [213.140.37.77]
10 138 ms 128 ms 122 ms if-2-8.icore1.MLN-Miami.as6453.net [66.110.9.81]
11 148 ms 161 ms 146 ms ix-6-0.icore1.MLN-Miami.as6453.net [66.110.9.22]
12 191 ms 185 ms 187 ms customer-201-125-224-185.uninet.net.mx [201.125.24.185]
13 194 ms 198 ms 194 ms customer-201-125-242-37.uninet.net.mx [201.125.242.37]
14 201 ms 205 ms 202 ms 200.26.135.82
15 204 ms 205 ms 205 ms 190.144.130.46
16 206 ms 206 ms 206 ms 200.74.129.242
17 202 ms 210 ms 201 ms quino.telmexla.net.co [200.14.205.11]
Rastreamento concluído.
50
Brasil para Colômbia
51
Modelos de Interconexão
O sistema de tarifação na internet é inspirado no
serviço de telefonia para divisão de custos
Mas não há a mesma estrutura regulatória
Ligação Direta (Direct Circuit)
Envolve o aluguel de um circuito dedicado ponto a ponto entre
as partes interessadas
Número de circuitos cresce linearmente
Trânsito
http://en.wikipedia.org/wiki/Internet_peering_point
Relacionamento entre ISPs em que um deles provê
(vende) acesso a todos os destinos na sua tabela de roteamento
Envolve o pagamento da conexão (circuito ou exchange) e do
acesso à Internet
ISPs nacionais não usam trânsito entre si. Assumem certa
simetria no tráfego
Parceria (Peering)
Relacionamento em que os ISPs proveem acesso aos clientes
mutuamente
Não há pagamento entre os ISPs
Não inclui toda a tabela de roteamento
É difícil conseguir peering com grandes provedores 55
Diferentes Níveis da Internet
Ponto de Presença
(Point of Presence)
http://en.wikipedia.org/wiki/Tier_1_network
56
Trânsito
O provedor Upstream (nível hierárquico
superior) vende “Serviço de Trânsito”
oferecendo acesso a toda a Internet
Transit $$$
EastNet
Upstream
Upstream
Upstream
Transit
Transit
Transit
Provider(s)
Provider(s)
Provider(s)
Upstream sells “Transit Services”
by announcing reachability
to the Entire Internet*
*The upstream ISP will either done announce a full routing table or,
more commonly, announce a single “default” route for all destination
http://cseweb.ucsd.edu/classes/fa01/cse222/papers/norton-peering-wp01.pdf
57
Peering
Peering
Peering
Um SA classe 1
costuma apresentar
conectividade de
Um grande SA às vezes saída (out-degree)
tem até 8 rotas superior a 79, já um
alternativas para outro SA classe 4, menos que 7
59
Estruturas de pagamento
Distribuição dos custos entre provedores
Sistema de telefonia: acordos bilaterais
Operadora local cobra a chamada inteira do cliente
Cada operadora então cobra da sua vizinha, até a
operadora de destino da chamada
Internet
Cliente/provedor: baseado em taxas de trânsito, que
valem somente em um sentido
SKA (Sender Keeps All): cada transmissor mantém
para si a tarifa cobrada e não remunera o receptor
(modelo de peering)
60
Remuneração Parcial SA classe Tier 1
Trânsito Trânsito
Inter.Net Telemar
Cliente /
SprintLink
Cliente /
provedor provedor
(USA)
Trecho remunerado
Peering SKA
Trânsito Trânsito
UBA
Cliente /
Techtel
Cliente /
UUNET
provedor provedor
(USA)
62
Atividade para Entregar
Construa um grafo a partir do mapa do backbone da
RNP (http://www.rnp.br/backbone)
A partir de dentro da rede da UFABC, faça traceroute
(tracert no Windows) para todos os PoPs da RNP
PoP – Point of Presence: ponto de acesso à internet
Por exemplo, para ver o caminho até o PoP do Espírito Santo,
faça um traceroute até a Universidade Federal do Espírito
Santo (UFES)
Complete o grafo do backbone da RNP com informações
de roteadores encontrados
Repare que em um mesmo PoP pode haver mais do que um
roteador
Faça comentários a respeito da experiência
Descobriu algo interessante?
63
Bibliografia Recomendada
1. Huitema, C., Routing in the Internet, Prentice Hall, 2nd edition,
2000.
2. Huston, G., Interconnection, Peering, and Settlements,
Internet Society Conference 99 (INET99), June 1999.
3. Kurose, Jame F. e Ross, Keith W. Computer Networking – A
Top-Down Approach Featuring the Internet. 3th. edition,
Addison-Wesley Ed.,2005.
4. Norton, W. B., Internet Service Providers and Peering,
personal draft v2.7, November 2002.
5. Stallings, W., Data & Computer Communications, 6th edition,
Prentice Hall, 2000.
64