Encaminhamento Inter-AS Protocolo BGP. Redes de Comunicação de Dados



Documentos relacionados
Arquitectura de Redes

Sumário. Protocolos em Redes de Dados- Aula 06 -BGP: Introdução p.4. BGP: ilustração. BGP: Border Gateway Protocol

CURSO AVANÇADO DE BGP DESIGN COM ROTEADORES CISCO

Redes de Computadores II

Protocolos de Encaminhamento Protocolo BGP. Secção de Redes de Comunicação de Dados

Curso de extensão em Administração de Redes

Professor Guerra Faculdades Santa Cruz.

Redes de Computadores 3ª Colecção Exercícios diversos 16 de Dezembro de 2005 Spanning Tree, Protocolo IP, Encaminhamento em redes IP e Cam.

Packet Tracer 4.0: Overview Session. Conceitos e práticas

Roteamento na Internet

Comunicação de Dados

Prof. Samuel Henrique Bucke Brito

Redes de Computadores. Aula: Border Gateway Protocol - BGP Professor: Jefferson Silva

Roteamento no PTT. PRIX - PTT-Metro de Curitiba/PR. GTER-23 - Belo Horizonte - 29 de Junho 2007

Consulte a exposição. Qual declaração descreve corretamente como R1 irá determinar o melhor caminho para R2?

Encaminhamento exterior BGP-4

Redes de Computadores (RCOMP 2014/2015)

Visão geral sobre encaminhamento

7.1 AS DE TRÂNSITO NO PTT. autor: Rinaldo Vaz 1

Administração de Redes 2014/15. Encaminhamento estático Princípios do encaminhamento dinâmico

Projeto de pesquisa apresentado para Universidade Mogi das Cruzes Prof. Orientador: xxxxxxxxxxxxxxxxx.

REDES MPLS BGP PROFESSOR: MARCOS A. A. GONDIM

Redes de Computadores

Protocolos em Redes de Dados Ficha de Laboratório Número 4 BGP

Encaminhamento IP. Entrega Directa e Indirecta de Datagramas Tabela de Encaminhamento

Redes de Computadores II

OSPF - Open Shortest Path First. Redes de Comunicação de Dados

CONFIGURAÇÃO DE ROTEADORES CISCO. Prof. Dr. Kelvin Lopes Dias Msc. Eng. Diego dos Passos Silva

Redes de Computadores

A camada de rede. A camada de rede. A camada de rede. 4.1 Introdução. 4.2 O que há dentro de um roteador

Redes de Computadores I Conceitos Básicos

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Sumário. Protocolos em Redes de Dados- Aula 05 -OSPF, IS-IS, IGRP e EIGRP p.4. Sub-redes to tipo NBMA NBMA

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Tabela de roteamento

Capítulo 10 - Conceitos Básicos de Roteamento e de Sub-redes. Associação dos Instrutores NetAcademy - Julho de Página

BC-0506: Comunicação e Redes Aula 04: Roteamento

Redes de Computadores

Formação para Sistemas Autônomos. Introdução ao BGP. Formação para Sistemas Autônomos

Arquitetura TCP/IP. Parte III Endereçamento IP e roteamento. Fabrízzio Alphonsus A. M. N. Soares

unesp UNIVERSIDADE ESTADUAL PAULISTA

BGP, OSPF, MPLS, VPNL2, IPV6????

Aula 20. Roteamento em Redes de Dados. Eytan Modiano MIT

Formação IPv6 Maputo Moçambique 26 Agosto 29 Agosto 08

Arquitetura de Rede de Computadores

Redes de Computadores Grupo de Redes de Computadores

Formação para Sistemas Autônomos. Boas Práticas BGP. Formação para Sistemas Autônomos

Relatório do 2º Guião Laboratorial de Avaliação: Encaminhamento de pacotes. Licenciatura: ETI Turma : ETC1 Grupo : rd2_t3_02 Data: 30/10/2009

Formação IPv6 Maputo Moçambique 26 Agosto 29 Agosto 08

Protocolos em Redes de Dados. Enquadramento histórico. Modo de funcionamento FEC. Antecedentes IP Switching Tag Switching. Exemplo de.

Aula 08 MPLS FCUL. Protocolos em Redes de Dados. Luís Rodrigues. Enquadramento. Modo de funcionamento. Antecedentes MPLS.

ENHANCED SERVER FAULT- TOLERANCE FOR IMPROVED USER EXPERIENCE. André Esteves nº3412 David Monteiro

Curso BCOP. Introdução ao BGP

Política de Roteamento BGP. Diretoria Adjunta de Engenharia e Operações

Arquitectura de Redes

Assumiu em 2002 um novo desafio profissional como empreendedor e Presidente do Teleco.

Protocolo OSPF. O p e n S h o r t e s t P at h F i r s t. E s pec i a li s ta

Redes de Computadores. Trabalho de Laboratório Nº7

Protocolo de roteamento EIGRP. kraemer

Protocolos de Roteamento t Dinâmico i I RIP

