A 50-Gb/s IP Router ~2Gb/s per author Presenter: Ashutosh Dhekne PhD student, Computer Science, University of Illinois at Urbana Champaign

Slides:



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

Layer 3 Switching. Routers vs Layer 3 Switches Both forward on the basis of IP addresses But Layer 3 switches are faster and cheaper However, Layer 3.
Delivery and Forwarding of
NetFPGA Project: 4-Port Layer 2/3 Switch Ankur Singla Gene Juknevicius
Introduction to IPv6 Presented by: Minal Mishra. Agenda IP Network Addressing IP Network Addressing Classful IP addressing Classful IP addressing Techniques.
Lecture 8 – IP Packets, Routers
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Network Layer Packet Forwarding IS250 Spring 2010
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.
CS 268: Lecture 10 Router Design and Packet Lookup Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University.
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.
CS 268: Router Design Ion Stoica March 1, 2004.
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
Internet Networking Spring 2003
CS 268: Lecture 12 (Router Design) Ion Stoica March 18, 2002.
1 Internet Networking Spring 2002 Tutorial 2 IP Checksum, Fragmentation.
Data Center Networks and Basic Switching Technologies Hakim Weatherspoon Assistant Professor, Dept of Computer Science CS 5413: High Performance Systems.
A 50-Gb/s IP Router Authors: Craig Partridge et al. IEEE/ACM TON June 1998 Presenter: Srinivas R. Avasarala CS Dept., Purdue University.
Chapter 9 Classification And Forwarding. Outline.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Router Architectures An overview of router architectures.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Ethernet, ARP.
Chapter 4 Queuing, Datagrams, and Addressing
Computer Networks Switching Professor Hui Zhang
Module 10. Internet Protocol (IP) is the routed protocol of the Internet. IP addressing enables packets to be routed from source to destination using.
Paper Review Building a Robust Software-based Router Using Network Processors.
Chapter 4: Managing LAN Traffic
Network Layer (3). Node lookup in p2p networks Section in the textbook. In a p2p network, each node may provide some kind of service for other.
Univ. of TehranComputer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
A 50-Gb/s IP Router 참고논문 : Craig Partridge et al. [ IEEE/ACM ToN, June 1998 ]
IP Forwarding.
I. Basic Network Concepts. I.1 Networks Network Node Address Packet Protocol.
Router Architecture Overview
Chapter 6 Delivery and Forwarding of IP Packets
Chapter 81 Internet Protocol (IP) Our greatest glory is not in never failing, but in rising up every time we fail. - Ralph Waldo Emerson.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
CS4550 Computer Networks II IP : internet protocol, part 2 : packet formats, routing, routing tables, ICMP read feit chapter 6.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Efficient Cache Structures of IP Routers to Provide Policy-Based Services Graduate School of Engineering Osaka City University
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
1 CSE 5346 Spring Network Simulator Project.
Cisco Confidential © 2013 Cisco and/or its affiliates. All rights reserved. 1 Cisco Networking Training (CCENT/CCT/CCNA R&S) Rick Rowe Ron Giannetti.
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
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 TehranComputer Network1 Computer Networks Computer Networks (Graduate level) University of Tehran Dept. of EE and Computer Engineering By: Dr.
+ Lecture#2: Ethernet Asma ALOsaimi. + Objectives In this chapter, you will learn to: Describe the operation of the Ethernet sublayers. Identify the major.
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
Chapter 4 Network Layer All material copyright
Scaling the Network: The Internet Protocol
CS 268: Router Design Ion Stoica February 27, 2003.
Chapter 6 Delivery & Forwarding of IP Packets
Internet Networking Spring 2002
Addressing: Router Design
Chapter 3 Part 3 Switching and Bridging
CS 457 – Lecture 10 Internetworking and IP
What’s “Inside” a Router?
I. Basic Network Concepts
Chapter 20 Network Layer: Internet Protocol
Network Core and QoS.
Bridges and Extended LANs
Router Construction Outline Switched Fabrics IP Routers
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
Network Layer: Control/data plane, addressing, routers
Scaling the Network: The Internet Protocol
Delivery, Forwarding, and Routing of IP Packets
Network Core and QoS.
Presentation transcript:

