INF5050: Protocols and routing in the internet By: Desta Haileselassie Hagos February 13, 2015 2002.

Slides:



Advertisements
Similar presentations
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Advertisements

1 IP-Lookup and Packet Classification Advanced Algorithms & Data Structures Lecture Theme 08 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
Internetworking II: MPLS, Security, and Traffic Engineering
NetFPGA Project: 4-Port Layer 2/3 Switch Ankur Singla Gene Juknevicius
A Scalable and Reconfigurable Search Memory Substrate for High Throughput Packet Processing Sangyeun Cho and Rami Melhem Dept. of Computer Science University.
Spring 2006CS 685 Network Algorithmics1 Principles in Practice CS 685 Network Algorithmics Spring 2006.
1 o Two issues in practice – Scale – Administrative autonomy o Autonomous system (AS) or region o Intra autonomous system routing protocol o Gateway routers.
© Jörg Liebeherr ECE 1545 Packet-Switched Networks.
M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Shulin You UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Electrical and Computer Engineering.
Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.
1 ELEN 602 Lecture 18 Packet switches Traffic Management.
Optical communications & networking - an Overview
Router Architecture : Building high-performance routers Ian Pratt
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
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 14.
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 268: Lectures 13/14 (Route Lookup and Packet Classification) Ion Stoica April 1/3, 2002.
CS 268: Route Lookup and Packet Classification Ion Stoica March 11, 2003.
EE 122: Router Design Kevin Lai September 25, 2002.
張 燕 光 資訊工程學系 Dept. of Computer Science & Information Engineering,
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Introduction.
CS 268: Lecture 12 (Router Design) Ion Stoica March 18, 2002.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
Router Architectures An overview of router architectures.
Router Architectures An overview of router architectures.
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
Computer Networks Switching Professor Hui Zhang
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
CS 552 Computer Networks IP forwarding Fall 2005 Rich Martin (Slides from D. Culler and N. McKeown)
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.
TO p. 1 Spring 2006 EE 5304/EETS 7304 Internet Protocols Tom Oh Dept of Electrical Engineering Lecture 9 Routers, switches.
Advance Computer Networking L-8 Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan.
Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #14 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Final Chapter Packet-Switching and Circuit Switching 7.3. Statistical Multiplexing and Packet Switching: Datagrams and Virtual Circuits 4. 4 Time Division.
Efficient Cache Structures of IP Routers to Provide Policy-Based Services Graduate School of Engineering Osaka City University
Forwarding.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
1 IEX8175 RF Electronics Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
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
Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,
1 Switching and Forwarding Sections Connecting More Than Two Hosts Multi-access link: Ethernet, wireless –Single physical link, shared by multiple.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down.
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Multi-protocol Label Switching
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
By: Yaron Levy Supervisors: Dr. Shlomo Greenberg Mr. Hagai David.
Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai.
Networking Devices.
Addressing: Router Design
CS4470 Computer Networking Protocols
Chapter 3 Part 3 Switching and Bridging
Lecture 11 Switching & Forwarding
What’s “Inside” a Router?
Advance Computer Networking
Network Core and QoS.
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.
Chapter 3 Part 3 Switching and Bridging
Introduction to Packet Scheduling
Presentation transcript:

INF5050: Protocols and routing in the internet By: Desta Haileselassie Hagos February 13,

Recap…IP Packets Routing Switching –Two technologies Circuit Switching Packet Switching INF5050, University Of Oslo2 Network (IP) Application Transport Link Physical IP Packets

Scientific Contribution Issues of building next generation routers Presents several algorithms/architectures to implement IP route lookup, packet classification, and switch fabrics Surveys various switch architectures of commercial routers and switch chip sets Outlines several challenging issues that remain to be researched for next generation routers INF5050, University Of Oslo3

New proposal from the paper? It doesn’t propose any new system –Instead, it surveys an over all picture of next generation routers INF5050, University Of Oslo 4

