User Tools

Site Tools


wiki:site:cisco:mls2

Multilayer switching

Multilayer switching - CEF

  • myšlenka “routovat jednou, switchovat mnohokrát”
  • 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/1 + Multilayer Switch Feature Card (MSFC)
    • 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 vlan-id] [detail]
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 [prefix-ip prefix-mask] [longer-prefixes] [detail]

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/26 		192.168.1.2 		Vlan99
			192.168.1.3 		Vlan99
10.1.3.128/26		192.168.1.4 		Vlan99
			192.168.1.3	 	Vlan99
[output omitted]
Switch# show ip cef 10.1.3.0 255.255.255.192 detail
10.1.3.0/26, version 270, epoch 0, per-destination sharing
0 packets, 0 bytes
   via 192.168.1.2, Vlan99, 0 dependencies
      traffic share 1
      next hop 192.168.1.2, Vlan99
      valid adjacency
   via 192.168.1.3, Vlan99, 0 dependencies
      traffic share 1
      next hop 192.168.1.3, Vlan99
      valid adjacency
   0 packets, 0 bytes switched through the prefix
   tmstats: external 0 packets, 0 bytes
            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 “log” parametrem
  • 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í, jsou ve FIB udržovány i L2 záznamy pro next-hop - tato část FIB se nazývá adjacency table
Switch# show adjacency [type mod/num | vlan vlan-id] [summary | detail]
Switch# show adjacency summary
Adjacency Table has 106 adjacencies
   Table epoch: 0 (106 entries at this epoch)
   Interface		Adjacency Count
   Vlan99 		21
   Vlan101 		3
   Vlan102 		1
   Vlan103 		47
   Vlan104 		7
   Vlan105 		27
Switch# show adjacency vlan 99 detail
Protocol   Interface		Address
IP	   Vlan99		192.168.1.2(5)
  				   0 packets, 0 bytes
				   000A5E45B145000E387D51000800
				   ARP		01:52:50
				   Epoch: 0
IP	   Vlan99		192.168.1.3(5)
				   1 packets, 104 bytes
				   000CF1C909A0000E387D51000800
				   ARP		04:02:11
				   Epoch: 0
  • 000A5E45B145000E387D51000800 - Next-hop MAC adresa
  • 000A5E45B145000E387D51000800 - lokální MAC (MAC interface Vlan99)
  • 000A5E45B145000E387D51000800 - 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/32, version 688, epoch 0, attached, connected
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	   8799327		 1	      45827	5089667 	    32 		0
  • 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   No_adj   No_encap   Unsupp’ted   Redirect   Receive   Options   Access   Frag
RP    3579706          0            0          0  41258564         0        0      0

Důvody pro zpracování v L3 enginu:

  • No_adj - nekompletní adjacency
  • No_encap - nekompletní ARP resolution
  • Unsupp'ted - nepodporované featury paketu
  • 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
  1. L2 cílová adresa - změna na MAC next-hopu
  2. L2 zdrojová adresa - změna na MAC odchozího L3 interfejsu switche
  3. L3 IP TTL - snížení hodnoty o jedna
  4. L3 IP checksum - přepočítání kontrolního součtu IP hlavičky
  5. L2 frame checksum - přepočítání kontrolního součtu L2 rámce

Konfigurace CEF

  • defaultně zapnuto

Na Cat3750 a 4500 lze vypnout:

Switch(config-if)# no ip route-cache cef
Switch(config-if)# no ip cef

FIXME VERIFING MLS str.257

wiki/site/cisco/mls2.txt · Last modified: 2018/01/23 09:30 by root