1 router architecture. 2 contents overview of routers overview of routers functions of a router...

109
1 Router Router Architecture Architecture

Upload: cordelia-spencer

Post on 04-Jan-2016

228 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

11

Router ArchitectureRouter Architecture

Page 2: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

22

ContentsContents Overview of routersOverview of routers Functions of a routerFunctions of a router Types of routersTypes of routers Elements of a routerElements of a router Packet flowPacket flow Packet processing: fast vs slow pathPacket processing: fast vs slow path Router architecturesRouter architectures SummarySummary

Page 3: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

33

OverviewOverview Traditionally, routers were implemented purely Traditionally, routers were implemented purely

with software running on a general purpose PC with software running on a general purpose PC with a number of interfaces. with a number of interfaces.

Such a device can receive packets on one of Such a device can receive packets on one of its interfaces, perform routing functions, and its interfaces, perform routing functions, and send packets out on another of its interfaces. send packets out on another of its interfaces.

As Internet traffics grow rapidly, type/size of As Internet traffics grow rapidly, type/size of routers changed since PC-based routers are routers changed since PC-based routers are limited by the performance of CPU and limited by the performance of CPU and memory memory

Fortunately, advances in silicon technology Fortunately, advances in silicon technology have made it possible to build hardware-based have made it possible to build hardware-based routers capable of handling high data rates.routers capable of handling high data rates.

Page 4: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

44

Functions of a RouterFunctions of a Router Two fundamental tasks: Two fundamental tasks: RoutingRouting and and Packet ForwardingPacket Forwarding

Page 5: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

55

Functions of a RouterFunctions of a Router RoutingRouting or Routing process or Routing process Routing protocols are run to exchange Routing protocols are run to exchange

information between neighboring information between neighboring routersrouters construct a view of the network construct a view of the network

topology topology which reflects network which reflects network destinations that can be reached as destinations that can be reached as identified through IP prefix-based network identified through IP prefix-based network address blocks.address blocks.

compute the best paths compute the best paths stored in a data stored in a data structure called structure called a forwarding table.a forwarding table.

Page 6: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

66

Functions of a RouterFunctions of a Router Packet forwardingPacket forwarding Move a packet from an input Move a packet from an input interfaceinterface

("("ingressingress'') of a router to the appropriate '') of a router to the appropriate output interface ("output interface ("egressegress") based on the ") based on the information in the forwarding table. information in the forwarding table.

Since each packet arriving at the router Since each packet arriving at the router needs to be forwarded, the performance needs to be forwarded, the performance of the forwarding process determines the of the forwarding process determines the overall performance of the router.overall performance of the router.

Page 7: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

77

Functions of a RouterFunctions of a Router packet forwarding process is packet forwarding process is

further divided into two further divided into two subgroups: basic and complexsubgroups: basic and complex Basic forwarding defines the minimal set Basic forwarding defines the minimal set

of functions a router should implement in of functions a router should implement in order to transfer packets between order to transfer packets between interfaces. interfaces.

Complex forwarding functions represent Complex forwarding functions represent the additional processing required by the the additional processing required by the routers, depending on their deployment routers, depending on their deployment environments and their usage.environments and their usage.

Page 8: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

88

Basic Forwarding FunctionsBasic Forwarding Functions IP Header ValidationIP Header Validation Packet Lifetime ControlPacket Lifetime Control Checksum Recalculation Route LookupRoute Lookup FragmentationFragmentation Handling IP OptionsHandling IP Options When there are routing or packet When there are routing or packet

errorserrors, routers use , routers use ICMPICMP messages messages to communicate the information.to communicate the information.

Page 9: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

99

Basic Forwarding FunctionsBasic Forwarding Functions IP Header ValidationIP Header Validation: : Ensure only well-Ensure only well-

formed packets are processed further formed packets are processed further while the rest are discarded such as:while the rest are discarded such as: version number of the protocolversion number of the protocol is correct is correct header lengthheader length of the packet is valid, and of the packet is valid, and

the the computed header checksum computed header checksum of the of the packet is same as the value of the packet is same as the value of the checksum field in the packet header.checksum field in the packet header.

Page 10: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

1010

Basic Forwarding FunctionsBasic Forwarding Functions Packet Lifetime ControlPacket Lifetime Control: : Routers Routers

must decrement the must decrement the time-to-live time-to-live (TTL)(TTL) field in the IP packet header field in the IP packet header to prevent packets from getting to prevent packets from getting caught in the routing loops forever. caught in the routing loops forever.

If the TTL value is zero or negative, If the TTL value is zero or negative, the packet is discarded; an ICMP the packet is discarded; an ICMP message is generated and sent to message is generated and sent to the original sender.the original sender.

Page 11: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

1111

Basic Forwarding FunctionsBasic Forwarding Functions Checksum RecalculationChecksum Recalculation: : Since the Since the

value of the TTL is modified, the value of the TTL is modified, the header checksum needs to be header checksum needs to be updated. updated.

Instead of computing the entire Instead of computing the entire header checksum again, it is more header checksum again, it is more efficient to compute it efficient to compute it incrementally; after all, the TTL incrementally; after all, the TTL value is always decremented by 1.value is always decremented by 1.

Page 12: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

1212

Basic Forwarding FunctionsBasic Forwarding Functions Route LookupRoute Lookup: : The destination The destination

address of the packet is used to address of the packet is used to search the search the forwarding table forwarding table for for determining the output port. determining the output port.

The result of this search will The result of this search will indicate whether the packet is indicate whether the packet is destined for the router destined for the router to an output port (to an output port (unicastunicast) or ) or to a set of multiple output ports to a set of multiple output ports

((multicastmulticast).).

Page 13: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

1313

Basic Forwarding FunctionsBasic Forwarding Functions FragmentationFragmentation: : It is possible that It is possible that

the maximum transmission unit the maximum transmission unit ((MTUMTU) of the outgoing link is ) of the outgoing link is smaller than the size of the packet smaller than the size of the packet that needs to be transmitted. that needs to be transmitted.

This means that the packet would This means that the packet would need to be need to be split into multiple split into multiple fragmentsfragments before transmission. before transmission.

Page 14: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

1414

Basic Forwarding FunctionsBasic Forwarding Functions Handling IP OptionsHandling IP Options: : The presence The presence

of the IP options field indicates of the IP options field indicates that there are special processing that there are special processing needs for the packet at the router. needs for the packet at the router.

While such packets might arrive While such packets might arrive infrequentlyinfrequently, a router nonetheless , a router nonetheless needs to support those processing needs to support those processing needs.needs.

Page 15: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

1515

Complex Forwarding Complex Forwarding FunctionsFunctions

SecuritySecurity, , different user requirementsdifferent user requirements, , and service guarantees based on and service guarantees based on different different service level agreements service level agreements (SLA)(SLA) Service differentiation example: watching a Service differentiation example: watching a

high-definition movie streaming directly high-definition movie streaming directly over the Internet which requires over the Internet which requires (1) high (1) high bandwidthbandwidth and and (2) timely delivery of the (2) timely delivery of the datadata. .

The router needs to distinguish such The router needs to distinguish such packets so that it can forward them earlier. packets so that it can forward them earlier.

This results in the notion of differentiated This results in the notion of differentiated services, and consequently requires that services, and consequently requires that routers support a variety of mechanisms as routers support a variety of mechanisms as follows:follows:

Page 16: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

1616

Complex Forwarding Complex Forwarding FunctionsFunctions

Packet ClassificationPacket Classification For distinguishing packets, a router might For distinguishing packets, a router might

need to examine not only the destination need to examine not only the destination IP address but also other fields such as IP address but also other fields such as source address, destination port, and source address, destination port, and source port, and protocol number.source port, and protocol number.

Matching these headers against certain Matching these headers against certain rules to find the matched rule who actions rules to find the matched rule who actions are then applied.are then applied.

Page 17: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

1717

Complex Forwarding Complex Forwarding FunctionsFunctions

Packet TranslationPacket Translation As the public IPv4 address space is being As the public IPv4 address space is being

exhausted, there is a need to map several exhausted, there is a need to map several hosts to a single public address. hosts to a single public address.

Thus, a router that acts as a gateway to a Thus, a router that acts as a gateway to a network needs to support network needs to support network network address translationaddress translation ( (NATNAT). ).

NAT maps a public IP address into a set of NAT maps a public IP address into a set of private IP addresses and vice versa. private IP addresses and vice versa.

This requires a router to maintain a list of This requires a router to maintain a list of connected hosts and their local addresses connected hosts and their local addresses and to translate the incoming and and to translate the incoming and outgoing packets.outgoing packets.

Page 18: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

1818

Complex Forwarding Complex Forwarding FunctionsFunctions

Traffic PrioritizationTraffic Prioritization Guarantee a certain quality of service (Guarantee a certain quality of service (QoSQoS) )

to meet service level agreements, applying to meet service level agreements, applying different different prioritiespriorities to different to different customerscustomers or or data data flowsflows and providing a level of and providing a level of performance in accordance with the performance in accordance with the predetermined service agreements. predetermined service agreements.

