This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
wiki:site:cisco:ccnp:switch:l2l3sw [2018/01/16 11:26] root odstraněno |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== L2/L3 (Multilayer) Switch ====== | ||
- | * **MLS** = multilayer switching | ||
- | * Podporováno na switchích z řad 3750, 4500 a 6500 | ||
- | | ||
- | ===== Druhy MLS ===== | ||
- | - Route caching | ||
- | - Topology based switching | ||
- | * **RP** = Route processor | ||
- | * **SE** = Switching engine | ||
- | |||
- | ==== Route caching ==== | ||
- | * první generace MLS | ||
- | * RP musí zpracovat první paket toku a zjistit jeho cíl | ||
- | * SE naslouchá výsledku zpracovaní prvního paketu toku a tento výsledek si uloží do MLS cache, podle které přepíná zbylé pakety daného toku | ||
- | * Cisco switche tuto metodu __NEPOUŽÍVAJÍ__ | ||
- | * Též zvaný: | ||
- | * //Netflow LAN switching// | ||
- | * // | ||
- | * // | ||
- | * //Route once, switch many// | ||
- | |||
- | ==== Topology-based ==== | ||
- | * druhá generace MLS | ||
- | * pro přepínání se používá specializovaný HW | ||
- | * Též zvaný jako **CEF** = Cisco Express Forwarding | ||
- | * Routovací informace se přenáší do **FIB** = Forward Information Base | ||
- | |||
- | CAM table | ||
- | ^timestamp ^MAC adr. ^Port ^VLAN ^ | ||
- | | | | ||
- | FIB table | ||
- | ^IP adr. ^NextHop IP ^NextHop MAC ^Port ^ | ||
- | | | | ||
- | |||
- | __MLS proces:__ | ||
- | * L2 forwarding table - rozhodování podle Dest.MAC adresy a CAM tabulky. Jestliže rámec obsahuje L3 paket k forwardování a Dest.MAC adr.=MAC adr. L3 rozhraní switche, je jen rozhodnuto, že forwarding proběhne na L3. | ||
- | * L3 forwarding table - rozhodování podle Dest.IP adresy nad FIB tabulkou. Vybrán je záznam, kde je " | ||
- | * Security ACL - Inbound a Outbound ACLs jsou zakomponovány do TCAM tabulky => zase úspora lookupů | ||
- | * QoS ALC - také v TCAM | ||
- | Před tím než rámec opustí switch, musí být přepočítány kontrolní součty L3 a L2 hlaviček, protože se tyto hlavičky změnily. | ||
- | |||
- | __MLS vyjímky: | ||
- | CEF může zpracovávat pouze pakety, které nevyžadují jiné operace s hlavičkami, | ||
- | * ARP požadavky a odpovědi | ||
- | * IP pakety vyžadující odpověď od routeru (TTL expired, MTU exceeded, Fragmentation needed,... ) | ||
- | * IP broadcasty přenášené jako unicasty (DHCP request, IP helper funkce) | ||
- | * Routovací updaty | ||
- | * CDP, IPX, non-IP a non-IPX provoz | ||
- | * pakety určené pro NAT | ||
- | |||
- | ===== Tabulky používané pro switching ===== | ||
- | ==== CAM - Content-Addressable Memory ==== | ||
- | * Používají ji všechny cisco catalyst switche | ||
- | * Do tabuky se zapisují zdrojové MAC adr., | ||
- | * Když rámec se stejnou zdrojovou MAC přijde přes jiný port, je vytvořen nový záznam a ten původní je smazán + je vygenerováno hlášení o flapující MAC mezi porty | ||
- | * Jestliže přijde rámec se stejnou zdrojovou MAC přes stejný port jako předtím, je pouze aktualizována časová známka. | ||
- | * Defaultně jsou " | ||
- | |||
- | >Změna doby uchování záznamů v CAM (def.300s) | ||
- | > | ||
- | |||
- | > | ||
- | > | ||
- | |||
- | ==== TCAM - Ternary Content-Addressable Memory ==== | ||
- | Při klasickém routingu jsou ACE (Access Controll Entities) ACL vyhodnocována postupně, což může mít za následek zvýšení procesního zpoždění. V multilayer switchích je vyhodnocovací proces ACL implementován v hardwaru. TCAM umožňuje, aby byl paket vyhodnocen pomocí pouze jdnoho lookupu do tabulky. Switche často mívají více TCAM tabulek, což umožňuje zároveň vyhodnocovat vstupní a výstupní ACL, security a QoS ACL, forwarding na druhé a třetí vrstvě. | ||
- | |||
- | Komponenty Cisco IOS pro TCAM: | ||
- | * **FM = Feature Manager** - zakomponovává ACE do TCAM | ||
- | * **SDM = Switching Database Manager** - lze pomocí něj rozdělovat TCAM na oddíly (partitions) určené pro různé funkce. Cisco 4500 a 6500 mají TCAM rozdělenu napevno. | ||
- | |||
- | === Struktura TCAM === | ||
- | >str.29 | ||
- | Záznamy se skládají z kombinací VMR: | ||
- | * **Value** - 134bitů, obsahuje např. zdrojovou, cílovou adr., port atp., vyplňuje se podle definovaných ACL | ||
- | * **Mask** - 134bitů, maska sloužící k označení části hodnot Values, které jsou relevantní pro rozhodování - odvozuje se z masek definovaných v ACL | ||
- | * **Result** - číselné hodnoty reprezentující prováděnou akci, jestliže dojde k matchi řádku (permit, deny, pointer to next-hop routing table, index pro QoS policer, atp) | ||
- | |||
- | TCAM je vždy organizována dle __masek__, kde každá maska má asociovaných __8__ Value paternů. Je-li počet paternů větší než 8, musí se vytvořit nová (stejná maska), ke které se přidávají další paterny. | ||
- | |||
- | * **access-list 100 permit tcp host 192.168.199.14 10.41.0.0 0.0.255.255 eq telnet** | ||
- | * **access-list 100 permit ip any 192.168.100.0 0.0.0.255** | ||
- | * **access-list 100 deny udp any 192.168.5.0 0.0.0.255 gt 1024** | ||
- | * **access-list 100 deny udp any 192.168.199.0 0.0.0.255 range 1024 2047** | ||
- | |||
- | ^ MASKS (134 bits) ^ Value patterns (134 bits) ^^^^^^^^ | ||
- | | | ||
- | | **Maska 1** \\ src.IP 32bits \\ dst.IP 16bits \\ other (xxx) | TCP | | 192.168.199.14 | ||
- | |::: | | | | | | | | | | | ||
- | |::: | | | | | | | | | | | ||
- | |::: | | | | | | | | | | | ||
- | |::: | | | | | | | | | | | ||
- | |::: | | | | | | | | | | | ||
- | |::: | | | | | | | | | | | ||
- | |::: | | | | | | | | | | | ||
- | | **Maska 2** \\ dst.IP 24bits \\ other (xxx) | | | | | | 192.168.100.0 | ||
- | |::: | UDP | | | | | 192.168.5.0 | ||
- | |::: | UDP | | | | | 192.168.199.0 | ||
- | |::: | | | | | | | | | | | ||
- | |::: | | | | | | | | | | | ||
- | |::: | | | | | | | | | | | ||
- | |::: | | | | | | | | | | | ||
- | |::: | | | | | | | | | | | ||
- | | **Maska 3** \\ ... \\ ..| | | | | | | | | | | ||
- | |||
- | **LOU register pairs** | ||
- | | **A** | gt \\ 1024 | ||
- | | **B** | range start \\ 1024 | range end \\ 2047 | | ||
- | |||
- | TCAM tabulka není přímo stavěná na složitější porovnávání L4 hodnot (portů), pro případy **gt, lt, neg** a **range** je použit pomocný LOU registr, který uchovává tato pravidla a TCAM se do něj jen odkazuje - umožňuje to např. aby jeden LOU záznam byl společný pro více paternů v TCAM. Velikost LOU je však __omezená__, | ||
- | |||
- | ===== Konfigurace Switching Tables ===== | ||
- | >str.32 | ||
- | |||
- | POZOR! příkazy lze psát dvěma způsoby: | ||
- | * Po staru: **mac-adress-table** | ||
- | * Po novu: **mac address-table** | ||
- | |||
- | >Změna doby uchování záznamů v CAM (def.300s) | ||
- | > | ||
- | |||
- | > | ||
- | > | ||
- | |||
- | > | ||
- | >Switch# **show mac address-table dynamic** [**address** // | ||
- | |||
- | > | ||
- | >Switch# **show mac address-table count** | ||
- | |||
- | > | ||
- | >Switch# **clear mac address-table dynamic** [**address** // |