Agenda Background: Introduction Packet Lookup and Classification Switching Fabrics INF5050, University Of Oslo5

Introduction (1/4) Need for next generation routers –To accommodate the bandwidth demands –Support QoS –Reduce costs Keep pace with the Internet traffic growth – Exploring transmission and switching technologies Optical transmission technologies –DWDM (Dense Wave Division Multiplexing) –Optical add-drop multiplexers –Ultralong-haul lasers –Optical amplifiers »Large impact in lowering costs of digital transmission INF5050, University Of Oslo6

Continued…Introduction (2/4) Current router technologies in the market –Cannot provide large switching capacities to satisfy current and future bandwidth demands Next-generation routers –High-speed interfaces (10 or 40 Gb/s) –Large switching capacity (e.g. Multipetabit) INF5050, University Of Oslo7

Continued…Introduction (3/4) Current approaches –IP routers and MPLS switches at the network edge Connected to OXCs – but connections are high bit rates(10/40) Interconnected by DWDM transmission equipment If edge routers want to communicate with all other routers –Direct connections to those routers Low link utilization –Connect through multiple logical hops (i.e., routed by other routers). This results in larger latency INF5050, University Of Oslo8

Continued….Introduction (4/4) Solutions –Build very large IP routers or MPLS switches at points of presence (POPs) Aggregate traffic from edge routers onto high-speed links that are then directly connected to other large routers at different POPs through DWDM transmission equipment –Advantage Achieves higher link utilization and fewer hops (lower latency) INF5050, University Of Oslo9

Continued… cost-effective Solution Replacing a cluster of mid-size routers with a large-capacity scalable router INF5050, University Of Oslo10

Packet Switch What are we going to talk about? –Designing a large capacity packet switch Design issues –IP Routers and routing models –The Evolution of IP Routers INF5050, University Of Oslo11

Designing a large capacity packet switch Can we cost-effectively build a very large IP router, with a capacity of a few petabit/s? Requirement for a packet switching –Process packets (such as classification, table lookup, and packet header modification) –Store packets –Schedule packets –Perform buffer management INF5050, University Of Oslo12

Designing issues (1/2) Demanding technologies when designing a large-capacity packet switch –Memory Bottleneck for large-capacity networks –Interconnection technology Significantly effects a system’s power consumption and cost INF5050, University Of Oslo13

Continued….Designing issues (2/2) Designing challenges for a switch architecture –Scalable to a very large capacity –Cost-effective Memory Speed  Moore ’ s law (* Prof. Tore’s lecture) Packet arbitration  resolving output port contention among the input ports QoS Control  providing QoS guarantees Optical interconnection  installation costs Power consumption *Flexibility (added from the book but not in the paper) INF5050, University Of Oslo14

IP Routers Router  The Internet is a mesh of routers  Router consists of -Set of input interfaces where packets arrive -Set of output interfaces from which packets depart -Some form of interconnect connecting inputs to outputs  Router implements (1) Forward packet to corresponding output interface (2) Manage bandwidth and buffer space resources INF5050, University Of Oslo15

IP Routing Models Router architectures can be broadly classified INF5050, University Of Oslo16 Distributed Centralized

Generic Architecture Input and output interfaces are connected through an interconnect Interconnect can be implemented by –Shared memory Low capacity routers (e.g., PC-based routers) –Shared bus Medium capacity routers –Point-to-point (switched) bus High capacity routers input interface output interface Inter- connect INF5050, University Of Oslo17

Evolution of IP Routers Generation of IP Routers –1 st Generation IP Routers ( Shared Memory) –2 nd Generation IP Routers ( Shared Bus) –3 rd Generation IP Routers (Point-to-Point Switch) –4 th Generation IP Routers (Clustering/Multistage ) Remark  Read Professor Tor’s slide from Feb.06 lecture for more details INF5050, University Of Oslo18