For example, the agreement might specify For example, the agreement might specify that a fixed number of packets must be that a fixed number of packets must be delivered at a constant rate, necessary for delivered at a constant rate, necessary for real-time streaming multimedia applications real-time streaming multimedia applications such as such as IPTVIPTV, or real-time interactive , or real-time interactive applications such as applications such as VoIPVoIP

Page 19: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

1919

Control plane vs data planeControl plane vs data plane Besides packet forwarding (i.e., data Besides packet forwarding (i.e., data

plane function), a router needs to ensure plane function), a router needs to ensure that the contents of the forwarding table that the contents of the forwarding table reflect the current network topology. reflect the current network topology.

Routers also need to provide Routers also need to provide control control planeplane and management plane functions. and management plane functions. In particular, a router needs to handle:In particular, a router needs to handle: Routing ProtocolsRouting Protocols System ConfigurationSystem Configuration Router ManagementRouter Management

Page 20: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

2020

Control plane: Routing Routing ProtocolsProtocols

Routers need to implement different routing protocols, such as OSPFOSPF, BGPBGP, and RIPRIP for maintaining peer relationships by sending and receiving route updatesroute updates from adjacent routers.

These route updates are sent and received as normal IP packets.

But the key differencedifference between these packets and the packets that transit through the router is the destination address: the router itselfdestination address: the router itself for route update packets.

Once the updates are received, the forwarding table is modified so that subsequent packets are forwarded to the correct outgoing links.

Page 21: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

2121

Control plane:Control plane: System System ConfigurationConfiguration

Network operators need to configure Network operators need to configure various administrative tasks: various administrative tasks: Configuring interfaces, Configuring interfaces, Routing protocol keep alives, Routing protocol keep alives, Updating rules for classifying packets. Updating rules for classifying packets.

Hence, a router needs to implement Hence, a router needs to implement various functions for adding, modifying various functions for adding, modifying and deleting these configuration data, and deleting these configuration data, as well as persistently storing them for as well as persistently storing them for retrieval later.retrieval later.

Page 22: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

2222

Control plane: Control plane: Router Router ManagementManagement

Routers need to be monitored for Routers need to be monitored for continuous operation. continuous operation.

These functions include These functions include supporting various management supporting various management functions that are implemented functions that are implemented using protocols such as simple using protocols such as simple network management protocol network management protocol ((SNMPSNMP).).

Page 23: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

2323

Routing Table vs Forwarding Routing Table vs Forwarding TableTable

The routing function builds a The routing function builds a routing table that is used in the routing table that is used in the construction of forwarding tables. construction of forwarding tables.

Often, in the literature, the terms Often, in the literature, the terms routing table routing table and and forwarding table forwarding table are used interchangeably to refer are used interchangeably to refer to the data structures in a router to the data structures in a router for forwarding packets.for forwarding packets.

Page 24: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

2424

Routing Table vs Forwarding Routing Table vs Forwarding TableTable

routing table is constructed by routing routing table is constructed by routing algorithms using information exchanged algorithms using information exchanged between routers by routing protocols. between routers by routing protocols. Each entry in routing table Each entry in routing table mapsmaps IP prefixIP prefix to to

next hopnext hop The forwarding table, is consulted by the The forwarding table, is consulted by the

router to determine the output interface an router to determine the output interface an incoming packet needs to be forwarded.incoming packet needs to be forwarded. each entry in forwarding table each entry in forwarding table mapsmaps IPIP prefixprefix

to to outgoing interfaceoutgoing interface the entries might contain additional the entries might contain additional

information such as the information such as the MAC address for the MAC address for the next hopnext hop and and statisticsstatistics about the number of about the number of packets forwarded through using the packets forwarded through using the interface.interface.

Page 25: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

2525

Routing Table vs Forwarding Routing Table vs Forwarding TableTable

reasons to use two separate tablesreasons to use two separate tables forwarding table is forwarding table is optimized for searching optimized for searching

an IP against many IP prefixes, routing an IP against many IP prefixes, routing table is table is optimized for calculating optimized for calculating changes in changes in the topologythe topology

as every packet needs to examine the as every packet needs to examine the forwarding table, it is implemented in a forwarding table, it is implemented in a specialized hardware for high-speed specialized hardware for high-speed routers. However, the routing tables are routers. However, the routing tables are usually implemented in software.usually implemented in software.

Example:Example:

Page 26: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

2626

Performance of RoutersPerformance of Routers Throughput: bits per second (bps)Throughput: bits per second (bps)

how much data the router can transfer how much data the router can transfer per second from input network interfaces per second from input network interfaces to an output network interface.to an output network interface.

Throughput Throughput T = P x R ,T = P x R , P P = the number of ports or interfaces = the number of ports or interfaces

feeding the router and feeding the router and R =R = the line rate of each port. the line rate of each port.

For instance, a router containing 16 For instance, a router containing 16 ports with each running at a line rate ports with each running at a line rate of 40 Gbps has a throughput of 640 of 40 Gbps has a throughput of 640 Gbps.Gbps.

Page 27: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

2727

Performance of RoutersPerformance of Routers As routers forward packets, it is more As routers forward packets, it is more

important to know how many packets important to know how many packets they are capable of forwarding in a they are capable of forwarding in a second, which is referred to as second, which is referred to as packets per second (packets per second (ppspps).).

For instance, a router throughput of For instance, a router throughput of 640 Gbps could mean packets of size 640 Gbps could mean packets of size 40 bytes forwarded at 2 billion pps or 40 bytes forwarded at 2 billion pps or packets of size 80 bytes forwarded at packets of size 80 bytes forwarded at 1 billion pps.1 billion pps.

Page 28: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

2828

Performance of RoutersPerformance of Routers What should be the packet size used?What should be the packet size used? In a decade-old study, the average packet size In a decade-old study, the average packet size

was found to be 300 byteswas found to be 300 bytes In recent observations, commonly seen packet In recent observations, commonly seen packet

sizes are 40 bytes (TCP acknowledgments), sizes are 40 bytes (TCP acknowledgments), 576 bytes (RFC 879, which is now outdated), 576 bytes (RFC 879, which is now outdated), 1500 bytes (Ethernet MTU size), 1300 bytes 1500 bytes (Ethernet MTU size), 1300 bytes (VPN software), 64 bytes.(VPN software), 64 bytes.

If a router is designed with any of these sizes If a router is designed with any of these sizes other than the smallest size, it might not be other than the smallest size, it might not be able to sustain a long sequence of shorter able to sustain a long sequence of shorter packets. packets.

Thus, most use the minimum of 40 bytes as Thus, most use the minimum of 40 bytes as the standard packet size for such assessment.the standard packet size for such assessment.

Page 29: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

2929

Types of RoutersTypes of Routers Routers can be of different complexity Routers can be of different complexity

based on based on where in the network they are deployedwhere in the network they are deployed how much traffic they need to sustain.how much traffic they need to sustain.

Naturally, this means that routers can Naturally, this means that routers can be of different types.be of different types.

three types of routers: three types of routers: corecore routers, routers, edgeedge routers, and routers, and enterpriseenterprise routers routers

their requirements will be outlinedtheir requirements will be outlined

Page 30: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

3030

Core RoutersCore Routers Used by service providers for interconnecting a few Used by service providers for interconnecting a few

thousand small networks so that the cost of moving thousand small networks so that the cost of moving traffic is shared among a large customer base. traffic is shared among a large customer base.

Since traffic arriving at the core router is highly Since traffic arriving at the core router is highly aggregated, it should be capable of handling large aggregated, it should be capable of handling large amounts of traffic. amounts of traffic. primary requirements for a core router are primary requirements for a core router are high speed high speed

and and reliabilityreliability. . Keeping the cost of a core router reasonable, but Keeping the cost of a core router reasonable, but

the cost is a secondary issue.the cost is a secondary issue. The packet forwarding speed of a core router is The packet forwarding speed of a core router is

mostly limited by mostly limited by the time spent for IP lookupsthe time spent for IP lookups.. Hence, specialized algorithms implemented in Hence, specialized algorithms implemented in

hardware are required for fast and efficient lookups.hardware are required for fast and efficient lookups.

Page 31: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

3131

Core RoutersCore Routers Since core routers form the critical nodes in the Since core routers form the critical nodes in the

network, it is essential that these routers do not network, it is essential that these routers do not fail under any conditions. fail under any conditions.

The The reliability reliability of a router depends on the of a router depends on the reliability of physical elements such as the reliability of physical elements such as the line line cardscards, , switchswitch fabricfabric, and , and route control processor route control processor cardscards. .

The reliability of these physical elements is The reliability of these physical elements is achieved by full redundancyachieved by full redundancy——dual power dual power supplies, standby switch fabric, and duplicate supplies, standby switch fabric, and duplicate line cards and route control processor cards. line cards and route control processor cards.

Moreover, the software is enhanced so that when Moreover, the software is enhanced so that when one of the elements fails, the packet forwarding one of the elements fails, the packet forwarding and the routing protocols continue to function.and the routing protocols continue to function.

Page 32: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

3232

Edge RoutersEdge Routers known as access routers, are deployed at the known as access routers, are deployed at the

