FRR Routing Overview

Total Page:16

File Type:pdf, Size:1020Kb

FRR Routing Overview FRRouting Overview and Current Status Martin Winter NetDEF / OpenSourceRouting 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, NHRP, Babel, EIGRP, … ‣ 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 - Who is behind the Fork? 3 FRR - What’s different? ‣ Methodical vetting of submissions ‣ Extensive automated testing of contributions ‣ Git Pull Requests ‣ Github centered development ‣ Elected Maintainers & Steering Committee ‣ Common Assets held in trust by Linux Foundation 4 What happened since the fork? Code size doubled FRRouting fork 500st 1000st 1500st 2000st announced Pull Req Pull Req Pull Req Pull Req submitted submitted submitted submitted Now Apr 2017 Aug Oct Jan 2018 Mar April Jul Aug (Aug) soon FRR 2.0 FRR 3.0 FRR 4.0 FRR 5.0 FRR 6.0 5 FRR Major features added since Fork ‣ 2.0 (April 2017) • RFC 5549 Unnumbered Support (most protocols) • LDP IPv4/IPv6 • VRF lite • JSON output support ‣ 3.0 (Oct 2017) • BGP EVPN base • PIM Sparse Mode • NHRP ‣ 4.0 (March 2018) • BGP RPKI • BGP EVPN Type 3 & 4 • BGP MPLS Ethernet VPN & Multicast • BABEL • EIGRP 6 FRR Major features added since Fork ‣ [continue] 4.0 (March 2018) • Static VRF route leaking • OSPFv2 Segment Routing ‣ 5.0 (July 2018) • PIM Multicast Trace [draft-ietf-idmr-traceroute-ipm] • IS-IS 3-way Handshake [RFC5303] • BGP VPN-VRF route leaking per [RFC4364] • BGP VRF with NETNS backend • New Policy Based Routing Daemon ‣ 6.0 (Upcoming – expected early Oct 2018) • BFD daemon • Openfabric Support [draft-white-openfabric] • Static Routes moved from zebra to it’s own daemon • IS-IS Src-Dest Routing [draft-ietf-isis-ipv6-dst-src-routing] 7 FRR – Packages On https://github.com/FRRouting/frr/releases • Ubuntu 12.04 / 14.04 for 64bit Intel • Ubuntu 16.04 for 32/64bit Intel, ARM7, ARM8 • Debian 8 for 64bit Intel • Debian 9 for 64bit Intel, ARM7, ARM8 • CentOS 6 / 7 for 64bit Intel FreeBSD In the offical ports Alpine Linux, Gentoo Linux, OpenWRT Build instructions available 8 JOIN US: https://frrouting.org Github.com/frrouting Mailing lists: lists.frrouting.org 9 .
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]
  • Test-Beds and Guidelines for Securing Iot Products and for Secure Set-Up Production Environments
    IoT4CPS – Trustworthy IoT for CPS FFG - ICT of the Future Project No. 863129 Deliverable D7.4 Test-beds and guidelines for securing IoT products and for secure set-up production environments The IoT4CPS Consortium: AIT – Austrian Institute of Technology GmbH AVL – AVL List GmbH DUK – Donau-Universit t Krems I!AT – In"neon Technologies Austria AG #KU – JK Universit t Lin$ / Institute for &ervasive 'om(uting #) – Joanneum )esearch !orschungsgesellschaft mbH *+KIA – No,ia -olutions an. Net/or,s 0sterreich GmbH *1& – *1& -emicon.uctors Austria GmbH -2A – -2A )esearch GmbH -)!G – -al$burg )esearch !orschungsgesellschaft -''H – -oft/are 'om(etence 'enter Hagenberg GmbH -AG0 – -iemens AG 0sterreich TTTech – TTTech 'om(utertechni, AG IAIK – TU Gra$ / Institute for A((lie. Information &rocessing an. 'ommunications ITI – TU Gra$ / Institute for Technical Informatics TU3 – TU 3ien / Institute of 'om(uter 4ngineering 1*4T – 1-Net -ervices GmbH © Copyright 2020, the Members of the IoT4CPS Consortium !or more information on this .ocument or the IoT5'&- (ro6ect, (lease contact8 9ario Drobics7 AIT Austrian Institute of Technology7 mario:.robics@ait:ac:at IoT4C&- – <=>?@A Test-be.s an. guidelines for securing IoT (ro.ucts an. for secure set-up (ro.uction environments Dissemination level8 &U2LI' Document Control Title8 Test-be.s an. gui.elines for securing IoT (ro.ucts an. for secure set-u( (ro.uction environments Ty(e8 &ublic 4.itorBsC8 Katharina Kloiber 4-mail8 ,,;D-net:at AuthorBsC8 Katharina Kloiber, Ni,olaus DEr,, -ilvio -tern )evie/erBsC8 -te(hanie von )E.en, Violeta Dam6anovic, Leo Ha((-2otler Doc ID8 DF:5 Amendment History Version Date Author Description/Comments VG:? ?>:G?:@G@G -ilvio -tern Technology Analysis VG:@ ?G:G>:@G@G -ilvio -tern &ossible )esearch !iel.s for the -2I--ystem VG:> >?:G<:@G@G Katharina Kloiber Initial version (re(are.
    [Show full text]
  • DPDK, VPP & Pfsense
    DPDK, VPP & pfSense 3.0 Jim Thompson DPDK Summit Userspace - Dublin- 2017 %whoami Co-founded company in 1992 Focused on network security Originally “Netgate” was name an open source firewall for SunOS 4 Ported to Solaris (2.3), Windows NT, BSDi Added IPsec (then quite new) Wrote CiscoSecure (TACACS+ / RADIUS server) Might know us best for DPDK in a Box DPDK in a Box Simple, easy intro to running DPDK Minnowboard “Turbot” w/ 4C E3845 Atom, 2GB RAM, 32GB M.2 SSD, 2 x i210 Ethernet CentOS + pre-complied / installed DPDK + source code + testpmd DPDK in a Box, next-gen %whoami Co-founded company in 1992 Originally “Netgate” was name an open source firewall for SunOS 4 Also ported to Solaris (2.3), Windows NT, BSDi Also wrote CiscoSecure (TACACS+ server) Might know us best for DPDK in a Box We are the company behind the pfSense project pfSense® software FreeBSD-based router/firewall distribution “Like a Cisco ASA” 100,000 lines of PHP Orchestration + WebGUI Started in 2004 First release 4 October 2006 2.4 release 2 October 2017 1.375 million current installs 960,000+ on 64-bit Intel 8,000 32-bit ARM ARM64 underway October 2014 pfSense under strain after 10 years Increasing use of 10Gbps and higher Ethernet Increasing packet rate requirements No central ‘status’ db, so most config changes require restarting stack No API — makes automated test & interfacing to orchestration difficult Offsite meeting in 2014 Simple goals 10Gbps IP4/IP6 forwarding tinygrams, with ACLs 10Gbps IPsec (large frames) Eliminate PHP Add API Project named Pennybacker Experiments
    [Show full text]
  • Configurable Routing in Ad-Hoc Networks
    Configurable Routing in Ad-Hoc Networks Nadine Shillingford and Christian Poellabauer Department of Computer Science and Engineering University of Notre Dame Notre Dame, IN 46556 fnshillin, [email protected] Abstract— The actual use of a wireless ad-hoc network or run across the network, will be unknown a-priori. Further, ad- its operational parameters may be unknown before deployment hoc networks may be accessed by varying numbers of clients or they may change during the life time of a network. This (users), with different applications and differing expectations requires that an ad-hoc network be configurable to the unique needs of a client and that multiple clients can configure the on QoS. Therefore, it will be essential to make configurability network simultaneously. The QoS metric(s) used in the selection and customizability of future ad-hoc networks a key design of routes in an ad-hoc routing protocol can strongly affect the feature. network’s performance. Unfortunately, the majority of existing Toward this end, this work introduces the CMR (Con- routing protocols support only one or two fixed metrics in route figurable Mesh Routing) toolkit which provides an easy-to- selection. We conducted a survey of over 40 routing protocols published from 1994-2007 which indicated that 90% of the use API for ad-hoc networks, allowing applications or users protocols use one or two metrics and only 10% use three to to implement their own routing protocols and QoS metrics. four metrics in route selection. Toward this end, we propose a While our prototype implementation supports four of the most modular routing toolkit for ad-hoc networks, where users and popular QoS metrics, it is easily extensible and we expect that applications can initiate route discoveries that best suit their QoS future versions will cover a large variety of QoS metrics.
    [Show full text]
  • Rethinking BGP Programmability
    λBGP: Rethinking BGP programmability Nicholas Hart, Charalampos Rotsos, Vasileios Giotsas, Nicholas Race, David Hutchison School of Computing and Communications, Lancaster University Abstract—BGP has long been the de-facto control plane pro- or supplement the information transmitted to adjacent ASes. tocol for inter-network connectivity. Although initially designed Configuration is stateless and programmability is typically to provide best-effort routing between ASes, the evolution of limited to simple arithmetic and logical expressions. As a Internet services has created a demand for more complex control functionalities using the protocol. At the heart of this challenge result, network managers must maintain large and complex lies the static nature of current BGP policy specification and en- configuration files in order to achieve the required policy forcement, and the limited programmability of production BGP effects, requiring regular updates in order to support changing policy frameworks. Meanwhile, in other contexts, the SDN model network conditions. Misconfiguration errors are a major cause has demonstrated that open and generic network control APIs of BGP problems [2], and connectivity outages and route leaks can greatly improve network functionality and seamlessly enable greater flexibility in network management. In this paper, we at a global or national level are not uncommon [3], [4]. argue that BGP speaking systems can and should provide an open Second, the BGP path selection process in current BGP control API and a richer policy language, in order to address routers is proactive, and its scope is limited to protocol modern era network control requirements. Towards this goal, we information and static configuration data. Many measurement present λBGP, a modular and extensible BGP stack written in studies have highlighted the fact that BGP could improve the Haskell.
    [Show full text]
  • Openswitch OPX Configuration Guide Release 3.0.0 2018 - 9
    OpenSwitch OPX Configuration Guide Release 3.0.0 2018 - 9 Rev. A02 Contents 1 Network configuration....................................................................................................................................4 2 Interfaces...................................................................................................................................................... 5 Physical ports..................................................................................................................................................................... 5 Fan-out interfaces..............................................................................................................................................................6 Port-channel and bond interfaces....................................................................................................................................7 VLAN interfaces................................................................................................................................................................. 7 Port profiles.........................................................................................................................................................................8 3 Layer 2 bridging............................................................................................................................................10 VLAN bridging...................................................................................................................................................................10
    [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]
  • Vector Packet Processor Documentation Release 0.1
    Vector Packet Processor Documentation Release 0.1 John DeNisco Aug 10, 2018 Contents 1 Overview 3 1.1 What is VPP?...............................................3 1.2 Features..................................................5 1.3 Performance............................................... 10 1.4 Architectures and Operating Systems.................................. 12 2 Getting Started 13 2.1 Users................................................... 13 2.2 Developers................................................ 51 2.3 Writing VPP Documentation....................................... 77 3 Use Cases 99 3.1 FD.io VPP with Containers....................................... 99 3.2 FD.io VPP with Virtual Machines.................................... 106 3.3 Using VPP as a Home Gateway..................................... 114 3.4 vSwitch/vRouter............................................. 118 4 Troubleshooting 119 4.1 How to Report an Issue......................................... 119 4.2 CPU Load/Usage............................................. 122 5 User Guides 125 5.1 Progressive VPP Tutorial......................................... 125 5.2 API User Guides............................................. 149 6 Events 151 6.1 Conferences............................................... 151 6.2 Summits................................................. 153 6.3 Meetings................................................. 163 6.4 Calls................................................... 165 6.5 Fd.io Training Event..........................................
    [Show full text]
  • Linux Networking 101
    The Gorilla ® Guide to… Linux Networking 101 Inside this Guide: • Discover how Linux continues its march toward world domination • Learn basic Linux administration tips • See how easy it can be to build your entire network on a Linux foundation • Find out how Cumulus Linux is your ticket to networking freedom David M. Davis ActualTech Media Helping You Navigate The Technology Jungle! In Partnership With www.actualtechmedia.com The Gorilla Guide To… Linux Networking 101 Author David M. Davis, ActualTech Media Editors Hilary Kirchner, Dream Write Creative, LLC Christina Guthrie, Guthrie Writing & Editorial, LLC Madison Emery, Cumulus Networks Layout and Design Scott D. Lowe, ActualTech Media Copyright © 2017 by ActualTech Media. All rights reserved. No portion of this book may be reproduced or used in any manner without the express written permission of the publisher except for the use of brief quotations. The information provided within this eBook is for general informational purposes only. While we try to keep the information up- to-date and correct, there are no representations or warranties, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the information, products, services, or related graphics contained in this book for any purpose. Any use of this information is at your own risk. ActualTech Media Okatie Village Ste 103-157 Bluffton, SC 29909 www.actualtechmedia.com Entering the Jungle Introduction: Six Reasons You Need to Learn Linux ....................................................... 7 1. Linux is the future ........................................................................ 9 2. Linux is on everything .................................................................. 9 3. Linux is adaptable ....................................................................... 10 4. Linux has a strong community and ecosystem ........................... 10 5.
    [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]
  • Babel Routing Protocol for Omnet++ More Than Just a New Simulation Module for INET Framework
    Babel Routing Protocol for OMNeT++ More than just a new simulation module for INET framework Vladimír Veselý, Vít Rek, Ondřej Ryšavý Department of Information Systems, Faculty of Information Technology Brno University of Technology Brno, Czech Republic {ivesely, rysavy}@fit.vutbr.cz; [email protected] Abstract—Routing and switching capabilities of computer Device discovery protocols such as Cisco Discovery networks seem as the closed environment containing a limited set Protocol (CDP) and Link Layer Discovery Protocol of deployed protocols, which nobody dares to change. The (LLDP), which verify data-link layer operation. majority of wired network designs are stuck with OSPF (guaranteeing dynamic routing exchange on network layer) and In this paper, we only focus on a Babel simulation model. RSTP (securing loop-free data-link layer topology). Recently, Babel is increasingly more popular seen as the open-source more use-case specific routing protocols, such as Babel, have alternative to Cisco’s Enhanced Interior Gateway Routing appeared. These technologies claim to have better characteristic Protocol (EIGRP). Babel is also considered a better routing than current industry standards. Babel is a fresh contribution to protocol for mobile networks comparing to Destination- the family of distance-vector routing protocols, which is gaining its Sequenced Distance-Vector (DSDV) or Ad hoc On-Demand momentum for small double-stack (IPv6 and IPv4) networks. This Distance-Vector (AODV) routing protocols. Babel is a hybrid paper briefly describes Babel behavior and provides details on its distance vector routing protocol. Although it stems from a implementation in OMNeT++ discrete event simulator. classical distributed Bellman-Ford algorithm, it also adopts certain features from link-state protocols, such as proactive Keywords—Babel, OMNeT++, INET, Routing, Protocols, IPv6, neighbor discovery.
    [Show full text]