A Survey on Data Plane Programming with P4: Fundamentals, Advances, and Applied Research
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Control Plane Overview Subnet 1.2 Subnet 1.2
The Network Layer: Control Plane Overview Subnet 1.2 Subnet 1.2 R3 R2 R6 Interior Subnet 1.2 R5 Subnet 1.2 Subnet 1.2 R7 1. Routing Algorithms: Link-State, Distance Vector R8 R4 R1 Subnet 1.2 Dijkstra’s algorithm, Bellman-Ford Algorithm Exterior Subnet 1.2 Subnet 1.2 2. Routing Protocols: OSPF, BGP Raj Jain 3. SDN Control Plane Washington University in Saint Louis 4. ICMP Saint Louis, MO 63130 5. SNMP [email protected] Audio/Video recordings of this lecture are available on-line at: Note: This class lecture is based on Chapter 5 of the textbook (Kurose and Ross) and the figures provided by the authors. http://www.cse.wustl.edu/~jain/cse473-16/ Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain 5-1 5-2 Network Layer Functions Overview Routing Algorithms T Forwarding: Deciding what to do with a packet using 1. Graph abstraction a routing table Data plane 2. Distance Vector vs. Link State T Routing: Making the routing table Control Plane 3. Dijkstra’s Algorithm 4. Bellman-Ford Algorithm Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain 5-3 5-4 Rooting or Routing Routeing or Routing T Rooting is what fans do at football games, what pigs T Routeing: British do for truffles under oak trees in the Vaucluse, and T Routing: American what nursery workers intent on propagation do to T Since Oxford English Dictionary is much heavier than cuttings from plants. -
ECE 435 – Network Engineering Lecture 15
ECE 435 { Network Engineering Lecture 15 Vince Weaver http://web.eece.maine.edu/~vweaver [email protected] 25 March 2021 Announcements • Note, this lecture has no video recorded due to problems with UMaine zoom authentication at class start time • HW#6 graded • Don't forget HW#7 • Project Topics due 1 RFC791 Post-it-Note Internet Protocol Datagram RFC791 Source Destination If other than version 4, Version attach form RFC 2460. Type of Service Precedence high reliability Routine Fragmentation Offset high throughput Priority Transport layer use only low delay Immediate Flash more to follow Protocol Flash Override do not fragment CRITIC/ECP this bit intentionally left blank TCP Internetwork Control UDP Network Control Other _________ Identifier _______________________ Length Header Length Data Print legibly and press hard. You are making up to 255 copies. _________________________________________________ _________________________________________________ _________________________________________________ Time to Live Options _________________________________________________ Do not write _________________________________________________ in this space. _________________________________________________ _________________________________________________ Header Checksum _________________________________________________ _________________________________________________ for more info, check IPv4 specifications at http://www.ietf.org/rfc/rfc0791.txt 2 HW#6 Review • Header: 0x000e: 4500 = version(4), header length(5)=20 bytes ToS=0 0x0010: 0038 = packet length (56 bytes) 0x0012: 572a = identifier 0x0014: 4000 = fragment 0100 0000 0000 0000 = do not fragment, offset 0 0x0016: 40 = TTL = 64 0x0017: 06 = Upper layer protocol (6=TCP) 0x0018: 69cc = checksum 0x001a: c0a80833 = source IP 192.168.8.51 0x001e: 826f2e7f = dest IP 130.111.46.127 • Valid IPs 3 ◦ 123.267.67.44 = N ◦ 8.8.8.8 = Y ◦ 3232237569 = 192.168.8.1 ◦ 0xc0a80801 = 192.168.8.1 • A class-A allocation is roughly 224=232 which is 0.39% • 192.168.13.0/24. -
FRR - a New Quagga Fork with a More Open Development
FRR - A new Quagga fork with a more open development Martin Winter [email protected] 1 What is FRR ? (for the not so technical People) ‣ Open Source (GPLv2+) Routing Stack ‣ Implements RIP, RIPng, OSPF (v2&v3), ISIS, BGP, PIM, LDP ‣ Fork of Quagga ‣ Works on Linux and most BSD based systems ‣ For use in many Clouds as virtual routers, white box vendors and network providers (full routing stack) 2 FRR - Why a new fork? Community Driven Faster Development Open Development Model 3 FRR - Who is behind the Fork? 4 FRR - What’s different? ‣ Methodical vetting of submissions ‣ More automated testing of contributions ‣ Github centered development ‣ Elected Maintainers & Steering Committee ‣ Common Assets held in trust by Linux Foundation 5 FRR – Current Status First stable version (2.0) – out very soon BGP Zebra LDP (new) ‣ Performance & Scale fixes ‣ MPLS Support IPv4/v6 for static ‣ RFC 5036 (LDP Specification) LSPs ‣ AddPath Support ‣ RFC 4447 (Pseudowire Setup and Maintenance using LDP) ‣ Remote-AS internal/external ‣ 32-bit route-tags Support ‣ RFC 4762 – (Virtual Private LAN ‣ Nexthop Tracking Service (VPLS) using LDP) ‣ BGP Hostname support ‣ RFC 5549 (unnumbered) Support ‣ RFC 6720 - The Generalized TTL ‣ Update Groups Security Mechanism (GTSM) for ‣ RFC 5549 (unnumbered) Support LDP ‣ Nexthop tracking ‣ RFC 7552 - Updates to LDP for OSPF V2/V3 IPv6 ‣ 32-bit route-tags ‣ OpenBSD Support restored Others Testing ‣ 32-but route-tags ‣ JSON Support ‣ Dejagnu unittests changed to pytest ‣ RFC 5549 (unnumbered) Support ‣ VRF Lite (Linux VRF device support) for BGP and Zebra ‣ Topology Tests 6 ‣ Snapcraft Packaging FRR - Links ‣ Website (very soon!) • http://www.frrouting.org ‣ Github • http://github.com/freerangerouting/frr.git ‣ Issue Tracker • https://github.com/freerangerouting/frr/issues ‣ New feature list, test results etc (until web is up) • https://github.com/freerangerouting/frr/wiki 7. -
The Network Layer: Control Plane
CHAPTER 5 The Network Layer: Control Plane In this chapter, we’ll complete our journey through the network layer by covering the control-plane component of the network layer—the network-wide logic that con- trols not only how a datagram is forwarded among routers along an end-to-end path from the source host to the destination host, but also how network-layer components and services are configured and managed. In Section 5.2, we’ll cover traditional routing algorithms for computing least cost paths in a graph; these algorithms are the basis for two widely deployed Internet routing protocols: OSPF and BGP, that we’ll cover in Sections 5.3 and 5.4, respectively. As we’ll see, OSPF is a routing protocol that operates within a single ISP’s network. BGP is a routing protocol that serves to interconnect all of the networks in the Internet; BGP is thus often referred to as the “glue” that holds the Internet together. Traditionally, control-plane routing protocols have been implemented together with data-plane forwarding functions, monolithi- cally, within a router. As we learned in the introduction to Chapter 4, software- defined networking (SDN) makes a clear separation between the data and control planes, implementing control-plane functions in a separate “controller” service that is distinct, and remote, from the forwarding components of the routers it controls. We’ll cover SDN controllers in Section 5.5. In Sections 5.6 and 5.7 we’ll cover some of the nuts and bolts of managing an IP network: ICMP (the Internet Control Message Protocol) and SNMP (the Simple Network Management Protocol). -
IS-IS Client for BFD C-Bit Support
IS-IS Client for BFD C-Bit Support The Bidirectional Forwarding Detection (BFD) protocol provides short-duration detection of failures in the path between adjacent forwarding engines while maintaining low networking overheads. The BFD IS-IS Client Support feature enables Intermediate System-to-Intermediate System (IS-IS) to use Bidirectional Forwarding Detection (BFD) support, which improves IS-IS convergence as BFD detection and failure times are faster than IS-IS convergence times in most network topologies. The IS-IS Client for BFD C-Bit Support feature enables the network to identify whether a BFD session failure is genuine or is the result of a control plane failure due to a router restart. When planning a router restart, you should configure this feature on all neighboring routers. • Finding Feature Information, on page 1 • Prerequisites for IS-IS Client for BFD C-Bit Support, on page 1 • Information About IS-IS Client for BFD C-Bit Support, on page 2 • How to Configure IS-IS Client for BFD C-Bit Support, on page 2 • Configuration Examples for IS-IS Client for BFD C-Bit Support, on page 3 • Additional References, on page 4 • Feature Information for IS-IS Client for BFD C-Bit Support, on page 4 Finding Feature Information Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table. -
Laboratory 2 ARP; Zebra Routing Daemon Part1. Introduction
Facultatea de Electronică şi Telecomunicaţii Communications Network Laboratory 1 Laboratory 2 ARP; Zebra routing daemon Part1. Introduction ARP Address Resolution Protocol, ARP, is used by a system, which wants to send data an IP address on the local network, and it doesn’t know the destination MAC address. Systems keep an ARP look-up table where they store information about the association between the IP and MAC addresses. If the MAC address is not in the ARP table, then ARP protocol is used it knowing the destination IP addresss. ARP operation for communications inside the local network: • System checks its ARP table for the MAC address associated with the IP address. • If the MAC address is not in the ARP table, an ARP request is broadcasted in the local network, requesting the MAC address for the specified IP address. • The machine with the requested IP address will reply with an ARP packet containing its MAC address. • Thepacket is sent to the learned MAC address. ARP operation for communication between hosts located in different networks • System determines that the IP address does not belong to the local network and decides to send the packet to the gateway. It has to determine the MAC address of the gateway. • It broadcast an ARP request asking for the MAC address of the IP address belonging to the gateway. It knows the gateway’s IP address from the static route specifying the default gateway. • The gateway will reply with its MAC address. • The packet is sent to the gateway. • The gateway will be in charge with sending the packet to the next hop towards the destination. -
Challenges in Testing How Opensourcerouting Tests Quagga
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Sevilla, Spain Feb 10-12, 2016 Challenges in Testing How OpenSourceRouting tests Quagga Martin Winter Feb 10, 2016 1 Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Who is OpenSourceRouting ? ‣ Who is Open Source Routing ? • www.opensourcerouting.org • Project by NetDEF (Network Device Education Foundation) - www.netdef.org - Non-Profit Company based in California • Working on Quagga Routing ‣ Who is Martin Winter ? • Co-Founder of NetDEF • Focusing on Testing Quagga • Previously worked for Equipment Vendor & large ISP 2 Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) What is Quagga ? ‣ Routing Protocol Stack • RIP / RIPNG / OSPFv2 / OSPFv3 / ISIS / BGP / PIM • Running on Linux / FreeBSD / NetBSD / OpenBSD / Solaris • Used on low-end OpenWRT boxes, physical and virtual software routers, SDN deployments, distributed routers • Originally derived from Zebra • GPLv2+ Open Source / “Community” owned & controlled 3 Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Quagga Community How it works today No single entity behind Quagga No Large community of “contributers” “Owner” Maintainer = person with commit access Main source git on Savannah Simple Single master branch with Git Model development branch merged into every few months Email Code -
Vyos Documentation Release Current
VyOS Documentation Release current VyOS maintainers and contributors Jun 04, 2019 Contents: 1 Installation 3 1.1 Verify digital signatures.........................................5 2 Command-Line Interface 7 3 Quick Start Guide 9 3.1 Basic QoS................................................ 11 4 Configuration Overview 13 5 Network Interfaces 17 5.1 Interface Addresses........................................... 18 5.2 Dummy Interfaces............................................ 20 5.3 Ethernet Interfaces............................................ 20 5.4 L2TPv3 Interfaces............................................ 21 5.5 PPPoE.................................................. 23 5.6 Wireless Interfaces............................................ 25 5.7 Bridging................................................. 26 5.8 Bonding................................................. 27 5.9 Tunnel Interfaces............................................. 28 5.10 VLAN Sub-Interfaces (802.1Q)..................................... 31 5.11 QinQ................................................... 32 5.12 VXLAN................................................. 33 5.13 WireGuard VPN Interface........................................ 37 6 Routing 41 6.1 Static................................................... 41 6.2 RIP.................................................... 41 6.3 OSPF................................................... 42 6.4 BGP................................................... 43 6.5 ARP................................................... 45 7 -
Efficient Network Reachability Analysis Using a Succinct Control Plane Representation
Efficient Network Reachability Analysis using a Succinct Control Plane Representation Seyed K. Fayaz Tushar Sharma Ari Fogel∗ Ratul Mahajany Todd Millsteinz Vyas Sekar George Varghesez CMU ∗Intentionet yMicrosoft Research zUCLA Abstract— To guarantee network availability and se- curity, operators must ensure that their reachability poli- cies (e.g., A can or cannot talk to B) are correctly im- plemented. This is a difficult task due to the complexity Routers Environment at )me t configura)on files of network configuration and the constant churn in a net- Network work’s environment, e.g., new route announcements ar- Environment at )me t+1 control plane rive and links fail. Current network reachability analysis Environment at )me t+2 … … techniques are limited as they can only reason about the data plane at )me t+2 current “incarnation” of the network, cannot analyze all data plane at )me t+1 configuration features, or are too slow to enable explo- data plane at )me t ration of many environments. We build ERA, a tool for A B efficient reasoning about network reachability. Instead of Figure 1: Reachability behavior of a network (e.g., A reasoning about individual incarnations of the network, can talk to B) is determined by its data plane, which, ERA directly reasons about the network “control plane” in turn, is the current incarnation of the control plane. that generates these incarnations. We address key expres- siveness and scalability challenges by building (i) a suc- To highlight this challenge, it is useful to consider prior cinct model for the network control plane (i.e., various work on network verification. -
The Network Layer Data Plane
The Network Layer: Data Plane Overview Net 1 R1 Net 2 R2 Net 3 R3 Net 4 1. Network Layer Basics Raj Jain 2. What’s inside a router? Washington University in Saint Louis 3. Forwarding Protocols: IPv4, DHCP, NAT, IPv6 Saint Louis, MO 63130 4. Software Defined Networking [email protected] Audio/Video recordings of this lecture are available on-line at: Note: This class lecture is based on Chapter 4 of the textbook http://www.cse.wustl.edu/~jain/cse473-16/ (Kurose and Ross) and the figures provided by the authors. Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain 4-1 4-2 Overview Network Layer Basics Forwarding and Routing 1. Forwarding and Routing T Forwarding: Input link to output link via Address prefix lookup in a table. 2. Connection Oriented Networks: ATM Networks T Routing: Making the Address lookup table 3. Classes of Service T Longest Prefix Match 4. Router Components 5. Packet Queuing and Dropping 125.200.1.3 126.23.45.67 125.200.1.1 125.200.1.2 128.272.15.2 2 1 Prefix Next Router Interface 126.23.45.67/32 125.200.1.1 1 128.272.15/24 125.200.1.2 2 128.272/16 125.200.1.1 1 Ref: Optional Homework: R3 in the textbook Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. -
Tesseract: a 4D Network Control Plane Hong Yan†, David A
Tesseract: A 4D Network Control Plane Hong Yany, David A. Maltzz, T. S. Eugene Ngx, Hemant Gogineniy, Hui Zhangy, Zheng Caix yCarnegie Mellon University zMicrosoft Research xRice University Abstract example, load balanced best-effort forwarding may be implemented by carefully tuning OSPF link weights to We present Tesseract, an experimental system that en- indirectly control the paths used for forwarding. Inter- ables the direct control of a computer network that is un- domain routing policy may be indirectly implemented by der a single administrative domain. Tesseract’s design setting OSPF link weights to change the local cost met- is based on the 4D architecture, which advocates the de- ric used in BGP calculations. The combination of such composition of the network control plane into decision, indirect mechanisms create subtle dependencies. For in- dissemination, discovery, and data planes. Tesseract pro- stance, when OSPF link weights are changed to load bal- vides two primary abstract services to enable direct con- ance the traffic in the network, inter-domain routing pol- trol: the dissemination service that carries opaque con- icy may be impacted. The outcome of the synthesis of trol information from the network decision element to the indirect control mechanisms can be difficult to predict nodes in the network, and the node configuration service and exacerbates the complexity of network control [1]. which provides the interface for the decision element to The direct control paradigm avoids these problems be- command the nodes in the network to carry out the de- cause it forces the dependencies between control policies sired control policies. to become explicit. -
Single-Chip Control/Data-Plane Processors Trends, Features, Deployment
Single-Chip Control/Data-Plane Processors Trends, Features, Deployment By Linley Gwennap Principal Analyst June 2008 www.linleygroup.com Single-Chip Control/Data-Plane Processors By Linley Gwennap, Principal Analyst, The Linley Group This paper examines the trend toward combining control-plane and data-plane processing on a single chip. It discusses the technologies driving this trend, the common features of these chips, their advantages and disadvantages, and how they are being deployed today and into the future. What Is an SCDP? A single-chip control/data-plane processor (SCDP) combines control-plane and data- plane processing on a single chip. In networking or communications equipment, the data plane processes each packet as it passes through the system. Data-plane tasks may include converting packets from one protocol to another, encrypting or decrypting data, filtering unwanted packets, prioritizing packets, and routing them to their next destina- tion. A relatively simple processor with a small amount of software can perform these tasks, but they must be done quickly. Packets must be processed at least at wire speed, that is, the speed of the incoming network connection (e.g., 1Gbps for a Gigabit Ethernet connection). The control plane handles packets that require extra processing, typically about 5% to 10% of all packets. The most common example is a routing update (e.g., RIP, BGP); the control plane maintains the route table. The control plane may also process other protocols (e.g., ARP) that are too complex for the data plane, or legacy protocols (e.g., SNA, AppleTalk) that are rarely encountered. Finally, the control plane also handles management tasks such as system configuration and logging.