edge of the service provider networks for edge of the service provider networks for providing connectivity to customers from home providing connectivity to customers from home and small businesses. and small businesses.

The first generation of edge routers were really The first generation of edge routers were really remote access servers attached to terminal remote access servers attached to terminal concentrators that concentrators that aggregateaggregate a large number of a large number of slow-speed dial-upslow-speed dial-up customers. customers.

However, this is not the case anymore.However, this is not the case anymore.1.1. the need for more bandwidth results in a the need for more bandwidth results in a

variety of access technologies such as variety of access technologies such as high-high-speed modemsspeed modems, , DSLDSL, and , and cable modemscable modems. . Hence edge routers must support an Hence edge routers must support an aggregation of customers using different aggregation of customers using different access technologies.access technologies.

Page 33: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

3333

Edge RoutersEdge Routers2.2. Edge routers need to implement newer Edge routers need to implement newer

protocols such as protocols such as point-to-point tunneling point-to-point tunneling protocolprotocol ( (PPTPPPTP), ), point-to-point protocol over point-to-point protocol over EthernetEthernet ( (PPPoEPPPoE), and ), and IPsecIPsec for VPNs. These for VPNs. These protocol implementations should also scale protocol implementations should also scale as they need to be run on every port. as they need to be run on every port.

3.3. Edge routers should be capable of handling Edge routers should be capable of handling a large amount of traffic as many a large amount of traffic as many customers are migrating from dialup access customers are migrating from dialup access to high-speed modems. to high-speed modems.

These trends suggest that the edge routers These trends suggest that the edge routers support a large number of ports capable of support a large number of ports capable of different access technologies and many different access technologies and many protocols operating at each port.protocols operating at each port.

Page 34: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

3434

Enterprise RoutersEnterprise Routers Enterprise networks interconnect end systems Enterprise networks interconnect end systems

located in companies, universities, and so on.located in companies, universities, and so on. The The primary requirementprimary requirement is to provide connectivity is to provide connectivity

at a very low cost to a large number of end at a very low cost to a large number of end systems and to allow service differentiation to systems and to allow service differentiation to provide QoS guarantees for different departments. provide QoS guarantees for different departments.

A typical enterprise network is built using many A typical enterprise network is built using many Ethernet segments interconnected by hubs, Ethernet segments interconnected by hubs, bridges, and switches which are inexpensive and bridges, and switches which are inexpensive and easy limited configuration effort.easy limited configuration effort.

performance degrades as network size increases. performance degrades as network size increases. Hence, using routers in these networks to divide Hence, using routers in these networks to divide

the end systems into hierarchical IP subnetworks is the end systems into hierarchical IP subnetworks is desirable. Moreover, it scales the network better.desirable. Moreover, it scales the network better.

Page 35: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

3535

Enterprise RoutersEnterprise Routers Several design requirementsSeveral design requirements

FirstFirst, these routers require efficient support , these routers require efficient support for multicast and broadcast traffic as for multicast and broadcast traffic as applications such as video broadcasting are applications such as video broadcasting are more predominantly used in the enterprise. more predominantly used in the enterprise.

Second, these routers need to implement Second, these routers need to implement many legacy technologies that are still in many legacy technologies that are still in use in the enterprises. use in the enterprises.

ThirdThird, the extensive support for security , the extensive support for security firewalls, filters, and VLANs. Finally, as firewalls, filters, and VLANs. Finally, as these routers must connect many LANs, these routers must connect many LANs, they are required to support large number they are required to support large number of ports.of ports.

Page 36: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

3636

Enterprise RoutersEnterprise Routers For enterprises, the network is For enterprises, the network is

considered as an operational expense considered as an operational expense and the goal is to minimize this expense. and the goal is to minimize this expense.

Hence, the routers targeted for Hence, the routers targeted for enterprise deployment are required to enterprise deployment are required to have have low cost per portlow cost per port, a , a large number large number of portsof ports, and the , and the ease of maintenanceease of maintenance. It . It is challenging to design an enterprise is challenging to design an enterprise router that satisfies these requirements router that satisfies these requirements for every port and still keep the cost low for every port and still keep the cost low per port.per port.

Example: IXP 425 vs IXP 2800Example: IXP 425 vs IXP 2800

Page 37: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

3737

Elements of a RouterElements of a Router router can be viewed from two router can be viewed from two

different perspectives: different perspectives: FunctionalFunctional perspective: logically viewed as perspective: logically viewed as

a collection of modules where each a collection of modules where each module implements a set of related module implements a set of related functions to achieve the overall goal of functions to achieve the overall goal of forwarding packetsforwarding packets

ArchitecturalArchitectural perspective: considered as perspective: considered as an interconnection of different types of an interconnection of different types of cards running specialized software and cards running specialized software and How the functional modules are How the functional modules are implemented in practice.implemented in practice.

Page 38: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

3838

Elements of a RouterElements of a Router From functional From functional point of view: A router point of view: A router

can be divided into several modules. can be divided into several modules. These components implement the These components implement the various requirements of a router.various requirements of a router.

A generic router consists of A generic router consists of sixsix major major functional modules: (1) functional modules: (1) network network interfacesinterfaces, (2) , (2) forwarding engineforwarding engine,(3) ,(3) queue managerqueue manager, (4) , (4) traffic managertraffic manager, , (5) (5) backplanebackplane, and (6) , and (6) route control route control processorprocessor. .

These functional modules are shown in These functional modules are shown in the following figure.the following figure.

Page 39: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

3939

Page 40: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

4040

Network InterfaceNetwork Interface contain many contain many portsports that provide the connectivity to that provide the connectivity to

physical network linksphysical network links. . A port terminates a physical link at the router and serves A port terminates a physical link at the router and serves

as the as the entry and exit pointentry and exit point for incoming and outgoing for incoming and outgoing packets, respectively. packets, respectively.

A port is specific to a particular type of network physical A port is specific to a particular type of network physical medium. Examples: an Ethernet port or a SONET interface. medium. Examples: an Ethernet port or a SONET interface.

In addition, a network interface provides several functions.In addition, a network interface provides several functions. understand various data link protocols and decapsulate the understand various data link protocols and decapsulate the

incoming packets by stripping the Layer 2 (L2) headers. incoming packets by stripping the Layer 2 (L2) headers. extract the IP headers, i.e., the Layer 3 (L3) headers, and extract the IP headers, i.e., the Layer 3 (L3) headers, and

sends them to the forwarding engine for route lookup while sends them to the forwarding engine for route lookup while the entire packet is stored in memory. the entire packet is stored in memory.

Collectively, this processing is referred to as L2/L3 Collectively, this processing is referred to as L2/L3 processing. processing.

Further, it provides the functionality of encapsulating L2 Further, it provides the functionality of encapsulating L2 headers before the packet is send out on the link.headers before the packet is send out on the link.

Page 41: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

4141

Forwarding EngineForwarding Engine Decide to which network interface the incoming Decide to which network interface the incoming

packet should be forwarded by consulting a table packet should be forwarded by consulting a table (i.e., engaging in a route lookup function).(i.e., engaging in a route lookup function).

When a port receives a new packet, it When a port receives a new packet, it deencapsulates L2 headers and sends the entire IP deencapsulates L2 headers and sends the entire IP packet, or just the packet header, to the forwarding packet, or just the packet header, to the forwarding engine. engine.

route lookup can be implemented in custom route lookup can be implemented in custom hardware or software running on a commodity hardware or software running on a commodity hardware. hardware.

Depending on the architecture, the lookups can Depending on the architecture, the lookups can occur in the custom hardware or in a local route occur in the custom hardware or in a local route cache in the line card. cache in the line card.

Futhermore, to provide QoS guarantees, forwarding Futhermore, to provide QoS guarantees, forwarding engines may need to classify packets into engines may need to classify packets into predefined service classes.predefined service classes.

Page 42: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

4242

Queue ManagerQueue Manager Provide buffers for temporary storage Provide buffers for temporary storage

of packets when an outgoing link from of packets when an outgoing link from a router is overbooked. a router is overbooked.

When these buffer queues overflow When these buffer queues overflow due to congestion in the network, the due to congestion in the network, the queue manager selectively drops queue manager selectively drops packets. packets.

Need to manage the occupancy of the Need to manage the occupancy of the queue and implement queue and implement policiespolicies about about which which packets to droppackets to drop when the when the queues are about to be fully occupied.queues are about to be fully occupied.

Page 43: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

4343

Traffic ManagerTraffic Manager prioritize and regulate the outgoing traffic, prioritize and regulate the outgoing traffic,

depending on the desired level of service. depending on the desired level of service. Necessary as routers carry traffic from Necessary as routers carry traffic from

different subscribers to ensure they get the different subscribers to ensure they get the level of service for which they pay. level of service for which they pay.

Shape the outgoing traffic to the subscriber Shape the outgoing traffic to the subscriber according to the service level agreement. according to the service level agreement.

When receiving traffic from a subscriber, the When receiving traffic from a subscriber, the traffic manager ensures that it does not traffic manager ensures that it does not accept more than what is specified in the accept more than what is specified in the contract. contract.

