IPv6: Dlaczego nie użyć / 126 na łączach P2P dla IPv6?

16

W IPv4 używamy / 30 do zachowania adresów. Dlaczego więc niektórzy ludzie zalecają używanie / 64 na linkach P2P zamiast / 126? Czy używam / 64 w zwykłych podsieciach, ale nie używam / 64, gdy tylko dwa adresy będą używane w łączach P2P, ogromne marnotrawstwo adresów?

bahamat
źródło
4
Cześć, proszę wziąć pod uwagę perspektywy wyrażone w RFC 6164
Mike Pennington

Odpowiedzi:

14

Wielu z nas używa / 126 na linkach PTP. Osobiście lubię być w stanie zidentyfikować coś jako łącze PTP infrastruktury sieciowej tylko na podstawie pierwszych 64 bitów adresu, więc zastrzegam / 64, aby wyciągnąć / 126 z. Różni ludzie mają różne opinie na temat tego, co ważne, więc ... wzruszaj ramionami

Nawiasem mówiąc (nr 1), ponieważ IPv6 nie ma pojęcia adresu rozgłoszeniowego ani adresu sieciowego w sieci IP, możesz faktycznie użyć / 127 zamiast / 126. Uważaj, że chociaż maski sieciowe / 127 są całkowicie poprawne, niektóre narzędzia dostawców (niesłusznie) nie zezwalają im, biorąc pod uwagę, że maski sieciowe / 127 są „nieprawidłowe”, co oznacza, że ​​możesz napotkać problemy z obsługą techniczną dostawcy, jeśli zdecydujesz się ich użyć. Dlatego używam / 126.

Nawiasem mówiąc (nr 2), jeśli twoje linki są naprawdę zdefiniowane jako łącza PTP, powinieneś być w stanie korzystać z dowolnych adresów IP bez konieczności przebywania we wspólnej sieci IP.

Jeff McAdams
źródło
1
Czy możesz podać przykład dostawcy, który ogranicza użycie / 127s?
Ryan Foley
4
W pewnym momencie Brocade w linii FastIron i być może w linii NetIron na to nie pozwoliło. Nie sprawdzałem najnowszych wersji oprogramowania, więc nie wiem, czy nadal tak jest, czy nie.
Jeff McAdams
1
Brocade też nie jest małą firmą. Dobry wgląd.
Ryan Foley
5

Odpowiedź składa się z dwóch części.

Po pierwsze, aby bezpośrednio odpowiedzieć na twoje pytanie: oficjalne zalecenie na ten temat uległo zmianie. W przeszłości RFC 3627 nosiło tytuł „Używanie długości prefiksu / 127 między routerami uważanymi za szkodliwe”. Jednak obecne zalecenie jest inne: RFC 6164 zaleca używanie / 127 (nie a / 126!) Na łączach punkt-punkt. Oba RFC przedstawiają powody odpowiednich zaleceń.

Druga część odpowiedzi jest to, że na ogół, poza punkt-punkt połączenia IPv6 będzie zerwać z dowolnym prefiksem dłuższy niż / 64. W rzeczywistości nie jest to sam IPv6, ale wiele protokołów, z których korzysta, takich jak SLAAC, Neighbor Discovery itp. Ponieważ łącze typu punkt-punkt nie wymaga żadnej formy wykrywania, rozważanie to nie jest istotne, a / 127 będzie działać.

Kevin Keane
źródło
5
RFC 6547 wyjaśnia fakt, że RFC 3627 został przeniesiony do statusu historycznego, a RFC 6164 go dezaktualizuje.
Ron Maupin
3

Ponieważ IPv6 zawsze zaleca używanie / 64 dla wszystkich łączy.

W przypadku drugiej części pytania to marnotrawstwo?

A / 64 ma 18 446,744,073,709,551,615 lub 18 kwintillionów adresów.

Większość podsieci IPv4 ma mniej niż 255 hostów. Załóżmy, że masz sieć z 255 hostami i mają one prefiks / 64. Oznacza to, że 255 hostów ma przypisany adres v6, pozostawiając 18 446,744,073,709,551,360 adresów niewykorzystanych. To ponad 99,99%. Mówiąc dokładniej, to szesnaście 9-tych, a właściwie 100% „marnotrawstwo”.

Nawet jeśli masz podsieć z 1 000 000 hostów, to 18 446,744,073,708,551,616 zmarnowanych adresów, czyli nadal ponad 99,99%. Tym razem tylko trzynaście 9, ale wciąż w 100% „marnotrawstwo”.

Tak więc różnica procentowa między użyciem miliona adresów lub dwóch adresów na jednym łączu jest znikoma.

I właśnie dlatego możesz zobaczyć, jak wyglądają te liczby.

