BGP. Inter-domain routing met het Border Gateway Protocol. Iljitsch van Beijnum Amsterdam, 14 maart 2006

Vergelijkbare documenten
BGP. internet. fysieke infrastructuur. en de. van het. Iljitsch van Beijnum Groningen/Amsterdam 23/24 april 2003

BGP. internet. fysieke infrastructuur. en de. van het. Iljitsch van Beijnum Groningen/Amsterdam 23/24 april 2003

Computerarchitectuur en netwerken. Netwerklaag/Routering

IPv6 Workshop Routering Niels den Otter

BGP, Traffic Engineering, & Akamai. Niels Bakker NLnog-dag 2014

NGN. Wageningen, 30 oktober Iljitsch van Beijnum

IPv6. Seminar Innoveer je campusinfrastructuur: DNSSEC en IPv6 4 december 2014 Niels den Otter <Niels.denOtter@surfnet.nl>

Dienstbeschrijving KPN IP-VPN. Een dienst in KPN ÉÉN

Communicatie tussen Computers

Gigaset pro VLAN configuratie

! Onze pakketten zijn te klein!!! Amsterdam, 9 jan 2014.! Iljitsch van Beijnum

Basis Netwerkconfiguratie. Ing. Tijl Deneut Lector Toegepaste Informatica Howest Onderzoeker XiaK, UGent

LAN segment. Virtual local area network. Twee LAN segmenten. Evolutie. een enkelvoudige hub of switch is een fysisch LAN segment (Ethernet segment)

Opvullen van de routeringstabel. Statisch of dynamisch. Dynamische routering. Distance vector padbepalingsalgoritme

IP & Filtering. philip@pub.telenet.be

De Peering 'boodschappenlijst' Ing Jan C. Hoogenboom 9 maart 2005 voor UvA/SNB/OS3

Revisie geschiedenis. [XXTER & KNX via IP]

De Nationale Wasstraat (NaWas)

IPv6 Workshop. Woensdag 18 mei 2005 SARA Almere. Andree Toonk - SARA High Performance Networking 1

IAAS HANDLEIDING - SOPHOS FIREWALL

Configureren van een VPN L2TP/IPSEC verbinding. In combinatie met:

Core PoP s Van wens tot realiteit

Veelgestelde vragen Corporate en Zakelijk Internet

Configureren van een VPN L2TP/IPSEC verbinding

De reden dat providers (KPN) voor Routed IPTV kiezen is vanwege het ondersteunen van bepaalde diensten zoals Netflix op de SetupBox.

SURFnet-rapport. IPv6 beveiliging. Utrecht, 17 juni 2014 Iljitsch van Beijnum

Stage I. Alle 5 RiR s krijgen een laatste /8 toegewezen. IANA s pool van IPv4 adressen is uitgenut. Stage II RIPE NCC distribueert adressen

Wat basiskennis... IPv4, is het einde nabij? Applicatie. Sessie. Fysiek

TIMEMANAGER. Configuratie Lantronix TIMEmate. Werkwijze: Opmerking:

Dynamische routering. Routeringsalgoritmes

S u b n e t t e n. t h e t r u e s t o r y

Technical Note #047 Auteur:Mark Vork Gemaakt op:14 februari 2003 Gewijzigd op:9 februari 2004

IPv6 in de praktijk. Teun Vink dsdsds. Tuesday, January 20, 2009

Stappen om EduVPN te activeren:

4IP = Internet Protocol 4Protocol gebruikt op netwerk laag in het internet 4Geen betrouwbaarheid

Netwerkbeveiliging. Sven Sanders

Tweede deeltentamen Netwerken (INFONW) 29 juni 2009

Whitepaper IP versie 6

IPv6 multihoming. Scriptie. elektrotechniek/telematica, HVU

ENUM. Introductie en status ISOC SIPSIG Antoin Verschuren Technisch Adviseur SIDN ENUM. ISOC SIPSIG Den Haag

Hoofdstuk 15. Computernetwerken

IPv6 Informatiemiddag. Deel 1: Introductie IPv6. Teun Vink dsdsds. Tuesday, January 20, 2009

CLOUD4WI VSCG V3.0 CONFIGURATIE

X2com en MikroTik Case study nieuw core-netwerk

Temperatuur logger synchronisatie