Sometimes the functionality of the queue Sometimes the functionality of the queue manager and the traffic manager are merged manager and the traffic manager are merged into a single component.into a single component.

Page 44: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

4444

BackplaneBackplane Provide connectivity for the network Provide connectivity for the network

interfaces so that packets from an interfaces so that packets from an incoming network interface can be incoming network interface can be transferred to the outgoing network transferred to the outgoing network interface card. interface card.

The backplane can be either The backplane can be either sharedshared, , where only two interfaces can where only two interfaces can communicate at any instant, or communicate at any instant, or switchedswitched, , where multiple interfaces can where multiple interfaces can communicate simultaneously.communicate simultaneously.

The aggregate bandwidth of all the The aggregate bandwidth of all the attached network interfaces defines the attached network interfaces defines the bandwidth required for the backplane.bandwidth required for the backplane.

Page 45: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

4545

Route Control ProcessorRoute Control Processor Responsible for implementing and executing routing Responsible for implementing and executing routing

protocols for maintaining a routing table that is protocols for maintaining a routing table that is updated whenever a route change occurs. updated whenever a route change occurs.

Based on the contents of the routing table, the Based on the contents of the routing table, the forwarding table is computed and updated. forwarding table is computed and updated.

Also run the software to configure and manage the Also run the software to configure and manage the router. router.

A route control processor also performs complex A route control processor also performs complex packet-by-packet operations like errors during packet packet-by-packet operations like errors during packet processing. processing.

For example, it handles any packet whose destination For example, it handles any packet whose destination address cannot be found in the forwarding table in the address cannot be found in the forwarding table in the line card by sending an ICMP packet to its source of line card by sending an ICMP packet to its source of origin indicating the error. origin indicating the error.

These functionalities are typically implemented in These functionalities are typically implemented in software running on a general-purpose microprocessor.software running on a general-purpose microprocessor.

Page 46: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

4646

Architectural perspective Port CardsPort Cards: : A port card implements the network A port card implements the network

interfaces. interfaces. Each port card is capable of handling only a Each port card is capable of handling only a

specific medium, for instance, Ethernet or SONET. specific medium, for instance, Ethernet or SONET. The port cards contain L2 processing logic that The port cards contain L2 processing logic that

understands the L2 packet format specific for that understands the L2 packet format specific for that medium. medium.

In addition, the port cards perform In addition, the port cards perform accounting accounting (e.g., packet counter)(e.g., packet counter) about the incoming and about the incoming and outgoing packets. outgoing packets.

Such cards are given different names by different Such cards are given different names by different vendors; vendors;

for example. Juniper networks call then for example. Juniper networks call then Physical Physical Interface CardsInterface Cards ( (PICPICs), Cisco refers to them as s), Cisco refers to them as Physical Physical Layer Interface modulesLayer Interface modules ( (PLIMPLIMs) in CRS-1 routers.s) in CRS-1 routers.

Page 47: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

4747

Architectural perspective Line CardsLine Cards: : A line card implements a A line card implements a

majority of the functional components, majority of the functional components, forwarding engine, queue manager, and forwarding engine, queue manager, and traffic manager. traffic manager.

Parse the IP payload and uses the contents of Parse the IP payload and uses the contents of the header to make decisions about the header to make decisions about forwarding, queueing, and discarding during forwarding, queueing, and discarding during periods of link congestion. periods of link congestion.

Contain memory buffers for storing the Contain memory buffers for storing the packet during processing and queueing. packet during processing and queueing.

House port cards and connects to the House port cards and connects to the backplane and ultimately to another line card. backplane and ultimately to another line card.

Sometimes, include the ports specific to Sometimes, include the ports specific to certain media rather than using port cards.certain media rather than using port cards.

Page 48: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

4848

Architectural perspective Switch Fabric CardsSwitch Fabric Cards: : serve as the backplane serve as the backplane

for transferring packets from the ingress line for transferring packets from the ingress line card to the egress line card. card to the egress line card.

In high-end routers, multiple switch fabric In high-end routers, multiple switch fabric cards are used for increased throughput and cards are used for increased throughput and redundancy.redundancy.

Route Processor CardsRoute Processor Cards: : These cards These cards implement the functionality of the route control implement the functionality of the route control processor. processor.

The routing protocols and the management The routing protocols and the management software run on these cards. software run on these cards.

In high-end routers, these cards use general-In high-end routers, these cards use general-purpose processors with a large amount of purpose processors with a large amount of memory running a commodity operating memory running a commodity operating system.system.

Page 49: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

4949

Packet Flow grouped into ingress packet processing and egress

packet processing.

Page 50: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

5050

Ingress Packet Processingas shown in Figure 14.4. Use of other fields in the packet context will be revealed later in the

Page 51: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

5151

Ingress Packet Processing① packet from network enters network interface

(Ethernet) Interpret Ethernet header, detect frame boundaries,

and identify the starting point of the payload and the IP packet in the frame.

L2 logic removes L2 header and constructs a packet context , a data structure serving as a scratch pad for information between different stages of packet processing inside the router.

L2 logic appends to packet context about L2 headers, i.e, source/destination MAC address.

Packet payload and packet context are sent to L3 logic to locate IP header and check its validity.

Extract relevant IP header and store in packet context, including the destination/source address, protocol type, DSCP bits (for differentiated services), and destination/source ports if TCP or UDP.

Page 52: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

5252

Ingress Packet Processing② At this point, packet context contains enough

information for route lookup and classification. Next, the entire packet context is sent to the forwarding

engine in the line card. The forwarding engine searches a table (the forwarding table) to determine the next hop.

The next-hop information contains the egress line card and the outgoing port the packet needs to be transferred. This information is populated in the packet context.

③ L3 logic sends IP packet to be stored in the buffer memory temporarily.

④ forwarding engine determines the next hop using the packet context by consulting forwarding table.

⑤ When forwarding engine completes, the packet context is appended with the address of packet in memory and is sent to the backplane interface.

Page 53: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

5353

Ingress Packet Processing⑥ From the packet context, the backplane

interface knows to which line card the packet needs to be transferred. It then schedules the packet for transmission along with the packet context over the backplane. Note that the priority of the packet is taken into

account while transmitting on the backplane: higher-priority packets need to be scheduled ahead of lower priority packets.

Page 54: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

5454

egress Packet Processing⑦⑦ When packet reaches egress line card, When packet reaches egress line card,

backplane interface on egress line card receives backplane interface on egress line card receives the packet and stores it in line card memory. the packet and stores it in line card memory.

⑧⑧ The received packet context is updated with The received packet context is updated with new memory address and sent to queue new memory address and sent to queue manager.manager.

Queue manager examines the packet context to Queue manager examines the packet context to determine the packet priority. determine the packet priority.

Queue manager inserts the context of the packet in Queue manager inserts the context of the packet in the appropriate queue. As different queues, the appropriate queue. As different queues, depending on the priority, consume different depending on the priority, consume different amounts of bandwidth on the same output link, the amounts of bandwidth on the same output link, the queue manager implements a scheduling algorithm.queue manager implements a scheduling algorithm.

The scheduling algorithm chooses the next packet to The scheduling algorithm chooses the next packet to be transmitted according to the bandwidth be transmitted according to the bandwidth configured for each queue. Queues could be full configured for each queue. Queues could be full because of congestion in the network and packet because of congestion in the network and packet dropping proactively is needed.dropping proactively is needed.

Page 55: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

5555

egress Packet Processing⑨⑨ Once the packet is scheduled to be Once the packet is scheduled to be

transmitted, the traffic manager examines transmitted, the traffic manager examines its context to identify the customer and if its context to identify the customer and if there are any transmit rate limitations that there are any transmit rate limitations that need to be enforced according to the need to be enforced according to the service contract. (service contract. (traffic shaping). traffic shaping). If the traffic exceeds any rate limitations, the If the traffic exceeds any rate limitations, the

traffic manager delays or drops the packet in traffic manager delays or drops the packet in order to comply with the agreed rate.order to comply with the agreed rate.

⑩⑩ Finally, the packet arrives at the network Finally, the packet arrives at the network interface where L3 processing logic updates interface where L3 processing logic updates its TTL and updates the checksum. The L2 its TTL and updates the checksum. The L2 processing logic adds the appropriate L2 processing logic adds the appropriate L2 headers and headers and

(11) (11) the packet is transmitted.the packet is transmitted.

Page 56: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

5656

Slow path vs Fast pathSlow path vs Fast path Tasks performed are categorized into Tasks performed are categorized into time-critical time-critical

and and non-time-critical non-time-critical operations depending on operations depending on their frequency, calledtheir frequency, called fast path fast path and and slow path.slow path.

Time-critical operations affect the majority of the Time-critical operations affect the majority of the packets and need to be highly optimized in order packets and need to be highly optimized in order to achieve gigabit forwarding rates. to achieve gigabit forwarding rates.

Time-critical tasks can be broadly grouped into Time-critical tasks can be broadly grouped into header header processingprocessing and and forwardingforwarding. . Header processing include packet validation, packet Header processing include packet validation, packet

