Difference between revisions of "Cisco CEF"

From HackerNet
Jump to: navigation, search
m
m
Line 1: Line 1:
 
Cisco Express Forwarding är switchingteknik som är framtagen för att öka prestandan på Ciscos routrar och L3-switchar. I tidernas begynnelse fanns endast process switching, då behövde varenda paket kollas upp i routingtabellen vart det skulle. L2-information för next-hop (som finns i en annan tabell) behövde också tas fram. Ibland krävs rekursiva iterationer av lookupen för att identifiera rätt next-hop och egress interface. Detta kan vara väldigt intensivt för CPU så en variant med cachefunktion utvecklades. Med fast switching behandlas det första paket på samma sätt som med process switching men resultatet av lookupen sparas i en route cache, designad för att vara snabb. Den innehåller destination IP, next-hop information och L2 information till framen som ska skickas. Route once, forward many times. Den stora nackdelen är att om det kommer in många nya paket blir det ändå tungt för CPU och entries i cachen timear ut ganska fort för annars skulle cachen kunna gå full och allt skulle bli process switched igen. CEF löser detta genom att proaktivt lägga entries i en cache som programmeras på ASIC. CEF använder routing-information från Routing Information Base (RIB), Route Processor (RP) och line card (LC) databases för express forwarding. I nyare IOS:er finns det inte stöd för unicast fast switching.  
 
Cisco Express Forwarding är switchingteknik som är framtagen för att öka prestandan på Ciscos routrar och L3-switchar. I tidernas begynnelse fanns endast process switching, då behövde varenda paket kollas upp i routingtabellen vart det skulle. L2-information för next-hop (som finns i en annan tabell) behövde också tas fram. Ibland krävs rekursiva iterationer av lookupen för att identifiera rätt next-hop och egress interface. Detta kan vara väldigt intensivt för CPU så en variant med cachefunktion utvecklades. Med fast switching behandlas det första paket på samma sätt som med process switching men resultatet av lookupen sparas i en route cache, designad för att vara snabb. Den innehåller destination IP, next-hop information och L2 information till framen som ska skickas. Route once, forward many times. Den stora nackdelen är att om det kommer in många nya paket blir det ändå tungt för CPU och entries i cachen timear ut ganska fort för annars skulle cachen kunna gå full och allt skulle bli process switched igen. CEF löser detta genom att proaktivt lägga entries i en cache som programmeras på ASIC. CEF använder routing-information från Routing Information Base (RIB), Route Processor (RP) och line card (LC) databases för express forwarding. I nyare IOS:er finns det inte stöd för unicast fast switching.  
 
+
  show cef state
CEF
 
ip cef
 
  show ip interface | i protocol|CEF
 
Fast-switched
 
int gi1
 
  no ip route-cache cef
 
Process-switched
 
int gi1
 
  no ip route-cache
 
  
 
===FIB===
 
===FIB===
CEF har två nyckelkomponenter, FIB och Adjacency. '''ip cef optimize neighbor resolution''' är på default.
+
CEF har två nyckelkomponenter, FIB och Adjacency. L2 address resolution tas direkt från CEF med '''ip cef optimize neighbor resolution''', det är på default.
 
  show ip cef
 
  show ip cef
 
  show ipv6 cef
 
  show ipv6 cef
Line 37: Line 28:
 
   tunnel        Algorithm for use in tunnel only environments
 
   tunnel        Algorithm for use in tunnel only environments
 
   universal      Algorithm for use in most environments
 
   universal      Algorithm for use in most environments
 +
 +
===Interface===
 +
CEF
 +
ip cef
 +
show ip interface | i protocol|CEF
 +
Fast-switched
 +
int gi1
 +
  no ip route-cache cef
 +
Process-switched
 +
int gi1
 +
  no ip route-cache
  
 
===dCEF===
 
===dCEF===

Revision as of 07:37, 21 July 2016

Cisco Express Forwarding är switchingteknik som är framtagen för att öka prestandan på Ciscos routrar och L3-switchar. I tidernas begynnelse fanns endast process switching, då behövde varenda paket kollas upp i routingtabellen vart det skulle. L2-information för next-hop (som finns i en annan tabell) behövde också tas fram. Ibland krävs rekursiva iterationer av lookupen för att identifiera rätt next-hop och egress interface. Detta kan vara väldigt intensivt för CPU så en variant med cachefunktion utvecklades. Med fast switching behandlas det första paket på samma sätt som med process switching men resultatet av lookupen sparas i en route cache, designad för att vara snabb. Den innehåller destination IP, next-hop information och L2 information till framen som ska skickas. Route once, forward many times. Den stora nackdelen är att om det kommer in många nya paket blir det ändå tungt för CPU och entries i cachen timear ut ganska fort för annars skulle cachen kunna gå full och allt skulle bli process switched igen. CEF löser detta genom att proaktivt lägga entries i en cache som programmeras på ASIC. CEF använder routing-information från Routing Information Base (RIB), Route Processor (RP) och line card (LC) databases för express forwarding. I nyare IOS:er finns det inte stöd för unicast fast switching.

show cef state

FIB

CEF har två nyckelkomponenter, FIB och Adjacency. L2 address resolution tas direkt från CEF med ip cef optimize neighbor resolution, det är på default.

show ip cef
show ipv6 cef
clear cef table ipv4

Adjacency

show adjacency

Kolla en specifik route

show ip cef exact-route source destination
show ip cef exact-route 10.0.0.5 172.16.1.2

Debug

debug ip packet detail

För detta krävs att CEF stängs av, no ip route-cache

Consistency

test cef table consistency
show cef table consistency-check 

Load Sharing

Per-destination load balancing används default. CEF polarization uppstår när hash algoritmen väljer en viss väg och redundanta vägar inte används.

ip cef load-sharing algorithm
 include-ports  Algorithm that includes layer 4 ports
 original       Original algorithm
 tunnel         Algorithm for use in tunnel only environments
 universal      Algorithm for use in most environments

Interface

CEF

ip cef
show ip interface | i protocol|CEF

Fast-switched

int gi1
 no ip route-cache cef

Process-switched

int gi1
 no ip route-cache

dCEF

Med Distributed CEF så har alla line cards egna kopior av FIB och adjacency table, på så sätt kan de göra express forwarding själva och behöver inte fråga main processor.

show cef linecard