CS 552 Computer Networks IP forwarding Fall 2005 Rich Martin (Slides from D. Culler and N. McKeown)

Slides:



Advertisements
Similar presentations
EE384y: Packet Switch Architectures
Advertisements

IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
1 Outline  Why Maximal and not Maximum  Definition and properties of Maximal Match  Parallel Iterative Matching (PIM)  iSLIP  Wavefront Arbiter (WFA)
© Jörg Liebeherr ECE 1545 Packet-Switched Networks.
Router Architecture : Building high-performance routers Ian Pratt
Chen-Nien Tsai 2008/10/16 1 Wireless and Broadband Network Laboratory (WBNLAB) Dept. of CSIE, NTUT.
Nick McKeown CS244 Lecture 6 Packet Switches. What you said The very premise of the paper was a bit of an eye- opener for me, for previously I had never.
What's inside a router? We have yet to consider the switching function of a router - the actual transfer of datagrams from a router's incoming links to.
Spring 2002CS 4611 Router Construction Outline Switched Fabrics IP Routers Tag Switching.
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
UCB Switches Jean Walrand U.C. Berkeley
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 High Speed Router Design Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
CS 552 Computer Networks IP forwarding Fall 2004 Rich Martin (Slides from D. Culler and N. McKeown)
1 Architectural Results in the Optical Router Project Da Chuang, Isaac Keslassy, Nick McKeown High Performance Networking Group
1 ENTS689L: Packet Processing and Switching Buffer-less Switch Fabric Architectures Buffer-less Switch Fabric Architectures Vahid Tabatabaee Fall 2006.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion The.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Scaling.
1 Internet Routers Stochastics Network Seminar February 22 nd 2002 Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Introduction.
1 EE384Y: Packet Switch Architectures Part II Load-balanced Switches Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Maximal.
Router Architectures An overview of router architectures.
1 Scheduling Crossbar Switches Who do we chose to traverse the switch in the next time slot? N N 11.
Pipelined Two Step Iterative Matching Algorithms for CIOQ Crossbar Switches Deng Pan and Yuanyuan Yang State University of New York, Stony Brook.
Chapter 4 Queuing, Datagrams, and Addressing
1 IP routers with memory that runs slower than the line rate Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford.
Computer Networks Switching Professor Hui Zhang
Professor Yashar Ganjali Department of Computer Science University of Toronto
Dynamic Networks CS 213, LECTURE 15 L.N. Bhuyan CS258 S99.
ATM SWITCHING. SWITCHING A Switch is a network element that transfer packet from Input port to output port. A Switch is a network element that transfer.
1 Copyright © Monash University ATM Switch Design Philip Branch Centre for Telecommunications and Information Engineering (CTIE) Monash University
Router Architecture Overview
ECE669 L21: Routing April 15, 2004 ECE 669 Parallel Computer Architecture Lecture 21 Routing.
Designing Packet Buffers for Internet Routers Friday, October 23, 2015 Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #14 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Routers. These high-end, carrier-grade 7600 models process up to 30 million packets per second (pps).
ISLIP Switch Scheduler Ali Mohammad Zareh Bidoki April 2002.
Packet Forwarding. A router has several input/output lines. From an input line, it receives a packet. It will check the header of the packet to determine.
1 Performance Guarantees for Internet Routers ISL Affiliates Meeting April 4 th 2002 Nick McKeown Professor of Electrical Engineering and Computer Science,
Stress Resistant Scheduling Algorithms for CIOQ Switches Prashanth Pappu Applied Research Laboratory Washington University in St Louis “Stress Resistant.
Forwarding.
Interconnect Networks Basics. Generic parallel/distributed system architecture On-chip interconnects (manycore processor) Off-chip interconnects (clusters.
Winter 2006EE384x Handout 11 EE384x: Packet Switch Architectures Handout 1: Logistics and Introduction Professor Balaji Prabhakar
Buffered Crossbars With Performance Guarantees Shang-Tse (Da) Chuang Cisco Systems EE384Y Thursday, April 27, 2006.
1 CSE 5346 Spring Network Simulator Project.
Intel Slide 1 A Comparative Study of Arbitration Algorithms for the Alpha Pipelined Router Shubu Mukherjee*, Federico Silla !, Peter Bannon $, Joel.
Univ. of TehranComputer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Lecture Note on Switch Architectures. Function of Switch.
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
1 How scalable is the capacity of (electronic) IP routers? Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University
Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,
Input buffered switches (1)
scheduling for local-area networks”
Buffer Management and Arbiter in a Switch
Weren’t routers supposed
Packet Forwarding.
Addressing: Router Design
What’s “Inside” a Router?
Packet Scheduling/Arbitration in Virtual Output Queues and Others
Network Core and QoS.
Packet Switch Architectures
Outline Why Maximal and not Maximum
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Chapter 3 Part 3 Switching and Bridging
Project proposal: Questions to answer
Networks: Routing and Design
Techniques and problems for
Packet Switch Architectures
Network Core and QoS.
Presentation transcript:

CS 552 Computer Networks IP forwarding Fall 2005 Rich Martin (Slides from D. Culler and N. McKeown)

Outline Where IP routers sit in the network What IP routers look like What do IP routers do? Some details: –The internals of a “best-effort” router Lookup, buffering and switching –The internals of a “QoS” router

Outline (next time) The way routers are really built. Evolution of their internal workings. What limits their performance. The way the network is built today

Outline Where IP routers sit in the network What IP routers look like What do IP routers do? Some details: –The internals of a “best-effort” router Lookup, buffering and switching –The internals of a “QoS” router Can optics help?

The Internet is a mesh of routers (in theory) The Internet Core IP Core router IP Edge Router

What do they look like? Access routers e.g. ISDN, ADSL Core router e.g. OC48c POS Core ATM switch

Basic Architectural Components of an IP Router Control Plane Datapath” per-packet processing Switching Forwarding Table Routing Table Routing Protocols

Per-packet processing in an IP Router 1. Accept packet arriving on an incoming link. 2. Lookup packet destination address in the forwarding table, to identify outgoing port(s). 3. Manipulate packet header: e.g., decrement TTL, update header checksum. 4. Send packet to the outgoing port(s). 5. Buffer packet in the queue. 6. Transmit packet onto outgoing link.

A General Switch Model Interconnect

IP Switch Model 2. Interconnect 3. Egress Forwarding Table Forwarding Decision 1. Ingress Forwarding Table Forwarding Decision Forwarding Table Forwarding Decision

Forwarding Engine header payload Packet Router Destination Address Outgoing Port Dest-network Port Forwarding Table Routing Lookup Data Structure / / /

The Search Operation is not a Direct Lookup (Incoming port, label) Address Memory Data (Outgoing port, label) IP addresses: 32 bits long  4G entries

The Search Operation is also not an Exact Match Search Hashing Balanced binary search trees Exact match search: search for a key in a collection of keys of the same length. Relatively well studied data structures:

/ / / Example Forwarding Table Destination IP PrefixOutgoing Port / / /197 IP prefix: 0-32 bits Prefix length

Prefixes can Overlap / / /24 Routing lookup: Find the longest matching prefix (the most specific route) among all prefixes that match the destination address / / / Longest matching prefix

Prefixes Prefix Length / / /8 Difficulty of Longest Prefix Match / / /21

Lookup Rate Required OC768c OC192c OC48c OC12c B packets (Mpps) Line-rate (Gbps) LineYear DRAM: ns, SRAM: 5-10 ns Mpps  33 ns

Size of the Forwarding Table Source: Year Number of Prefixes 10,000/year

Types of Internal Interconnects 1. Multiplexers2. Tri-State Devices 3. Shared Memory

Where do packets go post output port selection? Two basic techniques Input Queueing Output Queueing Usually a non-blocking switch fabric (e.g. crossbar) Usually a fast bus

Shared Memory Bandwidth Shared Memory 200 byte bus 5ns SRAM 1 2 N 5ns per memory operation Two memory operations per packet Therefore, up to 160Gb/s In practice, closer to 80Gb/s

Input buffered swtich Independent routing logic per input –FSM Scheduler logic arbitrates each output –priority, FIFO, random Head-of-line blocking problem Internconnect

Input Queueing Head of Line Blocking Delay Load 58.6% 100%

Head of Line Blocking

(Virtual) Output Buffered Switch How would you build a shared pool? N buffers per input

Solving HOL with Input Queueing Virtual output queues

Input Queueing Virtual Output Queues Delay Load 100%

Output scheduling n independent arbitration problems? –static priority, random, round-robin simplifications due to routing algorithm? general case is max bipartite matching

Finding a maximum size match How do we find the maximum size (weight) match? A B C D E F InputsOutputs Requests

Network flows and bipartite matching Finding a maximum size bipartite matching is equivalent to solving a network flow problem with capacities and flows of size 1. A1 Source s Sink t B C D E F

Network flows and bipartite matching A1 B C D E F Maximum Size Matching:

Complexity of Maximum Matchings Maximum Size Matchings: –Algorithm by Dinic O(N 5/2 ) Maximum Weight Matchings –Algorithm by Kuhn O(N 3 ) In general: –Hard to implement in hardware –Too Slow in Practice But gives nice theory and upper bound

Arbitration –Maximal Matches –Wavefront Arbiter (WFA) –Parallel Iterative Matching (PIM) –iSLIP

Maximal Matching A maximal matching is one in which each edge is added one at a time, and is not later removed from the matching. i.e. no augmenting paths allowed (they remove edges added earlier). No input and output are left unnecessarily idle.

Example of Maximal Size Matching A1 B C D E F A1 B C D E F Maximal Size Matching Maximum Size Matching A B C D E F

Maximal Matchings In general, maximal matching is simpler to implement, and has a faster running time. A maximal size matching is at least half the size of a maximum size matching. A maximal weight matching is defined in the obvious way. A maximal weight matching is at least half the weight of a maximum weight matching.

Routing Strategies? Architecture of the middle of the switch? –Wavefront –Slip/PIM –Butterfly/Benes networks Goal in each case is a conflict-free schedule of inputs to outputs given the output is already determined

Wave Front Arbiter (Tamir) RequestsMatch

Wave Front Arbiter RequestsMatch

Wavefront Arbiters Properties Feed-forward (i.e. non-iterative) design lends itself to pipelining. Always finds maximal match. Usually requires mechanism to prevent inputs from getting preferential service. –What the 50Gbs router does: Scramble (permute) inputs each cycle

Parallel Iterative Matching  1: Requests  2: Grant  3: Accept/Match selection #1 #2 Iteration:

PIM Properties Guaranteed to find a maximal match in at most N iterations. In each phase, each input and output arbiter can make decisions independently. In general, will converge to a maximal match in < N iterations.

Parallel Iterative Matching PIM with a single iteration

Parallel Iterative Matching PIM with 4 iterations Output Queuing

iSLIP  1: Requests  3: Accept/Match #1 #  2: Grant

iSLIP Operation Grant phase: Each output selects the requesting input at the pointer, or the next input in round-robin order. It only updates its pointer if the grant is accepted. Accept phase: Each input selects the granting output at the pointer, or the next output in round-robin order. Consequence: Under high load, grant pointers tend to move to unique values.

iSLIP Properties Random under low load TDM under high load Lowest priority to MRU 1 iteration: fair to outputs Converges in at most N iterations. (On average, simulations suggest < log 2 N ) Implementation: N priority encoders 100% throughput for uniform i.i.d. traffic. But…some pathological patterns can lead to low throughput.

iSLIP iSLIP with 4 iterations FIFO Output Buffering

iSLIP Implementation Grant Accept 1 2 N 1 2 N State N N N Decision log 2 N

Alternative Switching Crossbars are expensive Alternative networks can match inputs to outputs: –Ring –Tree –K-ary N-cubes –Multi-stage logarithmic networks Each cell has constant number of inputs and outputs

Example: Butterfly

Butterfly Inputs Outputs A “Butterfly”

Benes Network Butterfly #1Butterfly #2

Benes networks Any permutation has a conflict free route –Useful property –Offline computation is difficult Can route to random node in middle, then to destination –Conflicts are unlikely under uniform traffic –What about conflicts?

Sorting Networks Bitonic sorter recursively merges sorted sublists. Can switch by sorting on destination. –additional components needed for conflict resolution

Flow Control What do you do when push comes to shove? –ethernet: collision detection and retry after delay –FDDI, token ring: arbitration token –TCP/WAN: buffer, drop, adjust rate –any solution must adjust to output rate Link-level flow control

Link Flow Control Examples Short Links long links –several flits on the wire

Smoothing the flow How much slack do you need to maximize bandwidth?