Multiprotocol Label Switching. Protocolos em Redes de Dados- Aula 08 -MPLS p.4. Motivação: desempenho. Enquadramento histórico

A camada de rede do modelo OSI

CST em Redes de Computadores

Sumário. Protocolos em Redes de Dados- Aula 12 -MOSPFDifuso Inter-Domnio (MSDP, MBGP e BGMP) p.4. Optimização na procura por difusão MOSPF

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

Introdução Introduç ão Rede Rede TCP/IP Roteame Rotea nto nto CIDR

Trabalho de TCP/IP Avançado

** Distance Vector - Trabalha com a métrica de Salto(HOP),. O protocolo que implementa o Distance Vector é o RIP.!

Parte V Roteamento Unicast na Internet Roteamento Inter-Domínio

Redes de Computadores

ASIST. Orlando Sousa. Aula 4. Subnetting, VLSM Encaminhamento interno dinâmico: RIP v2

Tecnologia de Redes de Computadores - aula 5

DIAGRAMA DE REDE. OSPFv3

TUDO SOBRE ENDEREÇOS IP

Redes de Alto Desempenho

Aula 21: Roteamento em Redes de Dados

7.4 Encaminhamento IP

3 Interligação de redes (Camada de rede)

DESCRIÇÃO DAS CARACTERÍSTICAS E FUNÇÕES DO PROTOCOLO BGPv4

Handson Policy Based Routing

Proposta. Atribuição de endereços IPv6 na UTL

Nome do estudante:...

Módulo 10 Fundamentos de Routing e de Sub-redes

Roteamento Estático (2)

Vítor Vaz da Silva F-1

BGP v4 Tutorial 17º GTER

FICHA INFORMATIVA E DE TRABALHO MÓDULO REDE LOCAL INSTALAÇÃO

PTTMetro. Frederico Neves Milton Kaoru Kashiwakura

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

Application Notes: BGP. Treinamento sobre o protocolo de roteamento L3 BGP

Protocolo OSPF UNIP. Renê Furtado Felix.

Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares

também conhecido como Interior Gateway Protocols (IGP) protocolos de roteamento intra-as mais comuns:

Transcrição:

Encaminhamento Inter-AS Protocolo BGP Redes de Comunicação de Dados

Encaminhamento Inter-AS Introdução Border Gateway Protocol Mensagens BGP Atributos de Rotas Cenário prático: BGP Exemplos práticos BGP 01.12.14 ISEL-DEETC-SRCD 2

Interligações de Inter-AS Routers fronteira interligam os AS (Sistemas Autónomos), anunciam uma ou mais rotas para as suas redes internas e aprendem rotas para redes externas Um AS pode ser de trânsito, stub e multihomed 01.12.14 ISEL-DEETC-SRCD 3

Endereçamento e identificação de AS Um AS é identificado por um número (ASN): 16 bits (há já em testes na Internet ASN a 32bit) Atribuídos por registrars Números privados: 64512 a 65535 Apenas os AS não stub necessitam de um número AS Classless and Subnet Address Extensions (CIDR) 01.12.14 ISEL-DEETC-SRCD 4

Sistema Autónomo Conjunto de blocos CIDR agregados Mantêm uma única e consistente política de encaminhamento, Por exemplo, pode não permitir que tráfego exterior faça trânsito (atravesse) pelo AS Pode coincidir com um domínio, mas um domínio pode ser constituído por vários AS Normalmente, operam sob a mesma administração técnica Um ou mais routers fronteira, usa um protocolo IGP para interligar todas as redes internas ao AS 01.12.14 ISEL-DEETC-SRCD 5

Quais são as tarefas de um router Inter-AS? Recebe e filtra anúncios de rotas de routers vizinhos directamente ligados Selecciona a melhor rota Para alcançar o destino X, quais dos caminhos (dos vários anunciados) deve ser escolhido? As políticas de encaminhamento influenciam a decisão Envia anúncios de rotas aos routers vizinhos 01.12.14 ISEL-DEETC-SRCD 6

Encaminhamento Inter-AS: BGP O protocolo BGP é o protocolo mais utilizado (único) para encaminhamento entre AS na Internet, BGPv4 é a versão mais utilizada, definida no RFC1771 (obsoleta) e RFC4271 O protocolo BGP tem as seguintes características: Suporta CIDR (Classless InterDomain Routing), transporte de rotas IPv6 e IP Multicast Permite a agregação de rotas de forma a reduzir informação de encaminhamento Não impõe quaisquer restrições à topologia da rede Assume que o encaminhamento dentro de cada AS não é da sua responsabilidade Permite interligar os AS internamente com diferentes protocolos IGP p.e. um AS com OSPF e outro com RIP 01.12.14 ISEL-DEETC-SRCD 7

Encaminhamento Inter-AS Introdução Border Gateway Protocol Mensagens BGP Atributos de Rotas Cenário prático: BGP Exemplos práticos BGP 01.12.14 ISEL-DEETC-SRCD 8

