Loading

Module 1: Routers and Networking

Notes
Study Reminders
Support
Text Version

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

IP Routers
Welcome back to the course on Computer Networks and Internet Protocols. So, till nowwe have looked into the IP routing mechanism in details and we have looked into the IPaddressing format, how routing works and different type of routing protocols which areimplemented over the internet. So, today we will look into the device in details thatsupport routing.(Refer Slide Time: 00:47)So, we will basically look into the design of an IP Router that how an IP router lookslike, what are the different components inside an IP router and how you can design anoptimized IP router with the help of different hardware platform. And in the next coupleof classes, we will also go for a demonstration about IP router to show you a practicalrouter and its different components which are there inside it and how can you configureit and how can you process different components which are there inside the router. So, letus look into the design of a router in details.(Refer Slide Time: 01:23)So, if you look into the lifecycle of a router apparently it is very simple. So, the lifecycleof a router is that you can represent it in the form of do repeat loop. So, you find a path toa particular destination, then you forward, forward, forward, forward, forward multiplepackets to that destination again whenever a new destination comes you find out the pathand then forward, forward, forward, forward the packets to that destination until therouter gets powered off.So, from this simple loop functionalities you can see that there are two basicfunctionalities of an IP router. So, the functionalities are first finding a path and thendoing forwarding. Finding a path means you need to execute a routing protocol. As wehave looked into earlier there are multiple type of routing protocols the inter domain andintra domain routing. In case of intra domain routing we have looked into there aredistance vector routing protocols, the link state routing protocols and in protocol formatthe routing information protocol or OSPF protocol and for inter domain routing we havethe border gateway protocol or the BGP. Now, this routing protocols will help you toexecute this task to find out the path and then the actual forwarding comes and the actualforwarding means, you have the routing table where you have this entire information.So, once you have constructed the routing table and you have a packet incoming packet,you look into the header part of the packet, find out the destination IP address, from thedestination IP address, you make a match with the routing table, find out the next top andforward the packet to that next top.So, that is the part of the forwarding engine. So, accordingly we actually have this 2basic operations: construction of the routing table to finding out a path. This part of therouter we call it as a control plane of the router which actually controls the entireforwarding mechanism and then do a routing match and forward the packet to adedicated interface that part we call as the data plane part of the router.So, the control plane of the router it takes care of finding a path and the data plane of therouter it takes care of making a match with the routing table and then a forward thepacket to a interface which will transfer the packet to the next hop.Now, in this entire architecture there is an interesting observation. The observation isthat, the functionality of the control plane it is kind of periodic; periodic in the sense like,you will find out a path to a destination only when you will get a new packet where theinformation is not available in the routing table. During that time you will execute arouting protocol or in case of link state routing or OSPF type of routing protocol distancevector routing protocol, you will periodically exchange the routing control messages andfrom this periodic exchange of the routing control messages you will find out the path.So this, the frequency of operations in the control plane, it is comparatively highercompared to the frequency of operations which is there in the data plane or theforwarding plane. Sometime in some book of reference the data plane is also termed asthe forwarding plane.In case of data plane if you just think about a typical router which support say 100 Gbpsof data and the single packet is of size or if your say that the average packet size is 1 MBand you have say the link speed of 100 Gbps, you can think of the number of packets thedata plane need to process per second. So, that is why the frequency of operations whichis there in the data plane, it is significantly higher compared to the frequency ofoperations which is there in the control plane. And that is, that gives the interestingdesign choice of developing our router hardware. So, let us go to the details of that.(Refer Slide Time: 05:52)Well. So, this entire evolution of the router architecture, it came from 5 differentgeneration starting from 1980s to today. So, the 5 generation of the router, so are just likea standard computer which we have a computer with multiple interfaces. The 2ndgeneration of the routers which came in early 1990s, they are delegate to interfaces. Sothat means, you have a router architecture where you will have multiple such interfaces,a dedicated device.The 3rd generation of the routers which came in late 1990s, we have a distributed routerarchitecture. Then we have the 4th generation of router which came in early 2000; it isdistributed over multiple racks. So, the concept of rack stack is that this entire router. So,you have say multiple interfaces say you have 32 interfaces, now say you require 120different interfaces. So, you take 4 different such routers and put it into different racksand have an interconnected router. And then in the 5th generation router which we areusing or which will say that the next generation router or many of the large scale datacenters have started using this type of routers, which are called software definednetworking routers.(Refer Slide Time: 17:20)Well, so, this is the basic architectural components of a router. You have a processor, ageneral purpose processor which has a memory component and a CPU component. Theprocessor is connected to multiple interface card. So, this network interface cards are thenetwork interface card which are connected through a interconnection network insideyour router hardware.So, this every individual interface card we are kind of IO interface, the network IOinterface. So, you have this RJ45 cable. So, you put this RJ45 cable in this interface card.In case of wireless, they are transmitted wirelessly. So, you have a transmitter and areceiver. So, that is the entire broad architectural component of a router.(Refer Slide Time: 08:10)So, the router hardware the processor is responsible for the control function, we call it asa route processor. The control function means to run the routing program and then sendthe data packets over the network and construct the routing table.So, the processor is basically responsible for running those programs for constructing therouting table based on the routing algorithm and the forwarding it is done at the interfacecurve. Because here the interesting design choice is that as I mentioned earlier that yourcontrol functionalities not so frequent whereas, your data functionalities are veryfrequent and that is why the control functionalities we generally implement as a part of asoftware whereas, the data functionalities they are implemented as a part of thehardware.So, in the network interface card this data plane functionalities that means, making amatch with the routing table find out the next hop and sending it to the next hop, thisentire path it is done with the help of a specialized hardware which is called TernaryContent Addressable Memory or TCAM. So, with the help of this TCAM memory, weapply, we make a hardware match with the routing table for a fast look up.So, the route match need to be verified. The example that I have given that if you have a100 Gbps line and if you have 1 Mbps packet size, so, that is why on average you have toprocess a significant number of packets per second at every network interfaces.(Refer Slide Time: 09:50)So, that way we are dividing this entire routing functionalities in the data plane and thecontrol plane. The control plane is implemented as a part of the software which isresponsible for the routing table construction and the data plane is implemented in thehardware which is responsible for implementing the forwarding engine.(Refer Slide Time: 10:09)So, this is a kind of structure structural component between the mapping of the originalhardware and your control plane. So, you have this interface processes which areconnected to a packet processor. This packet processor contains the forwarding engine tomake a match with the routing table and then find out the next stop.So, this part is implemented in TCAM in the hardware and then you will have the routeprocessor which is a general purpose processor which implement routing engine; thatmeans, to finding out the path and then to finding out routing path based on the routingspecific routing algorithm that you have configured in the router and in constructing therouting table. And this part constitutes your control plane and this part constitutes yourdata plane in the router hardware.(Refer Slide Time: 11:11)Now, if you look into the physical infrastructure of a router, we normally use somethingcalled a slotted chassis. So, this is a structure of a slotted chassis which are used to buildup large routers. So, here is a structure of a chassis. So, you have this multiple chassis.So, individual interface card they are inserted inside these slots and then the routeprocessor it is also inserted in a slot.And then we have this entire route architecture route which looks like something likethis. So, we will show a demo of this in the subsequent classes. So, this kind of a chassisslotted chassis based architecture, it simplifies the repairs and updates of componentsinside a router.
IP Routers-Part2
Now, let us look into the functional components of a router from the perspective of thecontrol and the data path. You have the routing function and in the data path you have theIP forwarding as we have mentioned.And in between you have the routing table. So, this routing functionalities they apply therouting protocol, different kind of routing protocol based on your configuration, it maybe OSPF or RIP kind of routing protocol, routing information protocol or open slottedpassed first, which are kind of distance vector and a link state routing protocol. So, withthe along with this distance vector or link state routing protocol you can also have bordergateway protocol.So, these routing protocols they execute periodically and construct the routing table.Now this forwarding engine it makes our route lookup on this routing table and make upour packet processing of the routing informations. So, the idea is something like thiswhenever you are receiving a packet you look into the IP header, from the IP header youextract the destination IP field, after extracting the destination IP field, then you make amatch with the routing table, find out the next hop interface and forward the packet tothat next hop interface. So, that is the entire process which is being executed in the datapath.(Refer Slide Time: 13:33)Now, the control plane in a router it is a special purpose computer which has the routingfunctionalities. As I have mentioned it is implemented as a software that software we callas a router operating system, router OS that supports the basic computing functionalitiesto run a router along with the routing functionalities. Now, this routing protocols, theyare implemented inside a router OS. An example of a router OS is the Cisco IOS, Ciscointernet operating system which implements different kind of routing protocol as a partof its operating system.(Refer Slide Time: 14:08)Now, the routing functions are basically there are 3 functionalities that you need toexecute inside the control plane of a router, the route calculation based on a routingprotocol, the maintenance of the routing table and the execution of the routing protocol.Now, in commercial routers, these routing functions are handled by a single generalpurpose processor which we call as the route processor that I have mentioned earlier.(Refer Slide Time: 14:36)Now, the data plane of a router that is the interesting part, it implement the forwardingfunctionalities. So, it make a route lookup and forward the packet to the destinationinterface. So, this functionality is similar to a layer 2 switch. So, you can use the switchfabric. So, a switch fabric means it is a mapping from input ports to output ports; thatmeans, if a packet is a make input to a particular port in which output port it needs to beforwarded to, so a switch fabric looks something like this.(Refer Slide Time: 15:15)So, a switch fabric means you have a set of input ports and from this input ports youhave you have a set of output ports. So, these are input ports and these are your outputports. So, interestingly in router this input ports and output ports are same. So, the inputports and output ports are basically the interfaces. So, this is I am naming the interfacesaccordingly this; I1, I2, I3, I4, I5, any of the interface can work as an input port as wellas an output port. Similarly, I1, I2, I3, I4, I5. So, a switch fabric it is a hardwareconnection that make a connection from one port to all other output ports.So, that way inside this fabric logic, so, this is this contains the fabric logic. So, thisfabric logic, a set of logic gates which actually forward the information which is fed to aone input port to another output port. So, that is the functionality of the logic gates whichare there inside the switch fabrics. So, that way in a router, whenever a packet comes inan input port from the destination address field, you make a route look up inside therouting table and then decide which is your output port. Say for example, for a packet atinput port I1, if decide based on the routing table that the output port should be I4 thenthis fabric logic will copy the data from this input port to the output port at I4.OK. So it maintains also maintains the interface buffer to implement the store andforward functionality. So, whenever you are getting the packets you are getting thepackets one after another. So at every interface you should have a buffer packet shouldbe temporarily inserted inside the buffer then one of the another they will be transmittedover the link by the layer 2 at the data link layer.(Refer Slide Time: 17:28)Now, in IP forwarding we need to do a power packet processing of IP packets. Now, IPforwarding is distributed. Distributed in the sense like, it is handled by individualinterface controller. So, this network interface they are kind of microcontroller. So, youhave a interface controller there. The interface controller handles the packet forwardingwhich are coming to a single interface. So, for this packet forwarding we use the specialhardware devices which are the TCAM ternary content addressable memory whichmakes a 1st mapping, 1st match between a table and the corresponding input.(Refer Slide Time: 18:15)So, the per packet processing the basic architectural components are something like thatyou have a routing table, a copy of the routing table is put in every individual routers. So,whenever you are putting a copy of the routing table at every individual routers,whenever a packet comes this interface controller it makes a routing decision by lookinginto this local routing table. So, this local routing table has a name it is called aforwarding information base which will come after a couple of minutes. So, it makes arouting decision, put the packet in a queue and then you have this switch fabric the fabriclogic which make a mapping from this input queue to the output queue.So, this output queue is connected to the output interface through which the packet isforwarded. Now, as I mentioned that every router interface can work as an input queue aswell as an output queue.(Refer Slide Time: 19:10)So, the interfaces they maintains a forwarding information base which is the localrouting table. This forwarding information base is a mapping from the input interface tothe output interface.So, the forwarding information base is nothing but a replica of the routing table used atthe individual interfaces for making the forwarding decision. So, a copy of the routingtable it is put in every individual interfaces in the form of a forwarding information base.(Refer Slide Time: 19:37)So, this is a the idea that whenever you have a packet in event; a packet in event means apacket is input to the system it is put into the input interface. In the input interface youlook into the forwarding information base your local cache of the routing table which isimplemented inside the hardware. After looking into this local cache, if there is a hit, thatmeans, the information is there in your FIB. So, you forward the packet, put the packet inthe output interface and execute a packet out event; that means, output the packet to thelink. Otherwise, if there is a FIB means; that means, the information is not there in theforwarding information base. You look into the routing table, make a route lookup. Theroute lookup procedure will interact with the routing protocol, get the routinginformation and put it in the FIB.(Refer Slide Time: 20:32)So, the difference between RIB and FIB is that the routing information base is theoriginal software routing table which is a implemented in the software and maintained atthe control plane. And forwarding information base is the copy of the required routesmaintained at the interface of the TCAM hardware. Now, this RIB it is dynamic andmaintains the entire routing information, whereas, FIB updated whenever required.(Refer Slide Time: 20:58)So, here is an example. So, in the route controller you have this entire RIB. Now, inindividual interfaces like Eth0 and Eth1, you have a copy of this RIB. So, here in thisEth0 you have the information about these 3 entries; these 3 entries means, this entry,this entry and this entry, whereas here, you have the information about this entry and thisentry at Eth1. So, that way a part of the routing table is copied to the FIB, forwardinginterface information base at individual network interface whenever required.(Refer Slide Time: 21:41)Now, this RIB feeds the FIB. So, that means, you have this multiple routings algorithm,every routing algorithm may have their own routing table. So, you have the BGP routingtable, you have the OSPF that contains the link state database, you have the static routeswhich network program are inputs manually. So, all this information they feed therouting information base and from the routing information base whenever required, theinformation is copied to that TCAM hardware in the forwarding information base.So, by interesting design choice in a router is that this entire control plane functionalities;that means, this routing protocol along with the routing information base that is yourcontrol functionalities that is implemented as a part of the software. Whereas, in the dataplane, you have the routing information in terms of forwarding table or the forwardinginformation base which is implemented inside the TCAM hardware to make a fastlookup of the information. So, this TCAM hardware, so, I am not going to the detaillogic design of the TCAM hardware.So, if you are interested you can look into the design of the TCAM hardware. It is aspecial type of hardware which makes first lookup of an information inside the table. So,again repeating this entire procedure that whenever you are receiving a packet first youextract the IP header, from the IP header you extract the destination IP address then youuse the TCAM hardware to make a match with the forwarding information base.If the information is already there you then use the switch fabric to copy the packet fromthe input interface to the output interface. If the information is not there in the FIB thenyou need to make a software control at the routing information base to get theinformation from the routing information base and update the FIB.So, that way this entire routing procedure is implemented inside a router. So, that is abrief introduction about the router functionalities. In the next class, we will look into ademonstration of a practical router, of an ATPG router and we look into the differentcomponent of it in a little details.Thank you all for attending this class.