OpenBCM V1.13 (Linux)

Packet Radio Mailbox

DB0FHN

[JN59NK Nuernberg]

 Login: GUEST





  
DG8NGN > HAMNET   28.05.10 14:23l 135 Lines 5217 Bytes #999 (0) @ DL
BID : S5KDB0FHN045
Read: OE5RCO GUEST DL6DBA DG8NGN DG2NBN DB1YAK DL8MEW DM8BS DL5SFI DL6PM
Read: DK3EL OE5SFM
Subj: Problemloesung iBGP
Path: DB0FHN
Sent: 100528/1223z @:DB0FHN.#BAY.DEU.EU [JN59NK Nuernberg] obcm1.07b3
From: DG8NGN @ DB0FHN.#BAY.DEU.EU (Jann)
To:   HAMNET @ DL
X-Info: No login password

Hi,

danke fuer die persoenlichen Rueckmeldungen. Die Stichworte "AllowAS In" und 
"BGP Confederation" waren Gold wert. Die haben exakt auf die zwei 
Problemstellungen gepasst.

Beschreibung des Problems 1 mit Loesungsweg (am besten HAMNET-DL.pdf 
oeffnen!):

HF:
DB0ZKA <-Funk-> DB0FOX <-Inet-> DB0FHN <-Inet-> DB0NOE <-Funk-> DB0HBG

IT:
DB0ZKA, DB0FOX, DB0NOE, DB0HBG: AS64631
DB0FHN: AS64626

DB0ZKA <-iBGP-> DB0FOX <-eBGP-> DB0FHN <-eBGP-> DB0NOE <-iBGP-> DB0HBG

Usernetze, welche ueber BGP vermittelt werden:
DB0ZKA: 44.225.44.160/28
DB0FOX: 44.225.44.128/27
DB0NOE: 44.225.44.64/29
DB0HBG: 44.225.44.0/28

Standardeinstellung:
- DB0FHN kennt alle Usernetze
- DB0FHN announced alle Usernetze an DB0FOX und DB0NOE
- DB0NOE verwirft die Routen der Usernetze DB0FOX und DB0ZKA
- DB0FOX verwirft die Routen der Usernetze DB0NOE und DB0HBG
Grund: Routen der eigenen AS-Nummer koennen nur ueber interne BGP-Knoten 
vermittelt werden.
Abhilfe:
- DB0FOX: -> Routing -> BGP -> Peers (DB0FHN) -> General -> "AllowAS In:" 
<Wert 1 eintragen>
- DB0NOE: -> Routing -> BGP -> Peers (DB0FHN) -> General -> "AllowAS In:" 
<Wert 1 eintragen>

Neue Situation:
- DB0FHN kennt alle Usernetze
- DB0FHN announced alle Usernetze an DB0FOX und DB0NOE
- DB0NOE und DB0FOX kennen alle Usernetze
- DB0HBG verwirft die Routen der Usernetze DB0FOX und DB0ZKA
- DB0ZKA verwirft die Routen der Usernetze DB0NOE und DB0HBG
Grund: Routen, welche im AS_Path ueber externe AS verlaufen, werden verworfen 
(exaktere Beschreibung als oben).
Abhilfe:
Auf allen Knoten des betroffenen AS mit "Auslandspeering" einfach fuer jeden 
Peeringpartner die Option einschalten.



Beschreibung des Problems 2 mit Loesungsweg (am besten HAMNET-DL.pdf 
oeffnen!):

HF:
OE2XZR <-Funk-> DB0INN <-Funk-> DB0AAT <-Funk-> DB0HOB

IT:
OE2XZR: AS64520
DB0INN, DB0AAT, DB0HOB: AS64625

OE2XZR <-eBGP-> DB0INN <-iBGP-> DB0AAT <-iBGP-> DB0HOB
                   ^                               ^
                   °-------------iBGP--------------°

Usernetze, welche ueber BGP vermittelt werden:
- DB0INN: 44.225.20.32/29
- DB0AAT: 44.225.20.0/28
- DB0HOB: 44.225.20.48/29

Transfernetz OE2XZR <-> DB0INN, welches ueber BGP vermittelt wird:
- OE2XZR: 44.143.47.0/29
- DB0INN: 44.143.47.0/29