Encaminhamento Inter-AS: BGPv4 BGP é um protocolo do tipo path-vector No BGP são anunciados caminhos completos, uma lista de AS Exemplo de anúncio de caminho: A rede 171.64/16 pode ser alcançada através do caminho {AS1, AS5, AS13} Ciclos nos caminhos são detectados localmente e ignorados Políticas locais escolhem o caminho preferido entre várias opções Quando uma ligação/router falha, o caminho é retirado (withdraw) 01.12.14 ISEL-DEETC-SRCD 9

Encaminhamento Path-Vector no BGP (1) Cada AS mantém uma tabela dos melhores caminhos conhecidos A tabela é actualizada usando regras locais => políticas As características técnicas das ligações não são consideradas Quebras de ligações podem causar problemas de conectividade Sofre de problemas de lentidão de convergência idênticos aos dos protocolos vector-distance (ex. RIP) 01.12.14 ISEL-DEETC-SRCD 10

Encaminhamento Path-Vector no BGP (2) Um anúncio de B para E para um dado destino (p.e. n1), permite ao E encaminhar pacotes via B para todas as redes desse destino (n1 e n2) 01.12.14 ISEL-DEETC-SRCD 11

ibgp vs. ebgp Sessões BGP são estabelecidas entre peers BGP Speakers: routers capazes de falar BGP Dois tipos de sessões de peering: ebgp (externo) peers de AS diferentes: Para distribuir rotas entre routers de AS distintos ibgp (interno) peers dentro do mesmo AS: Para distribuir rotas (exteriores) dentro do AS BGP IBGP EBGP ISEL AS 100 IGP EGP IGP FCCN AS 200 EGP - Exterior Gateway Protocol IGP - Interior Gateway Protocol 01.12.14 ISEL-DEETC-SRCD 15

ibgp Utiliza-se entre routers que pertençam ao mesmo AS de forma a distribuir rotas exteriores Tipicamente é implementado com todos os peers interligados entre si (full mesh) A análise do caminho (AS_PATH) não permite eliminar ciclos internos Um router BGP não encaminha via ibgp rotas aprendidas através de outros peers ibgp O facto de usar full-mesh adiciona sobrecarga de processamento Dois métodos para minimizar a quantidade de ligações: Reflexão: um peer ibgp anuncia uma rota aprendida via ibgp para outro peer ibgp, novos atributos foram criados para evitar ciclos Confederações: Divide um AS em vários sub-as, podem utilizar número de AS privados ibgp e é realizado full-mesh dentro dos sub-as 01.12.14 ISEL-DEETC-SRCD 16

ibgp Full-mesh: Reflexão (relações a verde): 01.12.14 ISEL-DEETC-SRCD 17

Conceitos BGP Sessão BGP Ligação TCP entre dois peers BGP. O estado da ligação é monitorizado regularmente ( keepalive ) Router fronteira router com ligação a um ou mais AS Tráfego local tráfego com origem ou terminação no AS em causa Tráfego de trânsito tráfego que não se inicia ou termina no AS em causa, i.e. atravessa o AS Percurso AS (AS Path) lista de todos os números de AS atravessados por uma rota no contexto de troca de informação de encaminhamento Anuncio O BGP anuncia aos seus vizinhos todos os caminhos (rotas) para se alcançar um determinado destino 01.12.14 ISEL-DEETC-SRCD 18

Relações entre AS Fornecedor (FCCN fornece acesso à Internet ao ISEL) Anunciar todas as rotas aprendidas através de outros AS Cliente (IPL é cliente de Internet da FCCN, IPL paga à FCCN) Anunciar todas as rotas que estão sobre o seu domínio (redes do AS) Importa todas as rotas (ver mais à frente que por vezes não é necessário) Peers (PT, Novis e FCCN são peers, o custo da ligação é partilhado): Peering é uma relação entre ISP (ISP1 e ISP2) recíproca que fornece conectividade a cada cliente de ambos os ISP (C1 e C2) Anunciar apenas rotas de todos os clientes de ISP1 Importar apenas rotas dos clientes do ISP2 Estas rotas são definidas de comum acordo 01.12.14 ISEL-DEETC-SRCD 19

Exemplo de políticas de encaminhamento 10 100 200 Provider Peer Customer Peer 1 11 12 13 2 3 4 Regras de encaminhamento: Fornecedor aceita tudo Faz peer apenas se for para os seus clientes Propriedades dos caminhos: Cima depois baixo Sem cima-baixo-cima, No máximo 1 passo de peer-peer 01.12.14 ISEL-DEETC-SRCD 20

Anuncios de rotas: Políticas de encaminhamento Conjunto de regras que restringem o encaminhamento de forma a cumprir regras do administrador do AS São configuradas nos routers, restringindo ou permitindo anúncios de rotas ou fazendo a edição de caminhos Exemplo 1: Um AS multihomed pode recusar a passagem de tráfego de trânsito facilmente, bastando não anunciar quaisquer rotas que não as suas Exemplo 2: Um AS multihomed pode permitir a passagem de tráfego de trânsito entre dois AS, bastando anunciar selectivamente algumas rotas dos dois AS 01.12.14 ISEL-DEETC-SRCD 21

