Introduction. Introduction. Router Architectures. Introduction. Recent advances in routing architecture including

Similar documents
Introduction. Router Architectures. Introduction. Introduction. Recent advances in routing architecture including

Switching. An Engineering Approach to Computer Networking

IV. PACKET SWITCH ARCHITECTURES

ECE 697J Advanced Topics in Computer Networks

Routers: Forwarding EECS 122: Lecture 13

Routers: Forwarding EECS 122: Lecture 13

Lecture 16: Router Design

Lecture 17: Router Design

Last Lecture: Network Layer

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

Router Architectures

Master Course Computer Networks IN2097

Routers Technologies & Evolution for High-Speed Networks

Lecture 17: Router Design

Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13

Master Course Computer Networks IN2097

TOC: Switching & Forwarding

CSE 123A Computer Networks

CSE398: Network Systems Design

Topics for Today. Network Layer. Readings. Introduction Addressing Address Resolution. Sections 5.1,

BROADBAND AND HIGH SPEED NETWORKS

A MULTIPROCESSOR SYSTEM. Mariam A. Salih

15-744: Computer Networking. Routers

TOC: Switching & Forwarding

Network Superhighway CSCD 330. Network Programming Winter Lecture 13 Network Layer. Reading: Chapter 4

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

How to Choose the Best Router Switching Path for Your Network

Overview. Implementing Gigabit Routers with NetFPGA. Basic Architectural Components of an IP Router. Per-packet processing in an IP Router

Router Construction. Workstation-Based. Switching Hardware Design Goals throughput (depends on traffic model) scalability (a function of n) Outline

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 11

How to Choose the Best Router Switching Path for

Computer Networks. Instructor: Niklas Carlsson

Switch and Router Design. Packet Processing Examples. Packet Processing Examples. Packet Processing Rate 12/14/2011

Topic 4a Router Operation and Scheduling. Ch4: Network Layer: The Data Plane. Computer Networking: A Top Down Approach

Inside Internet Routers

LS Example 5 3 C 5 A 1 D

CSCD 330 Network Programming

Lecture 11: Packet forwarding

A B C D E Total / 24 / 23 / 12 / 18 / 3 / 80

The Network Layer and Routers

Switching / Forwarding

Chapter 4 Network Layer: The Data Plane

CS250 VLSI Systems Design Lecture 9: Patterns for Processing Units and Communication Links

CS 268: Computer Networking

Chapter 6 Delivery and Routing of IP Packets

TOC: Switching & Forwarding

Forwarding and Routers : Computer Networking. Original IP Route Lookup. Outline

Lecture 5: Router Architecture. CS 598: Advanced Internetworking Matthew Caesar February 8, 2011

CS 43: Computer Networks. 20: The Network Layer November 5, 2018

Switching Hardware. Spring 2015 CS 438 Staff, University of Illinois 1

Network Layer Introduction

Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai

Efficient Queuing Architecture for a Buffered Crossbar Switch

CSE 3214: Computer Network Protocols and Applications Network Layer

CS 552 Computer Networks

Chapter 4: network layer

CSC 401 Data and Computer Communications Networks

Computer Networks CS 552

CMSC 332 Computer Networks Network Layer

Module 17: "Interconnection Networks" Lecture 37: "Introduction to Routers" Interconnection Networks. Fundamentals. Latency and bandwidth

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview

Homework 1 Solutions:

Chapter 4 Network Layer

CSC 4900 Computer Networks: Network Layer

Networking hierarchy Internet architecture

Advanced Network Design

CHAPTER 9: PACKET SWITCHING N/W & CONGESTION CONTROL

This Lecture. BUS Computer Facilities Network Management. Switching Network. Simple Switching Network

Crossbar - example. Crossbar. Crossbar. Combination: Time-space switching. Simple space-division switch Crosspoints can be turned on or off

Lecture 12: Aggregation. CSE 123: Computer Networks Alex C. Snoeren

1-1. Switching Networks (Fall 2010) EE 586 Communication and. October 25, Lecture 24

Multi-gigabit Switching and Routing

Message Switch. Processor(s) 0* 1 100* 6 1* 2 Forwarding Table

Chapter 9 Multiprocessors

Professor Yashar Ganjali Department of Computer Science University of Toronto.

MULTIPROCESSORS. Characteristics of Multiprocessors. Interconnection Structures. Interprocessor Arbitration