* Two hosts is 99.9999999999999999891579782751449556599254719913005828857422% unused.
* 255 hosts is 99.9999999999999986176422300809818466404976788908243179321289% unused.
* 1M  hosts is 99.99999999999457898913757247782996273599565029144287109375% unused.
* 4B  hosts is 99.999999976716935634613037109375% unused.

Nawet cały Internet IPv4 umieszczony na pojedynczym łączu / 64 pozostawiłby efektywnie 100% adresów nieużywanych. Kiedy patrzysz na takie liczby, używanie w linku czegokolwiek innego niż / 64 jest po prostu głupie.

bahamat
źródło
2
Wielu dostawców usług internetowych używa / 126 do połączeń punkt-punkt. Myślę, że stare nawyki umierają ciężko ;-)
Ron Trunk
Robią to, ale mam nadzieję, że zdając sobie sprawę, że cały Internet IPv4 jest nadal efektywny, 0% z / 64 może przynieść odpowiednią perspektywę.
bahamat
1
Jednym z możliwych powodów (nie jestem dostawcą usług internetowych) może być to, że mogą wziąć pojedynczą podsieć / 64 i umieścić w niej wszystkie swoje łącza. Może to ułatwić zarządzanie i rozwiązywanie problemów.
Ron Trunk
@bahamat Nie sądzę, abyś w pełni odpowiedział na swoje pierwotne pytanie. „Ponieważ IPv6 zawsze zaleca używanie / 64 dla wszystkich łączy” nie odpowiada „Dlaczego więc niektórzy ludzie zalecają używanie / 64 na łączach P2P zamiast / 126?” .
Ryan Foley
3
Oprócz mojej pełnej odpowiedzi chciałem skomentować ten. Oświadczenie, że IPv6 zawsze zaleca używanie / 64 dla wszystkich łączy, jest już nieważne. tools.ietf.org/html/rfc6164
Jeff McAdams
2

Jako dostawca usług internetowych chciałem dodać do tego komentarz. W szczególności używamy zarówno GUA, jak i ULA (unikatowych adresów lokalnych) do wewnętrznego routingu. Oznacza to, że mamy blok (/ 48), który pochodzi z puli GUA / 32, ale filtrujemy na krawędziach, zamieniając je w ULA. Większy GUA / 32 jest nadal reklamowany, ale / 48 ULA jest odfiltrowywany na naszych krawędziach. Używamy tej ULA do większości naszych wewnętrznych potrzeb adresacyjnych (specyficznych dla AS), a także do łączy PtP.

Wszystkie nasze łącza PtP są kompletnym blokiem / 64, jednak są one specjalnie skonfigurowane jako routery / / 127. Miało to na celu szczególne radzenie sobie z atakami ping-pong, gdy są one możliwe zarówno w przestrzeni IPv4, jak i IPv6. Rzadko widzisz go w przestrzeni IPv4, ponieważ wszyscy używamy / 30s dla łączy PtP tam. Jednak w przestrzeni IPv6 użycie / 64 daje możliwość tego typu ataków (patrz https://tools.ietf.org/html/rfc6164#section-5.1 )

Jak wspomniano wcześniej, przydzielenie / 64 dla tych linków wydaje się marnotrawstwem, ale gdy poświęcisz dużo czasu na tworzenie planu adresów IPv6 (dobry odczyt to https://www.amazon.com/IPv6-Address-Planning- Designing-Future-ebook-dp-B00PCZMAOW / dp / B00PCZMAOW ) widzisz, że O wiele łatwiej nigdy nie zagłębiać się w więcej niż / 64 w swoich planach.

Jak już wspomniano wcześniej, ponieważ mówimy tylko o łączach PtP, a / 127 nie cierpi na żadne z normalnych problemów wykraczania poza A / 64. Dlaczego nie używamy nie numerowanych adresów dla łączy PtP? Głównie do celów debugowania, śledzenia, monitorowania itp.

--- Zapomniałem wspomnieć (po ponownym przeczytaniu niektórych z powyższych komentarzy ...) Jeśli używasz / 126 jako linku PtP, nadal cierpisz z powodu tego samego problemu z ping-pongiem jak / 64. Dlaczego? Ponieważ bity 00 i 11 w twoim / 126 są prawidłowymi adresami IPv6 (podczas gdy w IPv4 nie są, służą one do innego celu). Więc chociaż a / 32 (dwa bity z / 32) działa dla IPv4, to / 127 (1 bit z / 128) jest tym, czego potrzebujesz dla IPv6.

Marcos
źródło
Niestety, duzi przewoźnicy (ATT, VzB itp.) Nalegają, aby /127linki nie były dozwolone, i nalegają, abyśmy używali /126z nimi linków. Musimy dokładnie przetestować sprzęt, którego używamy, aby upewnić się, że jest odporny na ataki ping-pongowe.
Ron Maupin