Anuncios de rotas: Agregação BGP Agregação é uma forma de reduzir o número de rotas Os AS de trânsito têm de conhecer todas as rotas da Internet ( > 170k) Tabelas de encaminhamento gigantes e anúncios BGP muito grandes Exemplo sem agregação: AS1 AS2 197.8.2.0/24 197.8.3.0/24 AS3 197.8.2.0/23 197.8.2.0/24 197.8.3.0/24 AS4 197.8.2.0/23 197.8.2.0/24 197.8.3.0/24 197.8.3.0/24 01.12.14 ISEL-DEETC-SRCD 22

Anuncios de rotas: Agregação BGP Agregação de rotas deve ser efectuada sempre que possível: Quando os prefixos agregados têm o mesmo caminho antes do ponto de agregação Ou mesmo quando os prefixos agregados têm caminhos de comprimento igual (AS3) Um AS pode decidir: Agregar rotas apenas quando as exportar Mas manter diferentes entradas no seu domínio por exemplo AS4 manter duas formas de chegar a n2 AS1 AS2 197.8.2.0/24 197.8.3.0/24 AS3 197.8.2.0/23 197.8.2.0/23 AS4 n4 n2= 197.8.3.0/24 01.12.14 ISEL-DEETC-SRCD 23

Funcionamento do BGP Um router BGP recebe anúncios de rotas e atributos (propriedades das rotas) dos seus routers BGP vizinhos Um mecanismo de políticas de entrada para filtrar os anúncios de rotas recebidos e manipular os seus atributos Um processo de decisão que escolhe as rotas a usar As rotas escolhidas pelo processo de decisão vão para uma base de dados e para a tabela de encaminhamento do router em questão. Um mecanismo de políticas de saída para filtrar as rotas a anunciar (contidas na base de dados) e os seus atributos 01.12.14 ISEL-DEETC-SRCD 24

Processamento das rotas BGP em cada router updates in updates out Import Policy Adj-RIB-in Adj-RIB-in Decision Process: one best route / destination Loc-RIB Export Policy Adj-RIB-out Adj-RIB-out Write forwarding entries IGP + Static routes Routing Table 01.12.14 ISEL-DEETC-SRCD 25

Rotas, RIB e tabela de encaminhamento Os campos enviados nas mensagens BGP são chamados de rotas. As rotas mais os seus atributos são guardadas em: Adj-RIB-In: Contém informação de encaminhamento não processada que foi anunciada ao router local pelos seus peers. Adj-RIB-Out: Contém informação das rotas a serem anunciadas a peers especificos através de mensagens UPDATE Loc-RIB: Contém as rotas que foram seleccionadas pelo processo de decisão do router local. Um router BGP também tem uma tabela de encaminhamento IP Usada para o encaminhamento de pacotes em tempo real Atenção que esta tabela não é o mesmo que as RIB 01.12.14 ISEL-DEETC-SRCD 26

Rotas e atributos Uma rota BGP é constituída por: Destino (rede + máscara = prefixo) Atributos: ORIGIN NEXT-HOP LOCAL-PREF MULTI-EXIT-DISC (MED) ATOMIC-AGGREGATE (rota não pode ser desagregada) AS-PATH (caminho para o destino) AGGREGATOR (quem agregou a rota) WEIGHT Informa que consegue alcançar e não como encaminhar Diferente dos protocolos de encaminhamento intra-as 01.12.14 ISEL-DEETC-SRCD 27

De que forma as tabelas de encaminhamento são obtidas? De que forma todos os routers do seu AS podem conhecer as rotas obtidas por ebgp? Redistribuição: Rotas aprendidas por BGP são passadas ao IGP (e.g. OSPF) Exemplo: O OSPF propaga estas rotas como LSA do tipo 5 a todos os routers a correr OSPF Não muito usado na prática (overhead nos routers internos do AS) Injecção: Todos os routers correm ibgp além do protocolo IGP (com poucas rotas) Rotas aprendidas pelo BGP são reescritas na tabela de encaminhamento dos routers Recursive table lookup é efectuado em todos os routers Usa-se confederação e reflexão para minimizar o número de ligações 01.12.14 ISEL-DEETC-SRCD 28

Processo de decisão de rotas Aplica o processo de decisão e guarda os resultados em Loc-RIB (global ao BGP speaker) Decide que rotas deve aceitar entre todas as presentes nos diferentes Adj-RIB-in Para cada prefixo de rede, é seleccionada uma rota Nos envios aos vizinhos Decide se deve enviá-las ou não ( política de export ) Agrega múltiplas rotas numa só, se aplicável Guarda resultado em Adj-RIB-out (um por BGP peer) e envia ao vizinho Apenas rotas aprendidas por ebgp são enviadas a um vizinho ibgp Envia updates quando Adj-RIB-out é alterada Escreve as entradas na tabela de encaminhamento, ou directamente ou por redistribuição no IGP 01.12.14 ISEL-DEETC-SRCD 29

