Better by a HAIR: Hardware-Amenable Internet Routing Brent Mochizuki University of Illinois at Urbana-Champaign Joint work with: Firat Kiyak (Illinois)

Slides:



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

Routing Basics.
Dynamic Routing Overview 1.
Computer Networks20-1 Chapter 20. Network Layer: Internet Protocol 20.1 Internetworking 20.2 IPv IPv6.
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
1 An Efficient, Hardware-based Multi-Hash Scheme for High Speed IP Lookup Hot Interconnects 2008 Socrates Demetriades, Michel Hanna, Sangyeun Cho and Rami.
Virtually Eliminating Router Bugs Minlan Yu Princeton University Joint work with Eric Keller (Princeton), Matt Caesar (UIUC),
Part IV: BGP Routing Instability. March 8, BGP routing updates  Route updates at prefix level  No activity in “steady state”  Routing messages.
Border Gateway Protocol Ankit Agarwal Dashang Trivedi Kirti Tiwari.
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
CS4550 Computer Networks II IP : internet protocol, part 3 : routing policies, IPv6.
Dynamic Routing Scalable Infrastructure Workshop, AfNOG2008.
1 Interdomain Routing Protocols. 2 Autonomous Systems An autonomous system (AS) is a region of the Internet that is administered by a single entity and.
1 Author: Ioannis Sourdis, Sri Harsha Katamaneni Publisher: IEEE ASAP,2011 Presenter: Jia-Wei Yo Date: 2011/11/16 Longest prefix Match and Updates in Range.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization –All routers are identical –Network is flat. Not true in Practice Hierarchical.
HLP: A Next Generation Interdomain Routing Protocol Lakshminarayanan Subramanian* Matthew Caesar* Cheng Tien Ee*, Mark Handley° Morley Maoª, Scott Shenker*
1 Design and implementation of a Routing Control Platform Matthew Caesar, Donald Caldwell, Nick Feamster, Jennifer Rexford, Aman Shaikh, Jacobus van der.
Routing and Routing Protocols
Chapter 19 Binding Protocol Addresses (ARP) Chapter 20 IP Datagrams and Datagram Forwarding.
TDC365 Spring 2001John Kristoff - DePaul University1 Interconnection Technologies Routing I.
Lecture Week 3 Introduction to Dynamic Routing Protocol Routing Protocols and Concepts.
Lecture 33: Chapter 5 Today’s topic –Cache Replacement Algorithms –Multi-level Caches –Virtual Memories 1.
Route Selection in Cisco Routers. Route Selection One of the intriguing aspects of Cisco routers, especially for those new to routing, is how the router.
Chapter 8 Routing. Introduction Look at: –Routing Basics (8.1) –Address Resolution (8.2) –Routing Protocols (8.3) –Administrative Classification (8.4)
CRIO: Scaling IP Routing with the Core Router-Integrated Overlay Xinyang (Joy) Zhang Paul Francis Jia Wang Kaoru Yoshida.
EQ-BGP: an efficient inter- domain QoS routing protocol Andrzej Bęben Institute of Telecommunications Warsaw University of Technology,
Distance Vector Routing Protocols W.lilakiatsakun.
© 2009 Cisco Systems, Inc. All rights reserved. ROUTE v1.0—6-1 Connecting an Enterprise Network to an ISP Network BGP Attributes and Path Selection Process.
Review Routing fundamental W.lilakiatsakun. Review Routing Fundamental VLSM VLSM Route Summarization Route Summarization Static & Dynamic Routing Static.
CCNA 1 Module 10 Routing Fundamentals and Subnets.
10/8/2015CST Computer Networks1 IP Routing CST 415.
Interior Gateway Protocol. Introduction An IGP (Interior Gateway Protocol) is a protocol for exchanging routing information between gateways (hosts with.
Lecture 4: BGP Presentations Lab information H/W update.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks BGP.
Advance Computer Networking L-8 Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan.
Chapter 9. Implementing Scalability Features in Your Internetwork.
Routing Fundamental W.lilakiatsakun. Review Routing Fundamental VLSM Static & Dynamic Routing Routing algorithm concept.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
CCNA 3 Week 2 Link State Protocols OSPF. Copyright © 2005 University of Bolton Distance Vector vs Link State Distance Vector –Copies Routing Table to.
Border Gateway Protocol (BGP) W.lilakiatsakun. BGP Basics (1) BGP is the protocol which is used to make core routing decisions on the Internet It involves.
Switching and Routing Technique W.lilakiatsakun. Assessment Final 40 % Final 40 % Midterm 30% Midterm 30% LAB + Assignment 30% LAB + Assignment 30%
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #14 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
IP Routing Principles. Network-Layer Protocol Operations Each router provides network layer (routing) services X Y A B C Application Presentation Session.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
1 Version 3.1 Module 6 Routed & Routing Protocols.
1 7-Jan-16 S Ward Abingdon and Witney College Dynamic Routing CCNA Exploration Semester 2 Chapter 3.
Routing and Routing Protocols PJC CCNA Semester 2 Ver. 3.0 by William Kelly.
Routing Algorithms and IP Addressing Routing Algorithms must be ▪ Correctness ▪ Simplicity ▪ Robustness ▪ Stability ▪ Fairness ▪ Optimality.
7/11/0666th IETF1 QoS Enhancements to BGP in Support of Multiple Classes of Service Andreas Terzis Computer Science Department Johns Hopkins University.
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.
Author : Tzi-Cker Chiueh, Prashant Pradhan Publisher : High-Performance Computer Architecture, Presenter : Jo-Ning Yu Date : 2010/11/03.
Exploiting Graphics Processors for High-performance IP Lookup in Software Routers Jin Zhao, Xinya Zhang, Xin Wang, Yangdong Deng, Xiaoming Fu IEEE INFOCOM.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Advanced Computer Networks
Cellular IP: A New Approach to Internet Host Mobility
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Lixin Gao ECE Dept. UMASS, Amherst
Chapter 3: Dynamic Routing
CS 31006: Computer Networks – The Routers
Practical IPv6 Filtering
John Scudder October 24, 2000 BGP Update John Scudder October 24, 2000.
Bridges and Extended LANs
Static Routing 1st semester
Dynamic Routing and OSPF
COS 461: Computer Networks
Computer Networks Protocols
Internet Protocol version 6 (IPv6)
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Presentation transcript:

Better by a HAIR: Hardware-Amenable Internet Routing Brent Mochizuki University of Illinois at Urbana-Champaign Joint work with: Firat Kiyak (Illinois) Eric Keller (Princeton) Matthew Caesar (Illinois) 1

Router Design Today Control Plane – Maintains routing table – Implemented in software Data Plane – Forwards packets – Implemented in hardware 2

Routing Faces Scaling Challenges Routers are experiencing scaling challenges – The Internet is still growing – New protocols and IPv6 require larger address spaces – Large bursts of updates occur when links go down or come back up 3

Some Workarounds Use timers (MRAI) to mask instability – Slows convergence leading to longer instances of black holes and routing loops Use flap damping to disallow less stable routes – Harms availability, leading to black holes Limit which routes are advertised – Places constraints on policies 4

Our Approach Routing is conventionally done in software Hardware has clear performance benefits – Specialized circuits would allow routing to be done more quickly – Hardware is inherently parallel We investigate using the extreme design point of an all-hardware router – Target is FPGA (reprogrammable hardware) 5

Implementing BGP in Hardware A full-hardware router can speed up BGP processing, however: – It seems that BGP was designed to be processed in software – The protocol makes it difficult to process in hardware Our design is very complex Slow processing speed 6

Implementing BGP in Hardware Why is it complex to implement BGP in hardware? What parts of the design would perform poorly? Can we design a new protocol with the functionality of BGP without these problems? 7

Sources of Complexity in BGP 1.No total ordering of routes Computing the best route Must compare each advertised route BGP allows the MED attribute Every route must be considered when choosing the best route (instead of the advertised route and the previously-best route) 8 Route 1 Route 3 Route 2

Sources of Complexity in BGP 2. IP Prefix Addressing  Translating an IP prefix to a physical memory address in the routing table (RIB) is difficult to implement  Trie lookup structure  Not a regular structure  Requires extra memory 9 IP Lookup … … … … RIB Memory Address

Sources of Complexity in BGP (cont.) 3.Long and variable length fields  Variable length fields add processing complexity  Parser states are not predictable since  Depends on the length of variable-length fields  Depends on the presence of optional fields  Tradeoff between design complexity and performance 10

HAIR: Hardware-Amenable Internet Routing 1.Provides for a total ordering of routes 2.Simplifies route lookup by using virtual addressing instead of IP addresses 3.Uses shorter, fixed-length fields 11

HAIR – Total ordering of routes HAIR avoids the MED ordering problem The best route can be chosen by comparing only the newly advertised and previously-best routes 12 New Route Route 3 Best Route Route 4 Route 5 BGP Best Route HAIR Best Route New Route Route 3 Best Route Route 4 Route 5

HAIR – Destination Address HAIR operates on a virtual address space  Each destination network is enumerated with a unique fixed identifier on a global scale  This identifier is used to directly index into the RIB 13 … … IP Lookup … … … … RIB Memory Address BGPHAIR RIB Virtual Address Destination IP: /24

HAIR – Fixed and Shorter Length Fields Requiring fixed length fields allows a very simple parsing design – The parser state is predictable – This makes processing speeds predictable as well 14 LengthParse Amt Parsed < Length ENDParse0ENDParseN … BGP HAIR clk

HAIR – Path Attribute Labels Policy decides which route is best by comparing path attributes Each router will only see a relatively small number of unique sets of path attributes We use labels to enumerate each of these sets 15 Attributes: Origin = 1 (EGP) LocalPref = 50 … Label: 001 Label Table

HAIR – Path Attribute Labels Each set of labels is defined locally Label translation performed at each router to avoid collisions and fragmentation of the label space 16 Outbound LabelLabel TableInbound Label

HAIR – Path Attribute Labels Since there is a total ordering of routes, each label can be ranked by routing preference Computing the best route is as easy as comparing ranks 17

18 BGP Update Advertise: /24 Attributes: Origin = 1 (EGP) LocalPref = 50 … … … IP Lookup Memory Address Route Info RIB New Route Advertisement in BGP Best Route Logic …

19 HAIR Label Update Label: 002 Attributes: Origin = exterior LocalPref = 50 … Label Table Label Update Label Packet Generator Inbound Label Label Packet Label Translation Outbound Label Label Advertisement in HAIR Label Mapping

20 HAIR Route Update Advertise: 3128 Label: 002 Label Translation Inbound Label Outbound Label Rank Virtual Address Route Info. New Route Route Advertisement in HAIR RIB

Analysis - Methodology Ran update traces on 3 designs: Quagga open-source software router 3GHz CPU Hardware implementation of BGP processor 125MHz NetFPGA target Hardware implementation of HAIR processor 125MHz NetFPGA target 21

Analysis – Performance Metrics Compare throughput – High throughput handles bursts well Compare delay – Low delay means faster convergence 22

Analysis - Throughput BGP in Hardware increases throughput by up to 3 orders of magnitude. HAIR increases throughput by 1 more order of magnitude. 23

Analysis - Delay 24 BGP in Hardware reduces delay by 4 orders of magnitude HAIR reduces delay by 1 more

Analysis Throughput higher and delay lower for hardware designs Due to lack of OS, increased parallelization, and direct access to memory Performance is even better for HAIR Our changes to the protocol not only make it easier to implement, but also improve performance 25

Conclusions We challenge the assumption that routing protocols must be processed in software BGP in hardware is difficult to implement We propose HAIR, a hardware-amenable protocol with similar functionality to BGP Allows for simple and high-performing hardware designs Future Work: Determining optimal division of labor between hardware and software in router design, examining other protocols 26