Jak wybrać identyfikator routera BGP, używając tylko IPv6?

16

Zwykle podczas korzystania z protokołu BGP możesz wybrać (lub urządzenie wybierze cztery osoby) identyfikator routera z jednego z przypisanych publicznych adresów IP.

Teraz przyznamy, że korzystasz tylko z IPv6. Ponieważ identyfikator routera jest nadal liczbą 32-bitową, nie można go skopiować z adresu pętli zwrotnej.

Draft-dupont-Durand-IDR-IPv6 BGP-routerid-01 przynosi rozpoczęcia odpowiedzi, sugerując, aby użyć swojego numeru AS przyrostek lokalnie przydzielonej części. Ale to działa tylko dla 16-bitowych liczb AS.

Jak wybrać RID dla swoich urządzeń? Losowo? Jeśli tak, to jak zareagowałyby urządzenia w przypadku kolizji (oba końce sesji BGP używają tego samego identyfikatora RID)?

PS: problem dotyczy również OSPF, ale wtedy wystarczy zaprojektować spójny schemat alokacji RID. Nie można tego zrobić, używając BGP do peerowania z innymi AS.

Benjamin A.
źródło

Odpowiedzi:

9

Pokoloruj mnie niepewnie na tę odpowiedź ...

jak już wspomniałeś, identyfikatory routera naprawdę muszą być unikalne w przestrzeni OSPF.

W BGP rozumiem, że są one używane tylko do wykrywania nowej sesji peeringu, która jest tworzona, kiedy już istnieje ... co, jak sądzę, rozwiązaniem jest zburzenie starej.

Jeśli sesje równorzędne przychodzą na różne adresy transportowe, to nawet jeśli przedstawione identyfikatory routera są takie same, będą one postrzegane jako różne sesje, ponieważ pochodzą one z różnych adresów transportowych (adresy IPv6 w twoim scenariuszu).

Więc ... Myślę, że odpowiedzią byłoby wybranie identyfikatora routera dla OSPF (prawdopodobnie v3) i prawdopodobnie nie jest to koniec świata, jeśli identyfikator routera ostatecznie powieliby identyfikator routera, który jest inny (inny podmiot) używa z zewnętrznym równorzędnym AS

Jeff McAdams
źródło
4

Zakładając, że tak naprawdę nie korzystasz z wersji v4, nawet z pętlą zwrotną, to metodą, którą zasugerowałbym, byłoby po prostu przydzielenie kolejnego numeru na router i użycie go, nie trzeba go w ogóle segmentować, a być może istnieje już numer inwentarza, który może działać (choć zastanów się, jak to może działać w kontekście RMA).

Przede wszystkim sprawia to, że IS-IS jest o wiele przyjemniejszy w użyciu niż ręczne wypełnianie adresu IPv4.

Jeśli masz (z jakiegoś dziwnego powodu) sieć, w której tylko niektóre urządzenia były IPv6, możesz chcieć przesunąć ręczne numery, aby nie zostały pomylone z prawdziwymi adresami IPv4. Jednym z pomysłów jest użycie 240/8 (sugeruję, aby nie stosować 255/8, a nawet 254/8, aby uniknąć zmęczonego mózgu operacyjnego przywołanego o 3 rano przed zastanawianiem się, dlaczego identyfikator routera jest ustawiony na adres rozgłoszeniowy).

LapTop006
źródło
2

Moją sugestią byłoby dostosowanie twojego numeru AS traktując go jako 32-bitowy AS (jeśli jeszcze nie jest) - wyzeruj górne 8 bitów i za ORpomocą 0xE0000000(sprawia, że ​​wygląda jak przestrzeń multiemisji). Dla uproszczenia wyjaśnienia użyję szesnastkowej (nie, to naprawdę ułatwia zobaczenie granic)

np. jeśli twój numer AS to 717232 (0x000AF1B0), początkowo otrzymujesz 0xE00AF1B0 i możesz zwiększyć najwyższy oktet dla każdego głośnika BGP w swoim AS 0xE00AF1B0, 0xE10AF1B0 itp.

Konwertujesz na dziesiętny? łatwo, podziel heks i podziel kalkulator swojego ulubionego prograamera: E0.A.F1.B0 -> 224.10.241.176, E1.A.F1.B0 -> 225.10.241.176, itp.

Oczywiście istnieje nieskończona liczba metod, które można wymyślić, aby poradzić sobie z tą sytuacją. Kluczową kwestią jest po prostu proaktywne unikanie duplikatów. W ramach BGP musisz upewnić się, że sąsiedzi nie mają tego samego identyfikatora routera, jednak możesz peerować dwa oddzielne routery o tym samym identyfikatorze do trzeciego, pamiętaj jednak, że routerid jest używany jako wyłącznik remisu dla wyboru najlepszej ścieżki.

Olipro
źródło
1

Interfejs sprzężenia zwrotnego IPv4? Wiem, że Cisco IOS użyje najwyższego adresu (liczby 32-bitowej) jako identyfikatora routera.

Ricky Beam
źródło