W niektórych ruterach operatorów i dostawców usług internetowych, pojawił się ostatnio problem związany z przekroczeniem liczby 512 000 wpisów w tablicy trasowania. W przypadku ruterów Cisco serii 7600 oraz przełączników Catalyst 6500 z modułem 3BXL, była to wartość maksymalna jaka może być przechowywana w pamięci określanej nazwą TCAM (Ternary Content-Addressable Memory).
To już trzecia sytuacja w krótkiej historii Internetu, kiedy problem wpłynął na działanie sieci globalnej. W 2003 roku wielkość tablicy trasowania przekroczyła 128 000 wpisów, w 2008 roku 256 000 wpisów, za każdym razem powodując nieprzewidywalne zachowywania sprzętu.
Urządzenia nie posiadające wystarczającej ilości zasobów do przechowywania wszystkich tras, mogą restartować się samodzielnie lub nie zapewniać łączności do określonych sieci. Cisco zapewnia, że wszystkie urządzenia sprzedane na przestrzeni dwóch ostatnich lat posiadają odpowiednią ilość pamięci TCAM, umożliwiającą przechowanie zdecydowanie większej ilości niż 512 000 tras. O problemie specjaliści zajmujący się rutingiem w sieci Internet, informowali od dłuższego czasu.
Większość adresów zdefiniowanych w IPv4 została przekazana do dostawców usług internetowych lub użytkowników końcowych, więc liczba tras w ostatnich miesiącach wzrastała. Teoretycznie nie pozostało zbyt wiele adresów IPv4 do przydziału, więc można zakładać niewielki przyrost ilości tras w przyszłości. Praktyka może być zupełnie inna. Problemem może okazać się podział zasobów IPv4 na mniejsze bloki. Zwiększy to całkowitą ilość tras.
Zgodnie z przyjętymi założeniami najmniejszą akceptowalną siecią rozgłaszaną w Internecie jest blok 256 adresów IPv4 (/24). Niektórzy operatorzy z przyczyny braku adresacji IPv4, dzielą taki blok na dwa lub więcej. Powoduje to, że zamiast jednej trasy w tablicach trasowania pojawia się kilka. Trudno przewidzieć obecnie jaki będzie to wpływało w przyszłości na wielkość tablicy trasowania. Warto także pamiętać, że istnieją duże bloki adresacji IPv4, które nie są rozgłaszane. Włączenie ich do publicznej sieci, także znacząco zwiększy ilość tras w tablicach.
Propozycją rozwiązania problemu przedstawioną przez Cisco jest zwiększenie ilości pamięci na tablicę trasowania dla wpisów IPv4, kosztem zmniejszenia pamięci dla wpisów IPv6. Obecnie IPv6 jest na początku drogi jeżeli chodzi o masowe wdrożenia. Tablica trasowania IPv6 posiada obecnie około 20 000 wpisów. Tablica IPv6 inaczej jest zarządzana w pamięci ruterów. Trudno aktualnie powiedzieć ile tras IPv6 pojawi się w wersji docelowej. Pewne jest, że migracja do IPv6 może rozwiązać problem z brakiem adresacji IPv4, więc docelowo tablica trasowania IPv6 będzie duża. Aktualnie rozwiązaniem alternatywnym do zwiększania ilości pamięci na tablicę trasowania IPv4 kosztem IPv6 jest agregacja. Agregacja mogłaby przywrócić wielkość tablicy na właściwe tory, ale trudno zmusić do tej czynności wszystkich operatorów.
Jak rozwiązać problem?
Firma Cisco opublikowała dokument "CAT 6500 and 7600 Series Routers and Switches TCAM Allocation Adjustment Procedures", zwracając uwagę na problemy z alokacją TCAM w przełącznikach Catalyst 6500 oraz ruterach serii 7600. Rozwiązaniem problemu zaprezentowanym w dokumencie jest zwiększenie alokacji pamięci TCAM dla IPv4.
Wyświetlenie aktualnej alokacji pamięci realizujemy w następujący sposób:
TCAM to pojedynczy blok pamięci, który jest współdzielony pomiędzy trasy IPv4 i etykiety MPLS oraz trasy IPv6 i trasy multicast.
Rozwiązaniem jest zwiększenie dostępnej ilości pamięci TCAM dla tras IPv4:
Konfiguracja wymaga zrestartowania urządzenia. Po restarcie urządzenia możemy sprawdzić jak wygląda nowa alokacja pamięci TCAM:
Przedstawione rozwiązanie, uniemożliwia praktycznie pracę z IPv6, ruchem multicast oraz MPLS. Obecnie wystarczającą wartością wydaje się być 768k na trasy IPv4, co umożliwi obsługę ruchu IPv6.
Problem przepełniającej się pamięci TCAM pojawił się u wielu operatorów na świecie. Zakładając rozwój tablicy trasowania IPv4 na aktualnym poziomie, problem prawdopodobnie ponownie powróci za kilka lat.
Źródło
To już trzecia sytuacja w krótkiej historii Internetu, kiedy problem wpłynął na działanie sieci globalnej. W 2003 roku wielkość tablicy trasowania przekroczyła 128 000 wpisów, w 2008 roku 256 000 wpisów, za każdym razem powodując nieprzewidywalne zachowywania sprzętu.
Urządzenia nie posiadające wystarczającej ilości zasobów do przechowywania wszystkich tras, mogą restartować się samodzielnie lub nie zapewniać łączności do określonych sieci. Cisco zapewnia, że wszystkie urządzenia sprzedane na przestrzeni dwóch ostatnich lat posiadają odpowiednią ilość pamięci TCAM, umożliwiającą przechowanie zdecydowanie większej ilości niż 512 000 tras. O problemie specjaliści zajmujący się rutingiem w sieci Internet, informowali od dłuższego czasu.
Większość adresów zdefiniowanych w IPv4 została przekazana do dostawców usług internetowych lub użytkowników końcowych, więc liczba tras w ostatnich miesiącach wzrastała. Teoretycznie nie pozostało zbyt wiele adresów IPv4 do przydziału, więc można zakładać niewielki przyrost ilości tras w przyszłości. Praktyka może być zupełnie inna. Problemem może okazać się podział zasobów IPv4 na mniejsze bloki. Zwiększy to całkowitą ilość tras.
Zgodnie z przyjętymi założeniami najmniejszą akceptowalną siecią rozgłaszaną w Internecie jest blok 256 adresów IPv4 (/24). Niektórzy operatorzy z przyczyny braku adresacji IPv4, dzielą taki blok na dwa lub więcej. Powoduje to, że zamiast jednej trasy w tablicach trasowania pojawia się kilka. Trudno przewidzieć obecnie jaki będzie to wpływało w przyszłości na wielkość tablicy trasowania. Warto także pamiętać, że istnieją duże bloki adresacji IPv4, które nie są rozgłaszane. Włączenie ich do publicznej sieci, także znacząco zwiększy ilość tras w tablicach.
Propozycją rozwiązania problemu przedstawioną przez Cisco jest zwiększenie ilości pamięci na tablicę trasowania dla wpisów IPv4, kosztem zmniejszenia pamięci dla wpisów IPv6. Obecnie IPv6 jest na początku drogi jeżeli chodzi o masowe wdrożenia. Tablica trasowania IPv6 posiada obecnie około 20 000 wpisów. Tablica IPv6 inaczej jest zarządzana w pamięci ruterów. Trudno aktualnie powiedzieć ile tras IPv6 pojawi się w wersji docelowej. Pewne jest, że migracja do IPv6 może rozwiązać problem z brakiem adresacji IPv4, więc docelowo tablica trasowania IPv6 będzie duża. Aktualnie rozwiązaniem alternatywnym do zwiększania ilości pamięci na tablicę trasowania IPv4 kosztem IPv6 jest agregacja. Agregacja mogłaby przywrócić wielkość tablicy na właściwe tory, ale trudno zmusić do tej czynności wszystkich operatorów.
Jak rozwiązać problem?
Firma Cisco opublikowała dokument "CAT 6500 and 7600 Series Routers and Switches TCAM Allocation Adjustment Procedures", zwracając uwagę na problemy z alokacją TCAM w przełącznikach Catalyst 6500 oraz ruterach serii 7600. Rozwiązaniem problemu zaprezentowanym w dokumencie jest zwiększenie alokacji pamięci TCAM dla IPv4.
Wyświetlenie aktualnej alokacji pamięci realizujemy w następujący sposób:
Kod:
+++
Cisco# show mls cef max
FIB TCAM maximum routes :
=======================
Current :-
-------
IPv4 + MPLS - 512k (default)
IPv6 + IP Multicast - 256k (default)
+++
TCAM to pojedynczy blok pamięci, który jest współdzielony pomiędzy trasy IPv4 i etykiety MPLS oraz trasy IPv6 i trasy multicast.
Rozwiązaniem jest zwiększenie dostępnej ilości pamięci TCAM dla tras IPv4:
Kod:
+++
Cisco(config)# mls cef maximum-routes ip 1000
Maximum routes set to 1024000. Configuration will be effective on reboot.
+++
Konfiguracja wymaga zrestartowania urządzenia. Po restarcie urządzenia możemy sprawdzić jak wygląda nowa alokacja pamięci TCAM:
Kod:
+++
Cisco# show mls cef maximum-routes
FIB TCAM maximum routes :
=======================
Current :--------
IPv4 - 1000k
MPLS - 8k (default)
IPv6 + IP Multicast - 8k (default)
+++
Przedstawione rozwiązanie, uniemożliwia praktycznie pracę z IPv6, ruchem multicast oraz MPLS. Obecnie wystarczającą wartością wydaje się być 768k na trasy IPv4, co umożliwi obsługę ruchu IPv6.
Problem przepełniającej się pamięci TCAM pojawił się u wielu operatorów na świecie. Zakładając rozwój tablicy trasowania IPv4 na aktualnym poziomie, problem prawdopodobnie ponownie powróci za kilka lat.
Źródło