CS 268: Computer Networking

Similar documents
15-744: Computer Networking. Routers

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

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

Internet Protocol (IP) Computer Networking. What is an Internetwork? Logical Structure of Internet. Lecture 8 IP Addressing and Forwarding

Internet Protocol (IP) Computer Networking. What is an Internetwork? Designing an Internetwork. Lecture 8 IP Addressing and Forwarding

TOC: Switching & Forwarding

TOC: Switching & Forwarding

Routers: Forwarding EECS 122: Lecture 13

Scale Computer Networking. Scale. Problem 1 Reconnecting LANs. Lecture 8 Bridging, Addressing and Forwarding

Routers: Forwarding EECS 122: Lecture 13

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

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

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

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

CSE 3214: Computer Network Protocols and Applications Network Layer

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

Routers Technologies & Evolution for High-Speed Networks

Router Architectures

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

Lecture 3: Packet Forwarding

Chapter 4 Network Layer

Last Lecture: Network Layer

Network Layer: outline

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

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

Chapter 4. Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, sl April 2009.

Internetworking Part 1

Lecture 4 - Network Layer. Transport Layer. Outline. Introduction. Notes. Notes. Notes. Notes. Networks and Security. Jacob Aae Mikkelsen

Cell Switching (ATM) Commonly transmitted over SONET other physical layers possible. Variable vs Fixed-Length Packets

Computer Networks. Instructor: Niklas Carlsson

2/22/2008. Outline Computer Networking Lecture 9 IP Protocol. Hop-by-Hop Packet Forwarding in the Internet. Internetworking.

Scaling routers: Where do we go from here?

CMSC 332 Computer Networks Network Layer

Switching / Forwarding

CSE 123A Computer Networks

CSCD 330 Network Programming

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

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

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

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

EE 122: Router Design

Data Communication & Networks G Session 7 - Main Theme Networks: Part I Circuit Switching, Packet Switching, The Network Layer

CS118 Discussion, Week 6. Taqi

Chapter 4: network layer

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

CSC 401 Data and Computer Communications Networks

COMP211 Chapter 4 Network Layer: The Data Plane

HWP2 Application level query routing HWP1 Each peer knows about every other beacon B1 B3

Network Layer: Control/data plane, addressing, routers

Lecture 3. The Network Layer (cont d) Network Layer 1-1

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

LS Example 5 3 C 5 A 1 D

ECE 158A: Lecture 7. Fall 2015

Internet Routers Past, Present and Future

The Arbitration Problem

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

CS 268: Route Lookup and Packet Classification

Chapter 4 Network Layer: The Data Plane

Sample Routers and Switches. High Capacity Router Cisco CRS-1 up to 46 Tb/s thruput. Routers in a Network. Router Design

Network Layer PREPARED BY AHMED ABDEL-RAOUF

Data Structures for Packet Classification

CS610 Computer Network Final Term Papers Solved MCQs with reference by Virtualians Social Network

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

The Network Layer and Routers

Homework 1 Solutions:

1 Connectionless Routing

Vorlesung Kommunikationsnetze

Lecture 10: Addressing

internet technologies and standards

Switching. An Engineering Approach to Computer Networking

CSCE 463/612 Networks and Distributed Processing Spring 2018

Chapter 4 Network Layer: The Data Plane

TOC: Switching & Forwarding

HW3 and Quiz. P14, P24, P26, P27, P28, P31, P37, P43, P46, P55, due at 3:00pm with both soft and hard copies, 11/11/2013 (Monday) TCP), 20 mins

TDT Appendix E Interconnection Networks

ECE697AA Lecture 20. Forwarding Tables

ECE 697J Advanced Topics in Computer Networks

PARALLEL ALGORITHMS FOR IP SWITCHERS/ROUTERS

Network Layer. IP Protocol Stack: Key AbstracHons. Best- Effort Global Packet Delivery. Circuit Switching (e.g., Phone Network)

Layering and Addressing CS551. Bill Cheng. Layer Encapsulation. OSI Model: 7 Protocol Layers.

The Routing Table: A Closer Look

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

INF5050 Protocols and Routing in Internet (Friday ) Subject: IP-router architecture. Presented by Tor Skeie

EEC-484/584 Computer Networks

Chapter 6 Delivery and Routing of IP Packets

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

COMP/ELEC 429/556 Introduction to Computer Networks

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Themes. The Network 1. Energy in the DC: ~15% network? Energy by Technology

Router Architecture Overview

Chapter 6. Delivery and Forwarding of IP Packets

Lecture 8. Network Layer (cont d) Network Layer 1-1

Computer Networks CS 552

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

Optical Packet Switching