BGP, IPv6, IETF. Nivo Weesp. 17 mei 2016 Iljitsch van Beijnum

Handleiding NL pagina 2. Manual UK page 6. Network Settings

Een IPv6-nummerplan opstellen

Configuratiehandleiding

Transport Layer Security. Presentatie Security Tom Rijnbeek

Vigor 2860 serie Multi PVC/EVC - RoutIT

11/2 Routing onder Novell

Instellingen Microsoft ISA server

Instellingen voor de C100BRS4 met Chello kabel Internet.

STAN S31 R6F Software update instructie

De print van de centrale is hardwarematig aangepast waardoor een upgrade is niet mogelijk is.

IPv6 in de praktijk. Teun Vink dsdsds. Tuesday, January 20, 2009

Instellingen voor de C100BRS4 met Wanadoo kabel Internet.

Vigor 2850 serie Dual PPPoA/PVC - RoutIT

BGP. Above and beyond RPKI Job Snijders

HRO: State Of The Art. Jeroen Massar IPv6 : Introduction. 14 November Hogeschool Rotterdam, Netherlands

IP-VPN. Dienstbeschrijving. Copyright The Voip Company 2011 Pagina 1 van 15

Configureren van de Wireless Breedband Router.

CHANGE REQUEST VOOR WIJZIGING ZONDER IMPACT OP HUURKOSTEN

Bekijken we nu het resultaat van een ipconfig /all op een IPv6 geconfigureerde Windows 7 box dan zien we toch een aantal merkwaardigheden.

Outline. EEC-684/584 Computer Networks. Tunneling. Review. Review of last lecture. Lecture 14. Network layer in Internet (part 2)

Praktijk opdrachten VMware

Een webserver bereikbaar maken voor IPv6

HTTP SMS API Technische Specificatie messagebird.com versie mei 2014

SD-WAN, de nieuwe IT- Infrastructuur. Een functionele en technische uitleg waarom SD-WAN zo populair is.

IP-VPN Dienstbeschrijving

Netwerken. 6 januari 2014 David N. Jansen

Vlaams Communicatie Assistentie Bureau voor Doven, vzw

Computernetwerken Deel 2

IP-VPN. uw ICT partner

IAAS - QUICK START GUIDE

Tetra Industriële Security

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

Tokenauthenticatie & XML Signature in detail

Mymesh Ethernet Gateway

IPoE. Er zijn twee mogelijke oplossingen om IPoE op een DrayTek product te configureren, we zullen beide mogelijkheden in deze handleiding bespreken.

ipact Installatiehandleiding CopperJet 816-2P / P Router

NAT (Network Address Translation)

Hoofdstuk 15. Computernetwerken

Thinking of development

Getting Started. AOX-319 PBX Versie 2.0

Instellingen voor de C100BRS4 met Wanadoo kabel Internet.

Configuratiehandleiding

SIP analyse. Handleiding

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Toetsmatrijs examen 8491

Communications and Networking: An Introduction

Dienstbeschrijving IP VPN. RoutIT

Transcriptie:

BGP Inter-domain routing met het Border Gateway Protocol Iljitsch van Beijnum Amsterdam, 14 maart 2006

Routing tussen ISPs Interne routingprotocollen werken hier niet: te veel informatie Dus: externe routingprotocollen: Exterior Gateway Protocols (EGPs) Andere manier om dit te zien: niet per router, maar per netwerk/organisatie ofwel "autonomous system"

Autonomous Systems AS2503 AS192 AS29077

De bomen en het bos Tracing the route to www.isoc.nl (212.206.127.42) 1 fa3-0-4-asd8ro2.enertel.nl (195.7.144.85) [AS 12394] 4 msec 2 fa1-0-0-asd1ro6.enertel.nl (195.7.144.145) [AS 12394] 4 msec 3 po0-0-0-asd10ro1.enertel.nl (195.7.154.14) [AS 12394] 4 msec 4 adm-b2-pos2-1.telia.net (213.248.72.133) [AS 1299] 4 msec 5 pos3-2.br1.ams3.alter.net (146.188.64.113) [AS 702] 4 msec 6 so-0-2-0.tr1.ams2.alter.net (146.188.3.213) [AS 702] 4 msec 7 so-5-0-0.xr1.ams6.alter.net (146.188.8.77) [AS 702] 4 msec 8 so-0-0-0.cr1.hag1.alter.net (212.136.176.110) [AS 702] 4 msec 9 so-4-0-0.cr2.hag1.alter.net (212.136.176.146) [AS 702] 8 msec 10 so-0-0-0.cr2.rtm1.alter.net (212.136.176.121) [AS 702] 8 msec 11 412.atm10-0-0.gw4.rtm1.alter.net (212.136.177.146) [AS 702] 16 msec 12 www.isoc.nl (212.206.127.42) [AS 702] 4 msec

