SURFcert Kennismiddag

advertisement
BGP in de praktijk
SNE master 19-03-2009
19 maart 2009, SURFnet
<[email protected]>
40 minuten voor:
Routering in sneltreinvaart
protocollen
de termen
principes op Internet
Implementatie in SURFnet netwerk
routering met klanten
routering met “buitenwereld”
Optimalisaties
Convergentie tijden
SURFnet – SNE masters BGP in de praktijk
Routering
IP pakketje
Van source naar destination
Via “beste” pad
Moet heel en op tijd aankomen!
SURFnet – SNE masters BGP in de praktijk
Routering
Network f
Int 0
Int 2 int0
Route i: directely connected
Router
…
i
RouteNetwork
j: via interface3
Int 0
Int 3
Route g: directly connected int0
Route f: via interface1
Route h: via interface2
Int 1
A Route i: via interface 2 [1]
Via interface1 [2]
Route j: via interface2 [1]
Via interface1 [2]
Int 1
Int 1
Router C
Int 2
Router B
Route h: directely connected int0
Route j: via interface2 [1]
via interface1 [2]
…
Int 2
Int 1
Int 2
Router E
Int 0
Network j
SURFnet – SNE masters BGP in de praktijk
Router D
Int 0
network h
Int 1
Int 2
network g
Int 0
Routering basics
Routering heeft als doel forwarding packets
Route = info volgende hop naar destination
Statische routering
direct gekoppelde netwerken
met de hand
Routeringsprotocollen (dynamisch)
IGP’s (RIPng, OSPF, IS-IS)
EGP (BGP)
Netwerk = prefix + mask (CIDR block)
192.87.106.0/23
2001:610:580:109::/64
Routing table
SURFnet – SNE masters BGP in de praktijk
forwarding table
Routering AS-en
Autonomous Systems
“Connected group of one of more IP prefixes run by
one or more network operators which has a single
and clearly defined routing policy” [RFC1930]
Routing policy
Bepaalt routeringbeslissingen
Uitwisseling van routeringsinformatie
AS nummer 1-65535 (2-bytes)
bijv. AS1103
Uitgebreid tot 4-bytes [RFC4893] bijv. AS3.5 of AS196613
Routeringsprotocol tussen AS-en: BGPv4 [RFC4271]
SURFnet – SNE masters BGP in de praktijk
Inter AS routering
UPDATE
message
UPDATE
message
prefix
prefix
AS1
prefix
iBGP
Int 1
prefix
prefix
prefix
prefix
AS4
prefix
AS2
prefix
prefix
Int 2
prefix
prefix
Int 1
AS5
AS3
prefix
prefix
= AS-path AS4 AS3 AS2
= AS-path AS4 AS1 AS2
SURFnet – SNE masters BGP in de praktijk
prefix
UPDATE
UPDATE
message
message
eBGP
BGP
BGP connectie is TCP sessie (port 179)
Uitgewisselde informatie (NLRI)
Algoritme om “beste” pad te kiezen
komt in routing table
doorgestuurd naar andere peers
Prefix heeft aantal attributen
voor beslissing beste pad
Elke prefix “leeft” in 1 AS (Origin)
SURFnet – SNE masters BGP in de praktijk
BGP Best Path Selection
1. Select a path with a reachable next hop.
2. Select the path with the highest weight.
3. If path weights are the same, select the path with the highest local preference
value.
4. Prefer locally originated routes (network routes, redistributed routes, or aggregated
routes) over received routes.
5. Select the route with the shortest AS-path length.
6. If all paths have the same AS-path length, select the path based on origin: IGP is
preferred over EGP; EGP is preferred over Incomplete.
7. If the origins are the same, select the path with lowest MED value.
8. If the paths have the same MED values, select the path learned via EBGP over one
learned via IBGP.
9. Select the route with the lowest IGP cost to the next hop.
10. Select the route received from the peer with the lowest BGP router ID.
Zelfde prefix, meerdere paden
Attributen aanpassen bij adverteren naar peers
beïnvloeden keuze in peer AS-en
SURFnet – SNE masters BGP in de praktijk
SURFnet setup
Border Routers
BGP
routering
SURFnet
Default route
0.0.0.0/0
AS1103
Statische
Routering
(VRRP)
klant
netwerk
Core Routers
Klant
Prefix(en)
klant
netwerk
klant
netwerk
klant
netwerk
SURFnet – SNE masters BGP in de praktijk
klant
netwerk
klant
netwerk
SURFnet BGP klant
Border Routers
SURFnet
AS1103
Klant
Prefixen
SURFnet – SNE masters BGP in de praktijk
policy-statement UNIMAAS_Mt001A_1-v4-in {
term klantprefixen {
from {
route-filter 137.120.0.0/16 exact;
route-filter 145.29.0.0/16 exact;
}
then next policy;
}
then reject;
}
klant
netwerk
Routing policy naar klant
LP = localpref
(Higher is better)
Klant netwerk
Tertiary
Quaternary
Primary
M=30
LP=500
M=10
Secondary
M=20
LP=460
LP=400
M=40
M = Metric or
MED=Multi-ExitDiscriminator
(lower is better)
policy-statement customers-primary-in {
then {
local-preference 500
LP=420
}
}
policy-statement customers-primary-out {
then {
metric 10;
}
AS1103
}
SURFnet – SNE masters BGP in de praktijk
SURFnet routing policy
Customer
with default
Customer
with ASSURFnet
Tertiary
LP=420
M=30
Customer
with Full
routing
Customers
Secondary
LP=460
M=20
Primary
LP=500
M=10
Transit
via
AMS-IX
Quaternary
LP=400
M=40
Research
Networks
(SINET/
NLR)
LP=300
LP=300
LP=360
AS1103
SURFnet6
Backbone
LP=130
IP
Upstream
Prim
GÉANT2
M=10
M=20
LP=200
Load balancer
LP=140
Sec
LP=200
LP=160
M=20
AS Prepend
1103 1103
Internet2
LP=160
M=10
AMS-IX
Peerings
Private
Peerings
LP = localpref
M = Metric
SURFnet – SNE masters BGP in de praktijk
BGP world around SURFnet
AS286
AS3303
AS1140
AS3246
AS20507AS15542
AS1257
AS1901
AS1102AS24646
AS1273AS6453
AS9132
AS174
AS6830 AS1161 AS15670
AS8951
AS5413
AS2818
AS1890
AS16237
The Internet
AS34106
AS3291
AS1200
AS1888
AS10764
SURFnet
AS1103
AS702
AS1124 AS6509
AS5506
AS8840
AS112
AS1128
AS6200
AS6461
AS1139
AS20847AS5669 AS2907
AS8209
AS4513
SURFnet – SNE masters BGP in de praktijk
AS28836 AS8642 AS293
AS2611
AS2529
AS6774
AS8918
AS1104
Optimalisaties
BGP
- Router stuurt (met standaard Juniper timers) elke
30 seconden keepalive berichten
- Verklaart BGP sessie onbruikbaar als na 3x
keepalive-time (90 seconden hold-time) geen
keepalive, update of notification is ontvangen
- Met name probleem als interfaces aan beide
uiteinden verbinding niet down gaan.
SURFnet – SNE masters BGP in de praktijk
Optimalisaties
- Aanpassen BGP timers
- Minimale timers in Junos
6 seconden keepalives, 18 seconden hold-timer
- Huidige timers in SURFnet
10 seconden keepalives, 30 seconden holdtimer
Reductie van 90 seconden naar 30 seconden
onderbreking
SURFnet – SNE masters BGP in de praktijk
Optimalisaties
- VRRP nog steeds sneller!
- VRRP verstuurd elke seconde (met standaard Juniper
timers) een master advertisement
- Verklaart master onbereikbaar na 3 x advertisement
interval + skew time
- Outage maximaal tussen 3-4 seconden
SURFnet – SNE masters BGP in de praktijk
Optimalisaties - BFD
- BFD voor BGP
BFD opnieuw een hello protocol
- pakketten verzonden met regelmatige interval
- buurman onbereikbaar verklaard als er geen BFD
pakketten meer ontvangen worden.
Twee varianten in de huidige versie (1.0)
- Normal mode
- Echo mode
SURFnet – SNE masters BGP in de praktijk
BFD Async Mode
- Control packets flow in each direction
BFD Echo Mode
- Control packets flow in each direction
- Echo packets loop through remote system
- Control packet flow is slower
20
BFD configuratie
- Op Bor.surf.net (Core router@SARA)
Show bfd session detail
Show configuration protocol bgp group customersprimary neighbor 145.145.16.10
SURFnet – SNE masters BGP in de praktijk
Vragen?
SURFnet – SNE masters BGP in de praktijk
Download