CSCD58 WINTER 2018 WEEK 6 - NETWORK LAYER PART 1. Brian Harrington. February 13, University of Toronto Scarborough

Internet Technology 3/23/2016

Inside Internet Routers

Packet Switching. Hongwei Zhang Nature seems to reach her ends by long circuitous routes.

Transcription:

CS 268: Computer Networking L-8 outers Forwarding and outers Forwarding IP lookup High-speed router architecture eadings [McK97] A Fast Switched Backplane for a Gigabit Switched outer [KCY03] Scaling ternet outers Using Optics Know IP/OSPF 2

line IP router design IP route lookup Variable prefix match algorithms Alternative methods for packet forwarding 3 What Does a outer Look Like? Currently: Network controller Line cards Switched backplane the past? Workstation Multiprocessor workstation Line cards + shared bus 4

Line Cards Network interface cards Provides parallel processing of packets Fast path per-packet processing Forwarding lookup (hardware/asic vs. software) 5 Network Processor uns routing protocol and downloads forwarding table to line cards Some line cards maintain two forwarding tables to allow easy switchover Performs slow path processing Handles ICMP error messages Handles IP option processing 6

Switch Design Issues Have N inputs and M outputs Multiple packets for same output output contention Switch contention switch cannot support arbitrary set of transfers Crossbar Bus High clock/transfer rate needed for bus Banyan net Complex scheduling needed to avoid switch contention Solution buffer packets where needed 7 Switch Buffering put buffering Which inputs are processed each slot schedule? Head of line packets destined for busy output blocks other packets put buffering put may receive multiple packets per slot Need speedup proportional to # inputs ternal buffering Head of line blocking Amount of buffering needed 8

Line Card terconnect Virtual output buffering Maintain per output buffer at input Solves head of line blocking problem Each of MxN input buffer places bid for output Crossbar connect Challenge: map of bids to schedule for crossbar 9 ISLIP 0

ISLIP (cont.) Thermal Image of Typical Cluster ack ack Switch M. K. Patterson, A. Pratt, P. Kumar, From UPS to Silicon: an end-to-end evaluation of datacenter efficiency, tel Corporation

What Limits outer Capacity? 2 Approximate power consumption per rack Power (kw) 0 8 6 4 2 0 990 993 996 999 2002 2003 Power density is the limiting factor today 3 FYI--Network Element Power 96 x Gbit port Cisco datacenter switch consumes around 5 kw -- equivalent to 00x a typical dual processor Google server @ 45 W High port density drives network element design, but such high power density makes it difficult to tightly pack them with servers Is an alternative distributed processing/communications topology possible?

Power/Cooling Issues Multi-rack outers educe Power Density Crossbar Linecards Switch Linecards 6

Examples of Multi-rack outers Alcatel 7670 SP Juniper TX8/T640 TX8 Avici TS Chiaro 7 Limits to Scaling Overall power is dominated by linecards Sheer number Optical WAN components Per packet processing and buffering. But power density is dominated by switch fabric 8

Multi-rack outers educe Power Density Switch Limit today ~2.5Tb/s Electronics Scheduler scales <2x every 8 months Opto-electronic Linecards conversion 9 Question stead, can we use an optical fabric at 00Tb/s with 00% throughput? Conventional answer: No Need to reconfigure switch too often 00% throughput requires complex electronic scheduler. 20

If Traffic is Uniform! / N! / N! / N 2 eal Traffic is Not Uniform! / N! / N! / N! / N! / N! / N?! / N! / N! / N 22

Two-stage Load-Balancing Switch Load-balancing stage Switching stage 00% throughput for weakly mixing, stochastic traffic [C.-S. Chang, Valiant] 23 3 2 3 24

3 3 2 3 3 25 Static WDM Switching A B C D A, A, A, A A, B, C, D B, B, B, B A, B, C, D C, C, C, C A, B, C, D D, D, D, D A, B, C, D Array Waveguide outer (AWG) Passive and Almost Zero Power 4 WDM channels, each at rate 2 26

Linecard Dataflow 2 2 2 λ λ N 2 2WDM 2 λ, λ 2,.., λ Ν 2 2 3 4 λ λ N λ λ N λ λ N 3WDM WDM WDM λ, λ 2,.., λ Ν λ, λ 2,.., λ Ν λ, λ 2,.., λ Ν 27 line IP router design IP route lookup Variable prefix match algorithms Alternative methods for packet forwarding 28

Original IP oute Lookup Address classes A: 0 7 bit network 24 bit host (6M each) B: 0 4 bit network 6 bit host (64K) C: 0 2 bit network 8 bit host (255) Address would specify prefix for forwarding table Simple lookup 29 Original IP oute Lookup Example www.berkeley.edu address 28.32.36.2 Class B address class + network is 28.32 Lookup 28.32 in forwarding table Prefix part of address that really matters for routing Forwarding table contains List of class+network entries A few fixed prefix lengths (8/6/24) Large tables 2 Million class C networks 32 bits does not give enough space encode network location information inside address i.e., create a structured hierarchy 30

