P4: Driving Innovation In Server-Based Networking

2y ago
11 Views
3 Downloads
457.86 KB
6 Pages
Last View : 1m ago
Last Download : 2m ago
Upload by : Macey Ridenour
Transcription

WHITE PAPERP4: Driving Innovation in Server-BasedNetworkingRESEARCHERS AREINNOVATING USINGP4 IN SERVER-BASEDNETWORKING SYSTEMSWITH NOVEL APPROACHESTO OFFLOADING SERVERSAND REALIZING NEWFUNCTIONALITY.INTRODUCTIONProgramming Protocol-independent Packet Processors, or P4, is a new high-level programming language for software-defined networks [1, 2]. It is intended to describe the behavior ofthe data plane of any system or appliance that forwards, modifies or inspects network traffic.P4 started as an innovation for the network core [3], but researchers focused on server-basednetworking recognized its value to applications in their areas of interest. Smart NICs, nowbeing deployed into data centers [4] are a potential vehicle to exploit P4 in server-basednetworking applications. Researchers are innovating using P4 in server-based networkingsystems with novel approaches to offloading servers and realizing new functionality.This white paper is an introduction to recent research in P4 for server-based networking.ABOUT P4The P4 language [5] is based on the match-action flow paradigm used in OpenFlow [6]. In thisapproach, actions are used to change packet contents when they match specific keys. Thelanguage’s constructs focus on enabling users to efficiently describe match-action flows.P4 is meant to describe or specify the behavior of the data plane, but not how the data planeis actually implemented. Depending on the flexibility and complexity of the system or appliance, the data plane can run the gamut from fixed-function ASICs (such as those used inLayer 2 switches) all the way up to fully programmable, general-purpose CPUs found in whitebox implementations of routers, web proxies and firewalls.One of the primary goals of P4 is to keep the language hardware-independent (or target-independent). When the designers of P4 state that it is a programming language intended forpacket processors, which packet processing device are they referring to? Hardwired ASICs,FPGAs or CISC CPUs? The answer is: all of the above, provided they can interpret P4.The job of interpreting P4 behavioral code and generating a lower-level, device-specific implementation falls to manufacturers of the target systems. For example, Netronome’s Agilio Smart NICs have programmable data planes. Hardware and software from Netronome makeit possible to conceive, develop and debug P4 code on these Smart NICs [7]. P4 can similarlybe compiled onto architectures ranging from a TCP/IP stack on an x86, through to full-customASICs, using open-source or custom-tools from manufacturers [8-12].Netronome Systems, Inc.page 1 of 6

WHITE PAPER: P4: Driving Innovation in Server-Based NetworkingExpressive/Complete Support flow switching and flow termination Compact description of common Unambiguous in expressing networking functionalityEase of UseTCP/IPStackeBPFOpenvSwitchFlexible Support the expected evolution of the data plane Orthogonalize the data plane HW and SWNPUsPerformant Trade flexibility for performance Support architecture-specific performant featuresFPGAASICsPortable Span the range of architectures in the data planePerformanceFIGURE 1 – P4 goals for hardware independenceP4 — OFFLOAD AND SYSTEM DESIGNMany networking systems use special-purpose hardware to accelerate networking functionsto meet line-rate and functionality requirements and to offload the host. The P4 languageitself assumes that some actions are better done using externs, treated as black boxes, implemented using accelerators or special-purpose external hardware [5].Highly programmable accelerators composed of a large number of programmable coressuch as in network processors, or logic gates as in FPGAs, offer the potential to combineperformance with the flexibility required in practical networks. Their use has been hamperedbecause developers typically find accelerators hard to program. A developer has to manuallymanage functions that are automated by the operating system or other services in general-purpose systems. A developer has to implement two classes of functions when programming accelerators: Packet physical management: Logic to transport a packet from interface to interface andgive it access to system resources, i.e. operating-system like functions.Packet function processing: Logic to alter the contents of the packet (protocol headers)and route it to the appropriate interface, i.e. actual application logic.Network system developers are generally interested in the second class of functions. In systems with accelerators, they are required to implement the first type to achieve their objectives.A language like P4 enables an interesting approach in systems with programmable accelerators. Physical packet management can be decoupled from functional packet management. Aportion of the programmable logic in the accelerator can be set aside as a resource island, asandbox. The accelerator vendor can now offer a toolchain to map the P4 code to the sandbox. The accelerator vendor can write performant software to use the non-sandbox resourceson the accelerator to manage packets. The management software presents packets to thesandbox through logical interfaces. Network developers can write code in P4 to describe thelogical network functionality required in the accelerator.Netronome Systems, Inc.page 2 of 6

