Hlavní navigace

TRILL 2. část – Základní principy

 Autor: 29
Miroslav Matuška 7. 10. 2010

Druhá část ze série článků o protokolu TRILL, který má ambice nahradit Spanning Tree Protocol (STP) v ethernetových sítích, popisuje cíle a základní principy fungování nového protokolu. Úvod do problematiky nahrazení protokolu STP obsahuje článek první.

Cíle protokolu TRILL

Tvůrci nového protokolu (mezi kterými je opět Radia Perlman, autorka původního STP) si ve výchozím dokumentu RFC 5556 stanovili cíle, které musí nový protokol splnit. Těmi nejdůležitějšími je odstranění nedostatků STP zmíněných v prvním článku. Nový protokol tedy musí:

  • Mít „Fail-safe“ charakter. Při nejasném stavu musí být port raději zablokován než otevřen.
  • Spolehlivě bránit zacyklení rámců v síti a zajišťovat stabilitu sítě.
  • Podporovat libovolnou topologii L2 spojů.
  • Využívat nejvýhodnějších cest k cíli.
  • Využívat přenosové kapacity všech linek sítě (bez blokování redundantních tras).
  • Využívat souběžných linek pro přenos od stejného zdroje ke stejnému cíli (tzv. multipathing).
  • Mít možnost analýzy chování L2 sítě formalizovanými nástroji.

Nový protokol musí zachovat:

  • Charakter chování přepínané L2 ethernetové sítě vůči koncovým stanicím. Ethernetový rámec ze zdrojové stanice musí být ve stejné podobě doručen na přijímací stanici, která nesmí poznat rozdíl.
  • Možnost posílání rámců na více koncových stanic, tzv. multi-destination. To jsou rámce s broadcastovou, multicastovou a neznámou unicastovou adresou. Ty musí mít možnost šíření po celé L2 doméně.
  • Jednoduchost konfigurace přepínačů. Přepínač implementující TRILL se musí pro stejný účel konfigurovat podobně jednoduše jako klasický ethernetový přepínač.
  • Možnost bezproblémové koexistence přepínačů implementujících TRILL a klasických 802.1 přepínačů v jedné L2 infrastruktuře.

RFC 5556 definuje termín „RBridge“ jako zkratku od „Routing Bridge“, který označuje zařízení implementující protokol TRILL. Termín „Bridge“ je ponechán pro označení klasického L2 můstku (resp. L2 přepínače) dle IEEE 802.1. Odpoví­dající české termíny použité v této sérii článků jsou „TRILL přepínač“ a „klasický přepínač“ s vědomím terminologické nepřesnosti (switch a bridge není úplně totéž).

Nově použité principy

TRILL využívá oproti STP protokolům některé koncepty, které jsou v L2 sítích nové:

  • Směrování pro výpočet nejvýhodnějších cest k ostatním TRILL přepínačům. Je použit SPF algoritmus protokolu IS-IS.
  • Distribuční stromy a RPF kontrola (Reverse Path Forwarding Checks) pro distribuci multi-destination provozu.
  • Zapouzdření (enkapsulace) ethernetového rámce do TRILL hlavičky a do vnějšího ethernetového rámce. Díky zabalení původního rámce jsou MAC adresy koncových stanic pro tranzitní přepínače neviditelné.

Pro správné nastavení očekávání je však důležité zmínit i to, co cílem nového protokolu TRILL nebylo:

  • Zvýšení počtu koncových stanic v jedné L2 broadcast doméně (VLAN). Doporučený maximální počet koncových zařízení v jedné doméně je nezměněn – 1000.
  • Zabezpečení ethernetových sítí proti útokům. L2 síť je náchylná k celé řadě útoků (zahlcení MAC tabulek, podvržení MAC a ARP záznamů aj.), které by měly být řešeny bez ohledu na implementovaný řídící protokol (STP nebo TRILL).
  • Hierarchické směrování. MAC adresy jsou v zásadě nehierarchické (ploché), na rozdíl třeba od L3 IP adres. Každá koncová stanice tak stále musí mít svůj separátní záznam v přepínací tabulce (ekvivalent tzv. „host route“ v L3 protokolech).

