Router Architecture

Download Report

Transcript Router Architecture

Router Architecture
EECS 569
Sanjeev Kayath
Classification of Routers
Access Network Router
Need to support heterogeneous high-speed
ports and variety of protocols
Enterprise Network Router
Needs to support a large number of ports at
a lower cost
Backbone Network Router
Needs to support few, but high speed links.
Design Issues
Enterprise Routers
Primary goal to provide connectivity to large
number of endpoints as cheaply as possible.
Support for QoS classes.
Support for mulitcast and broadcast traffic.
Support multiple network protocols.
Support features such as firewall,
administrative and security policies.
Design Issues
Backbone Routers
Cost: secondary issue
Reliability and speed are the primary issue.
Reliability : hot spares, duplicate datapaths.
Speed: Forwarding decision
Table lookup
Among the matching entry, find the longest
match.
Stability and reliability of routing protocol
implementation.
Components of Router
Input Port
Entry point for incoming packet.
Output Port
Exit point of the packet.
Switching Fabric
Switch the packet from I/P port to O/P port.
Routing Processor
Participate in routing protocol to make forwarding
table.
Evolution of Router
Architecture
Earliest router were based on general
purpose computer: shared central bus,
central CPU, memory and line cards.
Each incoming packet sent to CPU.
Forwarding decision made in CPU.
Packet forwarded to output port.
Packet traversed the bus twice and all
decision made by a single CPU.
Evolution of Router
Architecture
Multiple CPUs introduced to handle
portions of incoming traffic. Processing
power put in the line cards.
So packet needed to traverse the bus
once.
ASICs were used in line cards.
Shared bus replaced by crossbar switch.
Input Port
Line Card: supports 4-16 ports.
Read packet header and do Route lookup.
Classify the packet in to QoS traffic
classes.
Perform data link layer related
functionality.
Arbitrate the access to switching fabric.
Custom hardware/ Processor is used to
handle these functionalities.
Switching Fabric
Bus
Limit due to Arbitration overheard and
capacitance.
Crossbar
A scheduler turns on and off the crosspoints.
Shared Memory
Only pointers to packets are switched.
Limited by the memory access time.
Output Port
Packets heading for same output link
need to be stored in a buffer; so as to
avoid packet loss.
Supports sophisticated scheduling
algorithms to support priorities and
guarantees.
Support data link layer functionality.
Routing Processor
Computes the forwarding table based on
the updates received from other routers
according to routing protocol.
Runs the software to configure and
manage the router.
Datapath / Control
functions
Router functions can also be divided as
Datapath functions
Functions applied to every packet.
E.g. header lookup, forwarding, scheduling.
Handled by input, output port and switching fabric.
Control functions
Functions not applied to every packet.
E.g. system configuration, management, table update.
Handled by routing processor
Goal for high speed requires increase in the rate at
which datapath functions are performed.
Trends: Route Lookup
Speed of algorithm determined by:
Number of memory accesses to match one address.
Speed of memory.
Rule of thumb: 1000 pps for 1Mbps. (Avg. packet size: 125
bytes)
E.g. OC 192 - 10 Gbps implies: 10 million pps.
Traditional algorithm is to store routes in a tree;
every path in the tree from root to leaf
corresponds to an entry in forwarding table.
Worst time proportional to the length of the
destination address for longest prefix match.
Trends: Route Lookup
 Techniques to improve the speed
Hardware oriented techniques.
CAM: Content Addressable memory.
Increase memory to store entries. (stanford)
Intelligent memory. (harvard)
Table compaction technique.
Use better data structure for forwarding table. (sweden)
Hashing
Binary search on hash table. (wustl)
Trends: Switching Fabric
Blocking vs Non-blocking
packets contend for the same internal link blocking.
Banyan switch -blocking, Batcher-Banyan
switch - nonblocking: ATM switches.
Multi-stage interconnection networks.
Use of ATM switch cores in IP routers.
Trends: Output Port
Speed up output queue
increase the speed at which the queue can
be accessed.
 Use very wide memory.
Integrate port controller with queue on a single
chip.
Queuing
FCFS - cannot offer different QoS.
Fair Queuing - “weighted” service.
Trends: Cost of port
Cost of port depends upon
Amount and kind of memory
Backbone routers uses SRAMs
Enterprise routers use DRAMs
Processing power
Backbone routers use Processors
(general/network processor). Extensible
functionality.
Enterprise routers use ASICs. Lack of flexibility.
Communication between routing processor
and the port.
Trends: Avoid Route
lookup
Edge router translates the destination
address to a tag/label/VCI.
Core routers do not need to do longest
prefix matching. Forwarding done in one
memory access.
Labels/tags/VCI - Address mapping needs
to be distributed.
MPLS - A very popular protocol.
Trends: Router OS
Value Added Services
Security, Accounting, Caching and resource
management.
Research
Purdue, Princeton etc.
Router API standardization to open up the
router architecture.
Products
Single Box Architecture
High capacity switching fabrics.
Blocking LAN interconnect to link multiple boxes to
increase overall capacity.
Max. Line capacity: 25 Gbps -160 Gbps.
Multi-chasis Integrated Architecture
Expandable switching fabric to provide non-blocking
interconnection between multiple expansion chasis.
Max. Line capacity: 160 Gbps - 19.2 Tbps.