lifetime control, and checksum calculation, lifetime control, and checksum calculation, Forwarding include IP lookup, packet classification for Forwarding include IP lookup, packet classification for

service differentiation, packet buffering, and service differentiation, packet buffering, and scheduling. scheduling.

Since these tasks need to be executed for every packet Since these tasks need to be executed for every packet in real time, a high performance router implements in real time, a high performance router implements these fast path functions in hardware.these fast path functions in hardware.

Page 57: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

5757

Slow path vs Fast pathSlow path vs Fast path Non-time-critical tasks are typically Non-time-critical tasks are typically

performed on packets for maintenance, performed on packets for maintenance, management, and error handling.management, and error handling. Processing of data packets that lead to errors in Processing of data packets that lead to errors in

fast path and generation of ICMP packets to inform fast path and generation of ICMP packets to inform the originating source of the packetsthe originating source of the packets

Processing of routing protocol keep-alive Processing of routing protocol keep-alive messages from adjacent neighbors and sending of messages from adjacent neighbors and sending of these messages to the neighboring routersthese messages to the neighboring routers

Processing of incoming packets that carry route Processing of incoming packets that carry route table updates and sending messages to table updates and sending messages to neighboring routers when network topology neighboring routers when network topology changeschanges

Processing of packets pertaining to management Processing of packets pertaining to management protocols, such as SNMP, and the associated protocols, such as SNMP, and the associated repliesreplies

Page 58: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

5858

Page 59: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

5959

Fast path functionsFast path functions In the fast path, the packets are In the fast path, the packets are

processed and transferred from the processed and transferred from the ingress line card to the egress line card ingress line card to the egress line card through the backplane. To achieve high through the backplane. To achieve high speeds, the fast path functions are speeds, the fast path functions are implemented in custom hardware, such implemented in custom hardware, such as ASICs. as ASICs.

While such custom implementations are While such custom implementations are less flexible, the increasing need for less flexible, the increasing need for more packet processing at the router, more packet processing at the router, and the relatively small changes in IP and the relatively small changes in IP packet format, makes the custom packet format, makes the custom hardware implementation attractive.hardware implementation attractive.

Page 60: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

6060

IP HEADER PROCESSINGIP HEADER PROCESSING Verification of protocol version, either IPv4 Verification of protocol version, either IPv4

or both IPv4 and IPv6. If version number or both IPv4 and IPv6. If version number does not match, then the packet could be does not match, then the packet could be malformed. malformed.

Check whether packet length reported by Check whether packet length reported by MAC or the link layer is at least the MAC or the link layer is at least the minimum minimum legal length of an IP packet.legal length of an IP packet. This test ensures that the IP header is not This test ensures that the IP header is not

truncated by the MAC layer and filters packets truncated by the MAC layer and filters packets less than the minimum intended length. less than the minimum intended length.

Next, for IPv4, the value of the IP header Next, for IPv4, the value of the IP header checksum must equal the calculated header checksum must equal the calculated header checksum computed by the router.checksum computed by the router.

Page 61: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

6161

IP HEADER PROCESSINGIP HEADER PROCESSING Decrement TTL field in IP header to prevent Decrement TTL field in IP header to prevent

packets from getting caught in routing loops packets from getting caught in routing loops forever. forever. A packet destined for the local address of the A packet destined for the local address of the

router will be accepted by the router if it has router will be accepted by the router if it has zero or a positive value of TTL. zero or a positive value of TTL.

packets that are being forwarded by the router packets that are being forwarded by the router should have their TTL value decremented and should have their TTL value decremented and checked: positive, zero or negative.checked: positive, zero or negative.

positive TTL value indicates that packets have positive TTL value indicates that packets have more life left and such packets are actually more life left and such packets are actually forwarded. The remaining packets with TTL 0 forwarded. The remaining packets with TTL 0 are discarded, ICMP error message is sent to are discarded, ICMP error message is sent to original sender.original sender.

Page 62: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

6262

IP HEADER PROCESSINGIP HEADER PROCESSING Since the TTL field has been modified, the IP Since the TTL field has been modified, the IP

header checksum must be recalculated.header checksum must be recalculated. A naive approach is to compute the checksum A naive approach is to compute the checksum

over the entire IP packet again, which could be over the entire IP packet again, which could be computationally expensive. computationally expensive.

An efficient method to compute Internet checksum An efficient method to compute Internet checksum on entire packet is described in RFC 1071. on entire packet is described in RFC 1071.

compute the checksum in an incremental fashion. compute the checksum in an incremental fashion. Such an approach is attractive and computationally less Such an approach is attractive and computationally less

intensive, which is vital because routers have to change intensive, which is vital because routers have to change the TTL field of every packet that they forward.the TTL field of every packet that they forward.

A fast approach to incrementally update the checksum is A fast approach to incrementally update the checksum is described in described in RFC 1141 [444] RFC 1141 [444] (assuming the only change (assuming the only change to the IP header is TTL).to the IP header is TTL).

Page 63: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

6363

PACKET FORWARDINGPACKET FORWARDING Determine next-hop IP address for the Determine next-hop IP address for the

incoming packet and decide which output port incoming packet and decide which output port and network interface should be used to send and network interface should be used to send the packet. The result of the lookup could the packet. The result of the lookup could lead to three possibilitieslead to three possibilities LocalLocal: : If packet is destined for the router's local IP If packet is destined for the router's local IP

address, it is delivered to the route control address, it is delivered to the route control processor. i.e., routing protocol keep-alives and processor. i.e., routing protocol keep-alives and route-updates.route-updates.

UnicastUnicast: : PPacket is delivered to a single output port acket is delivered to a single output port on a network interface, either a next-hop router or on a network interface, either a next-hop router or to the ultimate destination. to the ultimate destination.

MulticastMulticast: : packet is delivered to a set of output packet is delivered to a set of output ports on the same or different network interfaces, ports on the same or different network interfaces, based on multicast group membership, which is based on multicast group membership, which is maintained by the router.maintained by the router.

Page 64: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

6464

PACKET CLASSIFICATIONPACKET CLASSIFICATION isolate different classes/types of IP traffic, isolate different classes/types of IP traffic,

based on information carried in the packet. based on information carried in the packet. Depending on packet type, an appropriate Depending on packet type, an appropriate

action is applied against aaction is applied against a set of rules set of rules ((classifierclassifier)). .

5-tuple: s5-tuple: source/destination address, ource/destination address, source/destination port, protocol source/destination port, protocol

The source and destination addresses identify The source and destination addresses identify the participating endpoints, the protocol flags the participating endpoints, the protocol flags identify the type of payload, and the source identify the type of payload, and the source and destination ports identify the application and destination ports identify the application (assuming the payload is TCP or UDP).(assuming the payload is TCP or UDP).

should be fast enough to keep up with the line should be fast enough to keep up with the line rate by using fast and efficient algorithms.rate by using fast and efficient algorithms.

Page 65: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

6565

PACKET QUEUEING & PACKET QUEUEING & SCHEDULINGSCHEDULING

Multiple packets arriving on different ingress network Multiple packets arriving on different ingress network interfaces are forwarded to the same egress network interfaces are forwarded to the same egress network interface simultaneously, called interface simultaneously, called burst trafficburst traffic. .

BufferBuffer as a temporary waiting area for packets to as a temporary waiting area for packets to queue up before transmission. queue up before transmission. The order in which they are transmitted is The order in which they are transmitted is

determined by various factors such as the service determined by various factors such as the service class of the packet, the service guarantees class of the packet, the service guarantees associated with the class, etcassociated with the class, etc

SchedulingScheduling prioritizes traffic based on bandwidth prioritizes traffic based on bandwidth requirements and tolerable amount of delay by requirements and tolerable amount of delay by choosing the appropriate packet from these buffers. choosing the appropriate packet from these buffers. Without such options, packets simply line up and are Without such options, packets simply line up and are

transmitted in the order in which they are received (FIFO). transmitted in the order in which they are received (FIFO). Many data applications like file transfers and web browsing can Many data applications like file transfers and web browsing can

tolerate some delay. However, for delay-sensitive applications tolerate some delay. However, for delay-sensitive applications such as VoIP, FIFO behavior is not clearly desirable.such as VoIP, FIFO behavior is not clearly desirable.

Page 66: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

6666

Slow path functionsSlow path functions Packets following slow path are Packets following slow path are

partiallypartially processed by the ingress line processed by the ingress line card before forwarded to the CPU for card before forwarded to the CPU for further processingfurther processing. .

Once CPU completes processing, it Once CPU completes processing, it directly sends those packets to the directly sends those packets to the egress line card.egress line card. ADDRESS RESOLUTION PROTOCOL PROCESSINGADDRESS RESOLUTION PROTOCOL PROCESSING FRAGMENTATION AND REASSEMBLYFRAGMENTATION AND REASSEMBLY ADVANCED IP PROCESSINGADVANCED IP PROCESSING

Page 67: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

6767

Slow path functionsSlow path functions Address Resolution Protocol ProcessingAddress Resolution Protocol Processing

When a packet needs to be sent on an egress When a packet needs to be sent on an egress interface, router needs to translate the IP address to a interface, router needs to translate the IP address to a link-level address (Ethernet 48-bit MAC address)link-level address (Ethernet 48-bit MAC address)