Základní principy

TRILL přepínač je síťové zařízení velmi podobné klasickému ethernetovému přepínači. Má na sobě ethernetové porty, které je možné dle typu připojeného zařízení rozdělit na dva základní typy:

  • porty, ke kterým jsou připojeny jiné TRILL přepínače,
  • porty, ke kterým připojeny koncové stanice.

Oba typy se odlišují způsobem zpracování příchozích a odchozích rámců.

Na portech prvního typu dochází k modifikaci rámců přidáním hlavičky protokolu TRILL. Před přenosem na sousední TRILL přepínač jsou TRILL rámce navíc ještě zapouzdřeny do druhé, vnější ethernetové hlavičky. Přenášený rámec pak vypadá následovně:

terms 2-1

Enkapsulace protokolu TRILL. Fialově je vyznačen původní rámec

Na portech druhého typu jsou zpracovávány nativní ethernetové rámce v podobě, v jaké je známe dnes.

TRILL přepínač si po zapnutí automaticky vyhledá své sousedy a pomocí protokolu IS-IS si vybuduje topologickou mapu celé přepínané sítě. Na jejím základě si vypočítá nejvýhodnější cesty ke každému TRILL přepínači v síti, které později použije pro posílání rámců se známou unicastovou adresou. TRILL přepínače si dále vypočítají sdílený distribuční strom, který budou později používat pro posílání multi-destination rámců na portech prvního typu. Na portech druhého typu se pro posílání multi-destination rámců využije mechanismu floodingu známého z klasických ethernetových sítí.

První rámce poslané z koncových stanic narazí na prázdné přepínací tabulky TRILL přepínačů. Proto souběžně s přenášením rámců dochází na TRILL přepínačích i k tzv. učení – automatickému zápisu zdrojových MAC adres a příchozích portů do přepínací tabulky podobně jako na běžném ethernetovém přepínači. TRILL přepínače se navíc učí i ze zdrojových adres v dekapsulovaných TRILL rámcích – do tabulky je k MAC adrese jako „next-hop“ zapsán zdrojový TRILL přepínač, který provedl prvotní enkapsulaci nativního rámce od koncové stanice.

Vše probíhá automaticky bez potřeby ruční konfigurace.

Příklad komunikace

Mějme hypotetickou ethernetovou síť, ve které existují jen tři koncové stanice A, B a C, které jsou propojeny pomocí tří TRILL přepínačů. Přepínače jsou označeny čísly 1,2 a 3 a nepoužívají VLAN sítě. Všechna zařízení jsou propojena do jednoduché topologie.

terms 2-2

Přepínače 1 a 3 obsahují jak porty s koncovými stanicemi, tak porty s připojenými TRILL přepínači. Tím tvoří hranici mezi klasickou ethernetovou sítí a TRILL sítí. Přepínač 2 žádné porty s koncovými stanicemi neobsahuje a slouží jako tranzitní uvnitř TRILL sítě.

Předpokládejme, že TRILL přepínače v této síti již pomocí protokolu IS-IS vypočítaly nejvýhodnější cesty a distribuční strom. Přepínací tabulky po úvodní konvergenci neobsahují žádné adresy koncových stanic.

Poslání rámce od stanice A na stanici B vyvolá zápis adresy A do přepínací tabulky TRILL přepínače 1 (s uvedením portu, kudy rámec na přepínač přišel). Protože cílová adresa B v přepínací tabulce zatím není, dojde k floodingu původního rámce na lokální porty a současně i k poslání zabaleného rámce po distribučním stromu na sousední TRILL přepínač 2.