De bomen en het bos Tracing the route to www.isoc.nl (212.206.127.42) 1 fa3-0-4-asd8ro2.enertel.nl (195.7.144.85) [AS 12394] 4 msec 2 fa1-0-0-asd1ro6.enertel.nl (195.7.144.145) [AS 12394] 4 msec 3 po0-0-0-asd10ro1.enertel.nl (195.7.154.14) [AS 12394] 4 msec 4 adm-b2-pos2-1.telia.net (213.248.72.133) [AS 1299] 4 msec 5 pos3-2.br1.ams3.alter.net (146.188.64.113) [AS 702] 4 msec 6 so-0-2-0.tr1.ams2.alter.net (146.188.3.213) [AS 702] 4 msec 7 so-5-0-0.xr1.ams6.alter.net (146.188.8.77) [AS 702] 4 msec 8 so-0-0-0.cr1.hag1.alter.net (212.136.176.110) [AS 702] 4 msec 9 so-4-0-0.cr2.hag1.alter.net (212.136.176.146) [AS 702] 8 msec 10 so-0-0-0.cr2.rtm1.alter.net (212.136.176.121) [AS 702] 8 msec 11 412.atm10-0-0.gw4.rtm1.alter.net (212.136.177.146) [AS 702] 16 msec 12 www.isoc.nl (212.206.127.42) [AS 702] 4 msec

IDR geschiedenis Gateway-to-Gateway protocol (GGP) Exterior Gateway Protocol (EGP) BGP 1, 2 and 3 IDRP and IDPR BGP4, RFC 1771 is het enige wat we momenteel gebruiken

BGP's functies Geef door welke IP-adressen waar gebruikt worden Dwing "routing policy" af Voorkom routing loops Vermijd kapotte links Als extra waar mogelijk: gebruik kortste pad

Welke adressen zitten waar Geen geografische relevantie aan adresuitgifte Bovendien: geografisch dichtbij!= netwerktopologisch dichtbij Dus: voor iedere prefix moeten we weten waar op het netwerk ie gebruikt wordt

Wie gebruikt BGP? Meeste ISPs, om andere ISPs te laten weten welke adresblokken ze gebruiken Eindgebruikers? Meeste niet, ISP regelt dit voor hun adressen Eindgebruikers met meer dan één ISP (die "multihomed" zijn) wel, die kunnen dit niet door één ISP laten doen

Hoe BGP werkt "Border routers" hebben een sessie met border routers van aangrenzende ASen (en met alle BGP routers in het lokale AS) Communicatie over TCP poort 179 Sessies worden handmatig gecreëerd

Hoe BGP werkt (2) Zodra een verbinding opkomt stuurt elke router een (min of meer) complete kopie van de "global routing table" aan zijn buur Pad via buur-router beter? Gebruik het dan zelf Hierna alleen updates als er wat verandert

BGP Header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + + + Marker + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Length Type +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

OPEN Header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+ Version +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ My Autonomous System +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Hold Time +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ BGP Identifier +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Opt Parm Len +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Optional Parameters +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

UPDATE Header +-----------------------------------------------------+ Unfeasible Routes Length (2 octets) +-----------------------------------------------------+ Withdrawn Routes (variable) +-----------------------------------------------------+ Total Path Attribute Length (2 octets) +-----------------------------------------------------+ Path Attributes (variable) +-----------------------------------------------------+ Network Layer Reachability Information (variable) +-----------------------------------------------------+

NOTIFICATION Hdr 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Error code Error subcode Data +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

KEEPALIVE Header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + + + Marker + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Length --> 4 <-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

BGP pad attributen Informatie die routers uitwisselen bestaat uit een reeks IP-adresblok met "path attributes" Adresinformatie (prefix): Network Layer Reachability Information (NLRI) Gebruikelijke pad attributen zijn: AS path, next hop, origin, Multi Exit Discriminator (of metric) en community's