WHITE PAPER: P4: Driving Innovation in Server-Based NetworkingWith this approach, network function developers can focus on what is relevant to them, packet function processing. Netronome uses the sandbox approach in its P4 SDK and toolchain.Additionally, with Netronome’s P4 SDK developers can implement P4 external functions inC. This allows developers to realize features, especially stateful features, that are not possiblewith P4. Figure 3 shows the process with which developers create, compile and downloadP4 and C code to the Netronome SmartNIC. Figure 3 shows how P4/C code is inserted into aresource island.App.P4P4 FE CompilerOpen source P4 compiler integrated inSDK from P4.org enhanced to supprt theIR layer from OpenSDN.orgYml based IRfrom OpenSDN.orgApp.IRMAC/IP address filteringNew tunnels processingInsert new metadataMatch on certain fieldsMirror based on metadataTruncate mirrored packetAttach timestamp to packetSandbox CP4 BE CompilerNetronome’sback-end compilerStateful FilteringFilter packets of fixed IP addressesFilter the IP address with TCP ports,add VLAN tagNetwork Flow C compiler (nfcc)Stateful StatisticsCount a flow — with a fixed IP addressIPv4/6 statisticsApp. FirmwareRun time API generatedby P4 compilerTabledata.JSONRuntime I/FAgilio SmartNICFIGURE 2 – The P4 Compilation ProcessP4P4CMatch FieldsActionsMAC DA/SADropVLAINCountDrivers/API for PCIe andNetwork ConfigurationC SandboxIngress ProcessPackets fromNetwork Portor Host via PCIeConfig.ParserField Extractand MetadataGenerate(Port, IP, DA/SA, MAC,DA, SA, TCP, SP, TCP,DP, MPLS Label, ET)COSEgress processIP DA/SATo SandboxSPTo HostDPTo PortUser P4 Code (dathpath)Process metadataPacket modificationStateful operation- Count same flow- Drop and count flowUser C codeEgressProcessingin P4Packet Mod. CounterLabel push/popPackets toNetwork Port orto Host via PCIeMetadata basedprocessingP4 codeConfig.FIGURE 3 – Mapping P4/C code to a resource islandNetronome Systems, Inc.page 3 of 6

WHITE PAPER: P4: Driving Innovation in Server-Based NetworkingP4 AND SERVER-BASED NETWORKINGTHE ABILITY TOEXPERIMENT WITHNEW PROTOCOLS HASGIVEN DATA PLANERESEARCHERS THEABILITY TO INVESTIGATEAND PROTOTYPE ANP4’s development focus was and continues to be the switching data plane in the networkcore. However, P4 has shown surprising growth in server-based networking applications.Most network data planes perform three basic operations: packet parsing, match/actionoperations and packet reassembly. P4 provides coding constructs that make describing theseoperations easy to understand. P4 programs have to describe the expected contents of thepackets processed as well as the way in which they are modified. P4 has the ability to definenot just standard packet header structures the parser will extract, but also entirely new protocols as seen in Figure 4.EXTRAORDINARYRANGE OF NEWHeadersSystemInfoNETWORK FUNCTIONSwxyz6789HeadersON oadFIGURE 4 – Header parsing in P4Developers in P4 can experiment in software-defined networks (SDN) with entirely newprotocols at any layer of the network stack. This is a contrast with prior SDN efforts such asOpenFlow, which were built on existing networking standards. Parsing Ethernet, IP or TCPheaders using OpenFlow is not a problem, as OpenFlow supports those protocols. Alternatively, if you need to parse a newer protocol, such as an NVGRE packet, you will have to waituntil OpenFlow adds support for it.The ability to experiment with new protocols has given data plane researchers the abilityto investigate and prototype an extraordinary range of new network functions on production networking hardware. More importantly, with the island approach, they can focus theirenergies on the specific idea of interest while producing results in real networks. Secondly,with code in C, they are able to close functional gaps in P4. Netronome supports research anddevelopment in P4 (and other data plane acceleration technologies) through the communityportal Open-NFP. We briefly discuss some of the projects in P4 proposed by the communityon Open-NFP [13].An obvious focus area for researchers is using P4 to drive new approaches to realizing networking systems on commodity off-the-shelf servers, both in bare-metal applications and invirtual applications in network functions virtualization(NFV) systems [14-16]. In bare-metal applications, researchers have proposed using P4 to provide multicast for network media streaming with unicast semantics, using P4 to implement information-centric networking concepts,using P4 to offload hosts and implement 5G network protocols on SmartNICs, and using P4Netronome Systems, Inc.page 4 of 6