Algoritmo de decisão do BGP (routers Cisco) Regras para o cálculo do melhor caminho (lista por ordem de importância): 1. Prefere o caminho com o maior peso (atributo weight) 2. Prefere o caminho com a maior preferência local (atributo local preference) 3. Prefere o caminho que foi originado pelo BGP a correr no router local 4. Prefere o caminho mais curto (atributo AS_path mais curto) 5. Prefere o caminho com a origem mais baixa (atributo origin, em que IGP < EGP < incomplete) 6. Prefere o caminho com o atributo MED mais baixo 7. Prefere o caminho externo (ebgp) em detrimento do caminho interno (ibgp) 8. Prefere o caminho com a métrica IGP mais baixa para o next-hop do BGP 9. Prefere a rota que é recebida do router BGP com o router ID mais baixo 10. Prefere a rota que é recebida do endereço IP mais baixo Ver: http://www.cisco.com/en/us/tech/tk365/technologies_tech_note09186a0080094431.shtml 01.12.14 ISEL-DEETC-SRCD 30

Encaminhamento Inter-AS Introdução Border Gateway Protocol Mensagens BGP Atributos de Rotas Cenário prático: BGP Exemplos práticos BGP 01.12.14 ISEL-DEETC-SRCD 31

Mensagens BGP As mensagens BGP são trocadas através do protocolo TCP No protocolo BGP, em vez de se anunciar o destino e a distância para alcançar o destino (distance-vector), é anunciado uma descrição de todo o percurso (path-vector) Mensagem OPEN UPDATE KEEPALIVE NOTIFICATION Descrição abre uma ligação TCP para um peer e autentica emissor anuncia novo caminho (ou retira o antigo) mantêm a ligação aberta na ausência de mensagens de UPDATE; também serve como ACK ao pedido de OPEN reporta erros nas mensagens anteriores; também é utilizada para fechar a ligação 01.12.14 ISEL-DEETC-SRCD 32

Cabeçalho comum Campo Dimensão Descrição Marker 16 bytes Usado para sincronização e autenticação, garante a autenticidade das mensagens depois da ligação estabelecida Length 2 bytes Comprimento total da mensagem em bytes, pode ir de 19 a 4096 bytes Type 1 byte Tipo da mensagem: 1 OPEN, 2 UPDATE, 3 NOTIFICATION, 4 KEEPALIVE Dados Variável Contêm os dados específicos a cada tipo de mensagem 01.12.14 ISEL-DEETC-SRCD 33

Mensagem OPEN Após a ligação TCP ser estabelecida, os peers BGP trocam mensagens open para criarem uma ligação BGP É só depois de estabelecida a ligação BGP que os peers trocam informação de encaminhamento Um peer dá acknowledge a uma mensagem OPEN com a mensagem KEEPALIVE. Para que a ligação BGP seja inicializada cada peer deve enviar um OPEN e receber um KEEPALIVE ( caso ocorra um erro a mensagem NOTIFICATION pode ser enviada a descrever o problema ) Campos relevantes do OPEN: Version: BGP-3 ou BGP-4; My Autonomous System: AS de onde veio a mensagem Hold Time: Tempo (segundos) entre mensagens KEEPALIVE ou UPDATE BGP Identifier: Identificador do router (normalmente o IP de maior valor numérico) Optional Parameters: Campo de comprimento variável com lista de parâmetros no formato <type, length, value> 01.12.14 ISEL-DEETC-SRCD 34

Mensagem OPEN 01.12.14 ISEL-DEETC-SRCD 35

Mensagem UPDATE As mensagens UPDATE transportam toda a informação para que um sistema BGP construa um grafo descrevendo as relações entre todos os AS Cada mensagem UPDATE contém uma ou ambas das seguintes partes: Anúncio de uma ÚNICA rota: Características (atributos e destinos) de uma única rota Muitos destinos (redes) podem compartilhar a mesma rota e os mesmos atributos Retirada de uma ou mais rotas: Uma lista de redes que deixaram de ser atingíveis 01.12.14 ISEL-DEETC-SRCD 36

UPDATE Unfeasible Routes Length: Comprimento do campo Withdrawn Routes, se for 0 não há rotas a retirar Withdrawn Routes: Especifica os endereços das redes a retirar (formato prefixo/comp) Total Path Attribute Length: Comprimento do campo Path Attributes Path Attributes: Descreve os atributos do caminho para a rota anunciada (atributo, comp, valor), é aqui que é especificado o AS_PATH Network Layer Reachability Information: Contêm uma lista de redes que são anunciadas como atingíveis no formato CIDR 01.12.14 ISEL-DEETC-SRCD 37

Mensagem KEEPALIVE No BGP trocam-se mensagens KEEPALIVE para determinar se uma ligação ou um peer falhou ou não está disponível Estas mensagens são trocadas frequentemente, deve-se garantir que o hold time não expira Normalmente enviam-se periodicamente com T = hold timer /3. Esta mensagem contem apenas o cabeçalho BGP header 01.12.14 ISEL-DEETC-SRCD 38

