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

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

Switching. An Engineering Approach to Computer Networking

Routers: Forwarding EECS 122: Lecture 13

Routers: Forwarding EECS 122: Lecture 13

IV. PACKET SWITCH ARCHITECTURES

Master Course Computer Networks IN2097

Lecture 17: Router Design

TOC: Switching & Forwarding

Master Course Computer Networks IN2097

Lecture 16: Router Design

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

TOC: Switching & Forwarding

Last Lecture: Network Layer

Routers Technologies & Evolution for High-Speed Networks

CSE 123A Computer Networks

Lecture 17: Router Design

ECE 697J Advanced Topics in Computer Networks

Router Architectures

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

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

15-744: Computer Networking. Routers

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

CSE398: Network Systems Design

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

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

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

TOC: Switching & Forwarding

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

Computer Networks CS 552

How to Choose the Best Router Switching Path for Your Network

CS 268: Computer Networking

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

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

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

Network Layer Introduction

Lecture 11: Packet forwarding

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

How to Choose the Best Router Switching Path for

Chapter 4 Network Layer: The Data Plane

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

Advanced Network Design

Efficient Queuing Architecture for a Buffered Crossbar Switch

Chapter 6 Delivery and Routing of IP Packets

CSCD 330 Network Programming

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

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

A MULTIPROCESSOR SYSTEM. Mariam A. Salih

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

The Network Layer and Routers

CS 552 Computer Networks

Inside Internet Routers

Computer Networks. Instructor: Niklas Carlsson

Multi-gigabit Switching and Routing

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

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

Congestion Management in Lossless Interconnects: Challenges and Benefits

BROADBAND AND HIGH SPEED NETWORKS

Homework 1 Solutions:

Switching / Forwarding

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

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

Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table

CSC 401 Data and Computer Communications Networks

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

CSE 3214: Computer Network Protocols and Applications Network Layer

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

Growth of the Internet Network capacity: A scarce resource Good Service

Unicast Routing in Mobile Ad Hoc Networks. Dr. Ashikur Rahman CSE 6811: Wireless Ad hoc Networks

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

CMSC 332 Computer Networks Network Layer

Parallel-Search Trie-based Scheme for Fast IP Lookup

Understanding Cisco Express Forwarding

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

Cisco CCNA Basic IP Routing Part I

Professor Yashar Ganjali Department of Computer Science University of Toronto.

CHAPTER 9: PACKET SWITCHING N/W & CONGESTION CONTROL

Radix Searching. The insert procedure for digital search trees also derives directly from the corresponding procedure for binary search trees:

Networking Recap Storage Intro. CSE-291 (Cloud Computing), Fall 2016 Gregory Kesden

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

Linux System Administration

Networking hierarchy Internet architecture

Lecture: Interconnection Networks

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

The IP Data Plane: Packets and Routers

CSC 4900 Computer Networks: Network Layer

PARALLEL ALGORITHMS FOR IP SWITCHERS/ROUTERS

ECE697AA Lecture 20. Forwarding Tables

Binary Search Schemes for Fast IP Lookups

Chapter 4 Network Layer

EE 122: Router Design

AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING. 1. Introduction. 2. Associative Cache Scheme

Router Architecture Overview

Switched Network Latency Problems Solved

Chapter 4: network layer

IP Address Lookup in Hardware for High-Speed Routing

Wide area networks: packet switching and congestion

Network Layer PREPARED BY AHMED ABDEL-RAOUF

Arvind Krishnamurthy Fall 2003

Routing Algorithm. How do I know where a packet should go? Topology does NOT determine routing (e.g., many paths through torus)

6.1.2 Repeaters. Figure Repeater connecting two LAN segments. Figure Operation of a repeater as a level-1 relay

Transcription:

Introduction Router Architectures 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 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 CPU Shared Backplane CPU Second-Generation IP Routers Third-Generation Switches/Routers CPU Switched Backplane Local Local Local CPU Local CPU Local 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 Next Hop Lookup 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) 3

Lookup Using CAMs 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 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) 4

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 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 5

Direct Match to Host & Network Address Match Network Address after backtracking Match Network Address after backtracking Insertion in PATRICIA Trie 6

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 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 7

Switch fabrics Transfer data from input to output, ignoring scheduling and buffering Usually consist of links and switching elements 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 ed crossbar What happens if packets at two inputs both want to go to same output? Can defer one at an input buffer Or, buffer crosspoints 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 8

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 From N. Mckeown s Hot Interconnects 7 presentation (1999) From N. Mckeown s Hot Interconnects 7 presentation (1999) 9

Dealing with HOL blocking Per-output queues at inputs Arbiter must choose one of the input ports for each output port How to select? Dealing with HOL blocking 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 Output queueing Don t suffer from head-of-line blocking But output buffers need to run much faster than trunk speed (why?) 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 10

Shared memory Route only the header to output port Bottleneck is time taken to read and write multiported memory Doesn t scale to large switches But can form an element in a multistage switch 11