Vzhledem k tomu, že přepínač 2 neobsahuje žádné porty s koncovými stanicemi, není rámec dekapsulován z TRILL hlavičky a je poslán po distribučním stromu dále na přepínač 3. Před odesláním je ještě upraveno záhlaví TRILL rámce – vedle dalších úprav dojde ke snížení hodnoty Hop-Count o jedničku.

Přepínač 3 již porty s koncovými stanicemi obsahuje a rámec je tak dekapsulován do původní podoby. Předtím se ale přepínač naučí z TRILL hlavičky důležitou věc – to, že stanice A je připojená k TRILL přepínači 1. Protože cílová adresa B v tabulce TRILL přepínače 3 není, provede se lokální flooding na jeho přímo připojené porty.

Poslání rámce od stanice A na stanici C vyvolá stejnou sekvenci kroků. Jediný rozdíl je výsledek – v prvním případě (A->B) je rámec doručen na lokálním portu stejného přepínače, v druhém případě (A->C) je doručen na vzdáleném přepínači. Pro oba případy platí, že rámec s neznámou cílovou MAC adresou byl rozeslán na všechna možná místa v síti, kde by se mohla cílová stanice nacházet.

terms 2-3

Komunikace vyslaná ze stanice A

Zpětná komunikace od stanice B ke stanici A proběhne stejně jako na klasickém ethernetovém přepínači. Umístění MAC adresy A je již známo a TRILL přepínač 1 provede pouze lokální přepnutí rámce na správný port. Zapouzdření do TRILL hlavičky se neprovádí.

MIF16

U zpětné komunikace od stanice C ke stanici A již TRILL přepínač 3 ví, že stanice A je připojena k TRILL přepínači 1. TRILL přepínač 3 proto provede zapouzdření zpětného rámce do TRILL hlavičky tak, aby doputoval nejvýhodnější cestou (bez použití distribučního stromu) na přepínač 1. Ten už provede pouze dekapsulaci a odeslání rámce na jediný správný port.

Podrobnější popis zapouzdření a průchodu rámce sítí je popsán ve třetím článku série.

Našli jste v článku chybu?
Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Podnikatel.cz: Chystá se smršť legislativních novinek

Chystá se smršť legislativních novinek

Lupa.cz: Blíží se konec Wi-Fi sítí bez hesla?

Blíží se konec Wi-Fi sítí bez hesla?

Vitalia.cz: Tipy: Kde zaručeně koupíte dobré maso

Tipy: Kde zaručeně koupíte dobré maso

Podnikatel.cz: 5 věcí, které o EET ještě nevíte

5 věcí, které o EET ještě nevíte

Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

Vitalia.cz: Jsou vegani a vyrábějí nemléko

Jsou vegani a vyrábějí nemléko

Podnikatel.cz: Dva měsíce na EET. Budou stačit?

Dva měsíce na EET. Budou stačit?

Vitalia.cz: 7 příčin neplodnosti u žen: pravda a mýty

7 příčin neplodnosti u žen: pravda a mýty

Vitalia.cz: Když bílkoviny, tak jíme ty nekvalitní

Když bílkoviny, tak jíme ty nekvalitní

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

120na80.cz: Galerie: Čínští policisté testují českou minerálku

Galerie: Čínští policisté testují českou minerálku

120na80.cz: Co je padesátkrát sladší než cukr?

Co je padesátkrát sladší než cukr?

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

Vitalia.cz: Antibakteriální mýdla nepomáhají, spíš škodí

Antibakteriální mýdla nepomáhají, spíš škodí

Vitalia.cz: 5 chyb, které děláme při skladování potravin

5 chyb, které děláme při skladování potravin

DigiZone.cz: LG OLED65E6: první pohled

LG OLED65E6: první pohled

Lupa.cz: Poučný příběh jednoho rozšíření pro Chrome

Poučný příběh jednoho rozšíření pro Chrome

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?