Packet can then be encapsulated in a frame Packet can then be encapsulated in a frame containing link-level address and transmittedcontaining link-level address and transmitted

router must either maintain the link-level addresses or router must either maintain the link-level addresses or dynamically discover them, address resolution dynamically discover them, address resolution protocol (ARP).protocol (ARP).

To forward a packet, link-level address is obtained by To forward a packet, link-level address is obtained by IP lookup on forwarding table along with outgoing IP lookup on forwarding table along with outgoing interface.interface.

designers might implement ARP in designers might implement ARP in fast pathfast path for two for two reasons: reasons: performanceperformance//needneed for direct access to the for direct access to the physical network. physical network.

Page 68: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

6868

Slow path functionsSlow path functions Other designers might implement ARP in Other designers might implement ARP in

slow pathslow path, since it does not occur very , since it does not occur very frequently. frequently. Packet arriving in router whose link-level Packet arriving in router whose link-level

address is not known is forwarded to central address is not known is forwarded to central CPU which initiates an ARP request.CPU which initiates an ARP request.

CPU updates the forwarding tables in the line CPU updates the forwarding tables in the line cards with the link-address for future packets.cards with the link-address for future packets.

Another variation is to initiate a link-level Another variation is to initiate a link-level address request notification to CPU from line address request notification to CPU from line card. CPU issues an ARP request and upon the card. CPU issues an ARP request and upon the arrival of the ARP reply, CPU updates the arrival of the ARP reply, CPU updates the forwarding table in the line cards with the link-forwarding table in the line cards with the link-level address for future packets. Meanwhile, level address for future packets. Meanwhile, the IP packet that triggered the notification is the IP packet that triggered the notification is discarded.discarded.

Page 69: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

6969

Slow path functionsSlow path functions Fragmentation and ReassemblyFragmentation and Reassembly

Message transfer unit (MTU) of one physical network is different from the other.

MTU of output port is less than that of input port.

As the fast path is implemented in hardware in high-speed routers, adding support for fragmentation in hardware could be complex and expensive. The need to fragment packets is often an exceptional condition.

Page 70: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

7070

Slow path functionsSlow path functions Advanced IP ProcessingAdvanced IP Processing

source routing, route recording, time source routing, route recording, time stamping, and ICMP error generation.stamping, and ICMP error generation.

Source routingSource routing allows the sender of a packet to allows the sender of a packet to specify the route it should take to reach the specify the route it should take to reach the destination.destination.

ForFor reportingreporting errorserrors about IP packets with invalid about IP packets with invalid headers, the control processor can instruct the headers, the control processor can instruct the ingress network interface to discard the packetingress network interface to discard the packet. .

Another alternative is to discard the packet in Another alternative is to discard the packet in the fast path and send a notification to the the fast path and send a notification to the control processor that generates an control processor that generates an ICMP ICMP messagemessage..

Page 71: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

7171

Router ArchitecturesRouter Architectures Old Classification:Old Classification:

First, second, third, forth, fifth-First, second, third, forth, fifth-generationgeneration

New classificationNew classification Shared CPU architectures Shared forwarding engine

architectures Shared nothing architectures Clustered architectures.

Page 72: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

7272

Router ArchitecturesRouter Architectures Early routers: general-purpose computers Early routers: general-purpose computers Today, high-performance routers Today, high-performance routers

resemble supercomputersresemble supercomputers Exploit parallelismExploit parallelism Special hardware componentsSpecial hardware components

Until 1980s (1Until 1980s (1stst generation): generation): standard standard computercomputer

Early 1990s (2Early 1990s (2ndnd generation): generation): delegate to delegate to interfacesinterfaces

Late 1990s (3Late 1990s (3rdrd generation): generation): distributed distributed architecturearchitecture

TodayToday:: Distributed over multiple racks Distributed over multiple racks

Page 73: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

7373

Generic Router ArchitectureGeneric Router Architecture

LookupIP Address

UpdateHeader

Header ProcessingData Hdr Data Hdr

1M prefixesOff-chip DRAM

AddressTable

AddressTable

IP Address Next Hop

QueuePacket

BufferMemory

BufferMemory

1M packetsOff-chip DRAM

Question: What is the difference between this architecture and that in today’s paper?

Page 74: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

7474

Innovation #1: Innovation #1: Each Line Card Has a forwarding Each Line Card Has a forwarding

TableTable Prevents the central routing table Prevents the central routing table

from becoming a bottleneck at from becoming a bottleneck at high speedshigh speeds

Complication:Complication: Must update Must update forwarding tables on the fly. forwarding tables on the fly. How does the BBN router update How does the BBN router update

tables without slowing the tables without slowing the forwarding engines?forwarding engines?

Page 75: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

7575

Generic Router ArchitectureGeneric Router Architecture

LookupIP Address

UpdateHeader

Header Processing

AddressTable

AddressTable

LookupIP Address

UpdateHeader

Header Processing

AddressTable

AddressTable

LookupIP Address

UpdateHeader

Header Processing

AddressTable

AddressTable

Data Hdr

Data Hdr

Data Hdr

BufferManager

BufferMemory

BufferMemory

BufferManager

BufferMemory

BufferMemory

BufferManager

BufferMemory

BufferMemory

Data Hdr

Data Hdr

Data Hdr

Interconnection Fabric

Page 76: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

7676

ForwardingForwardingTableTableCPUCPU

BufferMemory

LineLineInterfaceInterfaceMAC

LineLineInterfaceInterfaceMAC

LineLineInterfaceInterface

MAC

Typically <0.5Gb/s aggregate capacity

Shared Bus

Line Interface

CPU

Memory

First Generation RoutersFirst Generation Routers

Off-chip Buffer

DMA DMADMA

Shared Bus

Route ProcessorRoute Processor

RouteRouteCacheCache

Page 77: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

7777

First Generation RoutersFirst Generation Routers This architecture is still used in This architecture is still used in

low end routerslow end routers Arriving packets are copied to main Arriving packets are copied to main

memory via direct memory access memory via direct memory access (DMA) (DMA)

Switching fabric is a backplane Switching fabric is a backplane (shared bus)(shared bus)

All IP forwarding functions are All IP forwarding functions are performed in the central processor. performed in the central processor.

RoutingRouting cachecache at processor can at processor can accelerate the routing table lookupaccelerate the routing table lookup..

Page 78: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

7878

Drawbacks of 1Drawbacks of 1stst Generation Generation RoutersRouters

Forwarding Performance is limited by Forwarding Performance is limited by memory and CPUmemory and CPU

Capacity of shared bus limits the Capacity of shared bus limits the number of interface cards that can be number of interface cards that can be

connectedconnected InputPort

OutputPort

Memory

System Bus

Page 79: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

7979

RouteRouteTableTableCPUCPU

Line Card

MAC MAC

FwdingFwdingCacheCache

MAC

BufferMemory

Second Generation RoutersSecond Generation Routers

BufferBufferMemoryMemory

FwdingFwdingCacheCache

FwdingFwdingCacheCache

fast path

aggregate capacity: typically <5Gbs

Keep shared bus, Keep shared bus, OffloadOffload most IP most IP

forwarding to interface forwarding to interface cardscards

Line cards have local Line cards have local route cache & processing route cache & processing elementselements

Fast path:Fast path: route entry route entry found in local cache, found in local cache, forward directly to forward directly to outgoing interfaceoutgoing interface

Slow path:Slow path: If route entry If route entry is not in cache, packet is not in cache, packet must be handled by must be handled by central CPUcentral CPU

slow path

DMA

Line Card

DMA

Line Card

DMA

BufferBufferMemoryMemory

BufferBufferMemoryMemory

Page 80: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

8080

Another 2Another 2ndnd Generation Generation RouterRouter

IP forwarding is done by IP forwarding is done by separate components separate components ((Forwarding EnginesForwarding Engines))

Forwarding operations:Forwarding operations:

1.1. Packet received on Packet received on interface is stored in interface is stored in local memory. Extracted local memory. Extracted IP header is sent to one IP header is sent to one forwarding engineforwarding engine

2.2. Forwarding engine does Forwarding engine does lookup, updates IP lookup, updates IP header, and sends it header, and sends it back to incoming back to incoming interfaceinterface

CPU

Cache

Memory

MAC MAC

Memory

Forwarding Bus(IP headers only)

InterfaceCards

Data Bus

Control Bus

Memory

MAC

Memory

ForwardingEngine

CPU

Cache

Memory

ForwardingEngine

Route Processor

CPU

Memory

3.3. Packet is reconstructed and sent to outgoing Packet is reconstructed and sent to outgoing interface.interface.

Page 81: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

8181

Third Generation RoutersThird Generation Routers

LineCard

MAC

LocalLocalBufferBuffer

MemoryMemory

CPUCard

LineCard

MAC

LocalLocalBufferBuffer

MemoryMemory

“Crossbar”: Switched Backplane

Line Interface

CPUMemory FwdingFwding

TableTable

RoutingRoutingTableTable

FwdingFwdingTableTable

