redes de computadores ii -...
TRANSCRIPT
Prof. Celio Trois
portal.redes.ufsm.br/~trois/redes2
Redes de Computadores II
Roteamento Dinâmico
● Os protocolos de roteamento utilizados em redes pertencem a duas categorias: IGP (Interior Gateway Protocol) e EGP (Exterior Gateway Protocol).
● Protocolos IGP (ou IRP) são usados para troca de informações entre roteadores pertencentes a uma mesmo Sistema Autônomo (coleção de redes sob um mesmo domínio administrativo).
● Protocolos EGP (ou ERP) são utilizados para comunicação entre roteadores pertencentes a Sistemas Autônomos diferentes.
Roteamento Dinâmico
● IRPs: RIP, OSPF, IGRP● ERP: BGP
Estrutura da Internet
● Idéia original
Backbone service provider
Large corporation
Smallcorporation “Consumer ” ISP
“Consumer” ISP“ Consumer” ISP
“Consumer ” ISP
Smallcorporation
Smallcorporation
Smallcorporation
Estrutura da Internet
● A internet hoje
Backbone service provider
Peeringpoint
Peeringpoint
Large corporation
Large corporation
Smallcorporation
“Consumer ” ISP
“Consumer” ISP
“ Consumer” ISP
Propagação de Rotas na Internet
● Sistema Autônomo – AS (Autonomous System)● Corresponde à um dominio administrativo● exemplos: Universidades, empresas, provedores de serviço internet● Cada AS possui um número de 16 bits
● Dois níveis hierarquicos de propagação de rotas● interior gateway protocol (cada AS seleciona o seu)● exterior gateway protocol (padrão definido para a Internet)
● Propagação de rotas em vários níveis● Hosts conhecem apenas o roteador local (default gateway)● Roteadores locais conhecem os roteadores do site● Roteadores do site conhecem o roteador central (core router)● Core routers conhecem tudo
BGP - Border Gateway Protocol
● BGP - Border Gateway Protocol● BGP1: RFC 1105● BGP2: RFC 1163● BGP3: RFC 1267● BGP4: RFC 1771
– versão atual, com suporte a CIDR
● Algoritmo ● Path Vector
Características do BGP
● Comunicação entre sistemas autônomos
● Coordenação entre múltiplos roteadores BGP
● Propagação de informações de alcançabilidade
● Utilização do paradigma de next-hop
● Suporte a políticas de alto nível
● Utilização de transporte confiável
● Utilização de informações sobre caminhos (path)
● Atualizações incrementais
● Suporte à CIDR
● Agregação de rotas
● Autenticação
Path Vector
● Similar ao protocolo Distance Vector
● Cada Border Gateway envia em broadcast aos seus vizinhos (peers) o caminho inteiro (seqüência de ASs) até o destino
Path Vector
200.17.1.0/24
B
CD
E
F G
IJ
EGP
SA1
Y
XW
Z
EGP
200.17.1.0/24 via SA3
SA2
SA3
200.17.1.0/24 via SA3, SA2
200.17.1.0/24 via SA3, SA1
200.17.1.0/24 via SA3
Atributos BGP
● Weight (específico da CISCO)● Atributo não divulgado pelos roteadores● Escolhe-se o maior valor
Atributos BGP
● Local Preference● Usado para escolher a rota de saída de um AS● Divulgado pelos roteadores dentro do AS● Escolhe-se o maior valor
Atributos BGP
● Multi-Exit Discriminator (MED)
● É utilizado como uma sugestão para o AS ● Relacionado a rota preferida no AS● Atributo externo, divulgado por outro AS● Escolhe-se o menor valor
Atributos BGP
● Origem● IGP● EGP● Incomplete
● AS-PATH● Lista de sistemas autônomos
● Next Hop● Endereço IP do próximo roteador
Atributos BGP
BGP table version is 1660291, local router ID is 200.10.20.30
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i12.0.48.0/20 198.32.252.254 100 0 11537 10578 1742 i
*>i12.6.208.0/20 198.32.252.254 100 0 11537 10578 1742 i
*>i12.6.252.0/24 198.32.252.254 100 0 11537 10578 14325 ?
*>i12.16.126.192/26 198.32.252.254 100 0 11537 10578 14325 ?
*>i12.144.59.0/24 198.32.252.254 100 0 11537 10466 13778 i
Algoritmo de Escolha de Rota
● O processo de decisão do BGP baseia-se nos valores dos atributos de cada anúncio
● Em sistemas autônomos multihomed - conexão com mais de um AS (mais de um caminho de saída para a Internet)● Ocorrência de múltiplas rotas para a mesma rede● O algoritmo de decisão do BGP toma a decisão da
melhor rota a ser utilizada
● 9 critérios de decisão
Critérios de Decisão
● 1) Se o next hop não for alcançável, a rota é ignorada
● 2) Será preferida a rota que tiver maior valor de Weight, que se trata de um parâmetro proprietário da Cisco, utilizado localmente em um roteador. Caso o equipamento não seja Cisco, este passo do algoritmo não será efetuado
● 3) Caso o parâmetro anterior seja o mesmo, será preferida a rota que tiver o maior valor de Local Preference (LOCAL_PREF)
● 4) Caso o valor de Local Preference seja o mesmo, será preferida a rota com menor AS_PATH
● 5) Caso o AS_PATH tenha o mesmo tamanho, será preferida a rota com menor tipo ORIGIN, ou seja, serão priorizados os anúncios tipo IGP (i), seguido pelos EGP (e) e INCOMPLETE (?)
Critérios de Decisão
● 6) Caso o tipo ORIGIN seja o mesmo, será preferida a rota o atributo MED mais baixo caso as rotas tenham sido aprendidas a partir do mesmo AS.
● 7) Caso as rotas tenham o mesmo valor de MED, será preferida a rota por eBGP a iBGP.
● 8) Se o valor anterior for o mesmo, será preferido o anúncio vindo do roteador conectado via IGP mais próximo deste.
● 9) Se o caminho interno for o mesmo, o atributo BGP ROUTER_ID será o responsável pela decisão (tiebreaker). Neste caso, será preferido o caminho cujo roteador possuir o menor ROUTER_ID
● nas implementações Cisco é definido como IP da interface loopback se esta estiver configurada. No caso do roteador não possuir interface loopback configurada, será escolhido o IP mais alto do roteador
● vale lembrar que para cada fabricante o ROUTER_ID pode ser baseado em outras informações.
Peers BGP
● Inicialmente um roteador BGP deve reconhecer e autenticar o seu peer● Os dois peers estabelecem uma conexão TCP
● Cada peer envia uma informação de alcançabilidade positiva ou negativa● Divulgação das rotas ativas e inativas de cada um
● Troca de mensagens continua para confirmação das rotas e também da conexão entre os roteadores
Peers BGP - externos
AS 100 AS 101
AS 102
AA CC
eBGP TCP/IP
Peer Connection
EE
BB DD220.220.8.0/24 220.220.16.0/24
220.220.32.0/24
Peers BGP - Internos
AS 100 AS 101
AA CC
iBGP TCP/IP
Peer Connection AS 102
EE
BB DD
Peers iBGP não precisam estar diretamente conectados
220.220.8.0/24 220.220.16.0/24
220.220.32.0/24
Peers BGP – Troca de Mensagens
AS 100 AS 101
AA CC
AS 102
DD220.220.8.0/24 220.220.16.0/24
220.220.32.0/24
EE
BB
BGP Update
Messages
Cabeçalho BGP● Marker: (16 bytes)
● Em tipos de mensagem OPEN, todos os bits deste campo são preenchidos com 1´s.
● Se a mensagem não tiver nenhum tipo de autenticação, também deverá ser preenchida com 1´s.
● Se possuir autenticação e assinatura, este campo carregará informações de criptografia.
● Length: (2 bytes)
● Tamanho total da mensagem, incluindo o header.
● Type: (1 byte)
● Representa o tipo de mensagem, que pode ser OPEN, UPDATE, NOTIFICATION ou KEEPALIVE.
Marker
Length Type
0 16 3124
Mensagens BGP
● Mensagens● Open● Update● Keepalive● Notification
Mensagem OPEN
Version
Autonomous System Num
Hold Time
BGP Identifier
Parm Len
Optional Parameters (variable)
0 16 318
Mensagem OPEN
● Version: (1 byte) Versão da mensagem BGP. É negociada a maior versão existente nos peers.
● Autonomous System Num: (2 bytes) Indica o número do AS que enviou a mensagem.
● Hold Timer: (2 bytes) Tempo máximo determinado para o envio das mensagens de KEEPALIVE ou UPDATE.
● Se dentro deste tempo nenhuma mensagem for recebida, a sessão BGP será considerada desativada.
● BGP Identifier: (4 bytes) Carrega a informação de BGP id, também conhecido como Router-id.
● Parameter Length: (1 byte) Indica o tamanho do campo Optional Parameters.
● Optional Parameters: (Variável) Estes parâmetros são representados por tuplas formadas por <Parameter Type, Parameter Length, Parameter Value>.
● Estes dados possuem tamanho de um byte, com exceção do último campo que pode ter tamanho variável. Uma das utilizações deste campo seria nos parâmetros de autenticação nas mensagens tipo OPEN.
Mensagem UPDATE
Withdraw Len
Withdrawn Destinations (variable)
Path Len
Path Attributes (variable)
Destination networks (variable)
0 16 318
Mensagem UPDATE
● Unreachable routes (rotas inalcançáveis)● rotas que devem ser removidas da tabela de
roteamento● termo comum para este tipo de evento é
withdrawn
● Network Layer Reachability Information ● são definidas as rotas que devem ser incluídas na
tabela de roteamento. ● A representação das rotas usando CIDR
Mensagem UPDATE
● Unfeasible routes length: representa o tamanho em bytes total do campo Withdrawn destinations
● Withdraw destinations: redes que devem ser removidas da tabela de rotas● Representa as redes, através de instâncias de
Length e Prefix– Exemplo: <16,143.54.0.0>
● CIDR: 143.54.0.0/16
Mensagem KEEPALIVE
● Responsáveis por manter uma sessão BGP ativa● Conexões ativas entre dois roteadores BGP
● nenhuma mensagem tipo UPDATE para enviar ao outro● envia uma mensagem de KEEPALIVE para manter a conexão
– antes que o Hold Time seja atingido e a conexão seja considerada inativa
– geralmente este tipo de mensagem é enviada ao atingir um terço do tempo de Hold Time
– o tamanho desta mensagem é 19 bytes, sendo formado apenas pelo header bgp básico, sem dados.
Mensagem NOTIFICATION
● Este tipo de mensagem é utilizado na detecção de erros. ● Em geral este tipo de mensagem antecede o encerramento de
uma sessão BGP
● Error Code: (1 byte) Identifica o tipo de notificação.● Error Subcode: (1 byte) Identifica de forma mais específica a
natureza do erro.● Data: (Variável) Apresenta informações relevantes sobre o
erro detectado. ● Alguns exemplos: header incorreto, número de AS inválido, ....
Error Code
Data
0 16 318
E. SubCode Data
Mensagem NOTIFICATION
Error Code Erros Subcode1 – Message header error 1 – Connection Not Synchronized
2 – Bad Message Length3 – Bad Message Type
2 – OPEN message error 1 – Unsupported Version Number2 – Bad Peer AS3 – Bad BGP Identifier 4 – Unsupported Version Number5 – Authentication Failure6 – Unacceptable Hold Timer7 – Unsupported Capability
3 – UPDATE message error 1 – Malformed Attribute List2 – Unrecognized Well-Know Attribute3 – Missing Well-Know Attribute4 – Attribute Flags Error5 – Attribute Length Error6 – Invalid Origin Attribute7 – AS Routing Loop8 – Invalid NEXT_HOP Attribute9 – Optional Attribute Error10 – Invalid Network Field11 – Malformed AS_PATH
4 – Hold Timer expired Não aplicável5 – Finite State Machine error Não aplicável6 – Cease Não aplicável
Configuração BGP em Roteadores Cisco
interface Serial 0ip address 222.222.10.2 255.255.255.252
router bgp 100 network 220.220.8.0 mask 255.255.255.0 neighbor 222.222.10.1 remote-as 101neighbor 222.222.10.1 remote-as 101
interface Serial 0ip address 222.222.10.1 255.255.255.252
router bgp 101 network 220.220.16.0 mask 255.255.255.0 neighbor 222.222.10.2 remote-as 100neighbor 222.222.10.2 remote-as 100
eBGP TCP Connection
222.222.10.0/30
BB CC DDAA
AS 100 AS 101
.2220.220.8.0/24 220.220.16.0/24.2 .1 .2 .1.1
Configuração BGP em Roteadores Cisco
AS 100 AS 101
222.222.10.0/30
.2
interface Serial 1ip address 220.220.16.2 255.255.255.252
router bgp 101 network 220.220.16.0 mask 255.255.255.0 neighbor 220.220.16.1 remote-as 101neighbor 220.220.16.1 remote-as 101
BB
interface Serial 1ip address 222.220.16.1 255.255.255.252
router bgp 101 network 220.220.16.0 mask 255.255.255.0 neighbor 220.220.16.2 remote-as 101neighbor 220.220.16.2 remote-as 101
CC
iBGP TCP Connection
DD220.220.8.0/24 220.220.16.0/24AA .2 .1 .2 .1.1
Configuração BGP em Roteadores Cisco
AS 100215.10.7.1
215.10.7.2
215.10.7.3
AABB
CC
iBGP TCP/IP
Peer Connection
36
iBGP TCP/IP
Peer Connection
Configuração
AS 100
AA
215.10.7.1215.10.7.2
215.10.7.3
CC
BB
interface loopback 0 ip address 215.10.7.1 255.255.255.255
router bgp 100 network 220.220.1.0 neighbor 215.10.7.2 remote-as 100 neighbor 215.10.7.2 update-source loopback0neighbor 215.10.7.2 update-source loopback0 neighbor 215.10.7.3 remote-as 100 neighbor 215.10.7.3 update-source loopback0neighbor 215.10.7.3 update-source loopback0
AA
37
Configuração
AS 100
AA
215.10.7.1215.10.7.2
215.10.7.3
CC
AA
interface loopback 0 ip address 215.10.7.2 255.255.255.255
router bgp 100 network 220.220.5.0 neighbor 215.10.7.1 remote-as 100 neighbor 215.10.7.1 update-source loopback0neighbor 215.10.7.1 update-source loopback0 neighbor 215.10.7.3 remote-as 100 neighbor 215.10.7.3 update-source loopback0neighbor 215.10.7.3 update-source loopback0
BB
iBGP TCP/IP
Peer Connection
38
Configuração
AS 100
AA
215.10.7.1215.10.7.2
215.10.7.3
AABB
interface loopback 0 ip address 215.10.7.3 255.255.255.255
router bgp 100 network 220.220.10.0 neighbor 215.10.7.1 remote-as 100 neighbor 215.10.7.1 update-source loopback0neighbor 215.10.7.1 update-source loopback0 neighbor 215.10.7.2 remote-as 100 neighbor 215.10.7.2 update-source loopback0neighbor 215.10.7.2 update-source loopback0
CC
iBGP TCP/IP
Peer Connection
Redistribuindo rotas de outros protocolos de roteamento
● Tabela completa de roteamento BGPRouter(config)#router bgp 100
Router(config-router)#redistribute ?
connected Rotas conectadas
eigrp EIGRP
ospf OSPF
static Estáticas
Verificando as Configurações
● Tabela completa de roteamento BGP#show ip bgp
● Informações sobre os “vizinhos”#show ip bgp neighbors 10.10.10.1
● Habilitar debug sobre os updates#debug ip bgp updates
Finalmente Prática...
Obs.: Baixar o arquivo A10-BgpSemConf.pkt do siteObs2.: iBGP não é implementado no Packet Tracer
Finalmente Prática...
Definindo o default gateway em roteadores ciscoRouter(config)# ip route 0.0.0.0 0.0.0.0 <endereço do gateway>
Definir o default gateway(saída da AS)
Definir o default gateway(saída da AS)
Definir o default gateway(saída da AS)