This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| 
                    wiki:site:cisco:ccnp:switch:l2l3sw [2014/12/26 18:31] 127.0.0.1 upraveno mimo DokuWiki  | 
                — (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** // | ||