A 50-Gb/s IP Router ~2Gb/s per author Presenter: Ashutosh Dhekne PhD student, Computer Science, University of Illinois at Urbana Champaign

Why so many authors? Router developing is hard Lot of hardware and assembly level software expertise Complete understanding of architectural techniques Helps shorten the acknowledgement section Okay, let's get a bit more serious!

In 2014Growth of the Internet Number of users and bandwidth requirement did not double every year. Cisco 7609 has 256 Gbps bandwidth Alcatel Lucent and BT tested 1.4Tbps link speed on 21 Jan 2014 Paper claims that number of Internet users are doubling every year. The paper is from 1997 so over-estimates the growth a bit. Need for 50Gbps router, however, was real. Cisco 7609Alcatel-Lucent BT

In 2014Average Packet Size The paper uses 1000bits as average packet size What to optimize? Number of packets processed or number of bytes processed? Avg Sharp rise at 1500

Router Components – A simplistic view * Routing Fabric Routing Processor Input Ports Output Ports

Router Components – Innovations * Routing Fabric Network Processor Input Ports Output Ports Forwarding Engine

Innovations – Forwarding Tables * Routing Fabric Network Processor Input Ports Forwarding Engine Complete set of routing tables at the forwarding engine Reduces probability of cache miss to a great degree Next Hop info only

Innovations – Switched Backplane * Routing Fabric Network Processor Input Ports Forwarding Engine Switched backplane instead of shared bus Improves speed

Innovations – separate board forward engine * Routing Fabric Network Processor Input Ports Forwarding Engine Forwarding engines on distinct boards Allows flexibility Allows various link layer protocols on the link card

Innovations – QoS * Routing Fabric Network Processor Input Ports Forwarding Engine QoS function is added Forwarding engine classifies by assigning it to a flow QoS processor on the outbound card scedules the packet QoS Processor

The Forwarding Engines – Hardware Overview Interesting tweaks Place two pairs of int instructions together Or, place 1 pair of int and 1 pair of float instruction Fit entire fwd code in 8kB Icache Fit routes in Scache [95%] Fit all routes in Bcache Allow the network processor to update this cache Alpha Processor 415MHz, 64 bit, 32 regs 2 int, 2 float exec units 4 instruction groups 3 internal, 1 ext cache Very high data speeds Large instruction cache Large secondary cache Control over r/w sequencing

Forwarding Engine – Hardware Operation Alpha Processor Request FIFO Reply FIFO In Packet IDOut Packet ID Link Layer Len IP Header (16B) Link Layer ID Src Card Src Port TypeCastErrorunused Link Layer Len Dest Tag Multicast count TypeCast Error ? unused

Forwarding Engine – Software Confirm that packet header is from IPv4 datagram Confirm packet length and header length is reasonable Confirm no IP options are used Compute hash offset into route cache and load route Start loading the next header Stage 1: Sanity CheckStage 2: Extended RouteStage 2: TTL, CRC

Forwarding Engine – Software Does cached route match the destination? If not, consult the Bcache Is packet destined for this router? Then don’t update TTL Update TTL otherwise Stage 1: Sanity CheckStage 2: Extended Route CheckStage 2: TTL, CRC

Forwarding Engine – Software Updated TTL is written to IP header New checksum is written Routing info is extracted New link layer info computed Entire packet is written out Stage 1: Sanity CheckStage 2: Extended RouteStage 2: TTL, CRC

