Lucidi BGP (formato PDF)

Transcript

Lucidi BGP (formato PDF)
Il Protocollo Bgp
& Internet
Davide Giuffrida
[email protected]
05/03/2003
Davide Giuffrida
1
Contenuti
n
n
n
n
n
05/03/2003
Bgp & Internet
I - La Struttura di Internet
II - Il Protocollo BGP
III - Esempi e pratica
IV - Strumenti di Diagnostica
V - Riferimenti
Davide Giuffrida
2
1
Terminologia
Documento RFC:
specifiche d’implementazione applicativi tcp/ip
Routing/Router:
Periferica di rete che si presenta almeno su 2 reti < >
capace di inoltrare dati tra le 2 o più reti
IPv4:
Protocollo TCP/ip versione 4.0 (next ipv6)
BGP:
Border Gateway Protocol = Routers “Intelligenti”
05/03/2003
Davide Giuffrida
3
Parte I
La Struttura di Internet
Come Funziona la Rete?
05/03/2003
Bgp & Internet
Davide Giuffrida
4
2
Indirizzamento IP
http://www.iana.org/assignments/ipv4address-space
n
n
n
n
INTERNET PROTOCOL V4 ADDRESS SPACE (last updated
2002-12-10)
The allocation of Internet Protocol version 4 (IPv4) address
space to various registries is listed here.
Originally, all the IPv4 address spaces was managed directly
by the IANA.
Later parts of the address space were allocated to various
other registries to manage for particular purposes or regional
areas of the world. RFC 1466 documents most of these
allocations.
05/03/2003
Davide Giuffrida
5
Suddivisione della Rete
n
n
n
n
n
n
n
n
n
05/03/2003
Bgp & Internet
Block Date Registry - Purpose
----- ------ --------------------------…...
Notes or Reference
------------------
192/8 May 93 Various Registries
213/8 Mar 99 RIPE NCC
(whois.ripe.net)
……
217/8 Jun 00 RIPE NCC
(whois.ripe.net)
…….
Reference [RFC1466] [RFC1918] [RFC3330]
Davide Giuffrida
6
3
Struttura di Internet:
organismi ufficiali
n
05/03/2003
Coordinamento Mondiale: IANA
www.iana.org
Davide Giuffrida
7
Struttura di Internet:
organismi ufficiali
Coordinamento Continentale - Le 4 RIR:
05/03/2003
Bgp & Internet
Davide Giuffrida
8
4
Struttura di Internet:
organismi ufficiali
« Local
Internet Registries (Autonomous Systems (AS)):
05/03/2003
Davide Giuffrida
9
Struttura di Internet:
organismi ufficiali
« Provider
(connette ad Internet le proprie “utenze”):
Provider IP (ISP) :
05/03/2003
Bgp & Internet
Davide Giuffrida
10
5
La realizzazione…
« Peering
05/03/2003
tra providers:
Davide Giuffrida
11
La realizzazione…
« Neutral
05/03/2003
Bgp & Internet
Access Point (NAP):
Davide Giuffrida
12
6
La realizzazione…
« Internet
05/03/2003
Routing Registry (IRR):
Davide Giuffrida
13
Parte II
il protocollo BGP
Cos’e’ il BGP ?
Border Gateway Protocol
05/03/2003
Bgp & Internet
Davide Giuffrida
14
7
Border Gateway Protocol
n
n
05/03/2003
Protocollo di routing utilizzato per
scambiare informazioni di routing
tra le reti
protocollo “esterno” di routing
RFC1163 & RFC1267 (bgp v 2/3)
RFC1771 (bgp v 4)
lavori in corso….
draft-ietf-idr-bgp4-13.txt
Davide Giuffrida
15
Autonomous System (AS)
n
n
n
05/03/2003
Bgp & Internet
Insieme di reti con le stesse
politiche di routing
Unico protocollo di routing
Solitamente gestito da un’unica
entità, in modalità collaborativa e
controllata
Davide Giuffrida
16
8
Basi del BGP
n
n
n
Lavora sulla
porta 179 TCP
Aggiornamenti
incrementali
tabelle
BGP interno ed
esterno
05/03/2003
Davide Giuffrida
17
Zona di Demarcazione (DMZ)
Reti condivise tra
AS differenti
05/03/2003
Bgp & Internet
Davide Giuffrida
18
9
Comuni operazioni BGP
n
n
n
n
05/03/2003
Impara instradamenti multipli
attraverso interlocutori BGP interni
ed esterni
Sceglie l’instradamento migliore e
lo applica alla tabella di forwarding
Invia il percorso migliore ai
“neighbours” BGP esterni
La scelta dell’instradamento
migliore è condizionata dalle
politiche adottate
Davide Giuffrida
19
Peering BGP esterno (eBGP)
n
n
n
05/03/2003
Bgp & Internet
Tra interlocutori BGP di AS
differenti
Devono essere connessi
direttamente
Tra peers esterni (eBGP) non
utilizzare iBGP !
Davide Giuffrida
20
10
Schema di configurazione
n
n
n
n
n
n
05/03/2003
Router BGP xxx
Network X.Y.Z.0
Neighbor addr route map xx in/out
Neighbor addr remote AS yyy
Route map xx permit progr
Match condition 111
[set commands]
acl 111 permit/deny
Davide Giuffrida
21
Configurare il BGP esterno-A
Router A in AS100
interface ethernet 5/0
ip address 222.222.10.2 255.255.255.240
router bgp 100
network 220.220.8.0 mask 255.255.252.0
neighbor 222.222.10.1 remote-as 101
neighbor 222.222.10.1 prefix-list RouterC in
neighbor 222.222.10.1 prefix-list RouterC out
05/03/2003
Bgp & Internet
Davide Giuffrida
22
11
Configurare il BGP esterno-C
Router C in AS101
interface ethernet 1/0/0
ip address 222.222.10.1 255.255.255.240
router bgp 101
network 220.220.16.0 mask 255.255.240.0
neighbor 222.222.10.2 remote-as 100
neighbor 222.222.10.2 prefix-list RouterA in
neighbor 222.222.10.2 prefix-list RouterA out
05/03/2003
Davide Giuffrida
23
BGP interno (iBGP)
n
n
n
05/03/2003
Bgp & Internet
Sessioni BGP all’interno dello
stesso AS
Non è necessario che siano
connessi direttamente
Interlocutori iBGP danno luogo a
reti connesse.
Davide Giuffrida
24
12
Peering BGP interno (iBGP)
n
n
La tipologia
delle reti è
indipendente
Ciascun
interlocutore
iBGP deve
colloquiare con
ogni altro peer
iBGP presente
nell’AS
05/03/2003
Davide Giuffrida
25
Peering con l’indirizzo loop-back
n
Per il peering iBGP e’ meglio utilizzare
l’indirizzo di loop-back
L’interfaccia loop-back non cade mai!
n
La sessione iBGP non dipende dallo
stato di una singola interfaccia
La sessione iBGP non dipende dalla
tipologia fisica della rete sottostante
n
05/03/2003
Bgp & Internet
Davide Giuffrida
26
13
Configurare il BGP interno-A
Router A
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 loopback0
neighbor 215.10.7.3 remote-as 100
neighbor 215.10.7.3 update-source loopback0
05/03/2003
Davide Giuffrida
27
Configurare il BGP interno-B
Router B
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 loopback0
neighbor 215.10.7.3 remote-as 100
neighbor 215.10.7.3 update-source loopback0
05/03/2003
Bgp & Internet
Davide Giuffrida
28
14
Attributi BGP: condizionano
la scelta del path migliore
n
n
n
n
n
n
n
n
n
n
05/03/2003
AS-path
Next Hop
iBGP Next Hop
Origin
Aggregator
Local Preference
Multi-Exit Discriminator (MED)
Weight & PRF
Community
Community particolari
Davide Giuffrida
29
AS-Path
n
n
n
La sequenza
di AS che una
route deve
attraversare
I loop
vengono
gestiti
Le policies
vengono
applicate
05/03/2003
Bgp & Internet
Davide Giuffrida
30
15
Next Hop
n
n
eBGP:
indirizzo del
neighbor
esterno
iBGP:
NEXT-HOP
di un eBGP
05/03/2003
n
n
n
n
n
Il next hop è
l’indirizzo di
loopback del router
ibgp
iBGP annuncia le
route ai next hops
Garantisce la
ricerca ricorsiva
delle route
Svincola il BGP
dalla topologia fisica
della rete
Permette all’iBGP di
eseguire decisioni
intelligenti di
forwarding
05/03/2003
Bgp & Internet
Davide Giuffrida
31
iBGP Next Hop
Davide Giuffrida
32
16
Origin
n
n
n
n
Identifica l’origine del prefisso
(rete)
Attributo “historical”
Influenza la scelta del “best path”
Tre valori: IGP, EGP, incomplete
IGP – generato da istruzioni iBGP
u EGP – generato da eBGP
u Incomplete – distribuito da altro
protocollo di routing
u
05/03/2003
Davide Giuffrida
33
Aggregator
n
n
n
05/03/2003
Bgp & Internet
Identifica il’indirizzo IP del
router/BGP che ha generato la
route aggregata
Utile per debugging
Non influenza la selezione del path
migliore
Davide Giuffrida
34
17
Local preference
05/03/2003
Davide Giuffrida
35
Local preference
n
n
n
05/03/2003
Bgp & Internet
Local preference è usato per AS non
connessi direttamente al nostro AS
il valore di default per local pref. è 100
Utilizzato per influenzare il BGP nella
scelta del path
concorre a determinare il percorso
migliore per il traffico in uscita
Prevale il path con valore local
preference superiore
Davide Giuffrida
36
18
Local preference
Configurazione del router B:
router bgp 400
neighbor 220.5.1.1 remote-as 300
neighbor 220.5.5.1 route-map local-pref in
!
Route-map local-pref permit 10
match ip address prefix-list MATCH
set local-preference 800
!
ip prefix-list MATCH permit 160.10.0.0/16
05/03/2003
Davide Giuffrida
37
Multi-Exit Discriminator (MED)
05/03/2003
Bgp & Internet
Davide Giuffrida
38
19
Multi-Exit Discriminator (MED)
n
n
Tra AS non direttamente connessi
Utilizzato per gestire le preferenze
in entrata
Determina il path migliore per il
traffico in entrata
n
05/03/2003
Significativo se i paths provengono
dallo stesso AS
Davide Giuffrida
39
Multi-Exit Discriminator
n
05/03/2003
Bgp & Internet
Configurazione Router B
router bgp 400
neighbor 220.5.1.1 remote-as 200
neighbor 200.5.1.1 route-map set-med out
!
Route-map set-med permit 10
Match ip address prefix-list MATCH
set metric 1000
!
ip prefix-list MATCH permit 192.68.1.0/24
Davide Giuffrida
40
20
Utilizzo di Weight
Parametro locale
al router
Route-map:
set weight
n Il peso maggiore
vince su tutti i path
validi
n Usato in caso di
link preferenziali
per l’ingresso
n
05/03/2003
Davide Giuffrida
41
Community
n
n
n
n
Attributo BGP
Descritto in RFC1997
Intero 32 bit
Rappresentato da 2 interi da 16 bit
Utilizzato per raggruppare le destinazioni
Ogni destinazione puo’ far parte di più
communities
n
n
05/03/2003
Bgp & Internet
Gli attributi delle community vengono
trasportati attraverso gli AS
Molto utile per applicare le policies
Davide Giuffrida
42
21
Communities particolari
n
n
n
No-export
non informa i peers eBGP
No-advertise
non informa nessun peer
Local-AS
non informa al di fuori dell’AS locale
(utilizzato solo in reti-federate)
05/03/2003
Davide Giuffrida
43
Parte III
In Pratica …
n
n
05/03/2003
Bgp & Internet
Esempio: Connessione di 3 As
Diagnostica: Raggiungibilità rete
Davide Giuffrida
44
22
Esempio 3 AS
n
n
n
AS 101
222.222.8.0 mask 255.255.252.0
AS 102
222.222.16.0 mask 255.255.240.0
AS 103
222.222.64.0 mask 255.255.240.0
05/03/2003
Davide Giuffrida
interface FE0 222.222.10.1 255.255.255.0
45
interface FE0 222.222.10.2 255.255.255.0
AS101
AS102
network 222.222.8.0 255.255.252.0
interface FE1 222.222.11.5 255.255.255.252
interface FE0 222.222.11.6 255.255.255.252
network 222.222.16.0 255.255.240.0
interface FE1 222.222.28.2 255.255.255.252
interface FE1 222.222.28.1 255.255.255.252
AS103
network 222.222.64.0 255.255.240.0
Esempio 3 AS
05/03/2003
Bgp & Internet
Davide Giuffrida
46
23
Selezione del percorso
Qual’è il path migliore ?
05/03/2003
Davide Giuffrida
47
Algoritmo di scelta del Path 1/3
n
Ignora il path se manca la route verso il
gateway (next hop)
n
Il peso maggiore vince (locale nel router)
n
La local preference vince
(all’interno dell’AS)
05/03/2003
Bgp & Internet
n
Preferisce le route originate localmente
n
L’AS path piu’ breve è preferito
Davide Giuffrida
48
24
Algoritmo di scelta del Path 2/3
n
Origin code migliore:
IGP < EGP < incomplete
n
Multi-Exit Discriminator (MED) inferiore:
se usato bgp deterministic-med, ordinare i
paths prima della comparazione
n
se usato bgp always-compare-med,
comparare per ogni percorso
n
05/03/2003
Altrimenti MED viene considerato solo se i
paths provengono dal medesimo AS. Default
Davide Giuffrida
49
Algoritmo di scelta del Path 3/3
n
Meglio path eBGP di path iBGP
n
Meglio path con metrica IGP inferiore verso il
next-hop
n
Meglio il router-id inferiore (originator-id per
routes riflesse)
n
Preferire Cluster-List più corte
Non preoccuparsi degli attributi di Route
Reflector ! (usati da provider mondiali)
n
05/03/2003
Bgp & Internet
Meglio IP address di neighbor inferiore
Davide Giuffrida
50
25
Applicare le politiche al BGP
Controllare e correggere i controlli BGP
05/03/2003
Davide Giuffrida
51
Applicare le politiche al BGP
n
Applicare le Politiche:
Decisioni in base agli AS da attravesare, le
community o il prefix
Rifiutare o accettare le route selezionate
Impostazione degli attributi per influenzare la
selezione del path
n
Strumenti:
Prefix-list (filtra I prefissi)
Filter-list (filtra gli AS)
Route-maps e communities
05/03/2003
Bgp & Internet
Davide Giuffrida
52
26
Politiche BGP – Prefix-list:
n
Filtrare le routes in base ai prefissi
n
Inbound and Outbound
router bgp 200
neighbor 220.200.1.1 remote-as 210
neighbor 220.200.1.1 prefix-list PEER-IN in
neighbor 220.200.1.1 prefix-list PEER-OUT out
Ip prefix-list PEER-IN deny 218.10.0.0/16
Ip prefix-list PEER-IN permit 0.0.0.0/0 le 32
Ip prefix-list PEER-OUT permit 215.7.0.0/16
05/03/2003
Davide Giuffrida
53
Politiche BGP – Filter-list:
n
Filtrare le routes in base al percorso AS
n
Inbound and Outbound
router bgp 100
neighbor 220.200.1.1 remote-as 210
neighbor 220.200.1.1 filter-list 5 out
neighbor 220.200.1.1 filter-list 6 in
!
Ip as-path access-list 5 permit ^200$
Ip as-path access-list 6 permit ^150$
05/03/2003
Bgp & Internet
Davide Giuffrida
54
27
Politiche BGP –
n
n
n
n
05/03/2003
Route Maps:
Una route-map è assimilabile ad
un “programma” per IOS
Ha numeri di riga, come un
programma
Ogni riga è un’istruzione
(condizione/azione)
Concetto:
se condizione soddisfatta,
eseguo ed esco, altrimenti
se condizione soddisfatta,
eseguo ed esco, altrimenti….
Davide Giuffrida
55
Politiche BGP – Communities
Router bgp 100
neighbor 220.200.1.1 remote-as 200
neighbor 220.200.1.1 send-community
neighbor 220.200.1.1 route-map set-community out
!
Route-map set-community permit 10
Match Ip address prefix-list NO-ANNOUNCE
Set community no-export
!
Route-map set-community permit 20
!
Ip prefix-list NO-ANNOUNCE permit 172.168.0.0/16 ge 17
05/03/2003
Bgp & Internet
Davide Giuffrida
56
28
Politiche BGP – Matching Communities
Router bgp 100
neighbor 220.200.1.2 remote-as 200
neighbor 220.200.1.2 route-map filter-on-community in
!
Route-map filter-on-community permit 10
Match community 1
Set local-preference 50
!
Route-map filter-on-community permit 20
Match community 2 exact-match
Set local-preference 200
!
Ip community-list 1 permit 150:3 200:5
Ip community-list 2 permit 88:6
05/03/2003
Davide Giuffrida
57
Parte IV
Verificare il BGP
n
Looking Glasses
http://www.nat.bg/look/
http://www.inetcomm.net/lg.shtml
n
n
n
n
n
05/03/2003
Bgp & Internet
Ripe initiatives - toolbox
History collection & statistics
Progetto linux Zebra
Monitor esterni
Cisco cmd: Sh ip bgp ?
Davide Giuffrida
58
29
Parte V
Riferimenti
05/03/2003
Davide Giuffrida
59
Riferimenti:
http://www.ripe.net/ripe/meetings/archive/ripe-40/tutorials/bgp-tutorial/index.html
http://www.academ.com/nanog/feb1997/BGPTutorial/
http://www.cisco.com/warp/public/459/18.html
http://www.netaxs.com/~freedman/bgp.html
http://joe.lindsay.net/bgp.html
http://www.avici.com/documentation/HTMLDocs/02223-04_revAA/index.html
http://info.connect.com.au/docs/routing/general/multi-faq.shtml
http://www.bgpbook.com/
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ics/icsbgp4.htm
http://www.cisco.com/warp/public/759/ipj_4-4/ipj_4-4_regional.html La vera storia di Internet
http://www.ietf.org
05/03/2003
Bgp & Internet
(Riferimento per tutti gliDavide
standard
RFC)
Giuffrida
60
30
Riferimenti:
05/03/2003
Bgp & Internet
Davide Giuffrida
61
31