CID evisited Supernets Assign adjacent net addresses to same org Classless routing (CID) How does this help routing table? Combine routing table entries whenever all nodes with same prefix share same hop outing protocols carry prefix with destination network address Longest prefix match for forwarding 3 CID Illustration Provider is given 20.0.0.0/2 Provider 20.0.0.0/22 20.0.4.0/24 20.0.5.0/24 20.0.6.0/23 32

CID Shortcomings Multi-homing Customer selecting a new provider 20.0.0.0/2 Provider Provider 2 20.0.0.0/22 20.0.4.0/24 20.0.5.0/24 20.0.6.0/23 or Provider 2 address 33 line IP router design IP route lookup Variable prefix match algorithms Alternative methods for packet forwarding 34

Trie Using Sample Database P5 0 P7 0 P8 oot 0 0 P6 0 P 0 Trie P4 0 0 0 P3 P2 Sample Database P = 0* P2 = * P3 = 00* P4 = * P5 = 0* P6 = 000* P7 = 00000* P8 = 000000* 35 How To Do Variable Prefix Match Traditional method Patricia Tree Arrange route entries into a series of bit tests Worst case = 32 bit tests Problem: memory speed is a bottleneck default 0/0 0 28.2/6 Bit to test 0 = left child, = right child 0 6 28.32/6 9 28.32.30/240 28.32.50/24 36

Speeding up Prefix Match Cut prefix tree at 6 bit depth 64K bit mask Bit = if tree continues below cut (root head) Bit = if leaf at depth 6 or less (genuine head) Bit = 0 if part of range covered by leaf 37 Prefix Tree 0 0 0 0 0 0 0 0 2 3 4 5 6 7 8 9 0 2 3 4 5 Port Port 5 Port 7 Port 3 Port 9 Port 5 38

Prefix Tree 0 0 0 0 0 0 0 0 2 3 4 5 6 7 8 9 0 2 3 4 5 Subtree Subtree 2 Subtree 3 39 Speeding up Prefix Match Each corresponds to either a route or a subtree Keep array of routes/pointers to subtree Need index into array how to count # of s Keep running count to 6bit word in base index + code word (6 bits) Need to count s in last 6bit word Clever tricks Subtrees are handled separately 40

Speeding up Prefix Match Scaling issues How would it handle IPv6 Update issues Other possibilities Why were the cuts done at 6/24/32 bits? Improve data structure by shuffling bits 4 Speeding up Prefix Match - Alternatives oute caches Temporal locality Many packets to same destination Other algorithms Waldvogel Sigcomm 97 Binary search on prefixes Works well for larger addresses Bremler-Barr Sigcomm 99 Clue = prefix length matched at previous hop Why is this useful? Lampson focom 98 Binary search on ranges 42

Speeding up Prefix Match - Alternatives Content addressable memory (CAM) Hardware based route lookup put = tag, output = value associated with tag equires exact match with tag Multiple cycles ( per prefix searched) with single CAM Multiple CAMs ( per prefix) searched in parallel Ternary CAM 0,,don t care values in tag match Priority (I.e. longest prefix) by order of entries in CAM 43 line IP router design IP route lookup Variable prefix match algorithms Alternative methods for packet forwarding 44

Techniques for Forwarding Packets Source routing Packet carries path Table of virtual circuits Connection routed through network to setup state Packets forwarded using connection state Table of global addresses (IP) outers keep next hop for destination Packets carry destination address 45 Source outing List entire path in packet Driving directions (north 3 hops, east, etc..) outer processing Examine first step in directions Strip first step from packet Forward to step just stripped off Packet 2, 3, 3, 2 2 Sender 4 3 2 4 3 2 4 3 3 eceiver 46

Source outing Advantages Switches can be very simple and fast Disadvantages Variable (unbounded) header size Sources must know or discover topology (e.g., failures) Typical use Ad-hoc networks (DS) Machine room networks (Myrinet) 47 Virtual Circuits/Tag Switching Connection setup phase Use other means to route setup request Each router allocates flow ID on local link Creates mapping of inbound flow ID/port to outbound flow ID/port Each packet carries connection ID Sent from source with st hop connection ID outer processing Lookup flow ID simple table lookup eplace flow ID with outgoing flow ID Forward to output port 48