Instructions in Fast Path InstructionsCount%Exec Unit And, bic, bis, ornot, xor2428E0/E1 ext*, ins*, sll, srl, zap2327E0 add*, sub*, s*add89E0/E1 branches89E1 ld*67E0/E1 addt, cmpt*, fcmov*67FA st*45E0 fnop45FM wmb11E0 nop11E0/E1 Some hardware specific tweaks are employed nop and fnop used to pad instructions – eq to efficiency gains in x86 Many bit operations required to extract data

Tricks and Exceptions IP header checksum is not checked Saves 9 cycles – about 21% Errors are rare. They are corrected by TCP anyways IPv6 does not implement error checking What do modern routers do? What is not handled by fast code? Destinations that miss the route cache Headers with errors Headers with IP options Datagrams that require fragmentation Multicast datagrams

Switched Bus 15 port crossbar type switch is used Connects one source port to one destination port Multicast requires lowering of throughput and possible inherent fairness issues at any moment During a transfer 15 simultaneous transfers can happen Remember, only one output packet per port

Head of line Blocking Head of line blocking occurs when the first packet in a queue is blocked because its destination interface is busy This causes all subsequent packets to be blocked even if their dest interfaces are free Avoided in a scheme where an interface gets to disclose all interfaces it is interested in To 3To 2To 1 To 5To 4To x From 3 From 4

Matrix of Interests Disclose all interfaces for which your queue has at least one packet Allows transfer of a packet even from behind the queue To 3To 2To 1 To 5To 4To From 3 From 4 x xx 2x 3x 4x 5x

Wavefront Method By allowing a particular transfer to go through, the algorithm disallows few other possible transfers Therefore, instead of rasterizing through all entries look at only the allowed entries. This speeds up the algo by reducing the number of comparisons 3 is allowed to send to 1. No need to check 4  1 and 5  1 x xx 2x 3x 4x 5x

Scheduling of switch Epoch 1 Epoch 2 Epoch 3 Epoch 4 Source card has data for the destination card Switch allocator decides to schedule transfer for forth epoch Cards are informed about the imminent transfer; data path cards are informed to configure themselves Data transfer takes place 16 cycles

Line Card Design, Inbound, Outbound Packets Input Line Card OC-48c 2.4Gbps OC-12c 622Mbps HIPPI 800Mbps Ethernet 100Mbps 64 bytes pages Alpha Processor Forwarding Engine ORCA 2C04A FPGA (QoS Processor) Output Line Card Alpha Processor Network Processor

Conclusions Provides a huge impetus to the router industry to start working towards faster core routers. It shows that it is possible to examine every packet header and make decisions fast enough for multi Gbps routers It is unique in discussing the actual assembly level tricks to achieve the required throughput The paper creates an appreciation of the issues faced by the core routers on the Internet Routers can keep up! Right selection of hardware, placement and software is crucial.

Open Questions The network processor ARPs all possible addresses at a low frequency. Is doing such a thing acceptable on the Internet backbone? When the Network Processor writes the newly discovered routes to the B-cache, how does it synchronize with possible reads from the forwarding engine? How often do the S-cache flush because of a change in B-cache? How expensive was it to build this router? No security aspects such as mitigation of DoS attacks not discussed No audit trails

Open Questions The network processor ARPs all possible addresses at a low frequency. Is doing such a thing acceptable on the Internet backbone? When the Network Processor writes the newly discovered routes to the B-cache, how does it synchronize with possible reads from the forwarding engine? How often do the S-cache flush because of a change in B-cache? How expensive was it to build this router? No security aspects such as mitigation of DoS attacks not discussed No audit trails

Today’s State of the Art Routing using GPU [link to paper]link to paper Cisco nPower X1, with 336 multi-threaded processor cores [link]link The Alcatel-Lucent 7950 Extensible Routing System has 16Tbps bandwidth [link]link Cisco’s Carrier Routing System routes at 400Gbps per link [link]link

[reference]reference Asia-Pacific 6007Gbps US-Canada 12100Gbps Europe 27718Gbps Africa 397Gbps Latin-America 3567Gbps

Thank You!