frank w. ruloffs -...
TRANSCRIPT
1
© 2004 Frank W. Ruloffs
InterproviderkommunikationInterproviderkommunikation
Frank W. RuloffsFrank W. Ruloffs
20042004--0707--1111Version 1.01Version 1.01
C CIE Reg. Nr. 2940JNCIS-M #0467
2
© 2004 Frank W. Ruloffs
ÜberblickÜberblick
I. Was ist Interproviderkommunikation
II. Geschichte und Organisation der Interprovider-kommunikation
III. Organisation und Aufbau der NIS
IV. IPv4 Adreßallokierung
V. IP Addressierungstechnologien und – Allokierung
VI. Kommunikationsprotokolle der Interproviderkommunikation
VII. Interproviderstrukturen (Router, AS, CIDR)
VIII. Interproviderkommunikationsprotokolle (RIP, OSPF, BGP)
IX. BGP (Border Gateway Protocol)
3
© 2004 Frank W. Ruloffs
Was ist Interproviderkommunikation?Was ist Interproviderkommunikation?
Interproviderkommunikation besteht generell aus
Kommunikation und Richtlinien zwischen Menschen verschiedener Organisationen
– ARPANET WG, Internet WG
– ISOC (IAB (Internet Architecture Board), IETF (Internet Engineeing TF) , IRTF (Internet Research TF)) (1992)
– W3C– IR (Internet Registry)
Kommunikation zwischen dafür konfigurierten Maschinen mittels Kommunikationsprotokollen
– Interior Gateway Protokolle: RIP, OSPF– Exterior Gateway Protokolle: EGP, BGP
4
© 2004 Frank W. Ruloffs
KAPITEL IKAPITEL I
Geschichte und Organisation der Interproviderkommunikation
5
© 2004 Frank W. Ruloffs
Geschichte: Geschichte: Internet und InterproviderkommunikationInternet und Interproviderkommunikation
01. Januar: Das Internet (ca. 1000 Hosts) konvertiert zu TCP/IP
19681969
DARPA (Defense Advanced Research Projects Agency) schließt einen Vertrag mit BBN (Bolt, Beranek & Newman) zur Realisierung des ARPANET
1970 Die ersten fünf Knoten des ARPANET [56 kbit/s](Uni of California LA, Stanford, Uni of California Santa Barbara, Uni Utah und BBN
19721974
Entwicklung von TCP/IP (Robert Kahn, Vinton Cerf)TCP/IP Specification
1984
Shannon: ‘A Mathematical Theory of Communication’1948
Erfindung der Paketvermittelung (Paul Baran)19641965 Erfindung des Hypertext (Ted Nelson)
1989 Erfindung des WWW (Tim Berners-Lee, Robert Cailliau (CERN))
19881989 Entwicklung von Mosaic (Mark Andreesen)
EUnet wird mit dem ARPAnet verbunden / Erfindung von RIP (Hedrick)
EGP, RFC827 (Eric C. Rosen)1982
6
© 2004 Frank W. Ruloffs
Geschichte: Geschichte: Internet und InterproviderkommunikationInternet und Interproviderkommunikation
BGP (RFC1265) (Y. Rekhter)OSPF (RFC1370) (Lyman Chapin)
19911992
1995 BGP-4 (RFC1771) (Y. Rekhter)
7
© 2004 Frank W. Ruloffs
Entwicklung der Netze Entwicklung der Netze
ARPANET
NFSNET
1985
MILNETMINET
Acceptable Usage Policy, keine kommerzielle VerwendungSkalierungsprobleme (Link Congestion)
National Science Foundation (bis 1988 1,544 Mbit/s)3 stufiges Netzkonzept: Campus, Region, Backbone
NFSNET T1
1988 Realisierung: Merit, MCI und IBM13 Lokationen: Merit, BARRNET, MidNet, WestNet, NorthWestNet, SESQUINET , SURnet, NCAR und 5 NSF SCC
1969
1990Advanced Network and Services (Backbone and NOC)
1995
Frühe1990‘erAufbau von ISP Netzen (UUNET, Qwest, Sprint, ...)
1993T3 AusbauInterNIC
Implementierung von NAPs, FIXs & CIXsImplementierung des RA (Routing Arbiter, eXch Policies&Addressing)
vBNS 155Mbit/s (MCI, NSF)
19992,44 Gbit/s, MCI
8
© 2004 Frank W. Ruloffs
Network Network Information ServicesInformation Services
1993 InterNIC => AT&T, NSIDirectory Services
– Zugang zu Internet White Pages (X.500, WHOIS, netfind)– Informationen über Objekte und Personen
Database Services– Zugang zu Kommunikationsdokumenten
• Request for Comments [ RFCs]• Internet Drafts [IDs], IETF Meeting Minutes, ...
Registration Services (RFC 1174)– IANA (Internet Assigned Numbers Authority) realisiert durch USC ISI
(Information Science Institute)– Netz Zuweisung, AS Zuweisung => RIRs, IRRs (Routing Rontact &
Routing Policy Information)
Network Solution, Inc. (bis 1998): – Domain Name Registration– Domain Name Server Registration
9
© 2004 Frank W. Ruloffs
RIR RIR & & IRRIRR
Die Aufteilung der Welt in Regional Internet Registries (RIRs) und Internet Routing Registries (IRRs)
ARIN RR
RADB
RIPE RR
JPRR
10
© 2004 Frank W. Ruloffs
Prozess des Prozess des AdreßmanagementsAdreßmanagements im Internetim Internet
IANAIANA
IANAIANA
RIRRIR
RIRRIR
ISPISP
ISPISP
BGPBGP
IETFIETFD
eleg
atio
n
Ann
ounc
emen
t
Allo
kier
ung
Allo
kier
ung
IETF (Internet Engineering Task Force)IANA (Internet Assigned Numbers Authority)RIR (Regional Internet Registry)ISP (Internet Service Provider) oder LIR (Local Internet Registry)BGP (Border Gateway Protocol)
LIR
11
© 2004 Frank W. Ruloffs
Wachstum der Internet Wachstum der Internet RoutingtabelleRoutingtabelle
0
20000
40000
60000
80000
100000
120000
140000
88 89 90 91 92 93 94 95 96 97 98 99 00 01 02 03 04
# Routen
3508.500
20.000
50.50060.000
68.00076.265
106.221113.401
118.713
139.139
12
© 2004 Frank W. Ruloffs
Aktuelle Aktuelle AdreßallokierungAdreßallokierung
IANA Pool35%
IETF Res.8%
Multicast6%
Allokiert46%
RIR Pool5%
Quelle APNIC, 2003
13
© 2004 Frank W. Ruloffs
IP IP Address DepletionAddress Depletion
32 Bits erlauben theoretisch ca. 4 Mrd. AdressenVon IANA prognostiziert: 2020Grundlagen
– Prognosen: IANA, RIR, BGP– Modelle: Linear, Exponetial
Lineares Modell: 2037Exponetiell: 2022
Unicast 86%
IANAMulticast
8%
6%
Adressaufteilung51%
IANA Multicast8%
6%IANA Pool35%
IANA allokiert
Adressbelegung
14
© 2004 Frank W. Ruloffs
KAPITEL IIKAPITEL II
Kommunikationsprotokolle der Interproviderkommunikation
15
© 2004 Frank W. Ruloffs
Interproviderkommunikation: Praxis BeispielInterproviderkommunikation: Praxis Beispiel
C:\>tracert www.cisco.com
Routenverfolgung zu www.cisco.com [198.133.219.25] über maximal 30 Abschnitte:
1 36 ms 36 ms 36 ms clp2-r2.ewetel.net [212.6.112.11]
2 36 ms 36 ms 36 ms ge-bbrt14.clp.ewe-ip-backbone.de [212.6.112.1]
3 38 ms 37 ms 36 ms 80.228.21.90
4 51 ms 52 ms 51 ms so-0-0-3-bbrt-21.lon.ewe-ip-backbone.de [80.228.109.58]
5 51 ms 52 ms 52 ms ge-2-0-184.ipcolo1.London1.Level3.net [212.187.151.25]
6 51 ms 52 ms 52 ms ae-0-54.mp2.London1.Level3.net [212.187.131.146]
7 118 ms 116 ms 118 ms as-0-0.bbr1.NewYork1.Level3.net [4.68.128.106]
8 193 ms 193 ms 192 ms ge-0-1-0.bbr2.SanJose1.Level3.net [64.159.1.130]
9 192 ms 193 ms 194 ms ge-9-2.ipcolo1.SanJose1.Level3.net [64.159.2.163]
10 195 ms 195 ms 195 ms p1-0.cisco.bbnplanet.net [4.0.26.14]
11 195 ms 194 ms 194 ms sjck-dmzbb-gw1.cisco.com [128.107.239.9]
12 194 ms 195 ms 194 ms sjck-dmzdc-gw2.cisco.com [128.107.224.77]
Level-3
BBN
16
© 2004 Frank W. Ruloffs
Struktur des InternetStruktur des Internet
Vermaschung von Autonomen Systemen (AS)
Ein oder mehrere AS repräsentieren einen Internet Service Provider (ISP)
AS9144 AS11
AS91
AS144
AS13720
AS815
AS1704
ISP1
ISP2
ISP3
ISP4
ISP5
17
© 2004 Frank W. Ruloffs
Interproviderstrukturen: Interproviderstrukturen: Begrifflichkeiten IBegrifflichkeiten I
Was ist das Internet?– Dr. Vinton Cerf
• The largest network of networks in the world.• Uses TCP/IP protocols and packet switching .• Runs on any communications substrate.
Was ist ein Router?– Ein Router ist ein System in einem
Rechnerverbund das• Pakete (und Frames) auf Grundlage von
Richtlinien (Policies) und Wegeinformationen –abgeleitet aus IGPs bzw. EGPs – vermitteln kann.
18
© 2004 Frank W. Ruloffs
Interproviderstrukturen: Interproviderstrukturen: Begrifflichkeiten IIBegrifflichkeiten II
Was ist ein AS?– Ein Autonomes System (AS) ist eine Menge von Routern
• mit einer eindeutigen Routing Policy• unter einer technischen Administration• benutzt ein IGP um AS internes Routing zu realisieren• repräsentiert sich nach außen als eine Einheit, mit einer eindeutigen
Nummer• die eine Inter-AS Kommunikation über ein EGP realisieren
19
© 2004 Frank W. Ruloffs
Interproviderstrukturen: Interproviderstrukturen: Begrifflichkeiten IIIBegrifflichkeiten III
Was ist CIDR (Classless Interdomain Routing)?• Class A 0.0.0.0 – 127.255.255.255 (Unicast)• Class B 128.0.0.0 – 191.255.255.255 (Unicast)• Class C 192.0.0.0 – 223.255.255.255 (Unicast)• Class D 224.0.0.0 – 239.255.255.255 (Multicast)• Class E 240.0.0.0 – 255.255.255.255 (Res. Experimental)
– Beim CIDR werden IP Netze als Prefixe repräsentiert -> Mögl. Aggregierung– [IP Address] / [Maskierung] z.B. 128.1.70.0 / 24
11000110 00100000 00000001 00000000
0 8 16 24
11111111 11111111 11111111 0000000011111111 11111111 00000000 00000000
Prefix Prefix Länge
Class C: 198.32.1.0Maske 255.255.255.0Maske 255.255.0.0
Supernet
Normale Subnetzmaske
20
© 2004 Frank W. Ruloffs
Interproviderkommunikation: ISO OSI Ref. Mod.Interproviderkommunikation: ISO OSI Ref. Mod.
IP PaketeIP Pakete
FramesFrames
BitsBits
TCPTCP UDPUDP
BG
PB
GP
FTP
FTP
RIP
RIP
TFT
PT
FTP
2121179179 520520 6969
66 1717Transport
Vermittlung
Sicherung
Bitübertragung
Transport
Vermittlung
Sicherung
Bitübertragung
Port Nummer
Protokoll Nummer
Typ, SAP oder Kontrollinform.
MAC oder WAN AdresseO
SP
FO
SP
F
8989
21
© 2004 Frank W. Ruloffs
Protokolle der Interproviderkommunikation: RIPProtokolle der Interproviderkommunikation: RIP
Das Distance Vektor KonzeptDer Router übergibt periodisch vollständige Kopien der Routing Tabelle zuNachbarroutern und akkumuliert die Distanzverktoren
A
B
C
D
A B c D
RoutingTabelleRoutingRoutingTabelleTabelle
RoutingTabelleRoutingRoutingTabelleTabelle
RoutingTabelleRoutingRoutingTabelleTabelle
RoutingTabelleRoutingRoutingTabelleTabelle
22
© 2004 Frank W. Ruloffs
Distance Vector: TopologiebestimmungDistance Vector: Topologiebestimmung
Router entdecken den besten Pfad zu einem Zielnetz ausgehend vonRoutingtabellen-Informationen, die sie vom Nachbarn erhalten
D
A B CW X Y Z
Routing TabelleRouting Routing TabelleTabelle
WWXXYYZZ
00001122
Routing TabelleRouting Routing TabelleTabelle
XXYYZZWW
00001111
Routing TabelleRouting Routing TabelleTabelle
YYZZXXWW
00001122
0 1 0 1 0 1
23
© 2004 Frank W. Ruloffs
Distance Vektor: Distance Vektor: TopologieänderungTopologieänderung
Updates schreiten Schritt für Schritt, von Router zu Router voran
A B
´B´Sendet dieses
Routing TabellenUpdate
´B´´B´Sendet Sendet diesesdieses
Routing Routing TabellenTabellenUpdateUpdate
Prozess um diese
Routing Tabelle zu verarbeiten
Prozess um Prozess um diese diese
Routing Routing Tabelle zu Tabelle zu verarbeitenverarbeiten
Änderung in der Topologie
verursacht einen Update der Routing
Tabelle
Änderung in Änderung in der Topologie der Topologie
verursacht verursacht einen Update einen Update der der Routing Routing
TabelleTabelle
Prozess um diese
Routing Tabelle zu verarbeiten
Prozess um Prozess um diese diese
Routing Routing Tabelle zu Tabelle zu verarbeitenverarbeiten
24
© 2004 Frank W. Ruloffs
Protokolle der Interproviderkommunikation: OSPFProtokolle der Interproviderkommunikation: OSPF
Das Link State KonzeptNach einem initialen Flooding werden lediglich kleine, ereignisgesteuerteLink State Updates zu allen Routern geschickt
TopologischeDatenbank
RoutingTabelleRoutingRoutingTabelleTabelle
Shortest Path First Tree
SPF Algorithmus
25
© 2004 Frank W. Ruloffs
Link State: TopologiebestimmungLink State: Topologiebestimmung
Router kalkulieren den kürzesten Pfad zu einem Ziel parallel
A B CW X Y Z
DLink-State PaketLinkLink--State PaketState Paket
WWXX
0011
Link-State PaketLinkLink--State PaketState Paket
XXYY
0011
Link-State PaketLinkLink--State PaketState Paket
0011
YYZZ
ARoutingTabelle
AARoutingRoutingTabelleTabelle
SPF Tree
Topologie DatenbankTopologie Topologie DatenbankDatenbank SPF
BRoutingTabelle
BBRoutingRoutingTabelleTabelle
SPF Tree
Topologie DatenbankTopologie Topologie DatenbankDatenbank SPF
CRoutingTabelle
CCRoutingRoutingTabelleTabelle
SPF Tree
Topologie DatenbankTopologie Topologie DatenbankDatenbank SPF
26
© 2004 Frank W. Ruloffs
Link State: Link State: TopologieänderungTopologieänderung
Update Prozesse werden aufgrund ein und desselben Link State Updates angestoßen
Änderung in der
Topologie innerhalb eines Link
State Updates
Änderung in Änderung in der der
Topologie Topologie innerhalb innerhalb eines Link eines Link
State State UpdatesUpdates
Prozess um diese Routing
Tabelle zu verarbeiten
Prozess Prozess um diese um diese Routing Routing
Tabelle zu Tabelle zu verarbeitenverarbeiten
C
Prozess um diese Routing
Tabelle zu verarbeiten
Prozess Prozess um diese um diese Routing Routing
Tabelle zu Tabelle zu verarbeitenverarbeiten
B
Prozess um diese Routing
Tabelle zu verarbeiten
Prozess Prozess um diese um diese Routing Routing
Tabelle zu Tabelle zu verarbeitenverarbeiten
A
27
© 2004 Frank W. Ruloffs
Distance Vektor vs. Link Distance Vektor vs. Link statestate
Distance VectorDistance VectorNetztopologien werden aus der Sicht von Nachbarn generiert
Fügt einen Distance Vector pro Router-Hop hinzu
Häufige, wiederkehrende Updates: langsame Konvergenz
Reicht Kopien der Routing Tabelle an Nachbar-Routern weiter
Link StateLink StateErhält eine Gesamtsicht auf die Netztopologie
Kalkuliert den kürzesten Pfad zu anderen Routern
Ereignisgesteuerte Updates: schneller Konvergenz
Reicht Link State Updates zu anderen Routern weiter
28
© 2004 Frank W. Ruloffs
RFC 1771Intelligente Routenwahl basierend auf
– Spezifischstem Prefix– Kürzestem AS Pfad
Unterstützung von Classless Interdomain Routing (CIDR)
Aktueller de facto Standard für das externe Inter-Domain Routing
Interproviderkommunikation: BGP Version 4Interproviderkommunikation: BGP Version 4
29
© 2004 Frank W. Ruloffs
BGP: Generelle FunktionalitätBGP: Generelle Funktionalität
Multihomed
BGP-4 wird verwendet, um RoutingInformationen zwischen AS‘en auszutauschen
Pfad Vektor Protokoll
Das Protokoll arbeitet inkrementierend
Läuft über TCP (Port 179)
Übermittelt Informationen über Pfad Topologien
Lernt mehrere Pfade von internen und externen BGP sprechenden Routern
Durch das Anwenden von ‚Policies‘ kann die Auswahl des besten Pfades beeinflusst werden
30
© 2004 Frank W. Ruloffs
BGP: Finite State BGP: Finite State MachineMachine
31
© 2004 Frank W. Ruloffs
BGP AttributeBGP Attribute
Was ist ein Attribut?
– AS Pfad
– Next Hop
– Local Preference
– MED (Multi Exit Discriminator)
– Community
– ...
Attribute beschreiben die Charakteristik eines bestimmten Prefixes
Transitive und nicht-transitive Attribute
32
© 2004 Frank W. Ruloffs
BGP: AS BGP: AS PathPath AttributAttribut
Ein Pfad ist eine Sequenz von AS‘en, die durchquert werden müssen, um zu einer bestimmten Route zu gelangenDient der Schleifenerkennung (Loop Detection)
AS 500
AS 300
AS 200170.10.0.0/16
AS 400150.10.0.0/16
AS 1000180.10.0.0/16
180.10.0.0/16 300 200 1000170.10.0.0/16 300 200180.10.0.0/16 300 200 1000170.10.0.0/16 300 200
180.10.0.0/16 300 200 1000170.10.0.0/16 300 200150.10.0.0/16 300 400
180.10.0.0/16 300 200 1000170.10.0.0/16 300 200150.10.0.0/16 300 400
33
© 2004 Frank W. Ruloffs
Nächster HOP, um ein Netzwerk zu erreichen
Im eBGP ist der Next-Hopgewöhnlich lokales Netz
Im iBGP ist der Next-HOP gewöhnlich nicht lokal
Für externe Routen ändert sich der Next-Hop beim iBGP Announcement nicht
BGP: BGP: NextNext--Hop Hop AttributAttribut
AS 300AS 200150.10.0.0/16
AS 100160.10.0.0/16
A B
150.10.1.1150.10.1.1 150.10.1.2150.10.1.2
150.10.0.0/16 150.10.1.1150.10.0.0/16 150.10.1.1150.10.0.0/16 150.10.1.1150.10.0.0/16 150.10.1.1
AS 300AS 200150.10.0.0/16
AS 100160.10.0.0/16
A B
150.10.1.1150.10.1.1 150.10.1.2150.10.1.2
150.10.0.0/16 150.10.1.1150.10.0.0/16 150.10.1.1150.10.0.0/16 150.10.1.1150.10.0.0/16 150.10.1.1
C
34
© 2004 Frank W. Ruloffs
BGP:BGP: LocalLocal--PreferencePreference AttributAttribut
Lokal innerhalb des ASWird benutzt, um die BGP Pfadauswahl zu beeinflussenDer Pfad mit der höchsten Local-Preference gewinnt
500500 800800
160.10.0.0/16 500> 160.10.0.0/16 800
160.10.0.0/16 500> 160.10.0.0/16 800
35
© 2004 Frank W. Ruloffs
BGP: MED AttributBGP: MED Attribut
192.68.1.0/24 2000192.68.1.0/24 2000
192.68.1.0/24 1000192.68.1.0/24 1000
Nicht transitives Attribut
Wird genutzt, um die relativen Preferenzen von AS Eintrittspunkten festzulegen
Beeinflusst die Auswahl des besten Pfades
Wird verglichen, wenn Pfade aus demselben AS kommen
IGP kann als MED übermittelt werden
36
© 2004 Frank W. Ruloffs
BGP:BGP: CommunityCommunity AttributAttribut
Transitives, optionales BGP Attribut, RFC1997, RFC1998
Wird genutzt, um Ziele zu gruppieren
Wird als Integer dargestellt
Jeder Prefix kann ein Mitglied mehrerer Communities sein
Community Attribute werden über AS Grenzen hinweg getragen
Wird im Zusammenhang mit Policies verwendet (accept, prefer, redistribute, etc.)
Format – aa:nn– ‚aa‘ – ASN– ‚nn‘ - 1 bis 4.294.901.760
37
© 2004 Frank W. Ruloffs
Beispiel einer RouteBeispiel einer Route
Path 212.6.93.72 from 212.6.119.14 Vector len 4. Val: 1 3*BGP Preference: 170/-1301
Source: 212.6.119.14Next hop: 80.228.21.89 via ge-7/0/2.0, selectedProtocol next hop: 212.6.119.179 Indirect next hop: 8a65840 543State: <Active Int Ext>Local AS: 9145 Peer AS: 9145Age: 3d 1:43:19 Metric: 11 Metric2: 102Task: BGP_9145.212.6.119.14+179Announcement bits (6): 0-KRT 1-RT 4-LDP 5-Aggregate 6-BGP.0.0.0.0+179 7-Resolve inet.0 AS path: ? (Originator) Cluster list: 212.6.119.14AS path: Originator ID: 212.6.119.179Communities: 9145:1300Localpref: 1300Router ID: 212.6.119.14Indirect next hops: 1
Protocol next hop: 212.6.119.179 Metric: 102 Indirect next hop: 8a65840 543Indirect path forwarding next hops: 1
Next hop: 80.228.21.89 via ge-7/0/2.0212.6.119.179/32 Originating RIB: inet.0
Metric: 102 Node path count: 1Forwarding nexthops: 1
Nexthop: 80.228.21.89 via ge-7/0/2.0
38
© 2004 Frank W. Ruloffs
BGP Stabilität: Route BGP Stabilität: Route Flap DampeningFlap Dampening
Route Flap– Ein Pfad wechselt seinen Zustand (up / down)– Änderung eines Attributes eines Prefixes– Bewegt sich durch das gesamte Internet fort– Verbraucht CPU Ressourcen
Ziel von Route Flap Dampening: – Reduzierung der Sichtbarkeit des Route Flaps– Schnelle Konvergenz für normale Routenänderungen– Unterdrückung von oszillierenden Routen– Propergieren von unterdrückten Routen
Mittel: – Penalty, Decay, Half-life Time, Suppress-Limit, Reuse-
Limit
39
© 2004 Frank W. Ruloffs
BGP Stabilität: Route BGP Stabilität: Route Flap Dampening Flap Dampening
Addition einer Penalty für jeden FlapExponentieller verfall der PenaltyPenalty > Suppress-Limit: Route nicht propagierenPenalty < Reuse-Limit: Route propagierenWird nur für externe Pfade verwendetAlternative Pfade bleiben erhaltenKontrolle über die Parameter Suppress-Limit, Reuse-Limit und Half-Time
Bewirkt eine Reduktion des Over-heads
Suppress-LimitSuppress-Limit
Reuse-LimitReuse-Limit
40
© 2004 Frank W. Ruloffs
ENDEVielen Dank für die Aufmerksamkeit.