Standardeinstellung:
- alles funktioniert
- Full-Mesh-Konzept gefaellt nicht, ist aber Bedingung fuer iBGP
Grund fuer das "gefaellt nicht": Steigt die Anzahl der Knoten in einem AS, 
wird der administrative Aufwand und Datenoverhead laestig.
Abhilfe:
Alternativen "Route Reflector" und "BGP Confederation" pruefen:
- Route Reflector: Single-Point-of-Failure + ein wenig Overhead bleibt und 
steigt ab vier Knoten
- BGP Confederation: Benoetigt private AS-Nummern: Bisher 65530 - 65535 fuer 
das HAMNET koordiniert (reicht derzeit fuer 6 Standorte).
--> Die Wahl faellt auf BGP Confederation. Doku: 
http://tools.ietf.org/html/rfc5065 (Abschnitt 2 ist lesenswert).
Konfiguration:
- DB0HOB: AS65535
- DB0AAT: AS65534
- DB0INN: AS65533
Auf allen Knoten wird nun die BGP-Confederation gesetzt:
-> Routing -> BGP -> Instance (default) -> Confederation: 64525
-> Routing -> BGP -> Instance (default) -> Confederation Peers: 65530-65535 
(ging bei mir via Winbox nicht zu setzen -> Terminal)

Neue Situation:
OE2XZR <-eBGP-> DB0INN <-(i)eBGP-> DB0AAT <-(i)eBGP-> DB0HOB

Neues Problem:
Bisher haben wir immer bei jedem BGP-Peer "NextHop = Force Self" 
konfiguriert. "Force" ist eigentlich immer schlecht und klingt nach 
"Workaround". In diesem Fall hat das "Force Self" dazu gefuehrt, dass DB0HOB 
beim Ansprechen des Usernetzes von DB0INN das Paket nicht direkt an die 
Backbone-RouterIP von DB0INN geschickt hat (das Backbonenetz zwischen DB0INN, 
DB0AAT und DB0HOB ist gebridged), sondern an DB0AAT geschickt wurde. DB0AAT 
hat dann zwar das Paket an DB0INN weitergeleitet, aber man moechte das 
innerhalb einer Bridge nicht machen. Ausserdem wurden ICMP-Redirect-Pakete 
verschickt.

Abhilfe:
Also erstmal wieder NextHop auf "Default" gestellt und nochmal ueberlegt, 
warum wir "Force Self" ueberhaupt eingefuehrt haben. Der Grund ist einfach. 
DB0INN vermittelt die Route, die von OE2XZR gelernt wurden jetzt (=default) 
an DB0AAT mit "NextHop = 44.143.47.6" und nicht mehr (=force_self) mit 
"NextHop = 44.224.10.253" (die IP-Adresse von DB0INN im Backbonenetzwerk). 
DB0AAT und DB0HOB koennen den NextHop 44.143.47.6 auf Layer-2 gar nicht 
erreichen, sondern nur auf Layer-3. DB0AAT und DB0HOB verwerfen daher die 
Routen von OE2XZR, die ueber DB0INN kommen.

Weitere Abhilfe:
Ein Blick in http://tools.ietf.org/html/rfc4271 Abschnitt 5.1.3 beschreibt 
"NEXT_HOP". Die Option "Multihop" ist fuer jeden BGP-Peer einstellbar. Sie 
bewirkt, dass der angegebene NEXT_HOP in einer vermittelten 
Routinginformation (in unserem Fall 44.143.47.6) mit den bereits existierenden 
Routen berechnet wird. Auf DB0HOB sieht man zum Beispiel jetzt folgenden 
Routeneintrag unter "IP -> Routes": 44.225.52.0/24 mit Gateway 44.143.47.6 
recursive via 44.224.10.253.

Daher gleich mal die Empfehlung an die Kollegen in OE mit der Option Multihop 
beim Problem "Default" oder "Force Self" zu spielen. Ausserdem ist sicherlich 
auch in OE das Full-Mesh-Problem etwas groesser als hier.

73,
Jann


Read previous mail | Read next mail


 08.05.2026 04:14:58lGo back Go up