Virtual Circuits Examples Packet 5 7 2 2 Sender 4 3 2 4 3,7 4,2,5 3,7 2 2 4 3 3 6 eceiver 2,2 3,6 49 Virtual Circuits Advantages More efficient lookup (simple table lookup) More flexible (different path for each flow) Can reserve bandwidth at connection setup Easier for hardware implementations Disadvantages Still need to route connection setup request More complex failure recovery must recreate connection state Typical uses ATM combined with fix sized cells MPLS tag switching for IP networks 50

IP Datagrams on Virtual Circuits Challenge when to setup connections At bootup time permanent virtual circuits (PVC) Large number of circuits For every packet transmission Connection setup is expensive For every connection What is a connection? How to route connectionless traffic? 5 IP Datagrams on Virtual Circuits Traffic pattern Few long lived flows Flow set of data packets from source to destination Large percentage of packet traffic Improving forwarding performance by using virtual circuits for these flows Other traffic uses normal IP forwarding 52

Summary: Addressing/Classification outer architecture carefully optimized for IP forwarding Key challenges: Speed of forwarding lookup/classification Power consumption Some good examples of common case optimization outing with a clue Classification with few matching rules Not checksumming packets 53 Summary - IP outer Design Different architectures for different types of routers High speed routers incorporate large number of processors Common case is optimized carefully 54

Open Questions Fanout vs. bandwidth MPLS vs. longest prefix match More vs. less functionality in routers Hardware vs. software CAMs vs. software Impact of router design on network design 55 Global Addresses (IP) Each packet has destination address Each switch has forwarding table of destination next hop At v and x: destination east At w and y: destination south At z: destination north Distributed routing algorithm for calculating forwarding tables 56

Global Address Example Packet 2 2 Sender 4 3 2 4 3 4 3 2 3 4 3 eceiver 3 57 outer Table Size One entry for every host on the ternet 00M entries,doubling every year One entry for every LAN Every host on LAN shares prefix Still too many, doubling every year One entry for every organization Every host in organization shares prefix equires careful address allocation 58

Global Addresses Advantages Stateless simple error recovery Disadvantages Every switch knows about every destination Potentially large tables All packets to destination take same route 59 Summary Source outing Global Addresses Virtual Circuits Header Size Worst OK Large address Best outer Table Size None Number of hosts (prefixes) Number of circuits Forward Overhead Best Prefix matching Pretty Good Setup Overhead None None Error ecovery Tell all hosts Tell all routers Connection Setup Tell all routers and Tear down circuit and re-route 60

Skip Count vs. Path Compression P 0 P2 0 P 0 0 (Skip count) Skip 2 or (path compressed) 0 P2 0 P3 P4 P3 P4 emoving one way branches ensures # of trie nodes is at most twice # of prefixes Using a skip count requires exact match at end and backtracking on failure path compression simpler 6 Binary Search on anges Prefixes P = *, P2 = 0*, P3 = 0* > = 0000 000 P 00 P3 0 P2 - - P2 P2 P3 P3 P3 P - P Encode each prefix as range and place all range endpoints in binary search table or tree. Need two next hops per entry for > and = case. [Lampson, Srinivasan, Varghese] Problem: Slow search (log 2 N+ = 20 for a million prefixes) and update (O(n)). Some clever implementation tricks to improve on this 62

Packet Classification Typical uses Identify flows for QoS Firewall filtering equirements Match on multiple fields Strict priority among rules E.g. no traffic from 28.2.* 2. ok traffic on port 80 63 Complexity N rules and k header fields for k > 2 O(log N k- ) time and O(N) space O(log N) time and O(N k ) space Special cases for k = 2 source and destination O(log N) time and O(N) space solutions exist How many rules? Largest for firewalls & similar 700 Diffserv/QoS much larger 00k (?) 64

Bit Vectors 0 ule Field Field2 0 00* 00* 00* 0* 0 0 2 0* * 00 000 000 3 * 0* Field 65 Bit Vectors 0 ule Field Field2 0 00* 00* 0 0 00* 0* 2 0* * 000 000 000 000 3 * 0* Field 2 66

Observations Common rule sets have important/useful characteristics Packets rarely match more than a few rules (rule intersection) E.g., max of 4 rules seen on common databases up to 700 rules 67 Aggregating ules Common case: very few s in bit vector aggregate bits O together A bits at a time N/A bit-long vector A typically chosen to match word-size Can be done hierarchically aggregate the aggregates AND of aggregate bits indicates which groups of A rules have a possible match Hopefully only a few s in AND ed vector AND of aggregated bit vectors may have false positives Fetch and AND just bit vectors associated with positive entries 68

earranging ules Problem: false positives may be common Solution: reorder rules to minimize false positives What about the priority order of rules? How to rearrange? Heuristic sort rules based on single field s values First sort by prefix length then by value Moves similar rules close together reduces false positives 69