Mensagem NOTIFICATION No BGP são enviadas mensagens NOTIFICATION quando ocorre um erro no sistema Após o envio da mensagem NOTIFICATION a sessão BGP e a ligação TCP são fechadas 01.12.14 ISEL-DEETC-SRCD 39

Máquina de estados de uma sessão BGP 01.12.14 ISEL-DEETC-SRCD 40

Encaminhamento Inter-AS Introdução Border Gateway Protocol Mensagens BGP Atributos de Rotas Cenário prático: BGP Exemplos práticos BGP 01.12.14 ISEL-DEETC-SRCD 41

Atributos do BGP Existem quatro tipos de atributos: Well-Known Mandatory: São os mais importantes, devem ser incluídos ao anunciar a rota e processados por cada router BGP que os receba Well-Known Discretionary: Se forem recebidos devem ser reconhecidos e processados pelo router BGP mas podem ou não ser incluídos no anúncio da rota com este tipo de atributo ORIGIN AS-PATH: (caminho para o destino) Optional Transitive: Podem ou não ser NEXT-HOP reconhecidos por um router BGP mas devem ser incluídos no anúncio para outros routers BGP ATOMIC-AGGREGATE (rota não pode ser desagregada) Optional Non-Transitive: Atributos opcionais que podem ou não ser reconhecidos por um router BGP mas não são anunciados a outros routers BGP AGGREGATOR (quem agregou a rota) MULTI-EXIT-DISC (MED) LOCAL-PREF WEIGHT 01.12.14 ISEL-DEETC-SRCD 42

Atributo ORIGIN Tipo: Well-Known Mandatory Indica como o BGP aprendeu sobre uma rota particular. IGP EGP A rota é interior no sistema autónomo, aprendida por ibgp A rota foi aprendida por ebgp, de um AS diferente Incomplete A origem da rota é desconhecida ou aprendida de outro modo (via outro protocolo, ex: RIP, OSPF...) 01.12.14 ISEL-DEETC-SRCD 43

Atributo AS_PATH Tipo: Well-Known Mandatory Lista os números de AS que descrevem o percurso para atingir um destino Contém o caminho de AS para um destino e pode ser utilizado no processo de decisão ou para detectar ciclos de encaminhamento Quando o anúncio de uma rota é propagada através de um sistema autónomo, o número do AS que se atravessa é adicionado à lista de AS que o anúncio já atravessou. 01.12.14 ISEL-DEETC-SRCD 44

Atributo NEXT_HOP Tipo: Well-Known Mandatory Endereço IP do router que se encontra no próximo salto para alcançar este destino. O atributo Next-Hop é propagado dentro do mesmo AS O atributo Next-Hop é modificado quando se anuncia uma rota 01.12.14 ISEL-DEETC-SRCD 45

Atributo MULTI_EXIT_DISC Tipo: Optional Non-Transitive Multi-Exit Discriminator (MED): Quando um caminho inclui múltiplos pontos de saída ou entrada, este valor pode ser utilizado como uma métrica para discriminar entre eles Atributo enviado como sugestão a um AS externo para dar preferência a um dos caminhos entre dois AS O valor mais baixo é preferido 01.12.14 ISEL-DEETC-SRCD 46

Atributo LOCAL_PREF Tipo: Well-Known Discretionary Local preference: Utilizado entre BGP speakers do mesmo AS para indicar o nível de preferência a um caminho de saída do sistema autónomo, para uma dada rota Atribuído pelo border router quando recebe a rota por ebgp Atributo propagado dentro do mesmo AS por ibgp O valor mais alto é preferido 01.12.14 ISEL-DEETC-SRCD 47

Atributo WEIGHT (proprietário da Cisco) Se um router aprende mais do que uma rota para o mesmo destino, a rota com o maior peso é utilizada Atributo proprietário da Cisco que só tem significado no próprio router Este atributo não é anunciado a outros routers ISEL AS 100 Weight=50 A Weight=100 Propaga: 10.20.30.0/24 Caminho Preferido B 10.20.30.0/24 FCCN AS 200 Propaga: 10.20.30.0/24 C 01.12.14 ISEL-DEETC-SRCD 48

Atributo ATOMIC_AGGREGATE e AGGREGATOR Atributo ATOMIC_AGGREGATE (Tipo: Well-Known Discretionary): Um BGP speaker pode receber um conjunto de rotas sobrepostas onde uma é mais específica que outra Por exemplo, considere a rota para a rede 34.15.67.0/24 e para a rede 34.15.67.0/26 Se o BGP speaker utilizar a rota menos específica (neste caso, 34.15.67.0/24) deve colocar este atributo com o valor de 1 para indicar que esta operação foi efectuada Um BGP speaker que recebe a rota com o atributo ATOMIC_AGGREGATE não deve incluir qualquer anúncio com rotas mais específicas Atributo AGGREGATOR (Tipo: Optional Transitive): Contém o número de AS e o routerid do router que efectuou a agregação de rotas; utilizado para troubleshooting. 01.12.14 ISEL-DEETC-SRCD 49