WHITE PAPER: P4: Driving Innovation in Server-Based Networkingas a mechanism for OpenFlow controllers to push security policies to NICs and switches. Invirtual applications, researchers are using P4 as a mechanism to offload Virtual Network Functions (VNFs) on hosts in NFV systems and/or to enhance VNF functionality.The second area of interest has been protocols to implement new functionality [17, 18]. Oneinteresting area is using a NIC to offload the host to better use host resources or improveapplication performance. Examples of this include offloading consensus protocol services tothe network from hosts in distributed systems and enabling applications to directly receivenetwork data by bypassing the network stack in distributed applications. Researchers havealso proposed using P4 to program the data plane in Open Virtual Switch (OVS) [11].Researchers are also planning to use the ability to define custom protocols on a NIC to investigate new approaches to security and monitoring [19-21]. These include new connection authentication protocols, new methods to authenticate and isolate flows securely, and protocol-basedapproaches to monitoring network performance in real time.CONCLUSIONLooking forward, more change and growth are likely. Researchers can participate in andcontribute to this effort in several ways. The P4 organization holds developer days twice ayear and a research conference [22] once a year. The organization also drives language andarchitecture development through working groups. For example, the next version of P4, P4-16,is on the horizon. The P4 language repo[23] hosts a lot of example code for applications andnetworking functions. Discounted hardware to use with P4, a development SDK and learning material, including several complete P4 and P4/C projects [24] and labs, are available toresearchers and at Open-NFP.References1.The P4 Language Consortium, www.p4.org2. P. Bosshart, et al, “P4: Programming Protocol-Independent Packet Processors” ACM SigcommComputer Communications Review (CCR). Volume 44, Issue #3 (July 2014)3. A. Sivaraman. “DC. p4: programming the forwarding plane of a data-center switch.” Proceedings ofthe 1st ACM SIGCOMM Symposium on Software Defined Networking Research. ACM, 2015.4. D. Firestone, “SmartNIC: Accelerating Azure’s Network with FPGAs on OCS servers”, OpenCompute Project, http://files.opencompute.org/oc/public.php?service files&t 5803e581b55e90e51669410559b91169&download&path //SmartNIC%20OCP%202016.pdf5. The P4 language specification, atest.pdf6. The Open Networking Foundation, OpenFlow, low7. J. Tönsing, “P4/PIF C Programmable Intelligent NICs: Requirements and Implementation Notes”,P4 Workshop, 2015, http://schd.ws/hosted hop%20Nov%2018%202015.pdf8. G. Brebner, “P4 for an FPGA Target”, P4 Workshop, 2016, http://sched.co/3ZQA9. J. Fastabend, P4 on the Edge, P4 Workshop, 2016, http://sched.co/6ouC10. P. Li and Y. Luo. 2016. P4GPU: Accelerate Packet Processing of a P4 Program with a CPU-GPU Heterogeneous Architecture. In Proceedings of the 2016 Symposium on Architectures for Networkingand Communications Systems (ANCS ‘16). ACM, New York, NY, USA, 125-126.Netronome Systems, Inc.page 5 of 6

