• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1636
  • Last Modified:

Relation between Cisco CEF and Controle/Data/Forwarding Plane

If I understand Cisco CEF relies on IOS Software (Routing and Adjacency table) then it copies the Routing table to ASIC  FIB and Adjacency table to ASIC Adjacency table ( I cannot remember how it is called )…
 Well, this is CEF , but I have encountered the terms Controle/Data/Forwarding plane….I would like to know if there is any relevance between those planes and the CEF…
 
Any help will be very much appreciated.
0
jskfan
Asked:
jskfan
  • 7
  • 5
  • 4
9 Solutions
 
unfragmentedCommented:
Think of the CEF and its constructs including the FIB and the adjacency table as the data or forwarding plane.  The data or forwarding is all about moving "normal" packets as fast as possible, with as little "handling" as possible.  Most high end products do this "in hardware" with ASICS.

However, the data plane can't build its tables on its own.  It relies on the intelligence of the control plane to analyze/discover/decide how the device should process the traffic.  The control plane then programs the data plane (the FIB and AdjTab) with a template of how it should handle that type of packet in the future.  The control plane will also update and remove the templates as required.  Analyze/discover/decide are based on our familiar protocols like ARP, BGP, OSPF etc.  This requires more complex processing, and a more flexible processor, and hence packets that require control plane involvement before being forwarded are said to be in the "slow path".

There is also a third plane referred to as the "management" plane.  In old devices, this was very much part of the control plane.  There has been a movement to separate this plane as much as possible.  This function is about "managing" the device, eg handles incoming telnet/ssh sessions, snmp requests/traps, syslog, config management etc.  These are things that ideally should not impact, nor be impacted by a busy control plane or data plane.

Thats a pretty rough explanation of it.  There would be plenty of good blogs about this topic if you have the time to do some googling.
0
 
jskfanAuthor Commented:
if I understand your comment :
Data plane and forwarding plane are the same ? If so do they use those terms interchangeably?

controle plane sounds like the software part that builds the routing table and adjacency table before it hands out to ASIC HARDWARE  that will feed it to FIB  and Adjacency table (the one in ASIC)
0
 
Don JohnstonInstructorCommented:
"Forwarding plane" is just another term for "data plane"
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
unfragmentedCommented:
as donjohnston said, the data/forwarding plane terms are interchangeable.  Control plane - yes i think you have the right idea.
0
 
jskfanAuthor Commented:
OK…

In IOS Software side, it has:

- Routing Table
- Adjacency Table
- Topology Table

Which of them maps to Control plane and which maps to Forwarding plane ?

in Hardware side (ASIC), it has :
FIB
Adjacency Table
Which of the Routing /Adjacency/Topology gets copied to ASIC (FIB) and which gets copied to ASIC (Adjacency Table) ??

Thanks
0
 
Don JohnstonInstructorCommented:
- Routing Table
- Adjacency Table
- Topology Table

Which of them maps to Control plane and which maps to Forwarding plane ?

Those are all Control Plane.

The forwarding plane is for data (hence, data plane).

Anything that has to do with building routing tables, spanning-tree, ARP caches, etc., is Control Plane. Any traffic that is going through the router is Data Plane traffic.
0
 
jskfanAuthor Commented:
Is the ASIC part (FIB table and adjacency table) considered as Data plane?

IOS software part (routing/Adjacency/topology tables( considered as Control plane ?
0
 
Don JohnstonInstructorCommented:
If it has to do with how to move traffic (routing table, MAC address tables, adjacency tables, topology tables), it's control plane.

If it has to do with actually moving packets between interfaces (transporting a packet from interface G0/1 to interface G3/4), then it's data plane.
0
 
jskfanAuthor Commented:
donjohnson:

I guess you dod not get my point.

how does ASIC (FIB table and Adjacency table) get updated.??

I thought Control plane updates FIB Table and Data plane updates Adjacency table.

**just a note: ASIC does not have Topology table (not mentioned in any Docs).
0
 
Don JohnstonInstructorCommented:
I don't know if that's documented or even if it's published information. The ASICs are proprietary so I doubt that information on how they are updated is available.
0
 
jskfanAuthor Commented:
http://blog.ine.com/2011/06/15/control-plane-vs-data-plane/

As explained in the link above, I guess Control/Data planes have nothing to do with ASIC (FIB and Adjacency tables)…

Control and Data plane if I understand they are just "Description" of packets.
Control plane= Router originating the packets or router to which the packets are destined to.
Data plane = Router or Routers through which the packets transit ( Excluding the source and destination).
0
 
Don JohnstonInstructorCommented:
Correct. The ASICs are just a high performance means of storing, organizing and searching for the information required to forward packets.

The information that eventually gets into the ASICs comes from the various tables that routers have been using for years.

Those tables are created by information that is classified as "control plane" traffic. Basically things like ARP, routing protocols, etc.

How the information gets from the routing tables, etc. to the ASIC is anyone's guess.  I would guess that methodology is not available to the public.
0
 
unfragmentedCommented:
Note that donjohnston said earlier that "Routing Table, Adjacency Table and Topology Table" are considered control plane.

I was originally going to contradict donjohnston regarding the Adjacency table but then realized there is some ambiguity here.

If you are talking OSPF adjacency table...It helps the router with path selection, its run in software, it involves packets that are for the router itself....definitely control plane.  

If you're talking CEF adjacency table... it contains prefix to MAC and egress interface mappings.  It caches and avoids ARP.  Its job is egress and layer2 rewrite for EVERY packet.  Easily defined in hardware (ie can be performed by ASIC)....definitely data plane IMO.

**just a note: ASIC does not have Topology table (not mentioned in any Docs).

Too non-specific a statement.  The CEF ASIC does not have a topology table.  

It has a CEF FIB and CEF adjacency table.  Why?  because CEF only cares about getting it out the right interface, with the right MAC address.  It blindly trusts what ARP and the routing table have told it, therefore does not need to know topology info.
0
 
jskfanAuthor Commented:
Per IPExpert video, in MPLS world
FIB is built from RIB and L2 to L3 Mapping( I am not sure though where L2 to L3 mapping comes from)
LIB is built from RIB and Label Exchange protocols (LDP,TDP,BGP)
LFIB is Built from RIB,LIB,FIB as well as L2 to L3 Mapping
FIB and LFIB are called CEF, and both share the same database
0
 
unfragmentedCommented:
L2 to L3 mapping is a generic term for what ARP does.
0
 
jskfanAuthor Commented:
Thank you Guys!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

  • 7
  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now