Atributo COMMUNITY O atributo Community (tipo optional transitive) fornece uma forma de agrupar destinos em communities, para as quais as decisões de encaminhamento (tais como aceitação, preferência, e redistribuição) podem ser aplicadas. Um grupo de prefixos que partilham uma certa propriedade são marcados com a mesma community Decisões de encaminhamento podem estar baseadas no atributo community da rota Facilita e simplifica o controle das informações de rotas Exemplos: AS#:120 (rotas de clientes), AS#:110 (rotas backup de clientes), AS#:90 (rotas de trânsito), etc.. Três atributos foram predefinidos: no-export : Não anunciar esta rota a nenhum peer ebgp no-advertise : Não anunciar esta rota a nenhum peer Internet : Anunciar esta rota a toda a Internet 01.12.14 ISEL-DEETC-SRCD 50

Community = No Export Enviado por ebgp por um AS, transmitido por ibgp pelo AS que o recebe, não é reenviado 01.12.14 ISEL-DEETC-SRCD 51

Community = No Export c/agregação Exemplo: AS1 têm diferentes rotas para AS2 mas AS2 apenas envia uma rota agregada para o AS3 Simplifica o processo de agregação no AS2 Qual é a rota seguida por um pacote com destino 2.2.48 recebido por R4? R1 2.2.0/17 NO-EXPORT 2.2/16 2.2.0/17 AS1 AS2 R3 R4 2.2/16 AS3 2.2.128/17 R5 R2 2.2.128/17 NO-EXPORT 2.2/16 01.12.14 ISEL-DEETC-SRCD 52

Community = No Advertise 01.12.14 ISEL-DEETC-SRCD 53

Community = Internet 01.12.14 ISEL-DEETC-SRCD 54

Encaminhamento Inter-AS Introdução Border Gateway Protocol Mensagens BGP Atributos de Rotas Cenário prático: BGP Exemplos práticos BGP 01.12.14 ISEL-DEETC-SRCD 55

Configuração BGP - Cenário Internet FCCN AS 1930 F N NOVIS AS 2860 20Mbps 1Mbps Caminhos redundantes ISEL AS 34827 R1 R2 01.12.14 ISEL-DEETC-SRCD 56

Configuração BGP Objectivos 1,2 Utilizar apenas um dos dois caminhos como preferido para tráfego bidireccional No caso do caminho preferido estar sem conectividade, utilizar o alternativo Internet FCCN AS 1930 F Alternativo N NOVIS AS 2860 Preferido ISEL AS 34827 R1 R2 01.12.14 ISEL-DEETC-SRCD 57

Configuração BGP Objectivo 3 Nunca fornecer conectividade entre as instituições FCCN e NOVIS através da rede do ISEL Internet FCCN AS 1930 F Quebra N NOVIS AS 2860 Alternativa ISEL AS 34827 R1 R2 01.12.14 ISEL-DEETC-SRCD 58

Configuração BGP Resolução De modo a dar preferência de saída ao caminho com a FCCN em relação ao da NOVIS, utilizar o atributo Local Preference Dar um valor mais elevado ao Local Preference do router adjacente à FCCN Internet FCCN AS 1930 F N NOVIS AS 2860 Nota: Se os caminhos para os diferentes AS partirem do mesmo router, terá de ser utilizado o atributo Weight ISEL AS 34827 Caminho Preferido R1 Local Pref: 150 Local Pref: 50 R2 01.12.14 ISEL-DEETC-SRCD 59

Configuração BGP Resolução O caminho utilizado pelo tráfego de saída está garantido, o caminho de retorno não; Para que o tráfego de retorno volte garantidamente pelo caminho preferido, é necessário utilizar uma estratégia alternativa; Como na decisão do caminho a utilizar o AS_PATH mais curto é o preferido, a solução encontra-se em simular no caminho alternativo um AS_PATH mais longo. 01.12.14 ISEL-DEETC-SRCD 60

Configuração BGP Resolução Internet FCCN AS 1930 caminho mais curto F AS_path 34827, 1930 ISEL AS 34827 Caminho Preferido R1 R2 N AS_path 34827, 34827, 34827, 34827, 34827, 2860 NOVIS AS 2860 repetição do AS no AS_path (prepending) Obriga a um caminho mais longo 01.12.14 ISEL-DEETC-SRCD 61

Configuração BGP Resolução O ISEL não deve fornecer conectividade entre as instituições FCCN e NOVIS. A solução está em classificar as rotas que chegam de outros AS como fazendo parte da Community no-export, deste modo a validade destas rotas cinge-se ao AS do ISEL e não são propagadas para outros AS. Internet FCCN AS 1930 F N NOVIS AS 2860 Rotas classificadas como no-export ISEL AS 34827 R1 R2 01.12.14 ISEL-DEETC-SRCD 62

