ex-wiki.anonet.at
- Details
- Zugriffe: 31
IPv6
aus ANOther Wiki, der freien Wissensdatenbank
IPv6 Features
IPv6 ist eine mächtige Weiterentwicklung von IPv4. Einige Features in v6 sind wirkliche Verbesserungen:
- größerer Adressbereich:
- globale Erreichbarkeit und flexibilität
- Multihoming
- Aggregation
- Autokonfiguration
- plug-and-play
- End-zu-End-Verbindung ohne NAT
- Renumbering
- einfacherer Header
- erhöht die Routingeffizienz
- keine Broadcasts, daher auch keine Storms
- keine Checksummen
- Extentionheaders
- Flow-Labels
erweiterte Features
- Mobilität und Sicherheit:
- Mobile IP ist ein IETF-Standard, der für IPv4 und IPv6 verfügbar ist. Dieser Standard erlaubt mobilen Geräten, zwischen Netzwerkknoten ohne Unterbrechungen zu wechseln. Da IPv4 diesen Standard nicht implementiert hatte, muss diese Funktionalität händisch nachkonfiguriert werden. in IPv6 ist dieser Standard bereits enthalten.
- IPsec ist der IETF-Standard für IP Netzwerksecurity, für IPv4 und IPv6. IPsec ist auf allen v6-Knoten verfügbar.
- Überleitungen v4 vs v6: es gibt zwei Arten, damit v4 mit v6-Features arbeiten kann
- eine Möglichkeit ist ein Dual-Stack mit v4 und v6, der auf einem Interface eines Netzwerkdevices läuft
- die andere Technik - "IPv6 over IPv4" oder "4to6 tunneling" - verwendet einen IPv4-Tunnel für IPv6-Verkehr. Dies wird in http://www.faqs.org/rfcs/rfc3056.html">RFC 3056 beschrieben, die das ältere Tunnel-Verfahren in http://www.faqs.org/rfcs/rfc2893.html">RFC 2893 abgelöst hat. Cisco-IOS 12.3(T) und neuer unterstützen auch NAT-PT zwische IPv6 und IPv4. Dieses erlaubt die direkte Kommunikatin zwischen Hosts, die verschiedene Protokolle sprechen
größerer Adressbereich
- IPv4: 32 Bit/4 Byte;
- rund 4.200.000.000 mögliche adressierbate Knoten
- IPv6: 128 Bit/16 Byte;
- ~3,4*10^38 mögliche adressierbate Knoten
- ~340.282.366.920.038.463.374.607.432.768.211.456
- ~ 5*10^28 Adressen pro Person
Mehr Informationen über die IPv6-Adressierungsderails liefert http://www.faqs.org/rfcs/rfc3513.html">RFC 3513
Definieren von IPv6 Adressen
Beschreiben der IPv6-Adressierungsarchitur
Der IPv4-Header besteht aus 12 Basic-Headerfeldern, gefolgt von einem Optionsfeld. Der Basic-IPv4-Header hat eine fixe Größe von 20 Oktetts. Das variable Otionenfeld erhöht die Größe. IPv6 hingegen hat nur 5 der 12 IPv4-Basicheaderfields. Die anderen sieben werden nicht benötigt.
Router handeln die Fragmentierung in IPv4. IPv6-Router hingegen müssen dies nicht mehr tun. Stattdessen wird in einem Discoveryprozess die optimale MTU für jede Session bestimmt.
In diesem Prozess sendet die Source ein Paket, dessen Größe von einer höheren IP-Schicht (z.B. Transport- und Anwendungsschicht) festgelegt wird.
Wenn die Quelle ein "ICMP-Paket zu groß" erhält, wird die MTU so lange verringert, bis diese Meldung nicht mehr kommt und das PAket zugestellt wird. Diese MTU gilt für die Session.
Dieses Verfahren passiert alle fünf Minuten, da sich unter Umständen die Route zum Ziel und somit die maximale MTU verändert haben könnte
Vergleich der Header: IPv4 vs. IPv6
Der v6-Header besteht aus 40 Oktetts, während der von v4 aus 20 Oktetts besteht. Das Adressenfeld von v6 ist viermal so groß als das des Vorgängers.
Felder des IPv6-Headers
- Version: ein 4-bit-Feld, wie in IPv4. Es beinhaltet die Zahl 6 anstatt der 4 bei IPv4
- Traffic Class: ein 8-bit-Feld, wie das Type of Service (ToS)-Feld. Es bezeichnet das PAket mit einer Trafficclass, dass es unterschiedliche Services verwendet.
- Flow Level: ein komplett neues 20-bit-Feld. Es bezeichnet den Fluss der IP-Pakete. Dies kann für Multilayerswitching und schnellere Packetswitching-Performance verwendet werden.
- Payload Length: wie das Total Length Field in IPv4
- Next Header: Der Wert dieses Feldes bestimmt den Typ Informationen, der dem Basic-IPv6-Header folgt. Das kann ein Transportschicht-Paket sein wie TCP/UDP, oder ein Erweiterungsheader
- Hop Limit: Hier wird die maximale Lebensdauer des Paketes angegeben, wie die ttl in IPv4. Da in v6 keine checksum vorhanden ist, kann der Router den Wert einfach um 1 verringern, und muss nicht, wie in v4, die werte neu berechnen, was Zeit spart
- Source Address: dieses Feld hat 16 Oktetts bzw 128 bits, es identifiziert die Quelle des Paketes
- Destination Address: dieses Feld hat 16 Oktetts bzw 128 bits, es identifiziert das Ziel des Paketes
- Extention Headers: er, wenn vorhanden, und die Nutzlast folgen den acht Feldern. Die Anzahl der Erweiterungsheaders ist nicht festgelegt.
IPv6 Extention Headers
Es existieren verschiedene Arten von Extention Headers. Wenn mehrere Erweiterungen verwendet werden, solten sie in dieser Reihenfolge angehängt werden:
- IPv6-Header
- Hop-by-hop option header
- Destination option header (wenn der routing-header verwendet wird)
- Routing header
- Fragment header
- Authentication header and Encapsulation Security Payload header
- Upper-layer header
Adressdarstellung
Format:
x:x:x:x:x:x:x:x
wobei x für ein 16bit-HEX-Feld steht
2031:0:130F:0:0:9C0:876A:130B
Führende 0 in einem Feld sind optional, sie können weggelassen werden
Ein Feld, welches nur aus "0" besteht, kann einmalig pro Adresse weggelassen werden:
2031:0000:130F:0000:0000:9C0:876A:130B 2031:0:130F::9C0:876A:130B
das sind erlaubte Schreibweisen. Nicht erlaubt hingegen ist
2031::130F::9C0:876A:130B
Weiters sind gültig:
FF01:0:0:0:0:0:0:1 --> FF01::1
0:0:0:0:0:0:0:1 --> ::1
0:0:0:0:0:0:0:0 --> ::
IPv6 Adresstypen
IPv6 verwendet drei Adresstypen:
- Unicast
- Adressen für ein einzelnes Interface
- IPv6 hat hier verschiedene Typen, wie z.B. global und IPv4 mapped
- Multicast
- One-to-many
- erlaubt eine effizientere Nutzung des Netzwerks
- verwendet einen größeren Adressbereich
- Anycast
- One-to-nearest
- verscheidene Devices teilen eine Adresse
- alle anycast-Nodes sollten den Uniform-Service unterstützen
- Sourcedevice senden Pakete zu Anycast-Adressen
- kann für Lastverteilung verwendet werden
Broadcasts in IPv4 brachten einige Probleme, welche unter "Broadcast Storm" bekannt waren
IPv6 kennt keine Broadcasts. Sie wurden durch Multicasts und Anycasts ersetzt. Multicasts erlauben eine effiziente Netzwerknutzung durch die Verwendung von Multicastgruppen. So werden Requests gezelt an eine beschränkte Anzahl von Hosts gesendet. So sind die meisten durch Broadcasts verursachten Probleme hinfällig
Der Bereich von Multicastadressen ist in IPv6 größer als beim Vorgänger. In absehbarer Zukunft ist keine Beschränkung geplant
IPv6 definiert auch eine neue Art Adressen, Anycast. Eine Anycast-Adresse identifiziert eine Anzahl von Devices oder Nodes, folglich bezeichnen Anycast-Adressen mehrere Interfaces. Ein Paket, welches an eine Anycast-adresse gesendet wird, erreicht das näheste Interface.
Anycastadressen sind syntaktisch nicht von Unicastadressen zu unterscheiden, denn sie stammen aus dem selben Adressbereich.
Allerdings dürden Anycastadressen keine Quellen von IPv6-Paketen sein
Uni- und Anycastadressen stammen aus dem gleichen Adressbereich. Devices, die nicht für Anycast konfiguriert wurden, verwenden sie auch als Unicast.
Wenn eine Unicast-Adresse auf mehreren Interfaces konfiguriert wird, wird sie zu einer Anycast-Adresse. Allerdings müssen die Nodes, auf denen die Anycast-Adresse konfiguriert wird, explizit dafür konfiguriert werden, dass sie auch auf diese Adresse hören.
Ein Paket, welches an eine Anycast-Adresse gesendet wird, wandert zum nächsten Interface, das diese Adresse hat. Der Sender schickt das PAket, mit der Anycast-Adresse als Ziel, auf die Reise.
IPv6 Unicast Adressierung
- IPv6 Adressierungsregeln sind in verschiedenen RFCs beschrieben
- die Architektur in http://www.faqs.org/rfcs/rfc4291.html">RFC 4291
- Unicast: One to one
- Global
- Link local (FE80::/10)
- ein einzelnes Interface kann mehrere IPv6 Adressen jeden Typs haben: unicast, anycast oder multicast
Die IPv6 global-unicast-address ist das equvalent zur IPv4-global-unicast-address. Die Struktur der globalen Unicastadressen ermöglicht das Zusammenfassen von Routen und verringert somit die globalen Routingtabellen.
Globale Unicastadressen werden definiert von einem globalen Teil (global routing prefix), einer subnet-ID, und einer Interface-ID. der IPv6-Unicast-Adressbereich umfasst den gesamten IPv6-Adressbereich, mit der Ausnahme von FF00::/8 (1111 1111), dieser Bereich wird für Multicastadressen verwendet.
Die globale Unicastadresse besteht in der Regel aus einem 48bit global-routing-prefix und einer 16bit Subnet-ID. In der mittlerweile überholten http://www.faqs.org/rfcs/rfc2374.html">RFC 2374 fand man in diesem Feld den Top-Level-Aggregator und de Next-Level-Aggregtor. Diese wurden allerdings von der IETF entfernt. Das 16-bit Subnet-Feld kann von Unternehmen für ihre Subnetze genutzt werden. So können 65535 Subnetze gebaut werden. (http://www.faqs.org/rfcs/rfc2374.html">RFC 2374 wurde durch http://www.faqs.org/rfcs/rfc3587.html">RFC 3587 ersetzt)
Implementieren von dynamischen IPv6-Adressen
Definieren von Host Interface Adressen
Verwenden vom EUI-64 Format bei IPv6 Adrssen
Der 64bit Interfaceidentifier in einer IPv6-Adresse wird verwendet, um ein Interface auf einem Link eindeutig zu identifizieren. Ein Link ist ein Netzwerkmedium, über dieses Netzwerknodes via des Link-Layers kommunizieren. Der Interfaceidentifier kann auch über die Netzwerkgrenzen hinaus einzigartig sein. In vielen Fällen basiert der Interfaceidentifier auf der MAC-Adresse. Wie in v4 wird der Subnetprefix in v6 mit einem Link assoziiert
Interfaceidentifier, welche in globalen Unicast- und anderen IPv6-Adresstypen verwendet werden, müssen 64bit lang sein, und nach dem EUI(Extendet Universal Identifier)-64-Format aufgebaut sein. Die EUI-64 Interface ID wird aus der 48bit-MAC-Adresse abgeletet, indem die hex-Nummer FFFE zwischen Byte 3 und 4 eingefügt wird.
IPv6 Multicast
Eine Multicastadresse steht für eine Gruppe von Interfaces. Traffic, der an eine Multicastadresse gesendet wird, wandert gleichzeitig zu den verschiedenen Zielen. Ein Interface kann verschiedenen Multicast-Gruppen angehören. Multicast ist bei IPv6 sehr wichtig, es der Kern für viele IPv6-Anwendungen ist
- IPv6-Multicastadressen werden durch den Prefix FF00::/8 definiert. Das zweite Oktett definiert die Lebenszeut (Flag) und den Bereich der Multicastadresse
- Flag auf 0 steht für eine permanente oder well-known Multicastadresse
- 1 für den Scope des Interfaces-->Loopback
- 2 für den Link-Scope
- 3 für subnet-local scope
- 4 für adminlocal-scope
- 5 für site scope
- 8 für organizational scope (multiple sites)
- E für global scope
- so wäre eine Adresse, die mit FF02::/16 beginnt, eine permanente Multicastadresse mit einem link-local scope
- die Multicast-Gruppen-ID besteht aus den niedrigen 112 bits der Multicastadresse
- Multicast wird in IPv6 häufig verwendet. Es ersetzt den Broadcast
- es existiert kein ttl-Feld in IPv6-Multicast.
Beispiele
Der Multicastbereich von FF00 bis FF0F ist reserviert. Einige Adressen aus diesem Bereich:
- FF02::1 - Alle Nodes auf diesem Link
- FF02::2 - Alle Router auf diesem Link
- FF02::9 - Alle RIP-Router auf diesem Link
- FF05::101 - Alle NTP Server in dieser Site
Anycast
Eine IPv6-Anycast-Adresse ist eine global Unicastadresse, die mehr als einem Interfave zugeordnet ist. Wird ein Paket zu einer Anycastadresse gesendet, wirt es zum "nächsten" Interface geroutet, welches diese Adresse konfiguriert hat. Im WAN-Bereich wird die "Entfernung" von den Routingprotokollen bzw. deren Metrik bestimmet. ==Charakteristik von Anycast
- Anycastadressen kommen aus dem Unicast-Adressbereich, daher sind sie von Unicastadressen nicht zu unterscheiden. Wenn sie einem Knoten zugewiesen werden, muss dieser explizit für die Verwendung der Anycastadresse konfiguriert werden
- Die Idee der Anycastadressen wurde schon 1993 geboren.
- derzeit gibt es wenig Erfahrung für die Verbreitung der Anycast-Usage. Einige Anycastadressen sind derzeit in Verwendung: der Router-Subnet-Anycast und der Moble IPv6 Homeagent Anycast
- eine Anycastadresse darf nicht als Quelladresse eines IPv6-PAketes verwendet werden
Zustandslose Autokonfig
Ein Router am lokalen Link kann Netzwerkinformationen senden, wie z.B. den Prefix des lokalen Link-Netzwerks und den Standardgateway. Er sendet diese Informationen zuallen Knoten im Link. Ein Host kann sich selbst konfigurieren, indem er den IPv6-Interfaceidentifier (64bit) der lokalen Link-Prefix (64bit) anfügt. Dadurch entsteht eine volle 128bit-Adresse, die verwendbar und global einzigartig ist.
IPv6 Mobolität
Mobile IPv6-Modell
IPv6-Mobility unterscheidet sich von der IPv4-Mobilty in einigen Punkten:
- der IPv6-Adressbereich erlaubt die Verwendung in allen großen Umgebungen
- durch den enormen Adressbereich werden frühere Agents nicht mehr benötigt. Infrastruktur miss nicht upgegradet werden, um Mobile IPv6-Knotzn zu akzeptieren, so kann das Care-Of-Address (CoA) eine routbare globale IPv6-Adresse sein, für alle mobilen Knoten
- der Mobile IPv6-Modell übernimmt auch einige Features des IPv6-Protokolls, so zB. den Optionheader, Neighbor-discovery und die Autokonfig
Verwendung von IPv6 mit OSPF und anderen Routingprotokollen
Beschreiben von IPv6-Routing
- IPv6 Routingtypen
- static
- RIPng (http://www.faqs.org/rfcs/rfc2080.html">RFC 2080)
- OSPFv3 (http://www.faqs.org/rfcs/rfc2740.html">RFC 2740)
- IS-IS für IPv6
- MP-BGP (http://www.faqs.org/rfcs/rfc2545.html">RFC 2545, http://www.faqs.org/rfcs/rfc2858.html">RFC 2858)
- EIGMP für IPv6
Während IPv4 classless interdomainrouting (CIDR) verwendet, verwendet IPv6 longest-prefix-match-routing. Neuere Routingprotokolle können die längeren IPv6-Adressen und die unterschiedlichen Headerstrukturen handeln. Derzeit sind dies die Protokolle aus der obrigen Aufzählung
Static-Routing wird in IPv6 gleich verwendet und konfiguriert wie in IPv4. Eine IPv6-spezifische Anforderung wird in http://www.faqs.org/rfcs/rfc2461.html">RFC 2461 beschrieben. Diese Anforderung besagt, dass die Verwendung einer globalen Unicastadresse als Next-Hop-Adresse nicht empfohlen wird
Das Cisco-IOS globale Kommando für IPv6 ist ipv6 unicast routing
RIPng
gleich zu IPv4:
- Distance Vector, 15 Hops und Poison Reverse
- basiert auf RIPv2
updates für IPv6
- IPv6 Prefix, next hop IPv6-Adresse
- verwendet IPv6 für den Transport
- verwendet die Multicast-Gruppe FF02::9, die Multicastadersse aller RIP-Router, als Zieladresse für RIP-Updates. Verwendet wird das Port UDP/521
OSPFv3 (http://www.faqs.org/rfcs/rfc2740.html">RFC 2740)
gleich zu IPv6
- gleicher Mechanismus, aber die Internals des Protokolls wurden grundlegend überarbeitet
Updates für IPv6
- jede IPv4-spetzifische Semantik wurde entfernt
- kennt IPv6-Adressen
- Link-Lokale Adressen werden als Quelle verwendet
- IPv6-Transport
- es wurde ein Antrag bzgl. IETF-Standard gestellt
Die Protokollimplementierung für IPv6 inkludiert folgende CHarakteristiken:
- basiert auf OSPFv2, mit Erweiterungen
- verteilt IPv6-Prefixe
- rennt direkt auf IPv6
- operiert als "Schiff in der Nacht" mit OSPFv2
Diese Implementierung beinhaltet folgende IPv6-spezifischen Attribute:
- 128bit-Adressen
- Link-Local Adressen
- Mehrere Adressen und Instanzen auf jedem Interface
- Authentikation (jetzt IPsec)
- OSPFv3 läuft auf einem Link statt in einem Subnet
Integrated ISIS
- gleich wie für IPv4
- Erweiterungen für IPv6:
- zwei neue Type, Length Valute (TLV) Attribute
- IPv6-Erreichbarkeit (mit 128bit-Prefix)
- IPv6 Interfaveadresse (mit 128bits)
- neue Protokoll-ID
- noch kein IETF-Standard
- zwei neue Type, Length Valute (TLV) Attribute
Multiprotocol Border Gateway Protocol (MP-BGP)(http://www.faqs.org/rfcs/rfc2858.html">RFC 2858)
Multiprotokollerweiterungen für BGP4:
- erlaubt Protokolle ausser IPv4
- neue ID für die Adressfamilie
IPv6-spezifische Erweiterungen
- scoped address: NEXT_HOP beinhaltet eine globale IPv6-Adresse und möglicherweise eine Link-lokal Adresse
- NEXT_HOP und NLRI (Network Layer Reachability Information) werden als IPv6-Adressen und Prefix in den Multiprotokollattributen ausgedrückt
Um BGP4 fit für andere Routingprotokolle zu machen, wurden in http://www.faqs.org/rfcs/rfc2858.html">RFC 2858 (obsolent: http://www.faqs.org/rfcs/rfc2283.html">RFC 2283) Multiprotokollerweiterungen definiert. Durch diese Erweiterungen wird nun IPv6 unterstützt, aber auch MPLS
OSPF und IPv6
Funktionsweise OSPF mit IPv6
OSPF ist ein Routingprotokoll für IP. Es ist ein Link-State-Protokoll, im Unterschied zu einem Distance-Vector-Protokoll. Ein Link-State-Protokoll trifft seine Routingentscheidungen basierend auf dem Status der Links, welche auf den Source- und Destination-Maschinen connnected sind
Der Status eines Links ist die Beschreibung des Interfaces und des Verhältnisses zu den Nachbardevices. Die Interfaceinformation inkludiert den IPv6-Prefix des Interfaces, die Netzwerkmaske, den Type des verbundenen Netzwerks usw.
Diese Informationen werden mit verschiedenen LSAs verteilt. Eine Sammlung der LSA-Daten auf einem Router wird in einer LSDB gespeichert. Der Inhalt dieser Datenbank wird in Verbindung mit dem Dijkstra-Algorithmus die Routingtabelle...
OSPFv3, beschrieben in http://www.faqs.org/rfcs/rfc2740.html">RFC 2740, unterstützt IPv6
Vergleich OSPF v3 vs. OSPF v2
- OSPFv3 ist OSPF für IPv6 (http://www.faqs.org/rfcs/rfc2740.html">RFC 2740)
- basiert auf OSPFv2, mit Erweiterungen
- verteilt IPv6-Prefixe
- läuft direkt auf IPv6
- OSPFv3 und v2 können gleichzeitig verwendet werden, da jede Adressfamilie einen eigenen SPF hat (Ships in the night)
- OSPFv3 verwendet die gleichen Basicpakete wie v2:
- Hello
- Database Description (DBD)
- Link State Request (LSR)
- Link State Update (LSU)
- Link State Acknowledgment (LSA)
Ebenso ist der Mechanismus für die NAchbarschaftserkundung und die Formung von Verbindungen gleich. Weiters sind LSA-Flooding und Aging bei v2 und v3 gleich
OSPFv3 wurde der IETF als Standard vorgeschlagen.
Unterschiede
OSPFv3 aubeitet auf Link- nicht auf Subnetbasis
- IPv verbindet Interfaces mit Links
- mehrere IPv6-Subnets können einem Link zugeteilt sein
- zwei Nodes können direkt über einen Link sprechen, auch wenn sie nicht im gleichen Subnet sind
- die Begriffe (Netzwerk" und "Subnet" wurden durch "Link" ersetzt
- ein OSPF-Interface verbindet nun also Links statt Subnetze
OSPFv3 verwendet link-lokale Adressen um die Nachbarn zu identifizieren
Mehrere OSPFv3-Instanzen können auf einem einzelnen Link laufen
- die Struktur erlaubt verschiedene AS, die jeweils OSPF verwenden, auf einem einem gemeinsamen Link zu agieren. Ein einzelner Link kann also zu mehreren Areas gehören
- ein neues Feld ist die Instance-ID. Sie wird eben für diese Funktion, mehrere AS auf einem Link, be
nötigt
Weitere Unterschiede:
- Multicast Adressen:
- FF02::5 repräsenteirt alle SPF-Router am Local-Link-Scope, wie 224.0.0.5 in OSPFv2
- FF02::6 repräsentiert alle DRs am link-lokalen Scope, wie 224.0.0.6 in OSPFv2
- Entfernen der Adresssematik
- IPv6-Adressen sind nicht mehr present im OSPF-Paketheader. Sie sind ein Teil der Payload
- Router- und Netzwerk-LSA tragen keine IPv6-Adressen
- RouterID, AreaID linkstate-ID bleiben bei 32bit
- DR und BDR werden nun anhand deren RouterID identifiziert, nicht mehr nach der IP
- Sicherheit
- OSPF verwendet nun AH und ESP
LSA-Typen für IPv6
| LSA Funktionscode | SA Typ | |
|---|---|---|
| Router LSA | 1 | 0x2001 |
| Network LSA | 2 | 0x2002 |
| Interarea Prefix LSA | 3 | 0x2003 |
| Interarea Router LSA | 4 | 0x2004 |
| AS external LSA | 5 | 0x2005 |
| Group membership LSA | 6 | 0x2006 |
| Typ 7 LSA | 7 | 0x2007 |
| Link LSA | 8 | 0x2008 |
| Intra-Area prefix LSA | 9 | 0x2009 |
LSAs
Die OSPFv3-LSA-Features inkludieren das Folgende:
- Die LSA wird gebildet aus der RouterID, der AreaID, und der LinkstateID. Sie sind jeweils 32bit groß, und werden nicht von der IPv4-Adresse abgeleitet
- RouterLSA und NetzwerkLSA beinhalten nur 32bit IDs. Sie beinhalten keine Adresen
- LSA haben flooding-scopes, diese definieren den Bereich, in den sie gefloodet werden sollen:
- Link Local: floodet alle Router in diesem Link
- Area: floodet alle Router in der OSPF-Area
- AS: floodet alle Router im gesamten OSPF-AS
- OSPFv3 unterstützt das forwarden von unbekannten LSAs, basierend auf den Floodingscopes. Dies kann bei NSSA hilfreich sein
- OSPFv3 zieht Vorteile aus dem IPv6 Multicast; FF02::5 für alle OSPF-Router und FF02::6 für DR und BDR
Die beiden umbenannten LSAs sind:
- Interarea Prefix LSAs for Area Border Routers (ABRs)(type3)
- Interarea Router LSAs for Autonomous System Boundary Routers (ASBRs)(type4)
Die beiden neuen LSAs sind
- Link LSA (type8)
- Intra-area prefix LSAs(type9)
Adress Prefix
Ein Adresspredix tritt in fast allen neu definierten LSAs auf. Es wird repräsentiert von von drei Feldern: Prefixlänge, Prefix-Optionen und Adressprefix. In OSPFv3 wird für diese LSAs prefix, prefix-length statt adresse, mask verwendet
Die Default-Route wird ausgedrückt mit einer Prefixlänge von 0
Type3 und Type9-LSAs tragen alle IPv6-Prefixinformationen, welche in IPv4 in der Router-LSA und in der Netzwerk-LSA enthalten sind
Einführung OSPFv3 Konfiguration
Konfiguration von OSPFv3 im Cisco-IOS
ipv6 unicast-routing ! ipv6 router ospf 1 Router-ID 2.2.2.2
Aktivieren von OSPFv3 an einem Interface
interface Ethernet0/0 ipv6 address 3FFE:FFFF:1::1/64 ipv6 ospf 1 area 1 ipv6 ospf priority 0 ipv6 ospf cost 20
Cisco-IOS OSPF3-Spezifische Atribute
- konfigurieren der Area-range:
- area [areaID] range [prefix/prefix length {advertise|not advertise}] [cost {cost}]
- anzeigen neuer LSAs
- show ipv6 ospf [prozess-id] database link
- show ipv6 ospf [prozess-id] database prefix
Definieren einer OSPF IPv6 Area Range
Um Summaries zu erstellen ist
area [areaID] range [prefix/prefix length {advertise|not advertise}] [cost {cost}]
der richtige Befehl. Ein Beispiel
ANOnet(config)#ipv6 router ospf 1 ANOnet(config-rtr)#area 1 range 2001:0DB8::/48
Die Kosten für eine summarizierte Route sind die der höchsten einzelnen.
Überprüfen von OSPFv3
- sh ipv6 ospf [prozessID] [areaID] [Interface]
- sh ipv6 ospf
- sh ipv6 ospf neighbor detail
- sh ipv6 ospf database
- sh ipv6 ospf database-summary
Verwenden von IPv6 mit IPv4
Beschreiben des IPv6-zu-IPv4 Übergangsmechanismus
Der Übergang von IPv4 bedeutet nicht, dass alle Knoten zur selben Zeit umgestellt werden müssen. Viele Übergangsmechanismen stellen einen reibungslosen Übergang sicher. Andere Mechanismen, als das bloße Kommunizieren von IPv4 und IPv6-Netzen sind verfügbar. Und alle dieser Mechanismen gehören zu verschiedenen Situationen
Di beiden gebräuchlichsten Techniken sind
- Dual stack
- IPv6-over-IPv4-Tunnel (6to4)
Die 6to4-Router verkapseln den IPv6-Verlehr in IPv4-Pakete
Dual Stack
Cisco-IOS sind bereit für IPv6. Sobald die Grundkonfiguration an einem Interface ersteltl worden ist, kann schon IPv6-Verkehr neben dem IPv4-Verkehr verarbeitet werden. Die v6-Adrsse wird direkt am Interface angegeben:
interface ethernet0 ip address 192.168.99.1 255.255.255.0 ipv6 address 3ffe:b00:800:1::3/127
Dual Stack ist eine Integrationsmethode, wo ein Knoten eine Implementierung und eine Verbindung fpr v4 und v6-Netze hat, und dieser Node beide Stacks spricht. Diese Konfiguration kann auf einem gemeinsamen oder auf verschiedenen Interfaces vorgenommen werden
- ein Dual-Node wählt den Stack gemäß der Zieladresse. Wenn verfügbar sollte er IPv6 bevorzugt verwenden. Hier laufen die alten Knoten und Anwendungen weiter auf IPv4, neuere Devices hingegen können mit IPv6 implementiert werden
6to4-Tunnel
Diese Methode kann verwendet werden, wenn zwei durch eine WAN-Strecke getrennte LANs bereits auf v6 arbeiten, die WAN-Strecke allerdings noch mit IPv4 betrieben wird. Hier wird das IPv6-Paket in ein eigenes IP-Protokoll verkapselt, Protokoll 41
Bei der manuellen Konfiguration werden beide Adressen an beiden Nodes statisch vergeben. Dei Router an sich müssen beides, v4 und v6 verstehen und sprechen
Konfigurationsbeispiel
router1# interface Tunnel0 ipv6 address 2001:db8:1::1/64 tunnel source 192.168.2.1 tunnel destination 192.168.0.1 tunnel mode ipv6ip
Router2 wäre gegengleich zu konfigurieren
Beschreiben von IPv6-over-IPv4-Tunneling Mechanismus und IPv4-Adressen im IPv6-Format
Das 6to4-Tunneling stellt automatisch eine Verbindung zwischen zwei IPv6-Inseln über ein IPv4-Netz her.
6to4-Tunneling setzt einen Spzial-Code an den Edgeroutern voraus. Jede 6to4-Site empfängt ein /48 Präfix, welche eine Verkettung von 0x2002 und der IPv4-Adresse des Eggerouters ist.
Wenn zum Beispiel die IPv4-Adresse eines Edgerouzers 192.168.99-1 ist, wäre das Prefix des IPv6-Netzes 2002:c0a8:6301::/48, denn c08a6301 ist hex für 192.168.99.1
Wenn ein IPv6-Paket mit der Zieladresse 2002::/16 einen 6to4-Edgerouter erreicht, extrahiert der Edgerouter die in der 2002-Zieladresse versteckte IPv4-Adresse. Der Router verkapselt dann die V6-Nachricht in ein v4-Paket und sendet es an den anderen Edge, dieser verfährt umgekehrt
NAT-PT
NAT-PT ist ein Übersetzungsmechanismus zwischen einem IPv4 und einem IPv6-Netzes. NAT handelt die IP-Adressübersetzung. NAT-PT-Übersetzungen können auch dynamisch gemapped werden, basierend auf DNS-Queries und einem DNS-Application Level Gateway (DNS ALG).
Andere mögliche Lösungen:
- ALG: Diese MEthode nutzt eine Dual-Stack-Methode und erlaubt einem Host in einer reinen IPv6-Domain, Daten zu einem anderen Host in eine reinen IPv4-Domain zu senden. Dies setzt allerdings voraus, dass alle Applicationserver an einem Gateway IPv6 beherrschen
- API
- Details
- Zugriffe: 32
BGP
aus ANOther Wiki, der freien Wissensdatenbank
Inhaltsverzeichnis |
BGP Routing zwischen AS
Ein Hauptziel von BGP ist, ein Interdomain-Routing zu bieten, welches loopfreies Routenaustauschen zwischen verschiedenen AS ermöglicht
BGP4 ist hierbei die aktuellste BGP-Version. Ws wird verwendet, um ISPs untereinander bzw mit deren Kunden zu verbinden
BGP4 unterstützt VLSM und CIDR, die Vorgänger allerdings nicht. Daher sollten diese auch nicht mehr verwendet werden.
Wenn CIDR von großen ISPs verwendet wird, besteht die Routingtabelle aus mehr als 170.000 Blöcken. Ohne CIDR würden sich in der Tabelle mehr als 2.000.000 Einträge befinden
AS-Nummern bestehen aus 16 bit. Hier werden 1-64511 für öffentliche AS verwendet, 64512 bis 65535 sind für private Zwecke reserviert (http://www.faqs.org/rfcs/rfc1930.html">RFC 1930)
Vergleich mit IGP
IGPs legen Wert auf schnelle Wege zu den jeweiligen Zielen, sei es durch Hopcounts (RIP) oder Bandbreite (EIGRP)
BGP tut dies nicht. Es ist ein policybasierendes Routingprotokoll (PBR), das AS erlaubt, den Verkehr über verschiedene BGP-Pfadattribute zu steuern
BGP-Nachrichtentypen
In BGP sind folgende Typen definiert
- OPEN: beinhaltet die folgenden Informationen
- die Versionsnummer
- die AS-Nummer
- den Hold-Down-Timer
- die BGP-Router ID
- und weitere - optionale - Parameter
- KEEPAKIVE MESSAGE
- UPDATE MESSAGE: eine BGP-Update-Macricht beinhaltet nur einen Pfad. Mehrere Pfade haben mehrere Update-Nachrichten zur Folge. Eine Update-Nachricht kann folgende Felder enthalten
- withdrawn routes
- path attributes
- network layer reachability informations
- NOTIFICATION MESSAGE: sie wird gesendet, wenn ein Fehler erkannt wird. Die BGP-Verbindung wird unmittelbar nach dem Senden der Nachricht abgebrochen
EBGP und IBGP
BGP Nachbarschaften
Ein BGP-Router wird auch als BGP speaker bezeichnet. Formt ein BGP-Speaker eine Nachbarschaft mit anderen Speakern, werden diese als BGP-peers bezeichnet. Da sich im Internet in den über 21000 AS zigtausend BGP-Speaker befinden, kann ein Router nur eine gewisse Anzahl an Nachbarschaften herstellen.
Herstellen von EBGP-Nacharschaften
Ein EBGP-Peer ist ein Router ausserhalb des eigenen AS; zwischen den NAchbarn ist kein IGP konfiguriert. Damit diese Nachbarn Routenupdates austauschen können, was mittels TCP passiert, muss die IP, die im BGP-neighbor-command angegeben wurde, erreichbar sein. Per default sind ENGP-Router direkt miteinander verbunden
Herstellen von IBGP-Nachbarschaften
IBRP-Router befinden sich in einer AS. Sie müssen nicht direkt verbunden sein, solange sie die Sessions via TCP herstellen können. So können IBRP-Router auch mittels statischen Routen oder einem internen Routingprotokoll verbunden sein. Da in einem AS im Allgemeinen mehrere Wege zum Ziel führen, wird eine Loopback-IP generiert und diese im BGP-neighbor-command verwendet, um die Sessions herzustellen
IBGP auf Routern der Transitpfade
IBGP in einem Transit-AS
Wenn Verkehr durch eine AS geroutet werden muss, stehen zwei Möglichkeiten zur Verfügung
- Redistributieren der BGP-Routen in ein IGP
- einsetzen von IBGP im AS
da das Internet aus relativ vielen Hosts besteht, diese sich in vielen Netzen befinden, und diese sich in riesigen Routingtabellen wiederfinden würden ist 1. nur eine theoretische Möglichkeit
IBGP in einem Nicht-Transit-AS
Sollte ein Unternehmen als Sicherheit an zwei AS verschiedener ISP angeschlossen sein (multihoming), ist es nicht erwünscht, dass ISP1 den Verkehr zu ISP2 über das AS des Kunden leitet.
Da die Entwicler von BGP nicht davon ausgehen konnten, dass alle Router in einem AS BGP-Speaker sind, musste eine Methode gefunden werden, dass alle JBGP-Router miteinander sprechen können, und Routingloops verhindert werden.
Um Loops zu verhindern wurde definiert, dass eine Route, die via IBGP gelernt wurde, nicht über IBGP weiterverbreitet wird.
Konfiguration
Einleiten der Konfiguration
Router(config)# router bgp [AS-Nummer]
- damit wird in den "globalen Konfigurationsmodus" von BGP gewechselt, um BGP zu aktivieren müssen weitere Subkommandos abgesetzt werden
Aktivieren einer BGP-Session
Router(config-router)# neighbor {IP-Adresse|peer-group-name} remote-as [AS]
- das neighbor-Kommando startet eine BGP-Sesipn mit dem Nachbarn
- die IP-Adresse, die angegeben wird, ist die Zieladresse des Nachbarn, an den die BGP-Pakete gehen sollen
- damit eine NAchbarschaftsbeziehung hergestellt werden kann, muss der Router einen IP-Pfad zum künftigen Nachbarn haben
- mit "remote-as" wird deiniert, ob es sich um IBGP [AS ist gleich] oder EBGP [AS unterscheidet sich vom Globalen Konfigmodus] handelt
- daher gilt dieses Kommando für beide BGP-Varianten
Dieses Kommando ist obligatorisch für die Nachbarschaftsbildung
Abschalten eines BGP-Nachbarn
Router(config-router)# neighbor {IP-Adresse|peer-group-name} shutdown
- wird verwendet, um Nachbarn administrativ ausser kraft zu setzen
- wird mit "no" wieder eingeschalten
BGP-Nachbar update-source-Kommando
Router(config-router)# neighbor {IP-Adresse|peer-group-name} update-source interface-type interface-number
- hier wird dem BGP-Prozess eine IP eines Interfacs zur Verfügung gestellt, die als Quell-IP für Updates an die jeweiligen Nachbarn verwendet wird
- in der REgel wird hierfür ein Loopback-Interface verwendet, da dieses Interface immer vorhanden ist und nie auf down gehen kann
- die IP im neighbor-Kommando des Nachbar-Routers ist die Ziel-IP für alle BGP-Updates. Sie sollte die Loopback DIESES Routers sein
- diese Kommandofolge wird nur bei IBGP verwendet; die Adresse eines EBGP-Nachbarn muss "direct connected" sein, und das ist ein Loopback-Interface nicht
Beispielkonfig
so könnte eine Konfiguration ausschauen:
[AS65100]-172.16.1.1-[AS65101]-192.168.1.1-[AS65102]
AS65101 besteht aus R2 und R3, welche intern mit einem 10er-Netz verbunden sind auf beiden Routern sind Loopback-Interfaces konfiguriert, lo0=2.2.2.2 bzw 3.3.3.3
R2:
router bgp 65101 neighbor 172.16.1.1 remote-as 65100 neighbor 3.3.3.3 remote-as 65101 neighbor 3.3.3.3 update-source Loopback0 ! router eigrp 1 network 10.0.0.0 network 2.0.0.0
R3:
router bgp 65101 neighbor 192.168.1.1 remote-as 65102 neighbor 2.2.2.2 remote-as 65101 neighbor 2.2.2.2 update-source Loopback0 ! router eigrp 1 network 10.0.0.0 network 3.0.0.0
BGP neighbor ebgp multihop
Router(config-router)# neighbor {IP-Adresse|peer-group-name} ebgp-multihost [Anzahl der Hops]
Mit diesem Kommando wird die Anzahl der IP-Hops zwischen den EBGP-Peers angegeben, die per default auf "1" steht. Angenommen, R1 [AS65102] und R2 [AS65101] wären beide mit Loopbacks bestückt, würde dieser Befehl zum Tragen kommen, da zwischen den beiden Loopback-Adressen 2 IP-Hops (direct connected interfaces) liegen
Beispiel
R1
router bgp 65102 neighbor 1.1.1.1 remote-as 65101 neighbor 1.1.1.1 update-source Loopback 0 neighbor 1.1.1.1 ebgp multihop 2 ! ip route 1.1.1.1 255.255.255.255 192.168.1.18 ip route 1.1.1.1 255.255.255.255 192.168.1.34
R2
router bgp 65101 neighbor 2.2.2.2 remote-as 65102 neighbor 2.2.2.2 update-source Loopback 0 neighbor 2.2.2.2 ebgp multihop 2 ! ip route 2.2.2.2 255.255.255.255 192.168.1.17 ip route 2.2.2.2 255.255.255.255 192.168.1.33
BGP wurde nicht für Lastverteilung entworfen. Die Pfade werden aufgrund Entscheidungen einer Policy getroffen. BGP wählt einen einzigen, besten Pfad. Mitteld des ebgp-multihop-Kommandos wird jedoch Lastverteilung und Redundanz auf mehrere Pfade zwischen verschiedenen AS (2 im obrigen Beispiel) ermöglicht
- Details
- Zugriffe: 20
EIGRP im Netzwerk
aus ANOther Wiki, der freien Wissensdatenbank
EIGRP ist ein skalierbares Routingprotokoll, welches effizient arbeitet, schnell auf Änderungen reagiert und ausserdem Netzwerkwachstum ermöglicht, kurzum, ein Routingprotokoll für große Netze
EIGRP-Skalierbarkeit beeinflussende Faktoren:
| o | Quantität der Routinginformationen | Werden mehr Informationen als für das korrekte Routing unbedingt nötig sind zwischen den einzelnen Routern übertragen, müssen diese unnötig nehr arbeiten, und jede Aktion verlangsamt sich dadurch. Hier könnte Routesummarization entgegen wirken |
| o | Anzahl der beteiligten Router | Bei einer Änderung der Routingtopologie spielt auch die Anzahl der beteiligten Router eine Rolle. Je mehr Router an den Folgen der Änderung beteiligt sind, desto länger wird es dauern, bis die Änderung im gesamten Netz übertragen und eine neue, richtige Topologie aufgebaut ist |
| o | Topologie | Ebenso wie die Anzahl der Router hat auch die Tiefe des Netzwerkes direkte Auswirkung auf die Konvergenz |
| o | Anzahl der alternativen Pfade | Ein Router im Netzwerk sollte zu seinem Primärweg eine Ausweichroute zum Ziel gespeichert haben, um einen ausgefallenen Knoten zu umgehen. Zu viele alternative Routen allerdings können können allerdings zu weiteren Konvergenzproblemen führen, da bei allen Änderungen der Topologie alle alternativen Routen gefunden und berechnet werden müssen. Dies kann zu einem "SIA", einem "stock in action" führen, da der Router immer auf Antworten weitere alternative Routen betreffend wartet, die sich durch eben diese verteilen |
EIGRP im Netzwerk
aus ANOther Wiki, der freien Wissensdatenbank
EIGRP ist ein skalierbares Routingprotokoll, welches effizient arbeitet, schnell auf Änderungen reagiert und ausserdem Netzwerkwachstum ermöglicht, kurzum, ein Routingprotokoll für große Netze
EIGRP-Skalierbarkeit beeinflussende Faktoren:
| o | Quantität der Routinginformationen | Werden mehr Informationen als für das korrekte Routing unbedingt nötig sind zwischen den einzelnen Routern übertragen, müssen diese unnötig nehr arbeiten, und jede Aktion verlangsamt sich dadurch. Hier könnte Routesummarization entgegen wirken |
| o | Anzahl der beteiligten Router | Bei einer Änderung der Routingtopologie spielt auch die Anzahl der beteiligten Router eine Rolle. Je mehr Router an den Folgen der Änderung beteiligt sind, desto länger wird es dauern, bis die Änderung im gesamten Netz übertragen und eine neue, richtige Topologie aufgebaut ist |
| o | Topologie | Ebenso wie die Anzahl der Router hat auch die Tiefe des Netzwerkes direkte Auswirkung auf die Konvergenz |
| o | Anzahl der alternativen Pfade | Ein Router im Netzwerk sollte zu seinem Primärweg eine Ausweichroute zum Ziel gespeichert haben, um einen ausgefallenen Knoten zu umgehen. Zu viele alternative Routen allerdings können können allerdings zu weiteren Konvergenzproblemen führen, da bei allen Änderungen der Topologie alle alternativen Routen gefunden und berechnet werden müssen. Dies kann zu einem "SIA", einem "stock in action" führen, da der Router immer auf Antworten weitere alternative Routen betreffend wartet, die sich durch eben diese verteilen |
Inhaltsverzeichnis |
EIGRP-Queries
| + | Querries werden gesendet, wenn eine Route verloren geht, und keine geeignete Alternative vorhanden ist |
| + | Der Router sendet Anfrage zu allen benachbarten Routern auf allen Interfaces, bis auf das des vorangegangenen Sucsessors (Split Horizon) |
| + | Sollte ein Nachbar keinerlei Information, einen neuen Weg zum Ziel zu finden, kennen, fragt er wiederum seine Nachbarn, auf allen Interfaces, nur nicht auf dem, auf dem er gefragt wurde |
| + | Kennt ein Nachbar einen neuen Weg, teilt er diesen dem Anfragenden Router auf dem anfragenden Interface mit und stellt keine weiteren Anfragen. Anfragen, die sich in anderen Zweigen fortgesetzt haben können natürlich noch Ergebnisse bringen, oder eben nicht. Die Bewertung der gefundenen Routen obliegt dem Auftraggeber |
EIGRP-Stubs
| - | Das EIGRP-STUB-Route-Feature verbessert die Netzwerkstabilität, spart Ressourcen und erleichtert die Konfiguration der abgesetzten Stubrouter |
| - | STUB-Routing wird hauptsächlich in hub-and-spoke-Netzwerken verwendet |
| - | Ein Stub-Router sendet PAkete zu seinen Nachbarn, in denen er sie über seinen Status als Stub-Router informiert |
| - | Nachbarn von Stub-Routern, die ein solches Paket erhalten, senden keine Queries mehr an die Stub-Router |
Beispiel:
AB sowie wären per Backbone verbunden und hätten Verbindung zum Netz 10.0.0.0/24. CDE sind jeweils mit A und B verbunden, nicht aber untereinander
Die Verbindung zum Netz 10.0.0.0/24 fällt aus.
Die Router vermelden den Ausfall weiter, jeweils auf allen Interfaces, auf denen diese Melung nicht eingegangen ist.
Selbes passiert, wenn das Netz 10.0.0.0/24 wieder kommt
Nähme man nun an, die WAN-Verbindungen wäre eine langsame Leitung. Hier sollte verhindert werden, dass die oben beschriebenen Query-Stürme übe die langsamen Verbindungen übertragen werden. Allzuviel Sinn gäbe es ohnehin nicht, CDE sind Sackgassen, Stubs.
Konfiguration
R-ANO-01(config)#eigrp stub [receive-only|connected|static|summary]
| receive-only | ist der Router so konfiguriert, sendet er keine Updates |
| connected | der Router sendet Routen, die direkt verbunden sind. Unter Umständen muss redistributiert werden |
| static | der Router sendet statische Routen. Auch hier muss redistributiert werden |
| summary | es werden Zusammenfassungen gesendet |
In der Voreinstellung sind "connected" und "summary" aktiv
SIA Verbindungen
SIA-Routen (Stuck-In-Active) können zu einer der größten Herausforderungen werden, zu denen es in einem EIGRP-Netzwerk kommen kann.
Was passiert bei SIA?
| - | Ein Router muss alle Antworten auf ausstehende Queries von seinen Nachbarn erhalten, bevor er sie Sucessor-Route berechnen kann |
| - | Sollte ein Nachbar keine Antwort in einem definierten Zeitraum, per default 180 sec, liefern, gilt die Route als SIA. In weiterer Folge löst der anfragende Router die Nachbarschaft zu dem nicht antwortenden Router |
Auslöser
Die drei häufigsten SIA-Gründe sind:
| - | Der gefragte Router ist zu beschäftigt, um die Anfrage zeitgerecht zu beantworten. Gründe hierfür können zum Beispiel Speicher- bzw. CPU-Probleme sein |
| - | Ein schlechter Link zwischen den Nachbarn. Die Router schaffen es, eine Nachbarschaft herzustellen, allerdings gehen bei den Queries bzw. den Antworten einige Pakete verloren |
| - | Ein Fehler lässt Datenverkehr über eine Verbindung nur in eine Richtung zu. Dies nennt man "Unidirektionalen Link" |
Schutz vor SIA
Man nehme Router A, B, und C und das Netz 10.0.0.0/24, welches an Router A hängt
Vor der Implementierung dieser Schutzmaßnahme, d. H. vor IOS 12.1(5), wäre beim Ausfall des 10.0.0.0/24-Netzes folgendes passiert:
- A fragt B nach einem neuen Weg
- B fragt C nach einem neuen Weg
Sollte nun allerdings die Verbindung BC gestört sein, wartet B vergeblich auf eine Antwort. Ebenso A. Nun erkennt A die Route AB als SIA, und löst die Nachbarschaft mit B, was bedeutet, dass er auch alle weiteren Routen via B vergisst.
Seit IOS 12.1(5) ist allerdings ein Mechanismus implementiert, der genau dieses vehindern soll. Wieder fällt das Netz 10.0.0.0/24 aus
- A fragt B nach einem neuen Weg, mittels einer SIA-Query
- B fragt C nach einem neuen Weg, mittels einer SIA-Query
- B schickt nach ablauf der halben Zeitspanne, also per default nach 90 sec ein SIA-Reply an A, und teilt A somit mit, dass er nach einer Route sucht
Ist nun die Verbindung BC gestört, wird diese zwar als SIA gelten, das trifft allerdings nicht mehr die Nachbarschaft zwischen A und B, somit bleiben A alle Routen des Routers B erhalten
Der Graziöse Abgang
Graceful Shutdown Diese Funktion verhindert verlorene Pakete, wenn ein Router niedergefahren wird, z.B. wegen einer Neukonfiguration. Durch Graceful Shutdown wird beim Herunterfahren des Routers eine Broadcast-Nachricht generiert, welche mitteilt, dass der betreffende Router sich verabschiedet. Dadurch können Nachbarschaften des verbleibenden Netzes schneller rekonfiguriert werden.
Die "Auf-Wiedersehen-Nachricht" wird seit IOS 12.3 unterstützt, und wird in helo-Paketen versendet. EIGRP setzt alle K-Variablen auf 255 und sendet diese Informationen aus allen Interfaces.
Im Log der Nachbarn findet sich danach folgender Eintrag:
Neighbor 192.168.200.254 (Ethernet1/0) is down: Interface Goodbye received
Sollte ein Router eine ältere Software installiert haben, sieht der Logeintrag in etwa so aus:
Neighbor 192.168.200.254 (Ethernet1/0) is down: K-valute mismatch
- Details
- Zugriffe: 27
EIGRP
aus ANOther Wiki, der freien Wissensdatenbank
| - steht für Enhanced Interior Gateway Routing Protocol |
| - ist ein Interior-Gateway-Protocol |
| - wurde 1994 von Cisco veröffentlicht |
| - ist der Nachfolger des IGRP (IGRP wird seit 12.3 nicht mehr unterstützt) |
| - wie sein Vorgänger Cisco-proprietär |
| - ist ein Distance-Vector-Routingprotokoll |
| - legt für jedes unterstützte Schicht-3-Protokoll eine eigene Routingtabelle an |
EIGRP benutzt DUAL, den Diffusing Update ALgorithm, um die beste Route festzustellen
Inhaltsverzeichnis |
Kernpunkte von EIGRP
| - Schnelle Konvergenz: Ein EIGRP-Router speichert die Routingtabellen all seiner Nachbarn, so kann er schnell Alternativrouten finden. Sollte keine derartige Route existieren, werden die Nachbarn aufgefordert, eine solche zu finden. Dies passiert, bis eine Alternativroute gefunden wird |
| - VLSM-Unterstützung: EIGRP ist ein Classless-Routingprotokoll. Per Default betreibt EIGRP auto-summarisation, dies kann auf jedem Subnetbit passieren |
| - Teilweise Updates: EIGRP sendet keine periodischen Updates. Es sendet nur, wenn sich etwas verändert hat, und dann auch nur diesen Teil. Dadurch wird wesentlich weniger Bandbreite verbraucht als z.B. bei IGRP |
| - Multiprotokollunterstützung: EIGRP unterstützt IP, ApplaTalk, sowie IPX |
EIGRP Metrik
EIGRP benutzt die selbe Metrik wie IGRP um den besten Weg zu berechnen, wird nur mit 256 multipliziert.
K-Vaiablen zur Bestimmung der Metrik
Die Metrik basiert auf fünf Punkten, wobei per Default nur zwei Punkte zur Routenberechnung verwendet werden:
| - Bandbreite: die kleinste Bandbreite zwischen Quelle und Ziel |
| - Delay: die genamte Laufzeit zum Ziel |
Folgende drei Punkte werden per Default nicht verwendet, da sich diese Faktoren mitunter häufig ändern können, und dies zu ständigen Neuberechnungen der Routen führen würde:
| - Reliability (Zuverlässinheit): hier wird die schlechteste Zuverlässigkeit (aus den keepalives) verwendet |
| - Loading (Last): die höchste Last, basierend auf Paketrate und konfigurierter Bandbreite auf den jeweiligen Interfaces |
| - MTU: die kleinste MTU. Die MTU ist zwar im EIGRP-Routingupdate inkludiert, wird jedoch derzeit nicht für die Metrikberechnung verwendet |
Konfiguration
Bei der Konfiguration wird eine AS-Nummer bestimmt, diese muss auf allen Routern des gleichen AS die selbe sein.
R-ANO-01(config)#router eigrp 100 R-ANO-01(config-router)#network 10.0.10.0 R-ANO-01(config-router)#network 10.1.0.0 R-ANO-01(config-router)#network 192.168.100.0 R-ANO-01(config-router)#network 192.168.200.0
Die obrige Eingabe bringt folgende Einträge in der running-config:
router eigrp 100 network 10.0.0.0 network 192.168.100.0 network 192.168.200.0 auto-summary
Der Router fasst also die beiden privaten A-Klasse-Netze 10.0.10.0 und 10.1.0.0 zu einem 10.0.0.0/8 zusammen. Sollte dies nicht gewünscht werden, kann mit der Wildcard das jeweilige Netz genauer definiert werden:
R-ANO-01(config)#router eigrp 100 R-ANO-01(config-router)#network 10.1.0.0 0.0.0.255 R-ANO-01(config-router)#network 10.0.10.0 0.0.0.255 R-ANO-01(config-router)#network 192.168.200.0 0.0.0.255 R-ANO-01(config-router)#network 192.168.100.0 0.0.0.255
Nun steht in der running jedes Netz für sich:
router eigrp 100 network 10.0.10.0 0.0.0.255 network 10.1.0.0 0.0.0.255 network 192.168.100.0 network 192.168.200.0 auto-summary
Weiters sollte bedacht werden, dass zur Routenberechnung die Bandbreite hinzugezogen wird. Sollte zum Beispiel bei einem seriellen Interface keine Bandbreite angegeben worden sein, nimmt der Router die default-Einstellung, die Bandbreite eines T1. Dies kann und wird zu falschen Routen führen. Durch den Eintrag
R-ANO-01(config-if)#bandwidth 64
am jeweiligen Interface kann dieses vermieden werden.
Default-Route
[2do]
router eigrp 100 network 10.0.0.0 network 172.16.0.0 ip default-network 172.16.0.0 ip route 172.16.0.0 255.255.0.0 172.16.1.1
Hier wird die Standard-Route verbreitet:
interface serial 0/0 ip address 192.168.1.1 255.255.255.0 ! ip route 0.0.0.0 0.0.0.0 serial 0/0 ! router eigrp 100 network 0.0.0.0
Zusammenfassung Konfiguration EIGRP
- die Konfigurationskommandos für basic-EIGRP beinhalten:
- router eigrp [AS-Nummer]
- network [Netz-ID]
- bandwidth [in kbits]
- die Wildcard-Maske ist optional, und wird verwendet, um die [Netz-ID] richtig zu interpretieren
- eine Default-Route wird in EIGRP mit "ip default-network [Netz-ID]" erstellt und verbreitet
- mit "show ip eigrp neighbors" wird geprüft, ob der Router seine EIGRP-Nachbarn kennt, mit "show ip route eigrp" kann überprüft werden, ob Routen via EIGRP gelernt werden
- mit "sh ip protocols", "sh ip eigrp interfaces", "sh ip eigrp neighbors", "sh ip eigrp topology" und "sh ip eigrp traffic" können EIGRP-Vorgänge überwacht bzw. überprüft werden
erweiterte EIGRP-Optionen
Route Summarization
Dadurch erhält man kleinere Routingtabellen, und spart Netzverkehr, da bei guter Struktur wesentlich weniger Updates übertragen werden müssen. Auto-Summarization ist bei EIGRP per Default konfiguriert.
Um die Zusammenfassungen besser justieren zu können, kann diese auch manuell gemacht werden. Die manuelle Variante hat folgende Merkmale:
- sie kann auf allen Interfaces an allen Routern im Netzwerk konfiguriert werden
- ist sie konfiguriert, wird automatisch eine route auf null0 hinzugefügt
- dies ist ein Mechanismus, um Loops zu vermeiden
- wenn die letzte spezifizierte Route verschwindet, verschwindet auch die Zusammenfassung
- die kleinste Metrik der spezifizierten Routen wird für die Metzik der Zusammenfassung verwendet
Konfiguration der Route-Sum
Um die Zusammenfassung manuell konfigurieren zu können, muss erst das automatische Zusammenfassen abgedreht werden
R-ANO-01(config)#router eigrp 100 R-ANO-01(config-router)#no auto-summary
Nun kann auf einem Interface die manuelle Summarization durchgeführt werden
R-ANO-01(config-if)#ip summary-address eigrp [AS-Nummer] [Netz-ID] [Opt: Administrative Distanz]
In der Routingtabelle der EIGRP_Nachbarn ist danach auch zu lesen
10.1.0.0/16 is a summary
Lastverteilung auf gleichen Pfaden
Mit Hilfe von EIGRP kann die Netzwerklast auf gleichen Pfaden verteilt werden. Dies geschieht mit den Befehlen
R-ANO-01(config)#router ei 100 R-ANO-01(config-router)#maximum-paths 2
Um die Lastverteilung zu deaktivieren kann
R-ANO-01(config-router)#maximum-paths 1
verwendet werden
Lastverteilung auf ungleichen Pfaden
Allerdings kann auch Last auf ungleichen Pfaden verteilt werden. Dazu wird "variance" verwendet
R-ANO-01(config)#router ei 100 R-ANO-01(config-router)#maximum-paths 2 R-ANO-01(config-router)#variance 2
Beispiel: Netz1 ist über drei Router (R1, R2, R3) mit Netz2 verbunden. die verschiedenen Routen haben verschiedene Kosten. Der Pfad über R1 kostet 10, über R2 20 und über R3 30.
Der "Gewinner" wäre hier der Weg über Router 1, da er die geringsten Kosten bedeutet. Wird allerdings der Eintrag
R-ANO-01(config-router)#variance 2
verwendet, nimmt EIGRP die Route, die in diesem Fall die zweifachen Kosten der Gewinnerroute hat, als gleichwertig, und verteilt die Last über beide Wege. Der Wert hinter "variance" kann 1 bis 128 betragen
Authentisierung bei EIGRP
EIGRP unterstützt MD5-Authentifizierung. In der Standardeinstellung ist jedoch keine Authentifizierung konfiguriert.
Der Router generiert und überprüft jedes EIGRP-Paket auf dessen Vertrauenswürdigkeit. Jeder am Routingtabellen-Updateprozess teilnehmende Router muss neben einer eigenen Key-ID das gleiche Passwort Key) haben.
| - | der Router generiert eine Zusammenfassung oder einen Hash des Keys, der Key-ID und der Nachricht |
| - | EIGRP erlaubt , dass Keys durch Keyketten verwaltet werden |
| - | es müssn die Key-ID, der Key selbst und die Lebenszeit (lifetime) des Keys bestimmt werden |
| - | der erste gültige Key, in Abfolge der Key-IDs, wird verwendet |
Konfiguration
Erst muss man in das Interface gelangen, in dem man die MD%-Authentifizierung aktivieren will
R-ANO-01(config-if)#ip authentication mode eigrp [AS] md5
Somit wird dem Router beigebracht, MD5 für EIGRP-Pakete zu verwenden
R-ANO-01(config-if)#ip authentication key-chain eigrp [AS] [Chain-Name]
Erlaubt die Verwendung von Keychais
Nun, zurück im Globalen Konfigurationsmodus, wird mit "key chain [Chain-Name] der Konfigurationsmodus für die Keychanes erreicht
R-ANO-01(config)#key chain [Chain-Name]
Am veränderten Prompt erkennt man, dass man eben diesen Modus erreicht hat. Nun wird die Key-ID festgelegt
R-ANO-01(config-keychain)#key [Key-ID]
Danach muss da sPasswort festgelegt werden, das bei allen teilnehmenden Routern gleich sein muss
R-ANO-01(config-keychain)#key-string [Password]
Somit ist das Verfahren einsatzbereit. Allerdings gibt es noch optionale Konfigurationen, die Dauer der Gültigkeit betreffend.
R-ANO-01(config-keychain)# accept-lifetime [Startzeit] [[infinite(unbeschränkt)]/[Endzeit]/[duration](Dauer) in Sekunden)
Diese Einstellung gilt für empfangene Pakete, während
R-ANO-01(config-keychain)# send-lifetime [Startzeit] [[infinite(unbeschränkt)]/[Endzeit]/[duration](Dauer) in Sekunden)
für gesendete Pakete gilt
Die eingegebenen Zeilen nun in der run.conf:
key chain [Password] key 12345 accept-lifetime 12:30:00 Jun 12 2007 infinite send-lifetime 12:30:00 Jun 12 2007 infinite
Debug
mittels
debug eigrp packets
auf den betreffenden Routern
