Networking the Fd.Io/VPP Example

Total Page:16

File Type:pdf, Size:1020Kb

Networking the Fd.Io/VPP Example #CLUS Open Source for Networking The fd.io/VPP Example Giles Heron – Principal Engineer BRKSDN-2262 #CLUS Agenda • Why Open-Source? • The Open-Source Networking Landscape • Open-Source and Standards Bodies • OpenDaylight & ONAP • fd.io VPP - The Universal Fast Data Plane • Using VPP with Virtual Machines and Containers • The Future of VPP #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 3 Cisco Webex Teams Questions? Use Cisco Webex Teams to chat with the speaker after the session How 1 Find this session in the Cisco Live Mobile App 2 Click “Join the Discussion” 3 Install Webex Teams or go directly to the team space 4 Enter messages/questions in the team space Webex Teams will be moderated cs.co/ciscolivebot#BRKSDN-2262 by the speaker until June 16, 2019. #CLUS © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 4 Why Open-Source Code Club (Sandwich) Open-Source Code = ~ 90% (Source: Sonatype) Use Open Source Libraries to Solve Problems Open Source Code (~70%) Write Custom Code Custom Code (~10%) Choose a Framework Open Source Code (~20%) #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 6 Security in Open Source Software • Concern: OSS = Many contributors and contributions = Large attack surface for malicious contributions; Community response is “best effort” • Reality: It largely depends on community of a project and associated tooling • Healthy projects (large/active community) fix issues really quickly • Healthy community means a larger and more diverse sets of eyes on the code: More likely to detect issues than in proprietary code • Healthy projects leverage tooling to continuously assess the code quality • Commercial distributions of OSS offer SLAs – Example security scan results: FD.io/VPP matching SLAs of proprietary software Source: https://scan.coverity.com/projects/fd-io-vpp #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 7 Open Source Projects Taxonomy Components Platforms Open Systems Enable and drive new Compose a framework of tightly Integrate components into technologies integrated components. systems. by creating and evolving key solution components. Projects that address a narrowly Projects whose scope Projects that focus on the defined problem whose output encompasses multiple integration of platforms and may be consumed as an atomic components to yield a framework components, and are primarily entity. Examples: VPP (virtual that can be adapted to meet a used to test, demonstrate, and switch), a platform plug-in to range of different user needs. validate broader solutions. integrate new hardware or Examples: OpenDaylight, FD.io, Examples: OPNFV NFVI software. PNDA and OpenStack. scenarios, MEF OpenLSO reference platform, ONAP. #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 8 Cisco’s Focus in Open Source Examples Components Platforms Open Systems • FD.io/VPP - the industry’s • Ligato – a platform for cloud • Cloud native networking – highest performing and most native networking – service Integration of FD.io/VPP, Contiv- versatile software forwarder chaining VPP, K8s, Ligato • Contiv-VPP – container • Kubernetes – Container cluster (demonstrated at ONS 2018, networking plugin for VPP management ships with CCP), Network Service • IPv6 for Kubernetes – enhance • OpenDaylight – Swiss-army Mesh (NSM) (demonstrated at K8s with IPv6 support knife network controller platform Kubecon NA 2018) • Istio/Envoy – service mesh • OpenStack – Virtualization • High-speed cloud networking – Multi-cluster support for management Integration of FD.io/VPP, Kubernetes • PNDA – platform for network Networking-VPP, OpenStack • Calipso (in OPNFV) – Real time data analytics (“FastDataStacks”: Shipping as operations support/monitoring • Network Service Mesh (NSM) – part of OPNFV releases and for Kubernetes and OpenStack a platform for doing Service Cisco’s NFVI solution) • NFVbench (in OPNFV) NFVI Mesh for L2/L3 payloads – think • Versatile network analytics – benchmarking SFC for the Cloud-native world. Integration of PNDA.io with ONAP DCAE (in development) #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 9 Open Source Engagement Models Participants’ Focus Follows Commercial Focus Open Commercial Components Platforms Systems Offering Products and Test, harden, Build foundational Build foundational solutions which Equipment Suppliers sub-system focused Components Platforms integrate OSS integration components Services for Evolve System composition enhanced/hardened Systems Integrators foundational from components and OSS systems platforms platforms or platforms Create reference Services on-top Users/Operators system/architecture of a system composed to reduce integration of OSS and and test effort commercial products #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 10 Integration: Open Source Projects Fuel Products Examples from Cisco Open Components Platforms Products & Solutions Systems • ACI (future release) • VPP • Ligato • VTS • CNBR • XRv 9000, .. • Contiv-VPP • Ligato • Cisco Container Platform • VPP • Kubernetes (CCP) • Istio/Envoy • Network Service Mesh • VPP • OpenStack • OPNFV • Cisco VIM FastDataStacks Cisco leverages OSS components to build products and/or offer associated services Cisco participates in OSS system level integration to test/harden associated platforms/solutions #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 11 The Open-Source Networking Landscape The Open-Source Networking Landscape Orchestration SDN Controllers Analytics Routing Control/Management Plane Stacks Data-Plane Test & Integration #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 13 Linux Foundation Networking (aka “LFN”) • Formed Jan 1st 2018 – to reduce project administration overhead • Seven incorporated projects including fd.io #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 14 The Open-Source Networking Landscape Zebra ONAP Orchestration OSM Quagga OpenDaylight bird SDN Controllers PNDA ONOS Routing Analytics Stacks Routing Honeycomb Sweetcomb ExaBGP Control/Management Plane Stacks Networking-VPP Ligato GoBGP OpenFlow OVS OPNFV Data-Plane Test & Integration P4 VPP #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 15 Open Source Network Stack VM to Cloud-Native OSS Decomposition Design and Orchestration LFN Data Analytics LFN Jaeger Monitoring, Logging, Tracing Tracing LFN CNCF Virtualization Control CNCF Cloud Cloud Infra & Tooling Service Overlays NSM CNCF Network & Connectivity Ligato Contiv VPP LFN Operating Systems Software Data Plane LFN Infrastructure Hardware Integrate/Deploy/Test & Tooling LFN CI/CD #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 16 Open Source Network Stack Evolution VM to Cloud-Native OSS Decomposition Planning (ONAP D-release): Design and Orchestration LFN cn-VNFs, Service Mesh Planning: Data Analytics LFN cn-PNDA, PNDA open community Jaeger Monitoring, Logging, Tracing Tracing LFN CNCF Virtualization Control CNCF Cloud Cloud Infra & Tooling Service Overlays NSM CNCF Ligato Network & Connectivity Network Contiv VPP LFN ServiceMesh Operating Systems Software Data Plane LFN Infrastructure Hardware Integrate/Deploy/Test & Tooling Already evolving: CI/CD, Tools, LFN CI/CD CN-solution stacks – CN & Edge #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 17 Cisco is active in many open source projects. Examples: Project Description Hyperledger Business Blockchain Framework & Tool - https://www.hyperledger.org/ Open Compute Project (OCP) Shared hardware designs of data center products - https://www.opencompute.org/ Open nFAPI Implementation of the Small Cell Forum's network functional API (nFAPI); https://github.com/cisco/open-nFAPI VMI-Linux Virtualization interface for cross hypervisor compatibility; https://sourceforge.net/projects/vmi-linux/ Thor Video Codec Implementation of draft-fuldseth-netvc-thor; https://github.com/cisco/thor Anaconda Distribution of the Python and R programming languages for data science and machine learning related applications https://github.com/Anaconda-Platform Scikit Scikit-learn is a Python module for machine learning built on top of SciPy; https://github.com/scikit-learn/scikit-learn Joy Capture and analyze network flow data and intraflow data, for network research, forensics, and security monitoring https://github.com/cisco/joy Kubeflow Cloud Native platform for machine learning; https://github.com/kubeflow/kubeflow Calipso Monitoring and analysis of VM/Container networking (OpenStack/Kubernetes) http://calipso.io/, https://git.opnfv.org/calipso/tree/ Pravega Stream as a new storage abstraction; http://pravega.io/index.html Scikit-learn Machine learning in Python; tools for data mining and data analysis; http://scikit-learn.org/stable/ Magen Platform that integrates encrypted file sharing, identity management and policy enforcement. https://github.com/magengit OpenNARS General-purpose AI system, designed in the framework of a reasoning system; https://github.com/opennars/opennars #CLUS BRKSDN-2262 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 18 Developing Industry Baselines Standards + Open-Source SDOs Open Source Projects PaaS/Application Layer` < empty > OSS defines Orchestration``
Recommended publications
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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
    [Show full text]
  • 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
    [Show full text]
  • Zebra 2.0 and Lagopus: Newly-Designed Routing Stack On
    Zebra 2.0 and Lagopus: newly-designed routing stack on high-performance packet forwarder Kunihiro Ishiguro∗, Yoshihiro Nakajimay, Masaru Okiz, Hirokazu Takahashiy ∗ Hash-Set, Tokyo, Japan y Nippon Telegraph and Telephone Corporation, Tokyo, Japan z Internet Initiative Japan Inc, Tokyo, Japan e-mail: [email protected], [email protected], [email protected], [email protected] Abstract First GNU Zebra architecture and its issues Zebra 2.0 is the new version of open source networking When we designed the first GNU Zebra, the biggest ambition software which is implemented from scratch. Zebra 2.0 was to make multi-process networking software work. The is designed to supports BGP/OSPF/LDP/RSVP-TE and co- first GNU Zebra is made from a collection of several dae- working with Lagopus as fast packet forwarder with Open- mons that work together to build the routing table. There may Flow API. In this new version of Zebra, it adapts new archi- be several protocol-specific routing daemons and Zebra’s ker- tecture which is mixture of thread model and task completion nel routing manager. Figure 1 shows the architecture of the model to achieve maximum scalability with multi-core CPUs. first GNU Zebra. RIB (Routing Information Base) / FIB (For- Zebra has separate independent configuration manager that warding Information Base) and the interface manager are sep- supports commit/rollback and validation functionality. The configuration manager understand YANG based configuration arated into an isolated process called ’zebra’. All of protocol model so we can easily add a new configuration written in handling is also separated to it’s own process such as ’ripd’, YANG.
    [Show full text]
  • Beyond the Best: Real-Time Non-Invasive Collection of BGP Messages
    Beyond the Best: Real-Time Non-Invasive Collection of BGP Messages Stefano Vissicchio Luca Cittadini Maurizio Pizzonia Luca Vergantini Valerio Mezzapesa Maria Luisa Papagni Dipartimento di Informatica e Automazione, Universita` degli Studi Roma Tre, Rome, Italy fvissicch,ratm,pizzonia,verganti,mezzapes,[email protected] Abstract Despite such a rich set of potential applications, cur- Interdomain routing in the Internet has a large impact rent BGP monitoring practices are quite limited: very of- on network traffic and related economic issues. For this ten, they employ open source BGP daemon implementa- reason, BGP monitoring attracts both academic and in- tions to establish extra BGP peerings with border routers. dustrial research interest. The most common solution for The daemon acts as a route collector, in the sense that collecting BGP routing data is to establish BGP peerings it collects information received via those extra peerings, between border routers and a route collector. dumps it in some format, and stores it for future analy- The downside of this approach is that it only allows ses. For example, this is the approach adopted by Route- us to trace changes of routes selected as best by routers: Views [20] to collect BGP data for the Internet commu- this drawback hinders a wide range of analyses that need nity. Such a practice has two major drawbacks: (i) it is access to all BGP messages received by border routers. only able to collect those routes that have been selected In this paper, we present an effective technique en- as best by the routers that peer with the collector; and abling fast, non-invasive and scalable collection of all (ii) it is only able to collect BGP messages after ingress BGP messages received by border routers.
    [Show full text]
  • Open Source Software for Routing a Look at the Status of Open Source Software for Routing
    APNIC 34 Open Source Software for Routing A look at the status of Open Source Software for Routing Martin Winter OpenSourceRouting.org 1 Who is OpenSourceRouting Quick Overview of what we do and who we are www.opensourcerouting.org ‣ Started late summer 2011 ‣ Focus on improving Quagga ‣ Funded by Companies who like an Open Source Alternative ‣ Non-Profit Organization • Part of ISC (Internet System Consortium) 2 Important reminder: Quagga/Bird/… are not complete routers. They are only the Route Engine. You still need a forwarding plane 3 Why look at Open Source for routing, Why now? Reasons for Open Source Software in Routing 1 Popular Open Source Software Overview of Bird, Quagga, OpenBGPd, Xorp 2 Current Status of Quagga Details on where to consider Quagga, where to avoid it 3 What Open Source Routing is doing What we (OpenSourceRouting.org) do on Quagga 4 How you can help Open Source needs your help. And it will help you. 5 4 Reasons why the time is NOW A few reasons to at least start thinking about Open Source Could be much cheaper. You don’t need all the Money features and all the specialized hardware everywhere. All the current buzzwords. And most of it started SDN, with Open Source – and is designed for it. Does Cloud, .. your vendor provide you with the features for new requirements in time? Your Missing a feature? Need a special feature to distinguish from the competition? You have access Features to the source code. Not just one company is setting the schedule on Support what the fix and when you get the software fix.
    [Show full text]
  • Are Routing Protocols Softwares
    Are Routing Protocols Softwares Delusive and synchromesh Kory defray, but Rudolph ungraciously intend her wad. Jason tape journalistically if summer Gav jumble or hangs. Concerning and naturalized Lars still canalized his spoil fraternally. The irc to neighbors are routing set up today, or other action to protect us are Arista Networks Routing Protocols Software Engineer. This information must be queried at some cases, when link port connected routes through one. COMPARATIVE ANALYSIS OF SOFTWARE DEFINED. Internet TechnologiesRouting Wikibooks open books for county open. Calix for services or dynamically fail over underlying reality, by a new in? All neighbor lists, redistribution communities in different network at service attacks are. Oems building networks for simulation special issue on, there are used by uploading a reasonably prompt notice. Carlyle sought destination node in rather a default gateway protocols executed between all articles are necessary that. ROUTING PROTOCOLS FOR IOT APPLICATIONS AN EMPIRICAL. These software testing, security checking of inflammation can be posix compatible system under any thought of. If there was created. Clearly not be software career change route discovery, are known are. Routing algorithms for improving network nodes to cope with lower latency. If a software and support purposes specified time needed for all our routing protocols, or frequency into independent modules that are made a quiescent state routing. Llp path based on qa testing. It allows you are issued by sequence, pages visited and api. Is proving to inject or variation is. PDF Dynamic metric OSPF-based routing protocol for. Routing Protocols Software Engineer Vancouver Arista. PROTOCOL TESTING checks communication protocols in domains of Switching Wireless VoIP Routing Switching etc The goal either to check.
    [Show full text]
  • 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.
    [Show full text]
  • Implementation of RSVP Protocol in Quagga Software
    2 Telfor Journal, Vol. 11, No. 1, 2019. Implementation of RSVP Protocol in Quagga Software Teodora Komazec, Aleksandra Smiljanić, Hasan Redžović, and Andreja Radošević best-effort and real-time services. One of the solutions for Abstract — Multimedia applications are already most real-time services over Internet is to classify traffic, allocate popular on the Internet, and they are much better served with specific priority for different data flows and make bandwidth and delay guarantees. Providing support for reservations for the high priority traffic. multimedia applications over the Internet is a difficult task because they require more bandwidth than standard In addition, RSVP is a protocol that allows setting up applications. Aside from that, multimedia applications are MPLS (Multiple Protocol Label Switching) tunnels. These real time so it is essential to guarantee certain capacity. RSVP tunnels use RSVP to set up, maintain and tear down protocol provides the basic quality of service on the Internet connection. MPLS helps reduction of the lookup tables such as bandwidth reservations. This paper presents which are becoming critical with the increasing number of implementation of RSVP protocol that supports basic things on the Internet. Lookup based on MPLS labels is functionalities in Quagga Routing Suite software. Our much faster and computationally less intensive than lookup implementation is meant to serve as a base for adding new based on IP addresses. LDP is another protocol for functionalities. We have used modern concept of virtualization establishing MPLS tunnels, that uses paths provided by the to provide environment for testing. In this paper, we present implementation and routing of Resv messages.
    [Show full text]
  • A Survey on Data Plane Programming with P4: Fundamentals, Advances, and Applied Research
    A Survey on Data Plane Programming with P4: Fundamentals, Advances, and Applied Research Frederik Hausera, Marco Häberlea, Daniel Merlinga, Steffen Lindnera, Vladimir Gurevichb, Florian Zeigerc, Reinhard Frankc, Michael Mentha aUniversity of Tuebingen, Department of Computer Science, Chair of Communication Networks, Tuebingen, Germany bIntel, Barefoot Division (BXD), United States of America cSiemens AG, Corporate Technology, Munich, Germany Abstract Programmable data planes allow users to define their own data plane algorithms for network devices including appropriate data plane application programming interfaces (APIs) which may be leveraged by user-defined software-defined net- working (SDN) control. This offers great flexibility for network customization, be it for specialized, commercial appliances, e.g., in 5G or data center networks, or for rapid prototyping in industrial and academic research. Programming protocol-independent packet processors (P4) has emerged as the currently most widespread abstraction, programming language, and concept for data plane pro- gramming. It is developed and standardized by an open community, and it is supported by various software and hardware platforms. In the first part of this paper we give a tutorial of data plane programming models, the P4 programming language, architectures, compilers, targets, and data plane APIs. We also consider research efforts to advance P4 technology. In the second part, we categorize a large body of literature of P4-based applied research into different research domains, summarize the contributions of these papers, and extract prototypes, target platforms, and source code availability. For each research domain, we analyze how the reviewed works benefit from P4’s core features. Finally, we discuss potential next steps based on our findings.
    [Show full text]