Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Open Networking (Engineering & Business)

Open Networking (Engineering & Business)

http://blog.pichuang.com.tw/
https://www.linkedin.com/in/phil-huang-09b09895

#opennetworking #ocp #openflow #opencord #onos #netdevops #whitebox #edgecore

Phil Huang

April 29, 2017
Tweet

More Decks by Phil Huang

Other Decks in Technology

Transcript

  1. Who am I? Phil Huang • Edgecore Open Networking Solution

    Engineer • ONOS/CORD Ambassador • SDNDS-TW Moderator Ref: https://www.linkedin.com/in/phil-huang-09b09895 3
  2. Open Compute Project, OCP • Founded 2011 • Global community

    for Open IT hardware Hardware Management Networking Data Center HPC Open Rack Server Storage Telco Ref: http://www.opencompute.org/ 10
  3. OCP, Networking • Fully disaggregated and open networking HW &

    SW • Operating System - Linux based operating systems & developer tools, and REST API’s • Fully automated configuration management & bare metal provisioning • Universal & Multi-Form Factor Switch motherboard hardware • Fully open integration & connectivity • Energy efficient power & cooling designs • Software Defined Networking (SDN) Ref: http://www.opencompute.org/wiki/Networking 11
  4. Example: Wedge 100 Ref: https://code.facebook.com/posts/681382905244727/introducing-wedge-and-fboss-the-next-steps-toward-a-disaggregated-network/ Facebook Design CPU: Intel/ARM/… ASIC:

    Broadcom/Mellanox/… - NOS: Open Network Linux - Forwarding Agent: FBOSS - BMC: OpenBMC Hardware Software ”Switch as a Server” 12
  5. OCP Networking - Software • Switch Abstraction Interface, SAI •

    Defines API to provide a vendor-independent way of controlling forwarding elements, such as a switching ASIC, an NPU or a software switch in a uniform manner. • Open Network Linux, ONL • Linux distribution (Debian) with added driver and configuration for running bare metal switches • Open Optical Monitoring, OOM • Contents of optical module EEPROM accessible to python programmers. • Open Network Install Environment, ONIE • Open “install environment” for bare metal network switches • ONIE enables a bare metal network switch ecosystem where end users have a choice among different network operating systems Ref: https://github.com/opencomputeproject 13
  6. DC Core Data Center Clos Fabric Cloud Service Providers Telecom

    Service Providers Enterprise & Campus IXP Ref: https://speakerdeck.com/pichuang/introduction-to-opennetworking 16
  7. Building on Bare Metal Compute Network U-Boot & ONIE BIOS

    & PXE Applications Network OS Linux, Windows… Applications Applications Bare Metal Server Bare Metal Switch Hardware U-Boot & ONIE BIOS & PXE Boot & Provision BIOS & PXE U-Boot & ONIE OS Network OS Linux, Windows… 17
  8. Commercial Network OS Vendor • Cumulus Networks CumulusLinux • Linux

    based NOS at web-scale with configuration, provisioning & monitoring tools • Big Switch Networks BCF & BMF • Provide total solution Big Monitoring Fabric and Big Cloud Fabric via centralized controller • Pica8 PicaOS • Hybrid networking OpenFlow agent with native L2 and L3 features • IP Infusion OcNOS • Full function L2/L3 with MPLS/VPLS, Carrier Ethernet, OAM and Telecom features • Pluribus Network NetVisor • Full function L2/L3 with data analytics, service chaining and NFV function 26
  9. Open Source Software • Open Compute Project, OCP • Open

    Network Install Environment (ONIE): Universal NOS Loader • Switch Abstraction Interface (SAI): Standard HAL for silicon from multiple vendors • Open Optical Monitoring (OOM): Make the contents of optical mode EEPROM with python • Dell EMC OpenSwitch • Full featured Linux-based NOS • Engineered for disaggregated whitebox networking devices • SnapRoute FlexSwitch • L2 and L3 protocol suite, with comprehensive configuration APIs, automation and orchestration • OCP Accepted • Open Network Linux, ONL • OCP reference OS for switches • Forwarding Agents: OF-DPA & Indigo OF Agent, SAI, OpenNSL, FBOSS Agent, Quagga Routing • Open Network Foundation: Atrium SDN Distribution • OpenFlow physical (ONL with OF-DPA) and virtual switches • ONOS / ODL open-source OpenFlow controller, with BGP application based on Quagga • Microsoft Software for Open Networking in the Cloud, SONiC • Network OS components, including full function L3 routing • Contributed by Microsoft and co-contributors to OCP SONiC 27
  10. White Box Switch Models Traditional Switch Data Plane Control Plane

    Applications SDN-based System Data Plane Control Plane Applications Control Protocol Open Networking Switch Data Plane Linux OS Applications Ref: https://speakerdeck.com/pichuang/introduction-to-opennetworking 28
  11. 29

  12. What is CORD? SDN + NFV + Cloud Open Source

    Software Commodity Hardware (Servers, White-Box Switches, I/O Blades) Large number of COs (4-5k) Each serves 10-100k Evolved over 40-50 years 300+ Types of equipment Huge source of CAPEX/OPEX CORD: Central Office Re-architected as a Datacenter Ref: https://wiki.opencord.org/display/CORD/CORD+Summit+--+July+29%2C+2016?preview=/1278537/1279414/Summit-Larry.pdf 32
  13. 35 CORD Architecture R,E,M- Access Metro Router vRouter Control Other

    App Other App XOS (Orchestrator) vSG vSG vSG VNF VNF VNF VNF VNF VNF VNF VNF VNF VNF VNF VNF OVS OVS OVS OVS OVS White Box White Box White Box White Box White Box White Box White Box White Box White Box White Box White Box White Box White Box White Box Open Source SDN-based Bare-metal White Box White Box Residential Mobile Enterprise Underlay Control Underlay Overlay Control Overlay ONOS Controller Cluster Control
  14. AT&T Open GPON – Hardware • 48 Port, 1RU, I/O

    Pizza Box • GPON MAC • GPON protocol management • 802.1ad-compiant VLAN bridging • Ethernet MAC Ref: http://opencord.org/wp-content/uploads/2016/03/Virtual-OLT.pdf 38
  15. Hardware Software AT&T Open GPON – Software Ref: https://wiki.opencord.org/display/CORD/VOLTHA%3A+vOLT+Hardware+Abstraction 39

    OpenFlow Controller Configuration Controller Ref: https://wiki.opencord.org/display/CORD/CORD+Summit+--+July+29%2C+2016?preview=/1278537/1279415/Tom%20Anschutz%20R-CORD%20Breakout.pdf
  16. What is Trellis? Datacenter Leaf-Spine Fabric Underlay Virtual Network Overlay

    Unified SDN Control Of Underlay & Overlay ONOS Controller Cluster & Apps Trellis is the enabling Network Infrastructure for CORD Trellis Provides Common control over underlay & overlay networks, including • Service Composition for Tenant Networks • Distributed Virtual Routing • Optimized Delivery of Multicast Traffic Streams Ref: https://wiki.opencord.org/display/CORD/Underlay+Fabric 41
  17. •Telecommunication hardware located at the home or business of a

    customer •a.k.a Residential Gateway (RG) 45 L3 Customer Premises Equipment CPE: Customer Premises Equipment
  18. Access hardware - CPE •  Simple commodity NetGear device • 

    Flashed with OpenWrt •  Runs OVS as dataplane switch •  OpenFlow capable •  Runs 802.1X authentication •  Several design options available here •  OpenFlow enabled? •  Run a DHCP server? •  Should make use of IPv6? Ref: https://wiki.opencord.org/display/CORD/CORD+Summit+--+July+29%2C+2016?preview=/1278537/1279412/R-CORD%20disagg-Ali.pdf 46
  19. Service Abstraction Layer/Core Boron: Platform for Network-Driven Business OpenFlow Enabled

    Devices Open vSwitches Additional Virtual & Physical Devices Data Plane Elements (Virtual Switches, Physical Device Interfaces) Controller Platform Services/Applications OVSDB NETCONF PCMM/ COPS SNBI LISP PCEP SNMP SXP Southbound Interfaces & Protocol Plugins OpenFlow USC CAPWAP OPFLEX Control Plane Functions OpenDaylight APIs REST/RESTCONF/NETCONF/AMQP Data Store (Config & Operational) Messaging (Notifications / RPCs) LACP AAA Authorization Filter Network Abstractions (Policy/Intent) Graphical User Interface Application and Toolkit (DLUX / NeXT UI) IoT Http/CoAP OF-Config Embedded Controller Applications Independent Network Applications • AAA • Hot Tracker • Infrastructure Utilities • L2 Switch • LISP Service • Link Aggregation Control Protocol • Open Flow Forwarding Rules Manager • OpenFlow Stats Manager • OpenFlow Switch Manager • Topology Processing • NetIDE • NetVirt • Neutron Northbound • OVSDB Neutron • SN Integration Aggregator • Service Function Chaining • Time Series Data Repository • Unified Secure Channel Mgr • User Network Interface Mgr • Virtual Tenant Network Mgr • Atrium Router • Cardinal • Centinel – Streaming Data Hdlr • Controller Shield • Deve Discovery, ID & Mgmt • DOCSIS Abstraction • Eman • Genius • NAT Application • ALTO Protocol Manager • Fabric as a Service • Group Based Policy Service • NEMO • Network Intent Composition OCP BGP Ref: https://wiki.opendaylight.org/view/Presentations 53
  20. ON.Lab ONOS BGP BMv2 ISIS Lisp Netconf OpenFlow OSPF OVSDB

    PCEP REST SNMP TL1 54 Ref: https://github.com/opennetworkinglab/onos/tree/master/protocols
  21. Traditional Networking Methodology 60 • Logging in manually with a

    password • Typing commands • Copy and paste over console or terminal • Checking box by box
  22. 61 Step 1: Using Git & GitHub § Configuration file

    repository § File change and revision management § Build for teams to work the same files
  23. 62 Step 2: Commit Your Configuration $ git add .

    $ git commit -a -m "Add new switch configuration" –s [master 8cf8a38] Add new switch configuration 1 file changed, 1 insertion(+) create mode 100644 ofswitch.conf $ git push -u origin master
  24. 66 Step 4: Templatize Configuration Files • Let you reuse

    code snippets • Avoid human error and typos
  25. 68 Step 6: Continuous Integrations System • Catch error or

    typos early • Make sure all of the setting is same as production
  26. 72

  27. 1 FRR - A new Quagga fork with a more

    open development Martin Winter [email protected] 73 Ref: https://frrouting.org/
  28. What is FRR ? ‣ 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 (for the not so technical People) 74
  29. FRR - Why a new fork? 3 Open Development Model

    Faster Development Community Driven 75
  30. 76

  31. 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 77
  32. • Open Networking 是趨勢,並正在發生 • Open Source + Commercial •

    跨領域整合需求大幅增加,但只賣單一領域的產品 • Total Solution / Turnkey Solution • 自己掌握自己命運 • 網路工程師能力呈現 M 型化 • Coding 是必備技能 • 與 Community 協作能力越來越重要 • 跨領域能力要求更多 Conclusion 79