Der "768k-Day" kommt
Für Leute, die Router mit BGP-Fulltable betreiben vielleicht ein interessanter Hinweis:
Die IPv4-Fulltable erreicht voraussichtlich innerhalb der nächsten 2-3 Monate die magische Größe von 786.432 Routen.
Warum ist diese Grenze "magisch"?
Wenn per BGP Routen empfangen werden, werden diese normalerweise erstmal in den RAM geladen. Der ist zwar vergleichsweise langsam, dafür hat so ein halbwegs moderner Router reichlich davon - in der Regel irgendwas um 2-4 GB. Da passen dann auch die Routen von mehreren BGP-Upstreams hinein.
Dann geht der Router alle diese Routen durch, errechnet die besten Pfade und schreibt diese errechneten Informationen in das (T)CAM.
Das CAM ist speziell dafür optimiert, die Routinginformationen zu speichern. Darin können superschnell die Informationen abgerufen werden, allerdings ist dieser Platz teuer und auch sehr begrenzt.
Während im RAM problemlos zig Millionen Routinginformationen Platz finden, ist im CAM häufig nur Platz für maximal 1.000.000 Routen - und das ist nur bei den wirklich fetten Routern so.
Kleine Router, die nicht dafür konzipiert sind irgendwelche Fulltables aufzunehmen, bieten meistens nur Platz für weniger als 2.000 Routen.
Jedenfalls muss dieser Platz sinnvoll genutzt werden, daher hat Cisco eine Zeit lang seine Router mit der Voreinstellung ausgeliefert:
Ja, wir haben Platz im TCAM für 1.000.000 Routen - aber der wird partitioniert für 512k IPv4-Routen und 256k IPv6-Routen.
Dann kam es am 12. August 2014 zum 512k-Day: Die Routingtabelle überstieg die Anzahl von 512.000 IPv4-Routen und die so partitionierten CAMs konnten keine weiteren Routen mehr aufnehmen.
Was dann passiert hängt maßgeblich von der Firmware des Routers ab. Einige weigerten sich, weitere Routen aufzunehmen. Einige fingen an Software-Forwarding auf der normalen CPU zu machen (was gruselig langsam ist), andere hatten für dieses Szenario offenbar überhaupt keine Lösung und crashten.
Kurz: Das war an dem Tag sehr, sehr ruckelig im gesamten Internet.
Stand Jetzt (24.04.) stehen wir bei 746.823 IPv4-Routen in der Fulltable, bei steigender Tendenz.
Es wird so insgesamt erwartet, dass innerhalb der nächsten Monate die magische 786k-Grenze erreicht ist - was aber vermutlich hauptsächlich auf der Annahme basiert, dass die Anzahl der Routen so steigt wie in den letzten paar Wochen. Allerdings kommt es immer wieder mal vor, dass ziemlich ruckartig eine große Zahl IPv4-Routen ins Internet gespült wird. Meistens sind das irgendwelche Provider, die IPv4-Adressen regional anders sortieren und deshalb z.B. ein /18-Präfix nicht als eine einzige Route ins Internet advertisen sondern daraus viele kleine /24-Präfixe bilden. So werden aus einer Route dann 64 Routen.
Trivia zum "512k-Day" vom August 2014:
Cisco hatte damals einen Workaround veröffentlicht, wie man kurzfristig das TCAM umpartitionieren kann.
Da wurde die Partitionierung dahingehend geändert, dass man statt 512k IPv4-Routen nun 768k Routen speichern kann - daher auch die neue "magische" Grenze bei 768k.
Aber da man Speicher nicht einfach so erschaffen kann, leidet bei der Umpartitionierung der Speicher für IPv6-Routen. Dieser ist nach dieser Konfiguration auf 120k Routen begrenzt.
Das reicht momentan noch aus (aktuell ca. 88.000 IPv6-Präfixe in der Fulltable) und es wächst auch nicht so stark an wie bei IPv4, deshalb war das tatsächlich eine gute kurzfristige Lösung.
Aber Jetzt hat man auf diesen Routern eigentlich kaum mehr Spielraum das CAM umzupartitionieren, ohne Konnektivität auf einer Adressfamilie zu verlieren
Die IPv4-Fulltable erreicht voraussichtlich innerhalb der nächsten 2-3 Monate die magische Größe von 786.432 Routen.
Warum ist diese Grenze "magisch"?
Wenn per BGP Routen empfangen werden, werden diese normalerweise erstmal in den RAM geladen. Der ist zwar vergleichsweise langsam, dafür hat so ein halbwegs moderner Router reichlich davon - in der Regel irgendwas um 2-4 GB. Da passen dann auch die Routen von mehreren BGP-Upstreams hinein.
Dann geht der Router alle diese Routen durch, errechnet die besten Pfade und schreibt diese errechneten Informationen in das (T)CAM.
Das CAM ist speziell dafür optimiert, die Routinginformationen zu speichern. Darin können superschnell die Informationen abgerufen werden, allerdings ist dieser Platz teuer und auch sehr begrenzt.
Während im RAM problemlos zig Millionen Routinginformationen Platz finden, ist im CAM häufig nur Platz für maximal 1.000.000 Routen - und das ist nur bei den wirklich fetten Routern so.
Kleine Router, die nicht dafür konzipiert sind irgendwelche Fulltables aufzunehmen, bieten meistens nur Platz für weniger als 2.000 Routen.
Jedenfalls muss dieser Platz sinnvoll genutzt werden, daher hat Cisco eine Zeit lang seine Router mit der Voreinstellung ausgeliefert:
Ja, wir haben Platz im TCAM für 1.000.000 Routen - aber der wird partitioniert für 512k IPv4-Routen und 256k IPv6-Routen.
Dann kam es am 12. August 2014 zum 512k-Day: Die Routingtabelle überstieg die Anzahl von 512.000 IPv4-Routen und die so partitionierten CAMs konnten keine weiteren Routen mehr aufnehmen.
Was dann passiert hängt maßgeblich von der Firmware des Routers ab. Einige weigerten sich, weitere Routen aufzunehmen. Einige fingen an Software-Forwarding auf der normalen CPU zu machen (was gruselig langsam ist), andere hatten für dieses Szenario offenbar überhaupt keine Lösung und crashten.
Kurz: Das war an dem Tag sehr, sehr ruckelig im gesamten Internet.
Stand Jetzt (24.04.) stehen wir bei 746.823 IPv4-Routen in der Fulltable, bei steigender Tendenz.
Es wird so insgesamt erwartet, dass innerhalb der nächsten Monate die magische 786k-Grenze erreicht ist - was aber vermutlich hauptsächlich auf der Annahme basiert, dass die Anzahl der Routen so steigt wie in den letzten paar Wochen. Allerdings kommt es immer wieder mal vor, dass ziemlich ruckartig eine große Zahl IPv4-Routen ins Internet gespült wird. Meistens sind das irgendwelche Provider, die IPv4-Adressen regional anders sortieren und deshalb z.B. ein /18-Präfix nicht als eine einzige Route ins Internet advertisen sondern daraus viele kleine /24-Präfixe bilden. So werden aus einer Route dann 64 Routen.
Trivia zum "512k-Day" vom August 2014:
Cisco hatte damals einen Workaround veröffentlicht, wie man kurzfristig das TCAM umpartitionieren kann.
Da wurde die Partitionierung dahingehend geändert, dass man statt 512k IPv4-Routen nun 768k Routen speichern kann - daher auch die neue "magische" Grenze bei 768k.
Aber da man Speicher nicht einfach so erschaffen kann, leidet bei der Umpartitionierung der Speicher für IPv6-Routen. Dieser ist nach dieser Konfiguration auf 120k Routen begrenzt.
Das reicht momentan noch aus (aktuell ca. 88.000 IPv6-Präfixe in der Fulltable) und es wächst auch nicht so stark an wie bei IPv4, deshalb war das tatsächlich eine gute kurzfristige Lösung.
Aber Jetzt hat man auf diesen Routern eigentlich kaum mehr Spielraum das CAM umzupartitionieren, ohne Konnektivität auf einer Adressfamilie zu verlieren
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 443636
Url: https://administrator.de/knowledge/der-768k-day-kommt-443636.html
Ausgedruckt am: 21.12.2024 um 14:12 Uhr
10 Kommentare
Neuester Kommentar
Nein, dem ist nicht so und zeigt eher das du das BGP Protokoll und Peering nicht wirklich verstanden hast. Jeder der eine Full Table laden muss, egal wo der Router steht, und einen festen (eingelöteten) Speicher hat, hat dieses Problem.
Viele weichen deshalb auf Software Lösungen aus wie Quagga oder Bird auf einem normalen Intel Rechner um Full Tables lokal vorzuhalten und den Speicherproblemen so aus dem Wege zu gehen.
https://www.de-cix.net/de/locations/germany/frankfurt/routeserver-guide
("Route Server Setup")
Viele weichen deshalb auf Software Lösungen aus wie Quagga oder Bird auf einem normalen Intel Rechner um Full Tables lokal vorzuhalten und den Speicherproblemen so aus dem Wege zu gehen.
https://www.de-cix.net/de/locations/germany/frankfurt/routeserver-guide
("Route Server Setup")