Structure of A Generic Communication Switch Switches –Circuit switch –Ethernet switch –ATM switch –IP router Line Cards Switch Fabric Control Processor Line Cards Switch fabric –high capacity interconnect Line card –address lookup in the data path (forwarding) –*Components of line cards (Read page 5 of the paper) Control Processor –load the forwarding table (routing or signaling) INF5050, University Of Oslo19

Agenda Background: Introduction Packet Lookup and Classification Switching Fabrics INF5050, University Of Oslo20

IP Route Lookup What are we going to talk about? –Algorithms and techniques that an IP router uses to decide where to forward the packets next (routing lookup) –Algorithms and techniques that a flow-aware router uses to classify packets into flows (packet classification) INF5050, University Of Oslo21

RFC 1812: Requirements for IPv4 Routers Must perform an IP datagram forwarding decision (called forwarding) Must send the datagram out the appropriate interface (called switching) Remark: Optionally: a router MAY choose to perform special processing on incoming packets INF5050, University Of Oslo22

Examples of special processing Filtering packets for security reasons Delivering packets according to a pre-agreed delay guarantee Treating high priority packets preferentially Maintaining statistics on the number of packets sent by various routers INF5050, University Of Oslo23

Special Processing Requires Identification of Flows All packets of a flow obey a pre-defined rule and are processed similarly by the router E.g. a flow = (src-IP-address, dst-IP-address), or a flow = (dst-IP-prefix, protocol) etc. Router needs to identify the flow of every incoming packet and then perform appropriate special processing INF5050, University Of Oslo24

Flow-aware vs Flow-unaware Routers Flow-aware router: –Keeps track of flows and perform similar processing on packets in a flow Flow-unaware router (packet-by-packet router): –Treats each incoming packet individually INF5050, University Of Oslo25

Routing Lookups INF5050, University Of Oslo26

Routing –Finding and setting up routing tables Uses routing tables computed by routing protocols –Routing tables summarize information by maintaining a mapping between IP address prefixes and output interfaces Can be a complex procedure –Very large routing tables –Dynamic variation of routes in the Internet INF5050, University Of Oslo27

IP Routers Metrics for Lookup algorithms Metrics for lookup algorithms –Speed (Lookup time) = number of memory accesses –Storage space (amount of memory) –Low update time (support >10k updates/s) –Low preprocessing time –Ability to handle large routing tables –Flexibility in implementation –Scalability INF5050, University Of Oslo28

29 Lookup in an IP Router IPv4 unicast destination address based lookup Dstn Addr Next Hop ---- Dstn-prefixNext Hop Forwarding Table Next Hop Computation Forwarding Engine Incoming Packet HEADERHEADER INF5050, University Of Oslo

Forwarding Engine header payload Packet Router Destination Address Outgoing Port Dest-network Port Forwarding Table Routing Lookup Data Structure / / / INF5050, University Of Oslo30

31 Delivery with routing tables to:

Routing Tables Each router and each host keeps a routing table which tells the router how to process an outgoing packet Main columns –Destination address Where is the IP datagram going to? –Next hop interface How to send the IP datagram? Routing tables are set so that a datagram gets closer to the its destination INF5050, University Of Oslo32

Forwarding Packet forwarding –Decide to which output interface to forward each packet based on the information in packet header Examine packet header Lookup in forwarding table Update packet header INF5050, University Of Oslo33

Forwarding Decisions ATM and MPLS switches –Direct Lookup approach Bridges and Ethernet switches –Associative Lookup –Hashing –Trees and tries IP Router Lookup and Lookup Schemes –Caching –Patricia trees/tries –Other methods Packet Classification INF5050, University Of Oslo34

ATM and MPLS Switches Direct Lookup (Port, vci/MPLS label) Address Memory Data (Port, vci/label) INF5050, University Of Oslo35 *VCI = Virtual Channel Identifier *VPI = Virtual Path Identifier *VCC (Virtual Channel Connection) Incoming Port Outgoing Port

