Packet Forwarding.

Slides:



Advertisements
Similar presentations
Delivery and Forwarding of
Advertisements

Router Architecture : Building high-performance routers Ian Pratt
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.
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
Fast Matching Algorithms for Repetitive Optimization Sanjay Shakkottai, UT Austin Joint work with Supratim Deb (Bell Labs) and Devavrat Shah (MIT)
April 10, HOL Blocking analysis based on: Broadband Integrated Networks by Mischa Schwartz.
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
1 Internet Routers Stochastics Network Seminar February 22 nd 2002 Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University.
EE 122: Router Design Kevin Lai September 25, 2002.
Maximum Size Matchings & Input Queued Switches Sundar Iyer, Nick McKeown High Performance Networking Group, Stanford University,
1 Achieving 100% throughput Where we are in the course… 1. Switch model 2. Uniform traffic  Technique: Uniform schedule (easy) 3. Non-uniform traffic,
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Maximal.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Scheduling.
UCB Switches Jean Walrand U.C. Berkeley
Pipelined Two Step Iterative Matching Algorithms for CIOQ Crossbar Switches Deng Pan and Yuanyuan Yang State University of New York, Stony Brook.
Localized Asynchronous Packet Scheduling for Buffered Crossbar Switches Deng Pan and Yuanyuan Yang State University of New York Stony Brook.
4: Network Layer4b-1 Router Architecture Overview Two key router functions: r run routing algorithms/protocol (RIP, OSPF, BGP) r switching datagrams from.
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
WAN Technologies & Topologies Lecture 8 October 4, 2000.
CS 552 Computer Networks IP forwarding Fall 2005 Rich Martin (Slides from D. Culler and N. McKeown)
Router Architecture Overview
Advance Computer Networking L-8 Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan.
Dr. Clincy1 Chapter 6 Delivery & Forwarding of IP Packets Lecture #4 Items you should understand by now – before routing Physical Addressing – with in.
Chapter 6 Delivery and Forwarding of IP Packets
The Router SC 504 Project Gardar Hauksson Allen Liu.
Routers. These high-end, carrier-grade 7600 models process up to 30 million packets per second (pps).
Computer Networks: Switching and Queuing Ivan Marsic Rutgers University Chapter 4 – Switching and Queuing Delay Models.
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.
Belgrade University Aleksandra Smiljanić: High-Capacity Switching Switches with Input Buffers (Cisco)
Buffered Crossbars With Performance Guarantees Shang-Tse (Da) Chuang Cisco Systems EE384Y Thursday, April 27, 2006.
1 CSE 5346 Spring Network Simulator Project.
SNRC Meeting June 7 th, Crossbar Switch Scheduling Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
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)
Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai.
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Chapter 3 Part 3 Switching and Bridging
scheduling for local-area networks”
Behrouz A. Forouzan TCP/IP Protocol Suite, 3rd Ed.
Kapitel 19: Routing. Kapitel 21: Routing Protocols
Routing and Switching Fabrics
Weren’t routers supposed
CS 268: Router Design Ion Stoica February 27, 2003.
CS4470 Computer Networking Protocols
Chapter 6 Delivery & Forwarding of IP Packets
Addressing: Router Design
Chapter 4: Network Layer
Chapter 3 Part 3 Switching and Bridging
What’s “Inside” a Router?
Advance Computer Networking
Packet Scheduling/Arbitration in Virtual Output Queues and Others
Data Communication Networks
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
COMP/ELEC 429 Introduction to Computer Networks
Chapter 3 Part 3 Switching and Bridging
Network Layer: Control/data plane, addressing, routers
Delivery, Forwarding, and Routing of IP Packets
Techniques and problems for
Computer Networks: Switching and Queuing
Routing and Switching Fabrics
Chapter 4: Network Layer
Presentation transcript:

Packet Forwarding

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 which output line to forward the packet to. Each packet may contain the complete information about its destination. Given the destination, use the routing table calculated by the routing algorithm to find the next hop. There are other ways for packet forwarding, will discuss later.

Routers

These high-end, carrier-grade 7600 models process up to 30 million packets per second (pps).

Lookup The table is learnt manually or through routing protocols, such as BGP or OSPF.

TCAM CAM: Content Addressable Memory. CAM reads the data, and returns a list of addresses where the data is stored, if it finds any. CAM searches the entire memory in one operation. TCAM: three states, 0, 1, or don’t care

TCAM A Priority TCAM IP-Routing Lookup Scheme, Po-Chou Lin and Chung-Ju Chang, Senior Member, IEEE

Switches After figuring out the next hop, need to send the packet to the next hop. The switches works in time slots. A large packet is divided into fixed length cells, cells are reassembled at the output.

N by N crossbar Usually, the switch is a crossbar. An input can send at most one cell per time slot, and an output can receive at most one cell per time slot. Consider unicast packets.

Output contention Consider an N by N switch. What if two input ports both have a cell to send to the same output port at the same time?

Buffers So, buffers have to be added to the switch. You may have buffer at the input port, or at the output port. Which one is better?

Input Buffer Switch Modern switches are input-buffered. Cells arrive at the input port, if cannot be sent out, will be temporarily stored at the input buffer. How would you organize the buffer? FIFO?

Head-of-Line Blocking If simply using FIFO, you will have Head-of-line blocking. Consider the case when at input port 0, you have 23334. If some other input port gets grant to send to output 2, while no one is sending to output port 3, input port 0 is forced to go idle – no good. Throughput bounded 58%. Any suggestions?

VOQ Organize the cells into Virtual Output Queues (VOQ). At each input port, you have N queues, one for each output. Coming back to the example, at input port 0, you have 3 non-empty queues: 2 333 4

Problem? Now, every input port can potentially have cells to every output ports – How to schedule the transmission of cells?

Bipartite Matching Draw a bipartite graph, let the left side vertices be the inputs, let the output side vertices be the outputs. A left side vertex is adjacent to a right side vertex if this input port has a cell to send to the output port. Now, recall the constraint that an input port can send at most one cell, and the output port can receive at most one cell. Therefore, any schedule is a matching.

Maximum Matching Maximum Matching in bipartite graphs can be found in O(n2) time. But the schedule must be computed really really fast, in the order of 10ns.

Maximal Matching How about a really simple algorithm – just pick edges in any arbitrary order until no edges can be picked? How bad can this be, compared to the maximum matching?

Maximal Matching So, can we just run a maximal matching algorithm?

The algorithm being used The materials in following slides are from “The iSLIP Scheduling Algorithm for Input-Queued Switches” by Nick McKeown published in IEEE/ACM Transactions on Networking.

PIM Performance is bounded by 63%

PIM

iSLIP Algorithm

The iSLIP Algorithm Achieves 100% throughput for some simple type of traffic.