Typically <50Gb/s aggregate capacity

Page 82: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

8282

Third Generation RoutersThird Generation Routers Switching fabric is an interconnection Switching fabric is an interconnection

network (e.g., a crossbar switch)network (e.g., a crossbar switch) Distributed architecture: Distributed architecture:

Interface cards operate independently Interface cards operate independently No centralized processing for IP forwardingNo centralized processing for IP forwarding

These routers can be scaled to many These routers can be scaled to many hundred interface cards and to hundred interface cards and to aggregate capacity of > 1 Terabit per aggregate capacity of > 1 Terabit per second (Tbs)second (Tbs)

Page 83: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

8383

Innovation #2: Switched Innovation #2: Switched BackplaneBackplane

Every input port has a connection to every Every input port has a connection to every output portoutput port

During each timeslot, each input connected During each timeslot, each input connected to zero or one outputsto zero or one outputs

Advantage:Advantage: Exploits parallelismExploits parallelism Disadvantage:Disadvantage: Need scheduling algorithmNeed scheduling algorithm

Page 84: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

8484

Shared CPU ArchitectureShared CPU Architecture

CPU Interrupt

Page 85: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

8585

Shared CPU ArchitectureShared CPU Architecture When a packet arrives at the line card, it raises an When a packet arrives at the line card, it raises an

interrupt to the CPU. interrupt to the CPU. The interrupt service routine schedules a transfer of The interrupt service routine schedules a transfer of

the packet to the buffer memory through the shared the packet to the buffer memory through the shared backplane. backplane.

Once the transfer is complete, the CPU extracts the Once the transfer is complete, the CPU extracts the headers of the packet and uses the forwarding table to headers of the packet and uses the forwarding table to determine the egress line card and the outgoing port. determine the egress line card and the outgoing port.

The packet is subsequently prioritized by the queue The packet is subsequently prioritized by the queue manager and shaped by traffic manager. manager and shaped by traffic manager.

Finally, the packet is transferred from the memory to Finally, the packet is transferred from the memory to the appropriate output port in the egress line card. the appropriate output port in the egress line card.

Each packet is Each packet is transferred twice over the shared transferred twice over the shared backplanebackplane —— once from the ingress line card to the once from the ingress line card to the shared CPU and once from the shared CPU to the shared CPU and once from the shared CPU to the egress line card.egress line card.

Page 86: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

8686

Shared CPU ArchitectureShared CPU Architecture Significant design issue: How the CPU divides its Significant design issue: How the CPU divides its

execution cycles between control path and data execution cycles between control path and data path software.path software. While most cycles of the CPU are used for While most cycles of the CPU are used for

packet forwarding, it spares some of its cycles packet forwarding, it spares some of its cycles running the routing protocols. running the routing protocols.

It periodically exchanges protocol keep alive It periodically exchanges protocol keep alive messages with the neighbor routers; messages with the neighbor routers; whenever a route change occurs it whenever a route change occurs it incrementally updates the routing table and incrementally updates the routing table and the forwarding tablethe forwarding table. .

The CPU also executes management functions The CPU also executes management functions for configuring and administering the router.for configuring and administering the router.

AdvantagesAdvantages: implementation simplicity / : implementation simplicity / flexibility flexibility

Page 87: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

8787

Shared CPU ArchitectureShared CPU Architecture DisadvantagesDisadvantages: Three bottlenecks: Three bottlenecks

Each packet entering the system has to traverse the Each packet entering the system has to traverse the CPU; thus, the CPU; thus, the limited number of CPU cycleslimited number of CPU cycles results in results in a processing bottleneck.a processing bottleneck.

The packet forwarding functions (forwarding table The packet forwarding functions (forwarding table lookup, buffering and retrieval of the packet) involve lookup, buffering and retrieval of the packet) involve accessing memoryaccessing memory. . Due to mismatch in speed Due to mismatch in speed between memory and CPU, access to memory between memory and CPU, access to memory contributes to a larger amount of overhead. The contributes to a larger amount of overhead. The memory access speeds have increased little over the memory access speeds have increased little over the last few yearslast few years..

The shared backplaneThe shared backplane becomes a severe limiting becomes a severe limiting factor as each packet has to traverse the backplane factor as each packet has to traverse the backplane twicetwice. the throughput is reduced by a factor of two.. the throughput is reduced by a factor of two.

For lowend access and enterprise routers, where the throughput requirements are less than 1 Gbps, this architecture is still used.

Page 88: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

8888

Shared CPU Architecture with Shared CPU Architecture with cachecache

functionality of the forwarding engine can be offloaded to the line cards, the packets need to be transferred through the backplane only once (just to the egress line card)

Caching the results of the route lookup in the line card allows many of the incoming packets to be transferred directly to the egress line card; thus increasing the throughput.

The advantage of this architecture is the increased throughput because the forwarding cache of frequently seen addresses in the line card allows to process packets locally most of the time. However, the throughput is, in fact, highly dependent on the incoming traffic.

Temporal and spatial locality How and when update the cache entries?

Page 89: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

8989

Page 90: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

9090

Shared Forwarding Engine Architecture

Mitigate the bottleneck by offloading the functionality of the forwarding engine to a dedicated card called forwarding engine cardforwarding engine card containing a processor dedicated for route lookup and memory for storing forwarding table.

Multiple line cards Multiple line cards are connected through a shared backplaneshared backplane through which the packets are transferred from one line card to another. Line cards and forwarding engine cards are connected through a separate shared backplane called forwarding backplaneforwarding backplane.

Packets can be processed in parallel with multiple forwarding enginesmultiple forwarding engines.

Page 91: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

9191Shared Shared BackplaneBackplane

Forwarding Forwarding BackplaneBackplane

Page 92: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

9292

Shared Forwarding Engine Architecture

Out-of-order packetsOut-of-order packets: packets that : packets that arrived later might finish their route arrived later might finish their route lookup earlier. lookup earlier.

Maintain packet ordering as sequencing Maintain packet ordering as sequencing of packets in a TCP connection, of packets in a TCP connection, otherwise retransmit is needed and otherwise retransmit is needed and degrade the performance of the overall degrade the performance of the overall network.network.

To ensure packet ordering, the packet processing logic in egress interface goes round robin, guaranteeing that packets are sent out in the order in which they are received

Page 93: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

9393

Shared Forwarding Engine Architecture

Packet process time depends on actual load of forwarding Packet process time depends on actual load of forwarding engine. engine.

instead of round robin, need a instead of round robin, need a load-balancing algorithmload-balancing algorithm that that assignsassigns each header to lightly loaded forwarding engine. each header to lightly loaded forwarding engine. To maintain packet ordering in a TCP connection, all packets To maintain packet ordering in a TCP connection, all packets

belonging to one connection use the same forwarding engine. belonging to one connection use the same forwarding engine. But there are scenarios in which, once a connection is But there are scenarios in which, once a connection is

assigned to a forwarding engine, the load could increase as assigned to a forwarding engine, the load could increase as it is hard to predict the packet arrivals for other connections. it is hard to predict the packet arrivals for other connections. However, such scenarios could be minimized by increasing the However, such scenarios could be minimized by increasing the

number of forwarding engines, which increases the probability of number of forwarding engines, which increases the probability of having a free forwarding engine when a new connection arrives. having a free forwarding engine when a new connection arrives.

But this might But this might not be cost effectivenot be cost effective. Furthermore, from . Furthermore, from design perspective, the line card should have the capability design perspective, the line card should have the capability to recognize the packets that signal the start and end of a to recognize the packets that signal the start and end of a TCP connection and also needs to maintain state about TCP connection and also needs to maintain state about which forwarding engine the connection has been assigned.which forwarding engine the connection has been assigned.

Page 94: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

9494

Shared Forwarding Engine with switched fabric

A drawback of a shared backplane that does not A drawback of a shared backplane that does not provide sufficient bandwidth for transmitting packets provide sufficient bandwidth for transmitting packets between line cards and limits the router throughput. between line cards and limits the router throughput.

To remove bandwidth limitation, To remove bandwidth limitation, the shared backplane the shared backplane is replaced by a switched backplane is replaced by a switched backplane that has higher that has higher bandwidth, the forward backplane is not required. bandwidth, the forward backplane is not required.

Instead, both the line cards and forwarding engine Instead, both the line cards and forwarding engine cards are directly connected to the switched backplane, cards are directly connected to the switched backplane, thus providing a communication path in which each line thus providing a communication path in which each line card can reach any forwarding engine. card can reach any forwarding engine.

The control processor is also attached to a switched The control processor is also attached to a switched backplane, which provides a path for updating the backplane, which provides a path for updating the forwarding tables in the forwarding engine cards. forwarding tables in the forwarding engine cards.

Such an architecture is used in the building of a Such an architecture is used in the building of a multigigabit routermultigigabit router

Page 95: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

9595

Page 96: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

9696

Shared Nothing Architectures With With increasing link speedsincreasing link speeds, two limits., two limits.

1.1. In shared forwarding engine architecture, forwarding a In shared forwarding engine architecture, forwarding a packet requires traversing backplane twice, whether using packet requires traversing backplane twice, whether using two shared backplanes or a single switched backplane. two shared backplanes or a single switched backplane.

