Cisco Express Forwarding

Cisco Express Forwarding ist ein Prozess, welcher die Forwarding Decision auf Layer 3 schneller machen soll. Generell wird dort in drei unterschiedlichen Methoden unterschieden:

  1. Process Switching
  2. Fast Switching
  3. Cisco Express Forwarding

Switching meint nicht Layer 2

Auch wenn die Methoden Switching im Namen haben, so ist hier das Layer 3 Forwarding gemeint!

CEF ist der heutige Default auf allen modernen Cisco Routern. CEF baut auf zwei zuvor erstellen Cache Tabellen in der Data Plane auf.

  1. Forwarding Information Base - FIB
    1. Die FIB nutzt Informationen aus der RIB oder Routing Tabelle (Control Plane) um diese dann zu vereinfachen damit diese schneller von der Data Plane verarbeitet werden können.
  2. Adjacency Table
    1. Diese Tabelle bezieht ihre Informationen aus der ARP Tabelle (Control Plane) des Routers welche dann der Data Plane zu Verfügung gestellt werden.

Hardware CEF vs Software CEF

CEF kann dabei sowohl in Software (Software CEF) als auch Hardware (Hardware CEF) verarbeitet werden. Software CEF speichert die FIB und die Adjacency Tabelle im RAM und wird durch die CPU verarbeitet. Hardware CEF speichert die FIB in der TCAM und die Adjacency Table wird in einem separaten Modul gespeichert. Verarbeitet werden ihre Informationen von einem ASIC.

Auch wenn Software CEF grundsätzlich langsamer als eine Hardware CEF Implementierung ist, so kann es im Vergleich zu den anderen Methoden (Process/Fast Switching) schneller sein.

Insgesamt ist der Prozess effizienter - egal ob in Software oder Hardware.

Limitation von CEF

Der CEF Prozess kann keine Pakete verarbeiten die für den Router selbst bestimmt sind - wie bpsw. Ping oder SSH zum Router selbst. Wenn dieses Paket nicht von CEF verarbeitet werden kann, so wird es “punted” und es findet ein Process Switching statt. Das Paket wird dem ip_input Prozess des Routers übergeben. Weitere Einschränkungen:

  • ACL Logging (Syslog Logging wenn Paket die ACL auslöst)
  • Pakete für die es noch keine Layer 2 Informationen vorliegen - ARP muss durch die CPU durchgeführt werden.
  • Pakete die für CEF zu komplex sind - bspw. IP Pakete mit IP options

NOTE

Sobald ein Paket nicht von CEF verarbeitet werden kann, fällt der Router auf Process Switching zurück.


References

https://www.youtube.com/watch?v=kNnHYSgzMq8