Lecture: Interconnection Networks

Understanding Cisco Express Forwarding

Lecture 3: Packet Forwarding

MPLS MULTI PROTOCOL LABEL SWITCHING OVERVIEW OF MPLS, A TECHNOLOGY THAT COMBINES LAYER 3 ROUTING WITH LAYER 2 SWITCHING FOR OPTIMIZED NETWORK USAGE

Lecture 18: Communication Models and Architectures: Interconnection Networks

Dr e v prasad Dt

Lecture 12: Addressing. CSE 123: Computer Networks Alex C. Snoeren

The IP Data Plane: Packets and Routers

CS419: Computer Networks. Lecture 6: March 7, 2005 Fast Address Lookup:

Static Routing NETWORK INFRASTRUCTURES NETKIT - LECTURE 4 MANUEL CAMPO, MARCO SPAZIANI

Congestion Management in Lossless Interconnects: Challenges and Benefits

Review for Chapter 4 R1,R2,R3,R7,R10,R11,R16,R17,R19,R22,R24, R26,R30 P1,P2,P4,P7,P10,P11,P12,P14,P15,P16,P17,P22,P24,P29,P30

Router Architecture Overview

Characteristics of Mult l ip i ro r ce c ssors r

What Is Congestion? Effects of Congestion. Interaction of Queues. Chapter 12 Congestion in Data Networks. Effect of Congestion Control

Network Layer PREPARED BY AHMED ABDEL-RAOUF

Ethernet Hub. Campus Network Design. Hubs. Sending and receiving Ethernet frames via a hub

Basic Switch Organization

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 20: Networks and Distributed Systems

ATM Switches. Switching Technology S ATM switches

Routers & Routing : Computer Networking. Binary Search on Ranges. Speeding up Prefix Match - Alternatives

Chapter 6. Delivery and Forwarding of IP Packets

Introduction to ATM Technology

Cisco Series Internet Router Architecture: Packet Switching

Transcription:

Router Architectures By the end of this lecture, you should be able to. Explain the different generations of router architectures Describe the route lookup process Explain the operation of PATRICIA algorithm Explain the head of line problem Introduction Recent advances in routing architecture including specialized hardware switching fabrics efficient and faster lookup algorithms have created routers that are capable of routing at multi-gigabit speeds Introduction To figure out what outbound interface the router should use router compares the network address of destination with forwarding table ( routing table ) Routing table may be built manually or maintained dynamically by a routing protocol Routing table is used by a router to exchange information with other routers about network topology and reachability Introduction Basic architecture of the router consists: line cards -- enables router to attach to different networks that employ different datalink technologies router processor or CPU -- runs the routing protocols -- builds and maintains the routing table and provides network management a backplane -- serves as the interconnect between the input line cards, the CPU, and the output line cards 1

Introduction First-Generation IP Routers Switching involves lookup -- retrieval of forwarding info. using packet header Should be able to keep up with incoming packets Shared Backplane CPU CPU From N. Mckeown s Hot Interconnects 7 presentation (1999) Second-Generation IP Routers Third-Generation Switches/Routers CPU Switched Backplane Local Local Local CPU Local CPU Local From N. Mckeown s Hot Interconnects 7 presentation (1999) From N. Mckeown s Hot Interconnects 7 presentation (1999) 2

Basic Router Operations When a packet comes in: validate the packet (link layer dependent processing) queue at I/P side lookup the next hop switch across the connection fabric queue at the O/P fabric transmit if there are functionality like QoS built into the router there may be added functionality and steps Next Hop Lookup Lookup basically does a longest prefix match It is necessary to design a very *fast* lookup algorithm lookup database can be assumed to change very slowly i.e., update frequency is much less compared to the read frequency Approaches CAMs Trees, tries hash tables hybrid approaches Lookup Using CAMs CAMs allow you to retrieve content of memory location based on (part of the) content access using packet address retrieve next hop information (and address) Some limitations of CAMs lower density than conventional (RAM) memory slower access time greater power consumption best suited to exact matches, although can be used for longest prefix match Software Based Lookup: Active flows kept in fast path cache Exact match lookup (hash) sequential search in case of collision (performance hit) Slow path invoked in case of cache miss Slow path updates cache Cache management to remove stale entries Coexistence of installed and learned entries 3