AS pad Verplicht attribuut Allereerst: om loops te detecteren Ook belangrijk voor transit/peering filters En voor filters die zorgen dat klanten zich niet per ongeluk als "transit" ISP gedragen (kortste AS pad wordt gekozen als een prefix via meerdere routers/asen bereikbaar is)

Loops AS1 192.0.2.0/24 AS2 BGP table: 192.0.2.0 1 4 3 2 1 AS2 AS3 BGP table: AS4 192.0.2.0 2 1 AS4 BGP table: AS3 192.0.2.0 2 1 3 2 1

Local Preference Alleen uitgewisseld binnen hetzelfde AS, maar daar wel verplicht Route met de hoogste local preference wordt gebruikt Alleen wanneer local pref gelijk is wordt naar andere attributen gekeken

Multi Exit Discriminator Optioneel Vergelijkbaar met "metric" in interne routingprotocollen Oorspronkelijk om te kunnen kiezen voor meerdere routes via één buur-as, maar ook bruikbaar in andere situaties Wordt niet naar andere ASen doorgegeven tenzij specifiek een waarde gezet is

Community's 32-bit waarde die geen vaste betekenis heeft Niet in de originele BGP specificatie! (Dus uiteraard optioneel) Wel een paar "well-known communities" Meeste in de vorm AS:nn (zoals 701:120) waar de betekenis afhangt van het bron-as Voor speciale behandeling bepaalde routes

Multiprotocol BGP Multiprotocol Extensions for BGP-4: RFC 2858 Uitbreiding op BGP4 die het mogelijk maakt routinginformatie voor extra "address families" uit te wisselen Geef beschikbare opties aan in "open message" Niet-IPv4 info in twee nieuwe pad attributen

MP_REACH_NLRI +---------------------------------------------------------+ Address Family Identifier (2 octets) +---------------------------------------------------------+ Subsequent Address Family Identifier (1 octet) +---------------------------------------------------------+ Length of Next Hop Network Address (1 octet) +---------------------------------------------------------+ Network Address of Next Hop (variable) +---------------------------------------------------------+ Number of SNPAs (1 octet) +---------------------------------------------------------+ Length of first SNPA(1 octet) +---------------------------------------------------------+ First SNPA (variable) +---------------------------------------------------------+.........

MP_REACH_NLRI (2)......... +---------------------------------------------------------+ Length of second SNPA (1 octet) +---------------------------------------------------------+ Second SNPA (variable) +---------------------------------------------------------+... +---------------------------------------------------------+ Length of Last SNPA (1 octet) +---------------------------------------------------------+ Last SNPA (variable) +---------------------------------------------------------+ Network Layer Reachability Information (variable) +---------------------------------------------------------+

MP_UNREACH_NLRI +---------------------------------------------------------+ Address Family Identifier (2 octets) +---------------------------------------------------------+ Subsequent Address Family Identifier (1 octet) +---------------------------------------------------------+ Withdrawn Routes (variable) +---------------------------------------------------------+ NLRI encoding: +---------------------------+ Length (1 octet) +---------------------------+ Prefix (variable) +---------------------------+

IPv6 RFC 2545: Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing Bijna volledig identiek aan IPv4 Ok, de adressen zijn langer... Next hop: global, + optioneel link local Maar operationeel wel redelijk anders, pas sinds kort "serieus" in gebruik

BGP security BGP is gevoelig voor aanvallen op TCP, IP en link (gewoonlijk ethernet) -niveau Maar in de meeste gevalen niet makkelijk te misbruiken! MD5/wachtwoord helpt, maar lastig te managen Toekomst: Secure BGP (S-BGP) en/of secure origin BGP (sobgp)

BGP TCP MD5 Option RFC 2385: +---------+---------+-------------------+ Kind=19 Length=18 MD5 digest... +---------+---------+-------------------+ +---------------------------------------+ +---------------------------------------+ +-------------------+-------------------+ +-------------------+ De MD5 digest is altijd 16 bytes lang, de optie wordt in ieder TCP segment van een BGP sessie meegegeven.

S-BGP Secure BGP, ontwikkeld door BBN Proof-of-concept implementatie beschikbaar Koppel prefix aan AS Stop bestemmings-as in BGP update Signature op iedere update Informatie zit in pad attributen

