This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:site:cisco:ccnp:switch:mls [2018/01/23 08:27] root |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Multilayer switching ====== | ||
- | |||
- | |||
- | ===== Automatic state of a SVI ===== | ||
- | |||
- | * SVI L3 interfejs je spjat s L2 VLAN | ||
- | |||
- | AUTOSTATE: | ||
- | * Je-li ve VLAN alespoň jeden port UP - je L3 SVI také up (line protocol) | ||
- | * není-li ve VLAN žádný int. UP - je line protocol SVI down | ||
- | |||
- | Podmínky za kterých je SVI UP díky autostate: | ||
- | * SVI je spjat s aktivní VLAN | ||
- | * SVI není administratevly down | ||
- | * alespoň jeden interface ve VLAN je aktivní | ||
- | |||
- | Př. Na switchi je definována VLAN2, je do ní přiřazeno několik interfejsů, | ||
- | < | ||
- | Switch(config)# | ||
- | Switch(config-if)# | ||
- | *Apr 21 10: | ||
- | Switch(config-if)# | ||
- | Switch(config-if)# | ||
- | Switch(config-if)# | ||
- | </ | ||
- | < | ||
- | Switch# show ip interface brief | ||
- | Interface | ||
- | Vlan1 | ||
- | Vlan2 | ||
- | FastEthernet1/ | ||
- | FastEthernet1/ | ||
- | </ | ||
- | |||
- | Připojení PC k jednomu z portů ve VLAN2: | ||
- | < | ||
- | Switch# | ||
- | *Apr 21 10: | ||
- | changed state to up | ||
- | *Apr 21 10: | ||
- | changed state to up | ||
- | *Apr 21 10: | ||
- | changed state to up | ||
- | Switch# | ||
- | </ | ||
- | |||
- | Odpojení PC od portu: | ||
- | < | ||
- | Switch# | ||
- | *Apr 21 10: | ||
- | | ||
- | *Apr 21 10: | ||
- | | ||
- | *Apr 21 10: | ||
- | | ||
- | </ | ||
- | |||
- | Zajistí, že tento int. nebude mít vliv na stav SVI: | ||
- | > | ||
- | |||
- | * Význam použití je např.na interfejsu s připojeným analyzátorem - int. je v dané VLAN jako jediný up, SVI je však down - je to z důvodu routovacích protokolů - nemá cenu routovat něco někam, kde není žádné aktivní zařízení. | ||
- | |||
- | ===== Multilayer switching - CEF ===== | ||
- | * myšlenka " | ||
- | * RP = Route Procesor | ||
- | * SE = Switching Engine | ||
- | |||
- | ==== NetFlow switching ==== | ||
- | (route cache switching) | ||
- | * první paket nového toku je klasicky routován v RP | ||
- | * switch si zapamatuje in/out interfacy pro tento tok | ||
- | * další pakety zpracovává už jen SE | ||
- | * Podpora v HW: | ||
- | * Cat6000 + Supervizor1/ | ||
- | * Cat5500 + Route Swich Module (RSM) / Route Switch Feature Card (RSFC) / ext.router | ||
- | |||
- | ==== CEF Cisco Express Forwarding==== | ||
- | * vychází z NetFlow switchingu | ||
- | |||
- | Podporované platformy: | ||
- | * Catalyst 6500 Supervisor 720 (with an integrated MSFC3) | ||
- | * Catalyst 6500 Supervisor 2/MSFC2 combination | ||
- | * Catalyst 4500 Supervisor III, IV V and 6-E | ||
- | * Catalyst 3750, 3560, 3550, and 2950 | ||
- | |||
- | === FIB Forwarding Information Base === | ||
- | |||
- | {{: | ||
- | |||
- | * přeformátovaná a seřazená routovací tabulka s nejpřesněji specifikovanou routou na prvním místě pro každý subnet | ||
- | * routy jsou řazeny dle délky masky, čím delší maska, tím výš je routa ve FIB | ||
- | * FIB obsahuje next-hop adresy pro každou routu | ||
- | * FIB obsahuje i routy s maskou /32, pro přímo připojené hosty, které normálně v routovací tabulce nejsou | ||
- | * FIB se dynamicky mění dle aktuální routovací tabulky i dle záznamů pro next-hop IP v ARP tabulce | ||
- | |||
- | Zobrazení FIB: | ||
- | >Switch# **show ip cef** [//type mod/num// | **vlan** // | ||
- | |||
- | < | ||
- | Switch# show ip cef vlan 101 | ||
- | Prefix Next Hop Interface | ||
- | 10.1.1.0/24 attached Vlan101 | ||
- | 10.1.1.2/32 10.1.1.2 Vlan101 | ||
- | 10.1.1.3/32 10.1.1.3 Vlan101 | ||
- | </ | ||
- | |||
- | >Switch# **show ip cef** [// | ||
- | |||
- | **longer-prefixes** - vypíše i routy s delší maskou než která byla specifikována v příkazu | ||
- | |||
- | < | ||
- | Switch# show ip cef 10.1.0.0 255.255.0.0 longer-prefixes | ||
- | Prefix Next Hop Interface | ||
- | 10.1.1.0/24 attached Vlan101 | ||
- | 10.1.1.2/32 10.1.1.2 Vlan101 | ||
- | 10.1.1.3/32 10.1.1.3 Vlan101 | ||
- | 10.1.2.0/24 attached Vlan102 | ||
- | 10.1.3.0/26 192.168.1.2 Vlan99 | ||
- | 192.168.1.3 Vlan99 | ||
- | 10.1.3.64/ | ||
- | 192.168.1.3 Vlan99 | ||
- | 10.1.3.128/ | ||
- | 192.168.1.3 Vlan99 | ||
- | [output omitted] | ||
- | </ | ||
- | |||
- | < | ||
- | Switch# show ip cef 10.1.3.0 255.255.255.192 detail | ||
- | 10.1.3.0/ | ||
- | 0 packets, 0 bytes | ||
- | via 192.168.1.2, | ||
- | traffic share 1 | ||
- | next hop 192.168.1.2, | ||
- | valid adjacency | ||
- | via 192.168.1.3, | ||
- | traffic share 1 | ||
- | next hop 192.168.1.3, | ||
- | valid adjacency | ||
- | 0 packets, 0 bytes switched through the prefix | ||
- | | ||
- | internal 0 packets, 0 byte | ||
- | </ | ||
- | |||
- | * version = počet updatů CEF záznamu od vytvotření tabulky | ||
- | * epoch = počet zahození CEF tabulky a vytvoření celé nové | ||
- | |||
- | * Jakmile je vytvořena FIB tabulka, pakety jsou hardwarově přepínány (spodní cesta v obrázku) | ||
- | * Jestliže paket nemůže být směrován dle FIB je označen jako "CEF punt" a poslán do L3 enginu k dalšímu zpracování (horní cesta v obrázku) | ||
- | |||
- | Důvody proč paket není směrován dle FIB: | ||
- | * pro paket není záznam ve FIB | ||
- | * FIB je plná | ||
- | * Vypršení IP TTL | ||
- | * Paket překračuje MTU a musí být fragmentován | ||
- | * ICMP Redirect | ||
- | * Nepodporovaný typ enkapsulace | ||
- | * Tunelovaný provoz, vyžadující kompresi nebo šifrování | ||
- | * Paket odpovídá ACL s " | ||
- | * Paket je NATován (kromě 6500, která má NAT v HW) | ||
- | |||
- | * **aCEF** (Accelerated CEF) - každá line card na 6500 má v sobě část FIB, co v ní nenajde, je směrováno do L3 enginu. | ||
- | * **dCEF** (Distributed CEF) - každá line card na 6500 má v sobě celou FIB | ||
- | |||
- | === Adjacency Table === | ||
- | |||
- | * router běžně udržuje routovací tabulku obsahující L3 sítě a next-hop adresy, a ARP tabulku s L3-L2 záznamy | ||
- | * pro urychlení přepínání, | ||
- | |||
- | >Switch# **show adjacency** [//type mod/num// | **vlan** // | ||
- | |||
- | < | ||
- | Switch# show adjacency summary | ||
- | Adjacency Table has 106 adjacencies | ||
- | Table epoch: 0 (106 entries at this epoch) | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | </ | ||
- | |||
- | < | ||
- | Switch# show adjacency vlan 99 detail | ||
- | Protocol | ||
- | IP | ||
- | 0 packets, 0 bytes | ||
- | | ||
- | | ||
- | | ||
- | IP | ||
- | 1 packets, 104 bytes | ||
- | | ||
- | | ||
- | | ||
- | </ | ||
- | * **000A5E45B145**000E387D51000800 - Next-hop MAC adresa | ||
- | * 000A5E45B145**000E387D5100**0800 - lokální MAC (MAC interface Vlan99) | ||
- | * 000A5E45B145000E387D5100**0800** - Protocol type (IP) | ||
- | * **ARP 01:52:50** - stáří ARP záznamu | ||
- | |||
- | * Adjacency table se vytváří z ARP tabulky | ||
- | * Je-li v ARP aktualizován záznam - je aktualizován i v adacdency tabulce | ||
- | * Jestliže v ARP není záznam pro next-hop, je záznam v adjacency tab. označen jako "CEF glean" | ||
- | * CEF glean nelze přepínat v HW, paket je poslán do L3 enginu, který musí vyvolat ARP request a zjistit MAC next-hopu | ||
- | * Tento stav se nazývá "CEF glean state" | ||
- | * ARP throttling, throttling adjacency - V průběhu CEF glean stavu, jsou pakety zahazovány dokud není v L3 enginu zjištěna MAC next-hopu pro tyto pakety | ||
- | |||
- | < | ||
- | Switch# show ip cef adjacency glean | ||
- | Prefix Next Hop Interface | ||
- | 10.1.1.2/32 attached Vlan101 | ||
- | 127.0.0.0/8 attached EOBC0/0 | ||
- | [output omitted] | ||
- | |||
- | Switch# show ip arp 10.1.1.2 | ||
- | |||
- | Switch# show ip cef 10.1.1.2 255.255.255.255 detail | ||
- | 10.1.1.2/ | ||
- | 0 packets, 0 bytes | ||
- | via Vlan101, 0 dependencies | ||
- | valid glean adjacency | ||
- | </ | ||
- | |||
- | Typy záznamů v adjacency table: | ||
- | * **Null adjacency** - pro pakety směrované na Null interface | ||
- | * **Drop adjacency** - používá se pro pakety určené k zahození z důvodu chyby (nepodporovaného protokolu, špatného kontrolního součtu) | ||
- | |||
- | < | ||
- | Switch# show cef drop | ||
- | CEF Drop Statistics | ||
- | Slot Encap_fail Unresolved Unsupported No_route No_adj ChkSum_Err | ||
- | RP | ||
- | </ | ||
- | |||
- | * **Discard adjacency** - pro pakety určené k zahození dle ACL | ||
- | * **Punt adjacency** - pro pakety posílané do L3 enginu k dalšímu zpracování | ||
- | |||
- | < | ||
- | Switch# show cef not-cef-switched | ||
- | CEF Packets passed on to next switching layer | ||
- | Slot | ||
- | RP 3579706 | ||
- | </ | ||
- | |||
- | Důvody pro zpracování v L3 enginu: | ||
- | * **No_adj** - nekompletní adjacency | ||
- | * **No_encap** - nekompletní ARP resolution | ||
- | * **Unsupp' | ||
- | * **Redirect** - ICMP redirect | ||
- | * **Receive** - pakety směrované na L3 interejfejsy (IP adresy int. a broadcasty) | ||
- | * **Options** - IP options | ||
- | * **Access** - chyba vyhodnocení ACL | ||
- | * **Frag** - chyba fragmentace | ||
- | |||
- | == Packet Rewrite == | ||
- | * vždy musí být přepsány hlavičky zpracovávaného rámce a paketu před opuštěním zařízení | ||
- | * děje se ve speciálním HW k tomu určeným | ||
- | |||
- | - L2 cílová adresa - změna na MAC next-hopu | ||
- | - L2 zdrojová adresa - změna na MAC odchozího L3 interfejsu switche | ||
- | - L3 IP TTL - snížení hodnoty o jedna | ||
- | - L3 IP checksum - přepočítání kontrolního součtu IP hlavičky | ||
- | - L2 frame checksum - přepočítání kontrolního součtu L2 rámce | ||
- | |||
- | === Konfigurace CEF === | ||
- | * defaultně zapnuto | ||
- | |||
- | Na Cat3750 a 4500 lze vypnout: | ||
- | > | ||
- | > | ||
- | |||
- | |||
- | FIXME VERIFING MLS str.257 | ||
- | |||
- | |||
- | |||