Ferramentas online BGPlay Análise da evolução das rotas BGP para determinado destino ao longo do tempo Route-servers Acesso público (limitado) a routers de operadores com acesso à informação BGP sob o seu ponto de vista Looking-glass Interface Web para route-servers e traceroute/ping remotos Listagem de serviços públicos do género em: http://www.traceroute.org/ 01.12.14 ISEL-DEETC-SRCD 63

BGPlay 01.12.14 ISEL-DEETC-SRCD 64

Referências Referências de BGP v4 RFCs 1771 e 1772 e 4271 - BGP v4 RFCs 1965 - Autonomous System Confederations RFC 1966 - Route Reflection RFC 1997 - Communities RFC 2270 - Dedicated AS s RFC 2283 - MBGP RFC 2385 - BGP MD5 Authentication RFC 2439 - Route Damping RFC 2842 - Capabilities Negotiation Protocol BGP - http://www.networksorcery.com/enp/protocol/bgp.htm BGP Reports - http://bgp.potaroo.net/ 01.12.14 ISEL-DEETC-SRCD 65

Encaminhamento Inter-AS Introdução Border Gateway Protocol Mensagens BGP Atributos de Rotas Cenário prático: BGP Exemplos práticos BGP 01.12.14 ISEL-DEETC-SRCD 66

Exemplo prático 1: Stub AS R2 Operator AS R1 BGP não é necessário entre cliente e fornecedor O cliente pode não ter número de AS R2 aprende todos os prefixos do cliente por configuração estática ou RIP na ligação R1 R2 P1: E se R1 falhar? Client AS 01.12.14 ISEL-DEETC-SRCD 67

Stub AS, Dual Homing a um único fornecedor AS x R1 Provider R2 10.1/16 MED=10 10.2/16 MED=50 ebgp ebgp 10.1/16 MED=50 10.2/16 MED=10 R3 10.1/16 Client 10.2/16 R4 AS y Com o cliente AS numerado: Usar MED para partilhar tráfego do ISP para o cliente nas duas ligações Usar configuração IGP do cliente para conseguir distribuir tráfego pelas duas ligações P1: É possível evitar distribuir rotas BGP no IGP do cliente? (sim) P2: É possível evitar atribuir um número do AS ao cliente? (sim, AS privado) P3: É possível evitar o protocolo BGP entre cliente e ISP? (sim, redistribuindo rotas) 01.12.14 ISEL-DEETC-SRCD 68

Area stub, dual homing para vários ISPs AS z AS x R1 Providers AS y R2 ebgp ebgp R3 2.0/17 Client 2.1/17 AS 100 Cliente com o seu espaço de endereçamento e número de AS P1: De que forma rotas podem ser anunciadas entre o AS 100 e AS x? AS x e AS z? P2: Assuma que o Cliente quer que a maior parte do tráfego seja enviada e recebida pelo AS y. Como se pode realizar isto? (ver exemplo prático - IPL) 01.12.14 ISEL-DEETC-SRCD 69 R4

Exemplo Hot Potato Routing Cliente 1 R11 ISP1 R12 Cliente 2 R21 ISP2 R22 Pacotes do cliente 2 para o cliente 1 Tanto R21 como R22 têm uma rota para o cliente 1 O shortest path routing favoreçe R21 Assuma que os routers no ISP2 executam o BGP (regra: prefere o caminho com a métrica IGP mais baixa para o next-hop do BGP) De notar o caminho seguido na direcção inversa 01.12.14 ISEL-DEETC-SRCD 70

Configuração Cisco BGP router bgp 9876 Inicialização da instância de BGP network 10.0.0.0 255.0.0.0 Definição da rede do AS neighbor 192.168.0.1 remote-as 5678 neighbor 192.168.0.1 password oursecret Definição dos AS vizinhos 01.12.14 ISEL-DEETC-SRCD 71

Configuração Cisco BGP router bgp 9876 network 10.0.0.0 255.0.0.0 neighbor 192.168.0.1 remote-as 5678 neighbor 192.168.0.1 password oursecret ip prefix-list AS5678 seq 5 permit 10.0.0.0/8 ip prefix-list AS5678 seq 1000 deny 0.0.0.0/0 neighbor 192.168.0.1 prefix-list AS5678 out neighbor 192.168.0.1 maximum-prefix 5 Criação de listas de filtros de prefixos às rotas importadas ou exportadas Limite no número máximo de prefixos 01.12.14 ISEL-DEETC-SRCD 72

Configuração Cisco BGP router bgp 9876 network 10.0.0.0 255.0.0.0 neighbor 192.168.0.1 remote-as 5678 neighbor 192.168.0.1 password oursecret neighbor 192.168.0.1 route-map XPTO in ip as-path access-list 999 permit _100$! route-map XPTO permit 10 match as-path 999 set Alterações aos atributos das rotas anunciadas/importadas set Alterações podem ser aplicadas condicionalmente match 01.12.14 ISEL-DEETC-SRCD 73

Configuração Cisco BGP Exemplo 1 INTERFACE NETWORK NEIGHBOR IP AS-PATH IP PREFIX-LIST IP ACCESS-LIST ROUTE-MAP 01.12.14 ISEL-DEETC-SRCD 74