MTU a přetížení ve služebním odvětví

Jsem na začátku své kariéry ve služebním odvětví a znám obecnou koncepci toho, že čím nižší je model, tím větší je požadavek MTU na podporu vyšších vrstev, ale co mi vždy unikalo, bylo vědět, jak přesně vypočítat nebo nakonfigurovat MTU, aby zohledňoval požadavky horních vrstev.

Zdá se, že existuje takové bohatství kombinací, které je třeba zvážit z hlediska typů rámců, paketů a segmentů, které by mohly být přenášeny, zejména při zvažování MPLS – jak ostatní tento proces tak snadno zvládají? Zvláště pokud jde o propustnost a dopad přetížení.
Je můj způsob myšlení špatný, nebo mi něco uniká?
Co vám pomohlo lépe toto pochopit a jsou k dispozici nějaké skvělé zdroje, které to dobře pokrývají?

Díky.

Edit:
Díky za skvělé odpovědi všem, vaše poznatky jsou vážené!

Myslím, že většina z nás to nepřipravuje přesně na byte. Používám Juniper a jejich maximální je obvykle 9216, takže to je to, co máme nastaveno na našem uplinku/uzlu. Téměř všechny naše hraniční/enkapsulované přenosy jsou 1500, dáváme si až 8k (obvykle úložné okruhy) pro klienty.

Je to také něco, co byste raději neměli retrofitovat v produkci. Pokud chcete vypočítat přesné hodnoty https://baturin.org/tools/encapcalc/ (osobní stránka od správce VyOS).

Obvykle jednoduše nakonfigurujete vaše páteřní spojení na maximální MTU platformy. Payload by měl být všechen 1500 bajtů nebo méně, pokud nemáte konkrétní požadavek na větší MTU. Například, můžete chtít, aby vaše storage síť používala 9000 bajtů, ale také by neměla být routovatelná mimo dané VLAN. V ISP prostoru někdy zákazníci chtějí větší MTU, aby podpořili své tunelovací mechanismy, takže jednoduše nakonfigurujete jejich okruhy na větší MTU, buď maximální platformovou MTU, nebo něco menšího než nejmenší MTU na vašem páteři.

Matematika MTU zabere trochu času, když pracujete v prostoru SP. Bylo to horší, když byly zapojeny ATM a Frame relay stejně jako Ethernet a L2 interworking byl častěji používán.

Jak už řekli jiní, výrobci často vypočítávají MTU jinak.

Když školím nové inženýry SP, zaměřuji se na tři hlavní oblasti:

  • L2 MTU - to musí odpovídat nebo překračovat požadovanou MPLS MTU (nemusí odpovídat na obou stranách spojení - výrobci se na horní hodnotu neshodují)
  • L3 MTU - toto je třeba nastavit na požadovanou hodnotu IP podsítě (musí odpovídat na obou stranách spojení)
  • MPLS MTU - toto by mělo být nastaveno (pokud je to možné u vašeho výrobce - někteří toto dědí) na požadovaný minimální MPLS pro služby, které chcete doručit, a nemůže být nižší než hodnota L2 MTU (musí odpovídat na obou stranách LDP relace nebo SR segmentu)

Příklad matematiky MTU pro doručení rámce s tagem 1500 bajtů přes VPLS (hodnoty mohou být vyšší, ale tento ukazuje minimální hodnoty, což usnadňuje pochopení, odkud hodnoty pocházejí):

  • L2 MTU - 9216 bajtů
  • L3 MTU - 1500 bajtů
  • MPLS MTU - 1530 bajtů

Proč je MPLS MTU 1530 bajtů pro doručení VPLS?

  • MPLS Overhead = 12 Bajtů (přeprava MPLS + VPN štítky)
  • L2 hlavičky uvnitř VPLS PW = 18 Bajtů (MAC hlavička + VLAN štítek)
  • L3 hlavičky a payload uvnitř VPLS PW = 1500 Bajtů (IP hlavička + DATA)

Sečtením získáte 1530.

Ačkoli neexistuje žádná standardní definice pro Ethernet MTU, obecně se ustálil na 1500 bajtech. Z pohledu poskytovatele služeb chcete v podstatě poskytovat tuto MTU na vašem síťovém okraji pro tranzitní uzly, IX uzly nebo předplatitele. uvnitř vašeho MPLS cloudu je velmi snadné přeceňovat podporou jumbo rámců (9000+ bajtů). Tím pádem, bez ohledu na velikost štítku (například 4 MPLS štítky v některých vzácných případech), jste stále hluboko pod linkovou MTU uvnitř MPLS jádra.

Výchozí hodnota 1500 by měla být pro většinu věcí dostačující. Jumbo rámce a MPLS jsou jediné věci, u kterých je třeba vypočítat přidané bajty.

Neptám se, jak vypočítat přidané bajty. Používal jsem k budování MPLS spojení. Nikdy jsem nepřišel na to, jak je MTU vypočítáno. Jednou jsem chyběl několik bajtů. To dopadlo neslavně.

Úvahy o MTU ohledně přenosu a snížené propustnosti kvůli přetížení jsou odlišné otázky.

Pro MTU nastavte maximální hodnotu na svém páteři a nechte předávky zákazníkům na výchozí. Měňte to pouze na požadavek zákazníka. Nemusíte mít nějakou specifickou hodnotu pro každého zákazníka. Stačí ji nastavit na předem stanovenou hodnotu, která je ekvivalentní nebo vyšší než ta, kterou potřebují. Měl jsem jedno místo, kde to bylo buď výchozí 1500 nebo 9000. Jiná místa dělala 1500, 2000 nebo 9100.

Pro otázku přetížení je na zákazníkovi, aby zohlednil přetížení při nákupu okruhů. I když jsem pracoval na místě, kde je policie nastavena na 10 % nad CIR, aby zohlednila přetížení.

Pumpujte 9K nebo maximální možnou na všech L2 rozhraních. L3 na 1500 pro jakékoliv rozhraní směřující k internetu.

L3 na 1600 pro jakékoliv LANové rozhraní, aby zohlednilo RFC4638, QinQ apod.

L3 VLAN na 1600 také.

Něco takového