Aktivní prvky
Následuje velice stručný popis aktivních síťových prvků, kterých se týkají dále popisované funkce.
Switch
Aktivní prvek s řadou portů pro propojení síťových zařízení. Rámec, který přijde přes jeden port, přeposílá na jiný podle cílové MAC adresy. Vyhledává v CAM tabulce, pokud neexistuje záznam, tak se odesílá na všechny porty mimo příchozího. Ze zdrojových MAC adres si vytváří CAM tabulku. Nijak nemodifikuje rámec.
MultiLayer Switch (MLS)
Jedná se o rozšířený switch, který mimo klasického switchování na 2. vrstvě OSI, nabízí nějaké další funkce na vyšších vrstvách OSI. Například podporuje routing, takový switch se často označuje jako L3 switch. Oproti klasickým routerům se L3 switch liší v tom, že pro přepínání paketů používá speciální HW ASIC (Application-Specific Integrated Circuit) místo procesoru. Mezi další rozšířené vlastnosti může patřit například podpora DiffServ QoS.
Router
Aktivní prvek pro propojení jednotlivých sítí (subnetů). U přicházejících rámců se odstraní hlavička a při odeslání se doplní nová (v hlavičce rámce jsou vždy údaje o aktuálním hopu). Paket se směruje podle adresy síťové vrstvy (Layer 3 OSI), nejčastěji IP adresy. Využívá se routovací tabulka (RIB), která se může vytvářet dynamicky pomocí routovacího protokolu.
Operace aktivních prvků
Switch provádí přepínání (switching) rámců (frames, dívá se na MAC adresy do 2. vrstvy, takže můžeme říci, že pracuje s rámci). Někde se používá i termín bridging. Obecně se při popisu funkce říká, že switch přeposílá (forward) rámce a k tomu používá některou forwardovací metodu (Store and forward, Cut through, Fragment-Free).
Router provádí směrování (routing) paketů (packets, dívá se na IP adresy do 3. vrstvy, takže pracuje s pakety, i když při odesílání opět sestaví rámec). Obecně se opět používá termín, že router přeposílá (forward) pakety. Ovšem někde (často u MLS) se používá i termín packet switching nebo router switching.
Tabulky u switchů a routerů
Content Addressable Memory (CAM) table
Zjednodušeně řečeno tabulka MAC adres. Tato tabulka obsahuje MAC adresu, port, VLAN a časové razítko. Záznam vzniká při příchodu rámce a bere se zdrojová MAC adresa (pokud již existuje, tak se pouze obnoví časové razítko, pokud existuje MAC pro jiný port, tak se původní smaže). Používá se pro L2 switching. Timeout záznamů v tabulce je defaultně 5 minut.
Ternary CAM (TCAM) table
Běžná CAM tabulka používá binární hodnoty (tedy stav 0 a 1), pomocí ní se velice rychle porovnávají adresy. TCAM používá ještě třetí stav (0, 1 a X), takže se dají porovnávat jen části řetězců. To se využívá pro rychlé HW vyhodnocení ACL u MLS (Multilayer Switch).
Forward Information Base (FIB)
Koncepčně podobné jako routovací tabulka (Routing Information Base). Obsahuje obraz routovací tabulky a udržuje next-hop adresy. Slouží k rozhodování o IP switchování podle cílového prefixu. Je optimalizovaná pro rychlé hledání podle cílové IP adresy.
Address Resolution Protocol (ARP) table
Tabulka přiřazení IP adres a MAC adres spolu s časovou známkou (kdy naposled byl záznam validní). Slouží pro komunikaci v rámci subnetu (L2 broadcast domain). Timeout je defaultně 4 hodiny.
Router Switching metody
Zde se rozebírají metody, jak Router nebo L3 switch přeposílá pakety. Od dané metody se odvíjí rychlost, jakou zařízení pracuje.
Základní princip
Rámec dorazí na interface, odstraní se hlavička rámce (ta se skládá hlavně z MAC adres) a zakončení (trailer, což je kontrolní součet). Podle údajů síťové vrstvy (L3 OSI modelu) a routovací tabulky se určí, kam se má odeslat. Ověří se, že je cíl dosažitelný a určí se next hop a interface, přes který se odešle. Znovu se vyrobí rámec (vytvoří se nová hlavička a spočítá se kontrolní součet) a odešle se přes jiný interface na next hop nebo k cíli.
Při routingu se každý přijatý rámec musí umístit do fronty, z této fronty se následně vyjme a odesílá. Jakým způsobem detailně probíhá zpracování rámce, záleží na tzv. Router Switching Path. Jednotlivé metody jsou popsány dále.
Process Switching
Nejběžnější, ale také nejhorší metoda, kterou obsahuje každá verze IOSu na každé platformě. Pro forwardovací rozhodnutí se používá routovací tabulka (Routing Information Base - RIB) a ARP cache. Paket se zpracovává (switched) normálním procesem uvnitř IOSu, který se plánuje, tedy na stejné úrovni jako jiné procesy (třeba routovací protokol). Ostatní procesy nejsou přerušeny, když se přepíná paket. Proces, který zjišťuje, jestli nějaký paket nečeká na odeslání je pravidelně naplánovaný (paket neodesílá se ve chvíli, kdy dorazí). Paket se umisťuje do bufferu, pak se čeká na přerušení CPU, které zkontroluje, zda je něco ve frontě. Takže CPU zpracovává každý paket.
Fast Switching
Při příchodu prvního paketu se vytvoří záznam do cache (binární strom s rychlým vyhledáváním), ten obsahuje forwardovací informace a MAC hlavičku. Další pakety se pak porovnávají s touto cachí a pokud jsou ze stejného streamu, tak se rychle odešlou (nemusí se dívat do routovací tabulky). Dnes se jedná o defaultní metodu u levných routerů/switchů. Switchování se provádí na požádání (nečeká se na naplánovanou úlohu).
Cisco Express Forwarding - CEF
Rozšířená L3 switchovací technologie. Využívá FIB (Forward Information Base) a tabulku sousedství (obsahuje L2 nebo switchovací informace mapované na záznamy ve FIB). Zvyšuje rychlost switchování rámců (výrazně rychlejší než jiné routovací techniky). Ještě lepší je distributed CEF (FIB tabulky se distribuují na každou line card). Řada funkcí (jako NBAR a QoS Policing) vyžaduje zapnutý CEF. Nové modely mají CEF defaultně zapnutý.
CEF je podobný jako Fast Switching, ale neukládá data (odchozí interface, MAC hlavička) do jedné stromové cache. Ale používá FIB pro hledání a vlastní data jsou uložena v tabulce sousedství (adjacency table), do které FIB odkazuje. Tabulku sousedství můžeme vytvářet samostatně (nemusí to být při forwardování paketů) a můžeme ji měnit. Takže nemusí docházet k invalidaci (a stárnutí) záznamů v cache a tabulku můžeme předpřipravit z hodnot v routovací tabulce a ARP cachi.
Router Switching Path
Podle rychlosti můžeme metody seřadit (od nejrychlejší dolů):
- distributed Cisco Express Forwarding - dCEF
- Cisco Express Forwarding - CEF
- Fast Switching
- Process Switching
Konfigurace v Cisco IOSu
Následují některé příkazy Cisco IOSu pro konfiguraci výše popsaných vlastností. I když většinou není potřeba konfigurovat nic.
SWITCH(config-if)#ip route-cache // zapnutí Fast Switching pro interface SWITCH(config-if)#ip route-cache cef // zapnutí CEF pro interface SWITCH(config)#ip cef distributed // zapnutí dCEF SWITCH#show ip cef // zobrazí záznamy z FIB SWITCH#show ip cef detail // zobrazí záznamy z FIB detailně SWITCH#show adjacency // zobrazí tabulku sousedství SWITCH#show cef interface // detailní CEF informace pro interfacy SWITCH(config)#mac address-table aging-time 300 // nastaví CAM životnost záznamů, default 5 min, zadáním 0 se vypne mazání záznamů SWITCH(config-if)#arp timeout 14400 // nastaví ARP životnost záznamů, default 4 hod SWITCH#show mac address-table aging-time // zobrazí nastavený čas SWITCH#show mac address-table aging-time // zobrazí nastavený čas SWITCH#show mac address-table // záznamy v CAM tabulce SWITCH#show ip arp // záznamy v ARP tabulce
Výstižné stručné zhrnutie, veľmi mi pomohlo. Vďaka :-)
Ivica
Z provozních důvodů máme nastaveno:
SWITCH(config)#mac address-table aging-time 14400
Pak se občas hodí příkaz na okamžité smazání nějakého arp záznamu:
SWITCH#clear ip arp 192.168.1.10