WHITE PAPER: P4: Driving Innovation in Server-Based Networking11. M. Shahbaz et al, “PISCES: A Programmable, Protocol-Independent Software Switch”, In Proceedings of the 2016 conference on ACM SIGCOMM 2016 Conference (SIGCOMM ‘16). ACM, New York,NY, USA, 525-538.12. M. Budiu, “Compiling P4 to EBPF”, frontends/p413. Research Projects on Open-NFP, www.open-nfp.org/projects14. A. Azgin, R. Ravindran, G.Q.Wang “pit/LESS: Stateless Forwarding in Content Centric Networks”,IEEE Globecom, 2016.15. M. Moradi, W. Wu, Li Erran Li. Z. M. Mao, “SoftMoW: Recursive and Reconfigurable Cellular WAN Architecture”, In Proceedings of the 2016 conference on ACM SIGCOMM 2016 Conference (SIGCOMM‘16). ACM, New York, NY, USA.16. D. Hancock and J. van der Merwe. “HyPer4: Using P4 to Virtualize the Programmable Data Plane.”Proceedings of the 12th International on Conference on emerging Networking EXperiments andTechnologies. ACM, 2016.17. H-T. Dang,et al., “Network Hardware-Accelerated Consensus”, USI Technical Report 2016-03, May2016.18. A. Kaufmann et al, “High Performance Packet Processing with FlexNIC”, In 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS),Atlanta, GA, USA, April 2016.19. R. van der Pol, et al. “Assessment of SDN technology for an easy-to-use VPN service.” Future Generation Computer Systems 56 (2016): 295-302.20. J. Sonchack et al. “Enabling Practical Software-defined Networking Security Applications withOFX.” Network and Distributed System Security, 201621. S. Song and T. Choi, “P4 In-band Network Telemetry Use Cases - Seeing Trees and Leaves to LearnAbout Forests”, P4 Workshop, 2016.22. P4 Workshop 2016, https://2016p4workshop.sched.com/23. The P4 language repo, https://github.com/p4lang24. The Open-NFP repo, https://github.com/open-nfpswNetronome Systems, Inc.2903 Bunker Hill Lane, Suite 150 Santa Clara, CA 95054Tel: 408.496.0022 Fax: 408.586.0002www.netronome.com 2017 Netronome. All rights reserved. Netronome is a registered trademark and the Netronome Logo is a trademark of Netronome.All other trademarks are the property of their respective owners.WP-P4-03/2017page 6 of 6

be compiled onto architectures ranging from a TCP/IP stack on an x86, through to full-custom ASICs, using open-source or custom-tools from manufacturers [8-12]. P4: Driving Innovation in Server-Based Networking RESEARCHERS ARE INNOVATING USING P4 IN SERVER-BASED NETWORKING SYSTEMS WITH

Related Documents:

When provisioning a Windows Server for a specific role there are additional items to consider for further securing the server. When planning and provisioning your server layout, designate one primary purpose per server. Whenever possible, designate one server as the database server, one server as the web server, and one server as the file server.

Server 2005 , SQL Server 2008 , SQL Server 2008 R2 , SQL Server 2012 , SQL Server 2014 , SQL Server 2005 Express Edition , SQL Server 2008 Express SQL Server 2008 R2 Express , SQL Server 2012 Express , SQL Server 2014 Express .NET Framework 4.0, .NET Framework 2.0,

Introduction 1-2 Oracle Forms Server and Reports Server Installation Guide Introduction Oracle Forms Server and Reports Server is an integrated set of database tools i Oracle Forms i. Oracle Forms Server Server and Reports Server Server. UNIX. Installation Guide Compaq Tru64 .

Administrasi Server Sementara itu peta konsep mata pelajaran menjelaskan struktur urutan kegiatan belajar dan topik materi pelajaran. Gambar 2 dibawah ini menjelaskan peta konsep mata pelajaran Administrasi Server kelas XI semester 2. Administrasi Server 2 1. Server FTP 2. Server e-Mail 3. Server WebMail 4. Server Remote 5. Server NTP 6. Server .

PWC Driving Licence In NSW it is compulsory for every person driving a PWC to hold a current PWC driving licence. There are two types of PWC driving licence: 1. PWC driving licence for those aged 16 years and over. 2. Young Adult PWC driving licence for people aged from 12 to less than 16 years. A Young Adult PWC driving licence

Eating while driving and talking on a hand-held cell phone while driving are the two most common distracted driving behaviors. 15 %Yes-No Total Eaten food while driving 46%-53% Talked on a hand-held phone while driving 32%-67% Dealt with your car's navigation system while driving 23%-75% Texted or answered a text on your hand-held cell phone .

Pemrograman Web dengan PHP dan MySQL Achmad Solichin (achmatim@gmail.com) 7 Bab 1 Pengenalan Web Server dan Server Side Scripting Pengenalan Web Server Instalasi dan Konfigurasi Web Server Instalasi dan Konfigurasi PHP Testing Web Server dan PHP Web Server Web Server merupakan sebuah perangk

System x3650 Type 7979 Turn off the server and install options. Did the server start correctly? Yes No Go to the Server Support flow chart on the reverse side of this page. Start the server. Did the server start correctly? Yes No Install the server in the rack cabinet and cable the server and options; then, restart the server. Was the server .