2.2. The use of CPUs in forwarding engine cards further limits The use of CPUs in forwarding engine cards further limits the number of packets that can be processed.the number of packets that can be processed.

Extra hop through the backplane can be eliminated Extra hop through the backplane can be eliminated if forwarding engine is incorporated into line card.if forwarding engine is incorporated into line card.

More processing power can be added by More processing power can be added by implementing each function in hardware such as implementing each function in hardware such as high speed FPGA or ASIC. To achieve high high speed FPGA or ASIC. To achieve high performance, these components are interconnected performance, these components are interconnected by high-speed links embedded in the line card.by high-speed links embedded in the line card.

SolutionSolution: : shared nothing router architectureshared nothing router architecture offloads offloads all the packet forwarding functions to the line cards.all the packet forwarding functions to the line cards.

Page 97: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

9797

Page 98: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

9898

Clustered Architectures One major limitation of routers using shared One major limitation of routers using shared

nothing architecture is the number of line cards nothing architecture is the number of line cards that can be supported in a single chassis. that can be supported in a single chassis. Two Two factorsfactors for the limitation. for the limitation.

FirstFirst, , such routers are used in the core and at such routers are used in the core and at higher layers of aggregation where the number higher layers of aggregation where the number of links required is small but the bandwidth per of links required is small but the bandwidth per link increaseslink increases. .

SecondSecond, packaging density possible within racks , packaging density possible within racks used in central offices is limited to 19 inches used in central offices is limited to 19 inches (NEBS standards). (NEBS standards).

In addition, a spacing of 1 inch is needed In addition, a spacing of 1 inch is needed between line cards for air flow that limits the between line cards for air flow that limits the number of line cards to 16, assuming the line number of line cards to 16, assuming the line cards are being arranged vertically.cards are being arranged vertically.

Page 99: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

9999

Clustered Architectures With the advent of dense wave-division With the advent of dense wave-division

multiplexing (DWDM) technology, each fiber multiplexing (DWDM) technology, each fiber can now contain many independent channels. can now contain many independent channels.

The data rate on each channel can be as high The data rate on each channel can be as high as OC-48 (2.4 Gbps). These channels are as OC-48 (2.4 Gbps). These channels are separated and terminated by the router with separated and terminated by the router with one port per channel. one port per channel.

Hence, support for a large number of ports is Hence, support for a large number of ports is required. With each line card carrying only a required. With each line card carrying only a fixed number of ports, a router needs to fixed number of ports, a router needs to support large number of line cards.support large number of line cards.

For increasing the number of line cards and For increasing the number of line cards and the aggregate system throughput, major the aggregate system throughput, major vendors use a vendors use a clustering approachclustering approach..

Page 100: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

100100

Clustered Architectures Clustering shelves of Linecards around a Clustering shelves of Linecards around a

Switch CoreSwitch Core:: ChassisChassis containing line cards are connected to containing line cards are connected to

the switch core using very-high-speed the switch core using very-high-speed opticaloptical links.links.

A packet entering a network interface in a line A packet entering a network interface in a line card, depending on the result of route lookup, card, depending on the result of route lookup, can be destined to a line card in the same can be destined to a line card in the same chassis or a line card in a different chassis. chassis or a line card in a different chassis.

In the latter case, the packet has to be In the latter case, the packet has to be forwarded through the switch core that sends forwarded through the switch core that sends it to the correct chassis. Once the packet it to the correct chassis. Once the packet reaches the chassis, it is forwarded through reaches the chassis, it is forwarded through the appropriate egress line card.the appropriate egress line card.

Page 101: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

101101

Clustered Architectures Three attractive reasons for this approachThree attractive reasons for this approach Large # of LinecardsLarge # of Linecards: : By removing physical packaging By removing physical packaging

constraint of arranging multiple Linecards around a constraint of arranging multiple Linecards around a Switch Core on a single rack, the system is easier to Switch Core on a single rack, the system is easier to package/cool, and most importantly can allow a larger # package/cool, and most importantly can allow a larger # of Linecards to be interconnected in a single packet-of Linecards to be interconnected in a single packet-switch.switch.

Fault-toleranceFault-tolerance: : A single shared Switch Core is a single A single shared Switch Core is a single point of system failure. For high-availability, a second point of system failure. For high-availability, a second Switch Core can be used to provide simple fault-Switch Core can be used to provide simple fault-tolerance.tolerance.

Upgrade path with backward compatibilityUpgrade path with backward compatibility: : A clean A clean separation of Linecards and Switch Core separates their separation of Linecards and Switch Core separates their development. A Linecard developed today can potentially development. A Linecard developed today can potentially connect to Switch Cores in the future with larger numbers connect to Switch Cores in the future with larger numbers of ports, or with new features.of ports, or with new features.

If fault-tolerance is implemented, it is possible to upgrade If fault-tolerance is implemented, it is possible to upgrade a whole Switch Core without interrupting service.a whole Switch Core without interrupting service.

Page 102: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

102102

Page 103: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

103103

Slotted ChassisSlotted Chassis

Large routers are built as a Large routers are built as a slotted chassisslotted chassis Interface cards are inserted in the slotsInterface cards are inserted in the slots Route processor is also inserted as a slotRoute processor is also inserted as a slot

Simplify repairs and upgrades of componentsSimplify repairs and upgrades of components

Page 104: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

104104

Inte

rfac

e

Inte

rfac

e

Inte

rfac

e

CPU

Inte

rfac

e

CPU

Inte

rfac

e

Inte

rfac

e

CPUIn

tf

CPU

Intf

CPUIn

tfCPU

Intf ASIC NET

Intf ASIC

ASIC Intf

ASIC Intf

CPU

Intf NP NET

Intf NP

NP Intf

NP Intf

CPU

1G 2G 3G 4G The 5th Generation

NP BasedSwitching Architecture

ASIC Based Switching Architecture

Distributed ProcessingBus Architecture

Modularized InterfaceCentralized Forwarding

Fixed InterfaceCentralized Forward

As The 5th Generation Router’s Practitioner and Leader, Huawei implement MPLS VPN, QoS, Constrained Multicasting, Security, Painless IPv4 to IPv6 Upgrading among other latest technologies on its NE80 and NE40 Series Router, which already became an important milestone of Backbone Network Equipment Designing

Principle of Huawei Originated the 5th Generation Router (NE80/40)

Page 105: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

105105

Technical Essentials of 5th Generation Router

The Combination of Flexibility The Combination of Flexibility

inherited from CPU, and the High inherited from CPU, and the High

Performance inherited from ASICPerformance inherited from ASIC

--------NP (Network Processor)--------NP (Network Processor)

Advantage: Sophisticated, Customized, and Flexible Features, Upgrade by Software easilyDisadvantage: Low Performance, High Cost

Advantage: Sophisticated, Customized, and Flexible Features, Upgrade by Software easilyDisadvantage: Low Performance, High Cost

Advantage:Advantage: High High Performance, Low CostPerformance, Low CostDisadvantage:Disadvantage: Fixed Fixed Feature, Limited Feature, Limited Upgrade AbilityUpgrade Ability

Advantage:Advantage: High High Performance, Low CostPerformance, Low CostDisadvantage:Disadvantage: Fixed Fixed Feature, Limited Feature, Limited Upgrade AbilityUpgrade Ability

NP

CPU ASIC

Page 106: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

106106

INTF ASIC NET

INTF ASIC

ASIC INTF

ASIC INTF

CPU

INTF NP NET

INTF NP

NP INTF

NP INTF

CPU

5th Generation Router Based on NP

Classical Switch Router based on ASIC

NP Advantages Guaranteed High Performance: NP Integrates

dozens of CPUs, hardware co-processors and accelerators, which can do sophisticated work of congestion management, queue scheduling as well as wire speed packet forwarding.

Abundant Service Support: Support latest value-added technologies i.e MPLS, QoS, Multicasting.

IPv6 Ready: upgrade from IPv4 to IPv6. Easy Feature Upgrade: Reserved Programmable

Interface proved easy service and management features implementation.

Investment Protection: New features can be deployed by upgrade software, no hardware replacement.

High Reliability: Industry standard chipset, passed strict test before GA, ideal for carrier class equipment.

A Brief Comparison between NP and ASIC

Page 107: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

107107

Multiprocessor Router Architectures

Shared Memory Multiprocessor Architectures for Software IP Routers, Y. Luo,Shared Memory Multiprocessor Architectures for Software IP Routers, Y. Luo, L. Bhuyan, X. Chen, IEEE Trans on Parallel and Distributed Systems 2003.L. Bhuyan, X. Chen, IEEE Trans on Parallel and Distributed Systems 2003.

Page 108: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

108108

SMP Router Architecture

Page 109: 1 Router Architecture. 2 Contents Overview of routers Overview of routers Functions of a router Functions of a router Types of routers Types of routers

109109

CC-NUMA Router Architecture

Forwarding table is stored across the memories of all FEs, Forwarding table is stored across the memories of all FEs, i.e., Distributed Shared Memoryi.e., Distributed Shared Memory