109 Cisco Express Forwarding

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] in this video we're gonna be looking at some more the details of Cisco Express forwarding which is a fundamental component that allows our switches to lookup and route packets without interrupting the CPU without bothering the CPU from doing the very critical background management tasks that it needs to do so whether we're talking about routers or switches both routers and switches do switching now we don't normally think of routers is doing switching but the process of actually taking a packet from one ingress interface and sending it out another egress interface that is called switching so let's focus on routers for just a moment so routers have three ways they can do switching actually historically they're even more than this but the three main ways that the the ccmp are gonna want you know about or what's called process based switching fast switching and cisco Express forwarding let's start with process based switching back in the early days of routers when a packet came in a router the only way the router could inspect that packet and do what it needed to do was the CPU would have to be interrupted so the CPU may have been busy doing an ERP look you know routing update or maybe it was you know monitoring the the environmental status of the router you know how hot is it right now it could have been doing any number of things but the CPU would have to invoke a process in the processor we call this the IP input process so if I on a router or a switch for example here I'll go to a router if I'm wondering okay well this process called IP input how frequently has it occurred in my device if I do show processes CPU I will see all the things that my CPU has to do in this de most of which will probably be completely meaningless to you chunk manager what's that what the heck does that mean we have no idea check heaps sounds kind of nasty but there's a lot of stuff in here we have no idea what it is but each one of these is something that takes a tiny slice of time a tiny piece of attention from the central processing unit the CPU of my router and in here it's going to tell you for each one of these things in the last five seconds in the last minute in the last five minutes what percentage of the CPUs brain has been invoked to do this particular process some of these actually are pretty clear our ARP input [Music] there's some ATM processes if you're actually doing ATM and what we're looking for in here and you there's gonna be several screens of this somewhere in here there's gonna be a process called the IP input process here it is IP input so this tells you in this particular device the process of interrupting the CPU so it could go into the routing table and look up a packet has been pretty minimal it's been less than less than one per I mean it's been basically nothing so if my back in the early days of routers this process was the process that was invoked to look up a packet and so you can see a nonzero number here you might see a pretty high number if my router was receiving tons of traffic and it was really really busy looking up that prop that path those packets and the CPU was the one that was doing that IP input process would not be zero you might see thirty percent forty percent so that's what's called process based switching and you don't really want to see that nowadays routers and switches ideally should not do process based switching so how else do they do it well then Cisco came along they developed something called fast switching they said here's what we're gonna do we're gonna set aside a separate little memory table that you know some hardware on the interface has access to and when a frame comes in we're gonna look in that table we're gonna call that the fast switching cache now the way fast switching worked was that when a packet came in the router would say okay if I've never seen this destination before this packets going to 70 dot-111 well if nobody's ever needed to go there before the fast switching cache would be empty it wouldn't have any entry that matched that so that first packet would have to go to the router to the CPU to the IP input process and in the process of looking that up by going into the routing table and finding a match and then sending the packet out that would populate the fast switching cache with an entry so the next time a packet came in for that same destination now we'd have an entering the fast switching cache we wouldn't have to bother we wouldn't have to invoke the IP input process and we could route slash switch that packet through the router much more quickly without really bothering the CPU to do it but notice the key thing that I said there a packet first had to come in for that destination that first packet would have to be looked up by the CPU and then that would be the event the trigger that would cause an entry to be populated into the fast switching cache and those cache entries would age out after a while you know if nobody was sending packets to 70.1 1 1 1 after a certain period of time it would age out and so a few hours or a few days later if another packet came into 70.1 1 1 guess what that would have to be looked up by the CPU and repopulate that entry and those entries didn't track the routing table all that well so if a routing entry went away if all of a sudden we lost our route to the 70 Network it might take a little bit of time for that cached entry to to vanish so it didn't really track the state of the routing table and if the routing table learned of a new route if all of a sudden oh my routing table has learned about an Oh SPF route to the 90 Network well if nobody was currently sending packets to the 90 Network there wouldn't be anything in my fast switching cache so then the developers at Cisco they said you know what we should build a type of cache that's pre populated basically that whenever the router learns about anything if he learns about a new route if he Arps for something and he learns about new ARP entry we want that to be pre downloaded to a cache so that as packets come in we don't have to send them to the CPU at all the cache will already have stuff rate ready and waiting for them to use and that was the whole idea behind Cisco Express forwarding Cisco Express forwarding says let's build what's called a topology driven cache you see fast switching says we're gonna build this cache as its needed as packets come in but that requires the first packet and every new flow to be punted to the CPU Cisco Express fording says let's not do that as my routing table is populated let's download all that stuff to a cache as my ARP table is populated let's download all that stuff to a cache so it's ready waiting to be used and we never have to bother the CPU with stuff so Cisco Express forwarding is much more efficient at packet handling so to understand Cisco express forwarding we have to understand the types of tables that it uses how those tables are populated and what their names are so there's two primary tables you need to be aware of for cisco cisco express forwarding the first one is what's called the forwarding information base or the FIB table so the forwarding information base is sort of like a copy of the IP routing table but it doesn't have everything that the IP routing table has let's think about this for a second when it come when it when a packet comes into the router and needs to be routed to an outbound subnet and an outbound interface there's certainly stuff in the routing table that's critical to do that such as the prefix the mask and the outgoing interface or the next hop but there's also stuff related to that route in the routing table that really we don't need as far as packet forwarding for example the administrative distance of how that route was learned we don't really need that as far as forwarding a packet the metric like the OSPF cost or the EIGRP distance that's useful for the routing but it's not you know for the routing protocol but we don't really need that for routing packets so you know route tags that show up in the routing table you know there's a lot of extraneous stuff in there that our routing protocols need to select best routes but we don't actually need for forwarding of packets so the fib table says look I'm just gonna take the absolute crucial information such as the prefix the mask the next hop and the outgoing interface and I will populate that in my forwarding information base but all that other extraneous stuff like metric and administrative distance and the age of the route how long it's been since we learned it I'm not gonna put that in the fib table because I don't need that to actually forward packets so sometimes we say that the fib tables are like a shadow copy of the routing table you know a shadow shows you your general outline but doesn't give you all the same details as if I was looking directly at you right same general idea here and the fib is exactly matching the state of the routing table so what I mean by that is if I'm doing some sort of routing protocol and it doesn't matter what it is if my routing protocol learns of a new route all of a sudden it learns of the 7070 Network slash 16 the moment that's put into the routing table it's copied down into the set fib table if a route goes away for whatever reason it's poisoned or I lost my neighbor whatever if the 7070 Network disappears from the routing table it's automatically pulled out of the fib table so the fib table is tracking everything that's in the routing table whatever happens the routing table it happens in the fib table as well now one also thing that makes the a little bit different than the routing table is that well for example let's take a look here in a router let's see here do I have any IP addresses on this guy no I don't okay so just go to router 18 here for a moment and to start things off I'm gonna go to my topology diagram and I'm gonna put this IP address on him so I'll give him that IP address no shut all right and let's see here okay as link came up that's good all right now switches are always running Cisco Express forwarding routers sometimes they have it on sometimes they don't so real quick and easy way to figure that out show IP SEF the fact that I see anything here tells me that SEF is turned on for example if I did know I piece F turned it off and I did that same command it would say SEP not running pretty clear let's turn it back on IP Saif and issue my show command and let's see if we can get show IP route doe IP interface brief ah okay my interface is is up down that's why I don't have anything for this so going back to here that interface is connecting to 0/4 on my switch so I need to go to my switch real quickly and do whatever I need to do to get that interface up I'll just do that for now okay so now my router change date to up okay great so here in my routing table you'll see I've got a directly connected route to that prefix to whatever the subnet is on that interface when I do show IP SEF that prefix was automatically downloaded to my SEF table but look what else was downloaded the host route so the fib table also contains an entry for the exact 32 bit IP address that's on my interface and some other things as well it said look here is the subnet broadcast address if anybody ever sends a broadcast to this subnet the FIB table has that it says receive which means I'm gonna receive it on my CPU I'm gonna process it locally if anybody ever sins well this is kind of a weird broadcast but if anybody ever sends a broadcast to 1890 not 18.0 that slash 32 bit entry will also be received and processed so the point I'm trying to make here is that the fib table actually contains a little bit more specific information than the routing table does the routing table just had the prefix the fib table has the prefix as well as all sorts of specific information related to that prefix and I can look I can drill down a little bit more deep more deeper I could say show IP SEF 18 19 18 19 / 32 detail Oh probably wants it as a dotted decimal subnet mask oh it's because I'm not dot 19 I am dot 18 so you don't get a lot more detail in this particular case it's just verifying that that host entry does exist and it says receive which means if I ever get any packets that match that slash 32 I'm gonna process it locally on my processor so that's sort of a so that's one of the tables you need to be aware of the FIB table forwarding information base for the purposes of the exam you should know what fib means you should know it's a critical component of Ceph you should know it matches the state of the routing table so any prefixes are in the routing table automatically get copied to the fib table and if those prefixes are removed from the routing table they automatically go away from the third table you should also know that the fib table contains more specific entries as well like / 32 host entries are in the fib table whereas they're not necessarily in the routing table so I said that there's two primary tables that Seth uses that's one of them the fib table the other one you're gonna want to be aware of is what's called the adjacency table so this is populated as it says with layer 2 adjacency information such as okay my routing table might have a 32-bit entry for a host I'm connected to but it's not necessarily going to know what the MAC address is of that host or if that host is reachable via frame relay it's not necessarily going to know what the frame relay Delsea is I used to get to that host the adjacency table is gonna provide that information so as we can see here the layer 2 adjacency table is populated by your ARP table entries your frame relay mapping entries if you're running ATM your ATM layer to information and we can see that by doing the show adjacency come so let's let's do something here so what I'm going to do is I'm going to go to my switch now this guy's connected to [Music] switch 3 and I'm going to put these two interfaces right here 0 4 + 0 5 into VLAN 2 actually let's just say VLAN 18 and then I'm gonna go onto my switch and I'm gonna create interface VLAN 18 with 1819 18.3 as his IP address VLAN 18 okay interface range fastethernet 0/0 switch port access VLAN 18 no shut ok now let's create an interface VLAN 18 IP address 1819 18.3 okay now I'm gonna go back to my router now let's just stay on the switch and I'm going to do show IP SEF I notice it says here ipv4 SEF is not running it's kind of it's a little bit misleading because SEF really is running in the background to populate our a6 and our T cams and stuff I'm just going to turn it on right here in a switch its IP SEF distributed okay it's a show i PCF all right so same thing I I now see my directly connected route because my routing table has it I see my own host address now from this switch show ARP right now all I know about is myself so if I ping router 18 in the background that's gonna create an art per quest and when he gets the ARP reply there it is so now I've got an ARP entry for my directly connected neighbor and this ARP entry should have populated my adjacency table force F which is viewable via show adjacency and let's just see what happens if I just hit enter there it says I have an adjacency VLAN eight so my VLAN eighteen layer 3 interface has learned of this adjacency right here let's see if I get a little bit more detail show adjacency VLAN 18 same output as before detail now I get a lot more information show adjacency detail in this case you say well why didn't you type in the physical interface now why didn't I type in show adjacency fastethernet 0/1 because it was his layer 3 interface VLAN 18 that created the ARP request that did the whole art process so this was bound to his layer 3 interface not his physical port and we can see here here's the adjacency information of my peer my directly connected neighbor and we can see it says okay well if I ever need to send any information to that neighbor let's parse through this here if I go to router 18 and do show interface fastethernet 0/0 notices MAC address begins with a 4 TC and ends with 749 C so a 4 TC 749 C and here it is a 4 TC ending with 749 C so that is the MAC address I'm going to use to rewrite if I ever need to send an Ethernet frames to that neighbor and what's this stuff right here well if I do show interface VLAN 18 that is the MAC address of my switched virtual interface and this is the type code 0 X 800 is for IP so if I ever need to read if I ever get any incoming packets that need to be routed to this guy my Jason C table contains all of my layer to rewrite information so if a packet ever comes in for 18 19 18 dot 18 show IP SEF I have a 32-bit entry now that says attached that will cause us to look in the adjacency table we're a lot where I will find this information for the rewriting of that packet so you can see the out the moral this story is SEF uses the fib table and the adjacency table together the fib table says do I have an entry for this so as a packet comes in do I have an entry for this host so if a packet comes in let's take a look at another example let's walk through this a little bit more so let's say an incoming packet comes in here and the destination is equal to 20 dot twenty let's say 11.11 dot 11.1 that's a destination so the first thing that's going to be checked inside our router or switch any device doing SEF it's gonna be the fib table and he's gonna look to see if he has any entry that even closely resembles this just like we do a routing lookup it's no different we're looking up to see if we have something in here now if there's nothing that even closely resembles this same thing happens as if we didn't have a route that resembled this we destroy the packet we drop it now let's say this is what I have let's say the 11 Network let's do a couple of things here let's say first of all it resides right here and dot 1 is directly connected to me all right well if I'm directly connected to it that means I had I already had some layer 3 knowledge of this either I had it configured right here option number 1 is I did the no switch port command and then I put my IP address right here so if this is what I did well that populated a connected route in my routing table 4 11 11 11 0 that pre-populated a fib entry okay so now when this packet comes in if I never had spoken to 11-11-11 dot let's put it as three okay so if this was all I had because I've never actually three this is dot one this is dot three getting my IP addressing confused here dot three is right here so this is not for me this is for the router okay so it's going to this guy so in my fib table I'd have the entry for the subnet I'd also have an entry for myself that's for me and let's say this is all I had well when this packet comes in its gonna say well it doesn't match this it does match that entry that's the most specific entry I have and we're gonna see here in just a second in the upcoming slides you would say well there's a little special indicator in here that says if this is all that I match we need to ARP for whoever this guy's trying to talk to so that would kick out an hour per quest that would trigger that the ARP reply would come back and so now that our per plywood populate an entry here which would say I'm attached to that guy and in my adjacency table we now have a layer two adjacency for 1111 11.1 I don't have the MAC address of whatever that is beebee so now when we have this information now we've got enough enough information to match it on this entry right here and between the combination of that and this we have enough information now to direct that packet out this interface we can rewrite the packet and send it out right here so once again to recap the moment this switch or router doesn't matter what it is switch a router learned of this subnet because I was directly connected to it that populated these two entries right here in the fib table an entry for the subnet because we learned about that in the routing table and a receive entry for my host address in that subnet which is me the switcher routers interface will just say switch in this case now in a packet came in for somebody on that subnet like this guy right here dot one if I didn't previously already know about him the only entry that matched was delete the less specific one right here and that triggered an art in my device center my device and said okay well I'm directly connected to that I'm gonna ARP for it when the art reply came back that populated entering my Jason C table so now I had everything I needed to forward the packet out so the takeaway from this is it's the combination of the FIB and the adjacency tables that are used to forward frames and packets that are used to route our frames and packets and to rewrite the layer to information in those frames as we send them out all right so let's go into a little bit more detail of this now there's some adjacency types that cannot be SEFs switched and either must be dropped or descent to the CPU for processing for example you might see the names of these things in the exam definitely the two that you should be familiar with are the glean and the punt adjacency they both basically mean the same thing if you see an adjacency type that says glean or punt that means we need to forward the packet that matches this to the CPU for further inspection for further processing so a glean adjacency means I need to wait for an ARP we need to trigger an ARP and we need to wait for an hour per ply so going back to this right here when this packet first came in for 11.11 dot 11.1 the only thing that we somewhat matched was this right here in the fib table so what happened was as a result of this packet coming in we created an adjacency for 11.11 dot 11.1 and initially it was marked as gleam why well because we didn't have all the information for this yet we didn't know the MAC address we didn't know the outgoing interface so this create an entry called glean which meant okay I need to take this packet and process it in my CPU and send an art so glean and adjacency means somebody's asking for this but I don't have all the layer 2 information just yet so my switch needs to take some action like send an ARP to finish off the process now if something happened where you know let's say that this guy didn't reply back he didn't exist it would just stay as a glean adjacency it mean ok well I I never got a reply back to my ARP eventually it would be aged out but it would just stay as gleen so we don't want to see it as glean for too long hopefully only stay is a glean adjacency for like a second as long as it takes to send out the ARP request get the ARP reply back and now we can change this flag from gleen to what it really should be attached with the various information that we learned so glean is just supposed to be a temporary state shouldn't be there for too long just means let's art for it get the ARP information back and then we can change it to an attached adjacency let's just go down the list here of some of these other ones no that means that it's a valid packet but we need to drop it to think of an example of when you might see that well if I went into my router and or my switch and I did this let's say so here I'm creating a host route I'm saying if you ever get any packets for this particular host send them to null zero well that means basically killed that packets put it into a black hole and discard it that's probably going to create a null adjacent see I hope I haven't actually tried this before let's see if it if it actually worked show adjacency 1819 18.5 let's see if we can put that in there 1819 18.5 there's nothing there I think it actually did create a null adjacency it's just not showing it right here I just don't know of any way to actually display that right now but and it an adjacency in the adjacency table the takeaway from this is if it has a flag of null that means this packet goes nowhere we're gonna drop it in hardware we're not gonna bother the CPU with it Saif is gonna drop it in hardware if an adjacency entry has a flag of drop next to it same thing as null that means we're gonna drop it but typically that means we're gonna drop it because the adjacency recognize that there's something bad here like for example if a packet came in and we instantly recognized that huh this packet the encapsulation is is bad there's something wrong with it or maybe a packet comes in and it's for a route that we don't have packet came in for the 7071 one host but we don't even have a route to 7070 anything well that might create a drop adjacency meaning we don't have a route for it a discard adjacency that's typically created because we've got some service security policy like an access list that says drop anything matching this so if I have a security policy that says drop any packets going to 90.9 2.77 that would create a drop adjacency for that particular host and punt adjacency that's very similar to glean glean and punt both have the same effect that means we have to take this packet and forward it to the processor what's a little bit different is glean specifically means I need to resolve the layer two for this I need to send out an ARP request that's really what gleen means Hunt is for if something comes in that specifically needs to be processed switched because it's specifically for our processor for example let's say I'm doing a IG rpm I switch my router is doing a IG RP with an e IG r PP r okay well if that eh r PP r sends me anything whether it's a hello packet or an e IG RP update that should be sent to the multicast address of to 2400 10 well there should be a punt adjacency 4 to 2400 10 in my Jason C table there should be an entry for that specific / 32 that says if you ever receive anything matching to 2400 to punt it to the CPU because the CPU needs to see it and needs to recognize that hello or that routing update so anytime you can think of okay what are examples of things that have to go to my routing processor because my routing processor has to see them whatever they are that would create a punt adjacency now I don't think the ccnp is ever going to expect you to know all those details I just gave you but what it will expect you to know is that there's some adjacency types that will force a packet to go to the CPU for further processing so on multi-layer switches SEF is going to be enabled by default and why is that well to go back to my whiteboard right here this one in order for these layer two tables specifically this layer three table right here I just put a big couple of big circles around it in order for this table to be populated this tkm memory we'll talk more about tkm memory in a second in order for this to be populated SEF is the thing that's responsible for populating it what's in this table directly came as a result of what's in the fib table if there was no fib table this couldn't be populated well when you turn on a switch SEF is automatically running in the background and populating this with information so even though in my switch you might say but wait a second Keith when you went into the switch it said SEF is not running it's a little confusing because the moment I turned on the switch it started populating this table with entries even if I didn't have any switched virtual interfaces even if I went into a switch I said let's just think about switch that's turned on by default got no VLANs but VLAN one all it has is interface vlan1 but there's no IP address on there guess what that layer three table from the moment you turn on that switch with a default configuration is going to have stuff in it it might have an entry it says anything that matches 255 255 255 255 punt that to the CPU anything that matches multicast addresses beginning with 224 it's gonna have some very generic entries but it will have entries in there because SEF was running in the background to populate that that's the best that I can explain that and there's just some packet types that can't be SEF switched because of their very nature um ARP requests certainly if the switch itself needs to create in our requests that can't be switched this processor has to be involved in the creation of an artwork West so it can see the art per ply that comes back packets that naturally require a response from the router CPU for example if a packet comes in that needs to be routed and the TTL on that incoming packet is one well the router would have to see that because he's going to decrement it to zero he has to be able to kill that packet and that would cause a TTL expired or a TTL exceeded message so that has to have visibility to the CPU if a frame comes in and the MTU is too large that has to be visible to the CPU if a packet comes in and some sort of fragmentation needs to take place that has to go to the CPU for processing so the CPU can fragment packets there's no way to fragment packets in hardware if fragmentation needs to take place that's a cpu process it has to do that if an IP packet comes in and you're forwarding engines recognize that there is I P options and the IP header you don't normally see that but if there's any IP options in the IP header guess what we gotta send that to the CPU for processing SEF can't deal with IP options we can also see here routing protocol traffic if you're routing processor is running any routing protocol BGP eigrp whatever those packets always have to go to the routing processor to be handled and we could also see CDP and any packets that need encryption so those are all examples of packets that need to go to the CPU but when you think about when you think about the the mask quantity of traffic that's going into a router or into a switch all of this stuff here is a very small percentage of the overall traffic that your router or your switch is handling so the vast majority of stuff that your router switch is seeing can be handled by spice Ceph very little of it actually needs to go to the cpu for processing okay so let's just talk about SEF one more time and how it relates specifically to switches it's it's really critical to the understanding of switches so imagine for a moment that this large box represents my switches chassis and I already mentioned the previous video that when packets come in there's a specialized piece of hardware called an ASIC we're gonna get more into that in this next video that we call the forwarding engine now some switches have a single ASIC as their forwarding engine that one ASIC is able to look up layer 2 information layer 3 information look up security policies that you've implemented other switches have multiple different Asics actual chips performing each distinct function for example like on the catalyst 6500 switch from Cisco there's multiple Asics you've got one ASIC just doing your layer 2 lookups another ASIC just doing your layer 3/4 lookups another one just looking for security stuff but another switch is like you're 37 50s for example you might just have one ASIC doing all those lookups now when the ASIC is looking stuff up first of all why did they design an ASIC in the first place because an ASIC is a piece of hardware with you know millions of little tiny microscopic transistors in it and the way they created it was that so it's specially designed to look up stuff it's designed for that purpose and Asics can look up things far faster than this processor can than a CPU can so that's why they're designed to speed up this process because really when you think about it in a switch and in a router the processors main job is really designed to keep everything up and running to do all of your background tasks the processor does routing really well now routing protocols forming neighbor relationships doing dual or the link state algorithm or the SPF or whatever in switches the processors can do that they're also really well designed for doing spanning tree and CDP you know all this stuff that keeps your network nice and stable so it can be used for packets you don't really want to forward your packets to that processor because the time that process are spending on looking up your frame as time he could be spending on other important stuff so switches said look let's design some hardware to offload the processor so we've got our forwarding engine I'll just write that right here and in this particular case I'm just gonna say we have a single forwarding engine so when a frame comes in it's this piece of hardware this little chip that looks up the frame now where does he look it up basically what the forwarding engine does is he he temporarily stores that frame in memory and he extracts some critical pieces of it you see this forwarding engine when it was designed was designed to know what an Ethernet frame looks like it was designed to know okay I need to go right here and copy out of this the source and destination MAC addresses I need to go right here and copy out of that source and destination IP addresses so it knows in all these because remember a frame let's say a 1500 byte Ethernet frame it's 1500 bytes well if we multiply that times 8 that's what like 9,600 bits so these 9,600 bits that make up one frame this ASIC is smart up to know I go right here for this part I'm looking for right here for this part I'm looking for and so now these got these what we call search keys that's what we call it the search key this is what I've extracted here that's why I need to look up now where does he go to see if I have something that matches this that matches this MAC address that matches the side P address that I pulled out of this frame well that's that's where he goes into special memory called T cam memory I'll talk a little bit more about that coming up now just like a particular switch might have one or more forwarding engines it might have one or more t cam memories as well taking it back to for example the catalyst 6500 or 7600 platforms multiple t cams there's a specific T cam memory chip just for your layer three routes there's another TKE a memory chip just for all of your security stuff whenever you configure your access lists or your vassals or your private VLANs all that's put right in there there's another T cam memory just for quality of service but other platforms like the 3750 in the 3500 s have just one T cam chip they say okay of this memory right here this portion of its gonna be from my routes this portion is gonna be for my security so it just depends sorry a little frog in my throat here so let's say that we've got just to make it simple in this case let's say we've got two T cams and this one on the left has my layer three info layer three information okay let's just do one T cam right now make it even simpler so here is my T cam memory my l3 /l 40 cam I'll safety T cam memory is chi redundant because t cam stands for ternary content-addressable memory so it's like saying attorney content disparate and within here it sort of subdivides this into two sections and I'll get to that in just a second so if this forwarding engine when a frame comes in says okay I'm gonna extract the IP addresses from here so I can see if it needs to be routed and if it does where to send it he's gonna go in this t cam he's gonna do this like in microseconds now where does SEF come into play for all this SEF is the process that's responsible for programming this actually set doesn't program this step is responsible for providing the information that's gonna go in here so let's say that up here in the upper right I've got my RP my route processor this is a CPU and he's the one that's learning everything as far as layer 3 he's the one that's doing ARP requests processing the replies he's the one that's forming ERP and OSPF neighbor relationships it's learning of routes and putting them in routing tables so we've got right here the two primary tables that he is responsible for of course he's responsible for a lot more than that but we've got the IP routing table and we got the ARP table as his job as he learns things to populate these two tables now if I have Seth as a process running on this processor then he also knows okay I have to create two more tables whatever I learn here in the IP routing table most of it not all of it like the metrics and administrative distance we can leave that behind but the basic stuff goes here into the forwarding information base and whatever I learned here in the ARP table and maybe my frame relay map table and other things goes here into my Jason sea table now here's where all this merges together how it works off each other there is a process you don't need to know the name of it or where it is or anything that when this is happening in a switch like this says okay as stuff is learned in the fib table I'm going to copy that right here to this portion of my layer 3 layer 4 tea camp and this stuff is learned in the adjacency table I'm going to copy it right here and put it into that so it's not actually the Ceph process that's copying it in here Saif is just creating these tables and providing the information and then there's something else that gets invoked in the background that's sort of watching these tables like a hawk and whenever it sees a change it says aha I need to make that change reflect down here and T cam so your layer 3 layer 4 T cam is exactly replicating the state of your fibbin adjacency tables and your fibbin adjacency tables are monitoring the state of your IP routing table and predominantly your ARP table so that's why Seth is so critical in a switch because if we didn't have these tables right here there'd be nothing to put in our T cams and if there was nothing to put in a T cam that meant that every packet that came in would be forced to go to the routing processor for lookup which would really slow it down so that's the basics of Seth that you've got the fib table the adjacency table fib tables for your layer three information adjacency table is for the layer 2 information what's the MAC address that goes with that IP address what's the outbound interface that goes with that is that something that we necessarily have to send to the RP because he needs to see it or is it something that we can bypass the RP all of thats in the adjacency table so hopefully that that helped clarify sort of the really important role that Cisco expressed forwarding plays in a switch
Info
Channel: Irakli Goksadze
Views: 8,380
Rating: 4.9720278 out of 5
Keywords:
Id: UtgvGZkgqV4
Channel Id: undefined
Length: 55min 32sec (3332 seconds)
Published: Thu Oct 12 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.