More on Lookups … Read Class-based addressing –Lookups with class-based addressing Classless addressing –CIDR –Size of Routing tables –Routing lookups with CIDR Routing lookups in hardware INF5050, University Of Oslo36

Forwarding Decisions ATM and MPLS switches –Direct Lookup Bridges and Ethernet switches –Associative Lookup –Hashing –Trees and tries IP Router Lookup and Lookup Schemes –Caching –Patricia trees/tries –Other methods Packet Classification INF5050, University Of Oslo37

Bridges and Ethernet Switches Associative Lookups INF5050, University Of Oslo Network Address Associated Data Associative Memory or CAM Search Data 48 bits log 2 N Associated Data Hit? Address { Advantages: Simple Disadvantages Slow High Power Small Expensive 38 *Associative memory (aka Content Addressable Memory, CAM) compares all entries in parallel against incoming data

Use a pseudo-random hash function (relatively insensitive to actual function) Bucket linearly searched (or could be binary search, etc.) Leads to unpredictable number of memory references Hashing Function Memory Address Data Pointer Memory Address Data List/Bucket List of network addresses in this bucket Search Data Bridges and Ethernet Switches Hashing log 2 N Associated Data INF5050, University Of Oslo39

Forwarding Decisions ATM and MPLS switches –Direct Lookup Bridges and Ethernet switches –Associative Lookup –Hashing –Trees and tries IP Route Lookup and Lookup Schemes –Caching –Patricia trees/tries –Other methods Packet Classification INF5050, University Of Oslo40

Lookup Identify the output interface to forward an incoming packet based on packet’s destination address Route lookup –Find the longest prefix in the table that matches the packet destination address INF5050, University Of Oslo41

IP Routing Packet with destination address is sent to interface 2, as xxx is the longest prefix matching packet ’ s destination address …… xxx.xxx xxx xxx 2 INF5050, University Of Oslo42

Patricia Tries P1111*H1 P210*H2 P31010*H3 P410101H4 P2 P3 P4 P1 A B C G D F H E Lookup Add P5=1110* I 0 P5 next-hop-ptr (if prefix) left-ptr right-ptr Trie node INF5050, University Of Oslo43 Use binary tree paths to encode prefixes * The lookup operation determines if a string exists in a trie

Patricia Tries Properties Supported operations –Insertion, deletion, and searching Advantage –Simple to implement Disadvantage –One lookup may take O(m), where m is number of bits (32 in the case of IPv4) INF5050, University Of Oslo44

IP Route Lookup Schemes Cashing Address Trie-Based Schemes –Standard Trie Structure –Path-Compressed Trie –Multibit Trie –Level Compression Trie –Lulea Algorithm –Binary Search –Multiway Range Search –Two-Trie Structure Hardware-based schemes –DIR-24-8-BASIC Scheme –SRAM-Based Pipeline scheme –Ternary CAM (TCAM) INF5050, University Of Oslo45

Complexity Comparison INF5050, University Of Oslo46  N= Number of entries in the forwarding table  W= Length of the prefix  K = Number of bits * Remember that worst-case lookup time is proportional to W

Binary Trie Data structure of a 1-bit binary trie INF5050, University Of Oslo47

Forwarding Decisions ATM and MPLS switches –Direct Lookup Bridges and Ethernet switches –Associative Lookup –Hashing –Trees and tries IP Router Lookup and Lookup Schemes –Caching –Patricia trees/tries –Other methods Packet Classification INF5050, University Of Oslo48

Packet Classification INF5050, University Of Oslo Action ---- PredicateAction Classifier (Policy Database) Packet Classification Forwarding Engine Incoming Packet HEADERHEADER 49

Packet Classification Packet classification –Map each packet to a predefined flow/connection (for datagram forwarding) –Used to implement more sophisticated services (e.g., QoS) Flow –A subset of packets between any two endpoints in the network 1 2 Scheduler flow 1 flow 2 flow n Classifier Buffer management * Flows are specified by rules * Classifier - Set of rules INF5050, University Of Oslo50

Continued …. Packet Classification Classify an IP packet based on a number of fields in the packet header, e.g., –Source/destination IP address (32 bits) –Source/destination port number (16 bits) –Type of service (TOS) byte (8 bits) –Type of protocol (8 bits) 1 2 Scheduler flow 1 flow 2 flow n Classifier Buffer management INF5050, University Of Oslo51 * In general fields are specified by range

Output Functions Buffer management –Decides when and which packet to drop Scheduler –Decides when and which packet to transmit –One FIFO queue per flow 1 2 Scheduler Buffer INF5050, University Of Oslo52 Goals of Scheduler Quality of Service (QoS) Protection (stop a flow from hogging the entire output link) Fast

Priority Scheduler Continued … Router Examples Priority scheduler –Packets in the highest priority queue are always served before the packets in lower priority queues Round robin –Packets are served in a round-robin fashion High priority Medium priority Low priority Priority Scheduler High priority Medium priority Low priority INF5050, University Of Oslo53

Packet classification Rules Examples of classification rules –Access-control in firewalls Deny all traffic from ISP-X to Y –Policy-based routing Route IP telephony traffic from X to Y via ATM –Differentiate quality of service Ensure that no more than 50 Mbps are injected from ISP-X INF5050, University Of Oslo54

Continued … Classifier Example Packet Filtering –Rule R1 blocks all telnet connections from outside into Net A Policy Routing –Rule R2 enables the router to forward all real-time traffic using real-time transport protocol (rtp) in the application layer from Net B to Net D through the ATM network Traffic Policing –Rule R3 limits the total transmission control protocol (tcp) traffic rate from Net C to Net B to 10 Mb/s INF5050, University Of Oslo55

Metrics for packet classification Performance metrics for packet classification –Search speed –Storage requirement –Scalability in classifier size –Scalability in the number of header fields –Update time –Flexibility in specification INF5050, University Of Oslo56

Packet Classification Schemes Schemes for packet Classification –Basic Data Structure –Geometric Algorithms –Heuristics –Hardware-Based Algorithms INF5050, University Of Oslo57 Details of each scheme are available on the paper

Agenda Background: Introduction Packet Lookup and Classification Switching Fabrics INF5050, University Of Oslo58

Switching Fabrics Input and Output Queueing Input Queueing –Scheduling algorithms –Combining input and output queues –Multicast traffic –Other non-blocking fabrics Switching –Transfer of packets from input ports to output ports –Solution of the contentions for output ports Queueing – Where to store Scheduling –What to transfer INF5050, University Of Oslo59

Interconnects Two basic techniques INF5050, University Of Oslo Input Queueing Output Queueing Usually a non-blocking switch fabric (e.g. crossbar) Usually a fast bus 60

Input Queueing Practical Algorithms Maximal Size Algorithms –iSLIP (iterative round robin matching with slip) –Wave Front Arbiter (WFA) –Parallel Iterative Matching (PIM) Maximal Weight Algorithms –Fair Access Round Robin (FARR) –Longest Port First (LPF) INF5050, University Of Oslo61

iSLIP Scheduling Algorithm iSLIP? –An algorithm that determines which ingress ports will send to which egress ports across the crossbar fabric in a input-queued switch –Three key-steps (next slide for explanation) Request Grant Accept INF5050, University Of Oslo62

iSLIP Scheme steps INF5050, University Of Oslo63 Key steps

Continued….iSLIP INF5050, University Of Oslo Requests Grant Accept/Match #1 #2 Round-Robin Selection

iSLIP Properties Achieves up to100% throughput for uniform traffic Characteristics –Simple –Provides high throughput –Starvation-free –Operates at high speed Because of its simplicity INF5050, University Of Oslo65

iSLIP Operations 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 INF5050, University Of Oslo66

iSLIP Implementation INF5050, University Of Oslo67 More details on the paper Read the paper if you are interested

INF5050, University Of Oslo68