Hashing Techniques Function f(k) maps key (address) K to table entry Goal for f easy to compute minimum likelihood of two distinct keys colliding on same entry robust to redundancy in key patterns, e.g., common network address fast resolution of collisions Some properties of hashing Given a hash table of size M and N active addresses what is the collision probability? what is the probability of more than k addresses colliding on the same entry Hash based approach is highly sensitive to number of simultaneously active flows (addresses) duration of active flows (overhead of deletion/insertion) actual distribution of addresses (non-random hashing) PATRICIA Trie PATRICIA (Practical Algorithms To Retrieve Information Coded in Alphanumeric) invented in 1968 by D. L. Morrison Commonly used data structures to organize routing table entries Search is based on binary representation of addresses Takes routing table entries and forms a radix tree structure consisting of address prefixes and positions in the address to test PATRICIA Trie Longest-match lookup consists of walking down the tree until the end is reached or a match is discovered Patricia tries were useful in previous generation routers limited amount of memory is needed to store routing table Can result in large number of memory accesses -- particularly when backtracking takes place 4

PATRICIA Trie Representation Lookup Situations with PATRICIA Trie Direct (one pass) match Host route Network address Match after backtracking Single pass Host route Network address Multiple passes Host route Network address Default address Direct Match to Host & Network Address Match Network Address after backtracking 5

Match Network Address after backtracking Insertion in PATRICIA Trie Deletion in PATRICIA Trie Other switching element functions Participate in routing algorithms to build routing tables Resolve contention for output trunks scheduling Admission control to guarantee resources to certain streams We ll discuss these later Here we focus on pure data movement 6

Blocking in packet switches Can have both internal and output blocking Internal no path to output Output trunk unavailable Unlike a circuit switch, cannot predict if packets will block (why?) If packet is blocked, must either buffer or drop it Dealing with blocking Overprovisioning internal links much faster than inputs s at input or output Backpressure if switch fabric doesn t have buffers, prevent packet from entering until path is available Parallel switch fabrics increases effective switching capacity Switch fabrics Transfer data from input to output, ignoring scheduling and buffering Usually consist of links and switching elements Crossbar Simplest switch fabric think of it as 2N buses in parallel Used here for packet routing: crosspoint is left open long enough to transfer a packet from an input to an output For fixed-size packets and known arrival pattern, can compute schedule in advance Otherwise, need to compute a schedule on-the-fly (what does the schedule depend on?) 7

ed crossbar Broadcast What happens if packets at two inputs both want to go to same output? Can defer one at an input buffer Or, buffer crosspoints Packets are tagged with output port # Each output matches tags Need to match N addresses in parallel at each output Useful only for small switches, or as a stage in a large switch Switch fabric element Can build complicated fabrics from a simple element Routing rule: if 0, send packet to upper output, else to lower output If both packets to same output, buffer or drop Features of fabrics built with switching elements NxN switch with bxb elements has log bn elements with elements per stage Fabric is self routing Recursive Can be synchronous or asynchronous Regular and suitable for VLSI implementation 8

Banyan Simplest self-routing recursive fabric ing All packet switches need buffers to match input rate to service rate or cause heavy packet loses Where should we place buffers? input in the fabric output shared (how does it work?) What if two packets both want to go to the same output? output blocking Input buffering (input queueing) Input buffering (input queueing) Problem: head of line blocking with randomly distributed packets, utilization at most 58.6% worse with hot spots No speedup in buffers or trunks (unlike output queued switch) Needs arbiter 9

From N. Mckeown s Hot Interconnects 7 presentation (1999) From N. Mckeown s Hot Interconnects 7 presentation (1999) Dealing with HOL blocking Dealing with HOL blocking Per-output queues at inputs Arbiter must choose one of the input ports for each output port How to select? Parallel Iterated Matching inputs tell arbiter which outputs they are interested in output selects one of the inputs some inputs may get more than one grant, others may get none if >1 grant, input picks one at random, and tells output losing inputs and outputs try again Used in DEC Autonet 2 switch 10

Output queueing Output queueing Can reduce some of the cost by using the knockout principle unlikely that all N inputs will have packets for the same output drop extra packets, fairly distributing losses among inputs Don t suffer from head-of-line blocking But output buffers need to run much faster than trunk speed (why?) Shared memory Route only the header to output port Bottleneck is time taken to read and write multi-ported memory Doesn t scale to large switches But can form an element in a multistage switch 11