sobgp Secure Origin BGP, mensen van Cisco Authenticeer relatie tussen prefix en AS Uitbreidbaar Authenticatie-informatie in nieuw type BGP message

S-BGP vs sobgp S-BGP veel zwaarder: ± 500k signature checks bij opkomen BGP-sessie S-BGP moet private keys in routers hebben sobgp zou crypto door externe server kunnen laten afhandelen

Problemen Al die crypto! Geheugen Waar is een goede lijst van welke prefix bij welk AS hoort? Kan ook simpeler met heel grote filters in routers Kip/ei

Policy In tegenstelling tot OSPF is filteren toegestaan, consistentie geen vereiste Stuur alleen routes wanneer het mag: bied geen transit tenzij je ervoor betaald wordt Pas ingestelde voorkeuren toe En: controleer dat wat de buur stuurt klopt

Verkeer balanceren Met mer dan één externe verbinding balanceert BGP het verkeer automatisch Maar niet altijd op de gewenste manier Hoofdstuk over "traffic engineering" uit mijn boek is online op de O'Reilly website, de URL is http://www.oreilly.com/catalog/bgp/

BGP path selection 1. Prefer the path with the largest LOCAL_PREF 2. Prefer the path with the shortest AS_PATH 3. Prefer the path with the lowest multi-exit discriminator (MED) 4. Prefer external (ebgp) over internal (ibgp) paths 5. Prefer the path with the lowest IGP metric to the BGP next hop 6. Prefer the route coming from the BGP router with the lowest router ID 7. Prefer the path coming from the lowest neighbor address

Te effectief? Wanneer twee ISPs beiden met grotendeels dezelfde netwerken peeren zijn AS paden steeds even lang Dan kunnen zelfs kleine veranderingen al een radicaal andere verkeersverdeling opleveren

Schaalbaarheid ibgp ibgp Full mesh requirement (au!) Werk hier omheen met: Route reflectors: client praat met reflector, reflectors en non-clients in full mesh Confederations: splits AS in sub-asen, full mesh hierbinnen, semi-ebgp naar overige

Full mesh

Routereflectie

Confederaties

Loopback Rtr1 b a Rtr2 Rtr3 y x Rtr4

Peering "Private peering" (directe verbinding link), of Exchange zoals AMS-IX, LINX, DE-CIX Groot laag 2 netwerk, iedereen hangt hier een router aan Directe BGP-sessies met anderen om routing info uit te wisselen

Policy voor transit Transit wordt gegeven aan betalende klanten X geeft transit aan Y X routeert pakketten van/naar verweg voor Y Dus X "adverteert" (announces) naar iedereen dat Y via hen bereikbaar is En X adverteert aan Y dat de hele wereld via hen bereikbaar is

Policy voor peering Wissel verkeer uit zonder dat er geld aan te pas komt (gewoonlijk) X peert met Z X adverteert aan to Z dat X's klanten via X bereikbaar zijn, rest van de wereld NIET Z doet hetzelfde, waardoor al het verkeer dat X of een klant van X als bron heeft en Z of een klant van Z als bestemming rechtstreeks loopt

Transit vs Peering AS 200 AS 300 AS 400 AS 100 Y X Z

Voorbeeld peering/transit

Multilaterale peering Iedereen peert met de route server Route server geeft alle routes door Next hop adres wordt niet veranderd Dus verkeer loopt direct (niet via de route server) Zie http://www.openpeering.nl/

Meer interconnects Moet je bepalen waar van netwerk A naar netwerk B te springen Early exit / hot potato: verkeer zo snel mogelijk het AS uit (gaat automatisch) Late exit / cold potato: hou verkeer zo lang mogelijk in eigen AS (zeldzaam)

Early Exit

Early Exit (2)

De "global routing table" 175000 routes in de global routing table Vaak slechte aggregatie Dus: filter op prefixlengte: < /24: vergeet het maar RIR blok: nooit problemen Tussenin: soms problemen, meestal ok

IPv6 global routing table < 1000 routes ISPs minimaal /32 Op dit moment geen multihoming met eigen prefix mogelijk /48s voor speciale dingen als root servers Wel soms nog erg lange paden doordat mensen transit weggeven

That's it! http://www.bgpexpert.com/ http://www.runningipv6.net/ RFC 1771 (BGP version 4) RFC 2385 (BGP TCP MD5 Option)