SlideShare a Scribd company logo
INTRODUCTION OPEN
NETWORKING AND
SDN
HUNG-WEI CHIU
LINKER NETWORKS.INC
WHO AM I
• Hung-Wei Chiu (邱宏瑋)
• hwchiu@linkernetworks.com
• hwchiu.com
• Experience
• Software Engineer at Linker Netowrks
• Software Engineer at Synology (2014~2017)
• Co-Found of SDNDS-TW
• Open Source experience
• SDN related projects (mininet, ONOS, Floodlight, awesome-sdn)
OUTLINE
• Before SDN
• Open Source Networking
• Open Compute Project
• What is SDN and ONF
• Experiment
• ONOS
• OVS
• Mininet
4
5
Introduction to OpenNetwork and SDN
OPEN COMPUTER PROJECT
• OCP
• Founded 2011
• Global community for Open IT hardware
Network
Storage
Telco
Data Center Server
Open Rack
Hardware
Management
Introduction to OpenNetwork and SDN
OCP, NETWORKING (SCOPE)
• Fully disaggregated and open networking HW & SW
• Operating System – Linux based operating system & 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)
SUB PROJECTS
• Subprojects of OCP Networking
• Open Network Install Environment (ONIE)
• Open Network Linux (ONL)
EXAMPLE: WEDGE 100
Facebook Design
CPU intel/AMD/…
ASIC Broadcom/Mellanox/…
Hardware Software
NOS: Open Network Linux
Forwarding Agent: FBOSS
BMC: OpenBMC
Switch as a Server
OCP NETWORKING SOFTWARE
• Switch Abstraction Interface – SAI
• Define API to provide a vendor-independent way of controlling forwarding elements, such as a switching ASIC,
and 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 EEEROM accessible to python programmers.
• Open Network Install Environment – ONIE
• Open install environment for bare metal network switch
• ONIE enable a bare metal network switch ecosystem where end users have a choice among different network
operation systems
BUILDING ON BARE METAL
Bare metal
switch
Bare metal
switch
U-Boot & ONIE
Bare metal
switch
U-Boot & ONIE
Network OS
Bare metal
switch
U-Boot & ONIE
Network OS
Application
Bare metal
switch
Bare metal
server
U-Boot & PXE
Bare metal
server
U-Boot & PXE
Linux,Windows, etc
Bare metal
server
U-Boot & PXE
Linux,Windows, etc
Application
Server
Switch
ONIE
Introduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDN
• White Box = Hardware + ONIE
• Open Networking = Apps + NOS +White Box
ONIE
WHITE BOX SWITCH MODEL
Switch
Data Plane
Control Plane
Applications
Switch
Data Plane
Switch
Data Plane
Linux OS
Applications
Switch
Control Plane
Applications
Control
Protocol
Traditional Switch
SDN-based System
Open Networking Switch
SDN
• Software-Defined Networking (SDN)
• The physical separation of the network control plane from the forwarding plane, and
where a control plane controls several devices.
THE SDN ARCHITECTURE
• DIRECTLY PROGRAMMABLE
• AGILE
• CENTRALLY MANAGED
• PROGRAMMATICALLY CONFIGURED
• OPEN STANDARDS-BASED AND
VENDOR-NEUTRAL
BASIC MODEL OF SDN
• Service Customer
• Manage-control network services via
SDN controller
• Send/receive data using network
resources.
• Network/Service Provider
BASIC MODEL OF SDN
ONF
• Open Networking Foundation
• Non-profit organization
• Led consortium driving transformation of network infrastructure.
• Serves as the umbrella for a number of projects building solutions
• Leveraging network disaggregation
• White box economics
• Open source software
• Software defined standards
Introduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDN
27
Introduction to OpenNetwork and SDN
THE ECOSYSTEM
• 200+ Members Strong
Vibrant Operator Led Consortium Positioned for Success
• PARTNER
• COLLABORATING INNOVATOR
• INNOVATOR
• COLLABORATOR
THE ECOSYSTEM
Partner
Innovator	110+	
VolunteerVolunteers
Collaborator
Operators	(7) Vendors	(10)
70+	
100s	
ONF	(&	Stanford) Guru	Parulkar
Network	Operators
AT&T Andre	Fuetsch – CTO
Google Urs Hölzle – SVP
NTT	Comm Dai	Kashiwa	– Director
Comcast Rob	Howald– VP
Verizon Srini Kalapala – VP
China Unicom Shao Guanglu - SVP
Research	&	Vendor	Community
Nick	McKeown Stanford
Fabian	Schneider NEC
New	ONF	Board
Including	14	Operators:
Argela/Turk	Telecom Microsoft
China	Mobile Swisscom
SK	Telecom Telecom	Italia
ECI	Telecom Telefonica
Facebook TELUS
Globe	Telecom Vodafone
Goldman	Sachs Yahoo
ONF’S SCOPE
Disaggregated	boxes:	
Packet	switch,	ROADM,	eNodeB,	OLT,	RAN	…	
Programmable
Forwarding
Plane
Open	Source:
ONAP,	Open-O,	
Open	Source	MANO
Global
Orchestrators
NewONF
ScopeofFocus
Control
Plane ONOS
Control
(OpenFlow,	P4)
Config
(NetConf/Yang,	OpenConfig)
Alternative Controllers
(e.g. ODL)
Solutions
Platforms
M-
CORD
R-
CORD
E-CORD
CORDVNFs
Alternative
VNF Frameworks
(e.g. OPNFV)
Service	APIs:		TOSCA,	RESTful
Network	Intent-Based	APIs
Standards
&
Interworking
APIs
32
THE REAL SOFTWARE ABOUT SDN
• SDN Controller
• ONOS
• The Switch
• Software switch: Open vSwitch
• Testing
• Network emulator: mininet
ONOS
CARRIER-GRADE OPEN NETWORKING OPERATING SYSTEM
34
WHAT IS ONOS?
• Open Network Operating System (ONOS)
• An open source SDN network operation system
• SDN controller
CONTROL & DATA PLANE DISAGGREGATION
ONF ONOS
BGP BMv2 ISIS Lisp Netconf OpenFlow OSPF OVSDB PCEP REST SNMP TL1
ARCHITECTURAL TENETS
• High-availability, scalability and performance
• Strong abstractions and simplicity to develops apps and solutions
• Protocol and device behavior independence
• Separation of concerns and modularity
WHAT IS OPENFLOW
OPENFLOW
• Appear in 2008
• The most famous northbound API in SDN
• OpenFlow not equal SDN
• Just a communication protocol in SDN.
• Defined how control plan talk to forward plan.
Introduction to OpenNetwork and SDN
OPENFLOW RULE
L2 headers L3 headers L4 headersSwitch port
● Forward/Flood
● Drop
● Modify header
● Local
● Forward to Controller
Packer bytes/counts
Match Action Statistics
L2 FORWARDING
src_MAC L3 headers L4 headersSwitch port dst_MAC Action
* * 00:11:32:aa:bb:cc * * Forward port 6
src_MAC L3 headers L4 headersSwitch port dst_MAC Action
* * * * * Normal
L3 FORWARDING
L2 headers dst_ip L4 headersSwitch port src_ip Action
1 * 140.113.123.234 140.114.123.234 *
Forward port
4
FIREWALL
L2 headers src_tcp_port dst_tcp_portSwitch port L3 headers Action
1 * * * 22 Drop
OPENVSWITCH
• So,What is Open vSwith and Why we need it ?
HISTORY
• 2008
• First paper about OpenFlow (SDN)
• OpenFlow: enabling innovation in campus networks
• Nick McKeown setup a Nicira company
• Open vSwitch + OpenFlow = NVP (NetworkVirtualization Platform)
HISTORY
• 2012
• VMWare buy Nicira
• NVP become the NSX
INTRODUCTION
• Hypervisors need to bridge traffic.
• We can use Linux bridge do it.
• So,Why do we need Open vSwitch
• Targeted multi-server virtualization.
• Responding to network dynamics
• Maintenance of logical tags
• Hardware integration
FEATURES
• IPv6
• LACP
• Three mode (balance-scp/tcp, active/passive)
• STP/RSTP
• VLAN
• Overlay Network
• VXLan/GRE/Geneve/NVGRE
• OpenFlow
• OVSDB
• DPDK
COMPARE
• Open vSwitchV.S Linux Bridge
• Architecture
• Featues
SYSTEMVIEW
User Space
Kernel
Space
ovs-vsctl
ovs-
dpctl
ovs-
ofctl
OpenvSwitch
eth0 eth1
L2 forwarding
L3 routing
ACL/Firewall
NAT/Port
forwarding
ALL IN ONE
• Iptables/ebtables won’t work anymore
• Packet won’t pass netfilter now.
• Use Openflow to control packets.
• Also support some complicated operation in native port (without openflow)
• VLAN
• Bonding
• Overlay network
HOW OPENVSWITCH WORKS.
• Control Packets by OpenFlow
• Support different port types
• Bonding
• Overlay netwokrs
• VLAN/MPLS
• Some features support by linux kernel
• Traffic Control (Queue)
• Conntrack
• NAT
WHO CONTROL RULES
• For OpenvSwitch, you can use following approaches
• Command line tool
• ovs-ofctl add-flows
• Openflow controller
• Push openflow rules via tcp
COMMAND LINE
• ovs-ofctl add-flow br1 “xxxxxxxxxxxxxxxxxxxxxxxx”
• ovs-ofctl add-flows br1 filename
• You can put all flows in a file and inert them at once.
• ovs-ofctl del-flows br1 “xxxxxxx”
SDN CONTROLLER
• SDN Brain
• Centralized control all SDN network devices.
• Communicate with network devices via northbound API
• OpenFlow/SNMP/OVSDB/NetConf/gRPC
• OpenFlow != SDN again.
Rules
Data Plane
Network Devices
(OVS)
Controller (ONOS)
NAT RoutingFirewall
Rules
Data Plane
Network Devices
(OVS)
Rules
Data Plane
Network Devices
(OVS)
Control Plane
OPENVSWITCH
• Support connection mode
• Standalone
• Without Controller, OVS has a default rules.
• Controller
• Need to setup controller’s IP:Port
STANDALONE MODE
• Default rules is
• Match: any
• Do: action:Normal
• Normal means L2 forwarding.
• Open vSwitch will be same as the Linux Bridge if it’s in standalone mode.
HOW TO USE OPENVSWITCH
• Create ovs bridge (we call it datapath)
• ovs-vsctl add-br br0
• Attach existing port to OVS
• ovs-vsctl add-port br0 eth0
• Dump flows
• ovs-ofctl dump-flows br0
MININET
• What
• Why
WHAT
• Mininet is a network emulator
• Mininiet create a realistic virtul network, running real kernel, switch and application code,
on a single machine (VM, cloud or natvie)
WHAT(COND’T)
switch switch switch
switch switch switch switch
Leaf
Spne
Introduction to OpenNetwork and SDN
MININET
switch switch switch
switch switch switch switch
Linux Host
WHY
• For Developer
• Testing controller
• Testing applications
• Testing before deploy
• Compare to real environment
• Flexible
• Scalable
HOW IT WORKS
• Run many OpenvSwitch in your host.
• Also run many hosts in your host (network namespace)
• Connect all of them
• Network topology.
EXPERIMENT
• Combine the Mininet + ONOS in oneVM
RESET
• Reset your environment and start the ONOS controller
• Click ONOS GUI
MININET
• Click the miniet icon to simulate a network topology and connect all switches to ONOS
controller.
• Switch to the ONOS GUI and you can see six switches there.
• Use ‘l’ to show the switch id.
• In the mininet terminal, type h11 ping h41
• In the ONOS Gui, type ‘h’ to show host.
ONOS
• Click the ONOS terminal icon to start ONOS CLI
• Type “apps –a –s “ to see all activated applications.
• Type “app activate org.onosproject.fwd” to enable forwarding function for ONOS.
• Back to miniet prompt and you can see the ping works now.
• You can also see second hosts on ONOS GUI.
MININT
• Useful command
• links
• link s2 s11 down (down the link and you can see that change it ONOS GUI)
• nodes
• node name + ${common command}
• h11 ifconfig
• iperf h11 h4
• Use iperf to generate traffic.
ONOS
• Commands
• Show devices
• devices
• Show links
• links
• Show know hosts
• hosts
• Show flow rules
• flows
• Show shortest paths between each node
• Paths {node1} {node2}
OVS
• You can also create new tab and type following command to see ovs status.
• sudo ovs-vsctl show
• sudo ovs-ofctl dump-flows s11
SDNDS + CLOUD NATIVE USER GROUP
• Do you have interested in
• SDN
• Ceph
• OpenStack
• Kubernetes
• Join this meetup to learn more about.
• https://www.meetup.com/Cloud-Native-User-Group-Taiwan/events/245495423/
MEETUP
• 12/23 at NTU
• Free
• 08:30 ~ 17:00
Introduction to OpenNetwork and SDN
Q&A

More Related Content

PDF
Writing the Container Network Interface(CNI) plugin in golang
PDF
iptables 101- bottom-up
PPTX
Introduction to CNI (Container Network Interface)
PPTX
High performace network of Cloud Native Taiwan User Group
PDF
Load Balancing 101
PDF
Application-Based Routing
PDF
How Networking works with Data Science
PPT
Docker Multi Host Networking, Rachit Arora, IBM
Writing the Container Network Interface(CNI) plugin in golang
iptables 101- bottom-up
Introduction to CNI (Container Network Interface)
High performace network of Cloud Native Taiwan User Group
Load Balancing 101
Application-Based Routing
How Networking works with Data Science
Docker Multi Host Networking, Rachit Arora, IBM

What's hot (20)

PDF
Open vSwitch Introduction
PPTX
Docker Networking in OpenStack: What you need to know now
PDF
K8s storage-glusterfs-20180210
PDF
IPTABLES Introduction
ODP
Introducing OpenStack for Beginners
PDF
Kubernetes networking in AWS
PDF
Learning how AWS implement AWS VPC CNI
PDF
Status of Embedded Linux
PDF
Container Orchestration Integration: OpenStack Kuryr
PDF
Dockerizing OpenStack for High Availability
PDF
Kubernetes Networking
PDF
Docker Networking – Running multi-host applications
PDF
Control Your Network ASICs, What Benefits switchdev Can Bring Us
PDF
Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
PDF
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
PDF
Docker network performance in the public cloud
PDF
Container Network Interface: Network Plugins for Kubernetes and beyond
PDF
iptables and Kubernetes
PDF
Ovn vancouver
PDF
Kubernetes Networking
Open vSwitch Introduction
Docker Networking in OpenStack: What you need to know now
K8s storage-glusterfs-20180210
IPTABLES Introduction
Introducing OpenStack for Beginners
Kubernetes networking in AWS
Learning how AWS implement AWS VPC CNI
Status of Embedded Linux
Container Orchestration Integration: OpenStack Kuryr
Dockerizing OpenStack for High Availability
Kubernetes Networking
Docker Networking – Running multi-host applications
Control Your Network ASICs, What Benefits switchdev Can Bring Us
Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
Docker network performance in the public cloud
Container Network Interface: Network Plugins for Kubernetes and beyond
iptables and Kubernetes
Ovn vancouver
Kubernetes Networking
Ad

Similar to Introduction to OpenNetwork and SDN (20)

PDF
Open Network OS Overview as of 2015/10/16
PDF
Network Virtualization & Software-defined Networking
PDF
SDN & NFV Introduction - Open Source Data Center Networking
PPTX
Software Defined Networking: Primer
PPTX
SDN: Network Agility in the Cloud
PPTX
SDN Demystified, by Dean Pemberton [APNIC 38]
PPTX
Tools and Platforms for OpenFlow/SDN
PPT
Software defined network and Virtualization
PDF
Introduction to SDN
PDF
Introductionto SDN
PDF
Introduction to Software Defined Networking (SDN)
PDF
SDN/OpenFlow #lspe
PDF
SDN TEST Suite
PPTX
Demystifying openvswitch
PPTX
Software Defined networking (SDN)
PDF
PDF
Understanding network and service virtualization
PDF
The Open vSwitch and OVN Projects
PDF
What is SDN and how to approach it with Python
PPTX
Introduction to OpenFlow, SDN and NFV
Open Network OS Overview as of 2015/10/16
Network Virtualization & Software-defined Networking
SDN & NFV Introduction - Open Source Data Center Networking
Software Defined Networking: Primer
SDN: Network Agility in the Cloud
SDN Demystified, by Dean Pemberton [APNIC 38]
Tools and Platforms for OpenFlow/SDN
Software defined network and Virtualization
Introduction to SDN
Introductionto SDN
Introduction to Software Defined Networking (SDN)
SDN/OpenFlow #lspe
SDN TEST Suite
Demystifying openvswitch
Software Defined networking (SDN)
Understanding network and service virtualization
The Open vSwitch and OVN Projects
What is SDN and how to approach it with Python
Introduction to OpenFlow, SDN and NFV
Ad

More from HungWei Chiu (19)

PDF
Learn O11y from Grafana ecosystem.
PDF
Learned from KIND
PDF
Debug Your Kubernetes Network
PDF
以 eBPF 構建一個更為堅韌的 Kubernetes 叢集
PDF
Jenkins & IaC
PDF
The relationship between Docker, Kubernetes and CRI
PDF
PDF
Introduction to CRI and OCI
PDF
IP Virtual Server(IPVS) 101
PDF
Opentracing 101
PDF
Introduction to CircleCI
PDF
Head First to Container&Kubernetes
PDF
Kubernetes 1001
PDF
Build Your Own CaaS (Container as a Service)
PDF
Automatically Renew Certificated In Your Kubernetes Cluster
PDF
Overview of kubernetes network functions
PDF
Understand the iptables step by step
PDF
The basic concept of Linux FIleSystem
PDF
Integration kubernetes with docker private registry
Learn O11y from Grafana ecosystem.
Learned from KIND
Debug Your Kubernetes Network
以 eBPF 構建一個更為堅韌的 Kubernetes 叢集
Jenkins & IaC
The relationship between Docker, Kubernetes and CRI
Introduction to CRI and OCI
IP Virtual Server(IPVS) 101
Opentracing 101
Introduction to CircleCI
Head First to Container&Kubernetes
Kubernetes 1001
Build Your Own CaaS (Container as a Service)
Automatically Renew Certificated In Your Kubernetes Cluster
Overview of kubernetes network functions
Understand the iptables step by step
The basic concept of Linux FIleSystem
Integration kubernetes with docker private registry

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Modernizing your data center with Dell and AMD
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Approach and Philosophy of On baking technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
cuic standard and advanced reporting.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
A Presentation on Artificial Intelligence
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Machine learning based COVID-19 study performance prediction
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Modernizing your data center with Dell and AMD
Building Integrated photovoltaic BIPV_UPV.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Dropbox Q2 2025 Financial Results & Investor Presentation
Approach and Philosophy of On baking technology
Electronic commerce courselecture one. Pdf
Spectral efficient network and resource selection model in 5G networks
cuic standard and advanced reporting.pdf
NewMind AI Monthly Chronicles - July 2025
Encapsulation_ Review paper, used for researhc scholars
A Presentation on Artificial Intelligence
Understanding_Digital_Forensics_Presentation.pptx
MYSQL Presentation for SQL database connectivity
“AI and Expert System Decision Support & Business Intelligence Systems”

Introduction to OpenNetwork and SDN

  • 2. WHO AM I • Hung-Wei Chiu (邱宏瑋) • hwchiu@linkernetworks.com • hwchiu.com • Experience • Software Engineer at Linker Netowrks • Software Engineer at Synology (2014~2017) • Co-Found of SDNDS-TW • Open Source experience • SDN related projects (mininet, ONOS, Floodlight, awesome-sdn)
  • 3. OUTLINE • Before SDN • Open Source Networking • Open Compute Project • What is SDN and ONF • Experiment • ONOS • OVS • Mininet
  • 4. 4
  • 5. 5
  • 7. OPEN COMPUTER PROJECT • OCP • Founded 2011 • Global community for Open IT hardware Network Storage Telco Data Center Server Open Rack Hardware Management
  • 9. OCP, NETWORKING (SCOPE) • Fully disaggregated and open networking HW & SW • Operating System – Linux based operating system & 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)
  • 10. SUB PROJECTS • Subprojects of OCP Networking • Open Network Install Environment (ONIE) • Open Network Linux (ONL)
  • 11. EXAMPLE: WEDGE 100 Facebook Design CPU intel/AMD/… ASIC Broadcom/Mellanox/… Hardware Software NOS: Open Network Linux Forwarding Agent: FBOSS BMC: OpenBMC Switch as a Server
  • 12. OCP NETWORKING SOFTWARE • Switch Abstraction Interface – SAI • Define API to provide a vendor-independent way of controlling forwarding elements, such as a switching ASIC, and 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 EEEROM accessible to python programmers. • Open Network Install Environment – ONIE • Open install environment for bare metal network switch • ONIE enable a bare metal network switch ecosystem where end users have a choice among different network operation systems
  • 13. BUILDING ON BARE METAL Bare metal switch Bare metal switch U-Boot & ONIE Bare metal switch U-Boot & ONIE Network OS Bare metal switch U-Boot & ONIE Network OS Application Bare metal switch Bare metal server U-Boot & PXE Bare metal server U-Boot & PXE Linux,Windows, etc Bare metal server U-Boot & PXE Linux,Windows, etc Application Server Switch
  • 14. ONIE
  • 17. • White Box = Hardware + ONIE • Open Networking = Apps + NOS +White Box
  • 18. ONIE
  • 19. WHITE BOX SWITCH MODEL Switch Data Plane Control Plane Applications Switch Data Plane Switch Data Plane Linux OS Applications Switch Control Plane Applications Control Protocol Traditional Switch SDN-based System Open Networking Switch
  • 20. SDN • Software-Defined Networking (SDN) • The physical separation of the network control plane from the forwarding plane, and where a control plane controls several devices.
  • 21. THE SDN ARCHITECTURE • DIRECTLY PROGRAMMABLE • AGILE • CENTRALLY MANAGED • PROGRAMMATICALLY CONFIGURED • OPEN STANDARDS-BASED AND VENDOR-NEUTRAL
  • 22. BASIC MODEL OF SDN • Service Customer • Manage-control network services via SDN controller • Send/receive data using network resources. • Network/Service Provider
  • 24. ONF • Open Networking Foundation • Non-profit organization • Led consortium driving transformation of network infrastructure. • Serves as the umbrella for a number of projects building solutions • Leveraging network disaggregation • White box economics • Open source software • Software defined standards
  • 27. 27
  • 29. THE ECOSYSTEM • 200+ Members Strong Vibrant Operator Led Consortium Positioned for Success • PARTNER • COLLABORATING INNOVATOR • INNOVATOR • COLLABORATOR
  • 30. THE ECOSYSTEM Partner Innovator 110+ VolunteerVolunteers Collaborator Operators (7) Vendors (10) 70+ 100s ONF (& Stanford) Guru Parulkar Network Operators AT&T Andre Fuetsch – CTO Google Urs Hölzle – SVP NTT Comm Dai Kashiwa – Director Comcast Rob Howald– VP Verizon Srini Kalapala – VP China Unicom Shao Guanglu - SVP Research & Vendor Community Nick McKeown Stanford Fabian Schneider NEC New ONF Board Including 14 Operators: Argela/Turk Telecom Microsoft China Mobile Swisscom SK Telecom Telecom Italia ECI Telecom Telefonica Facebook TELUS Globe Telecom Vodafone Goldman Sachs Yahoo
  • 31. ONF’S SCOPE Disaggregated boxes: Packet switch, ROADM, eNodeB, OLT, RAN … Programmable Forwarding Plane Open Source: ONAP, Open-O, Open Source MANO Global Orchestrators NewONF ScopeofFocus Control Plane ONOS Control (OpenFlow, P4) Config (NetConf/Yang, OpenConfig) Alternative Controllers (e.g. ODL) Solutions Platforms M- CORD R- CORD E-CORD CORDVNFs Alternative VNF Frameworks (e.g. OPNFV) Service APIs: TOSCA, RESTful Network Intent-Based APIs Standards & Interworking APIs
  • 32. 32
  • 33. THE REAL SOFTWARE ABOUT SDN • SDN Controller • ONOS • The Switch • Software switch: Open vSwitch • Testing • Network emulator: mininet
  • 34. ONOS CARRIER-GRADE OPEN NETWORKING OPERATING SYSTEM 34
  • 35. WHAT IS ONOS? • Open Network Operating System (ONOS) • An open source SDN network operation system • SDN controller
  • 36. CONTROL & DATA PLANE DISAGGREGATION
  • 37. ONF ONOS BGP BMv2 ISIS Lisp Netconf OpenFlow OSPF OVSDB PCEP REST SNMP TL1
  • 38. ARCHITECTURAL TENETS • High-availability, scalability and performance • Strong abstractions and simplicity to develops apps and solutions • Protocol and device behavior independence • Separation of concerns and modularity
  • 40. OPENFLOW • Appear in 2008 • The most famous northbound API in SDN • OpenFlow not equal SDN • Just a communication protocol in SDN. • Defined how control plan talk to forward plan.
  • 42. OPENFLOW RULE L2 headers L3 headers L4 headersSwitch port ● Forward/Flood ● Drop ● Modify header ● Local ● Forward to Controller Packer bytes/counts Match Action Statistics
  • 43. L2 FORWARDING src_MAC L3 headers L4 headersSwitch port dst_MAC Action * * 00:11:32:aa:bb:cc * * Forward port 6 src_MAC L3 headers L4 headersSwitch port dst_MAC Action * * * * * Normal
  • 44. L3 FORWARDING L2 headers dst_ip L4 headersSwitch port src_ip Action 1 * 140.113.123.234 140.114.123.234 * Forward port 4
  • 45. FIREWALL L2 headers src_tcp_port dst_tcp_portSwitch port L3 headers Action 1 * * * 22 Drop
  • 46. OPENVSWITCH • So,What is Open vSwith and Why we need it ?
  • 47. HISTORY • 2008 • First paper about OpenFlow (SDN) • OpenFlow: enabling innovation in campus networks • Nick McKeown setup a Nicira company • Open vSwitch + OpenFlow = NVP (NetworkVirtualization Platform)
  • 48. HISTORY • 2012 • VMWare buy Nicira • NVP become the NSX
  • 49. INTRODUCTION • Hypervisors need to bridge traffic. • We can use Linux bridge do it. • So,Why do we need Open vSwitch • Targeted multi-server virtualization. • Responding to network dynamics • Maintenance of logical tags • Hardware integration
  • 50. FEATURES • IPv6 • LACP • Three mode (balance-scp/tcp, active/passive) • STP/RSTP • VLAN • Overlay Network • VXLan/GRE/Geneve/NVGRE • OpenFlow • OVSDB • DPDK
  • 51. COMPARE • Open vSwitchV.S Linux Bridge • Architecture • Featues
  • 53. ALL IN ONE • Iptables/ebtables won’t work anymore • Packet won’t pass netfilter now. • Use Openflow to control packets. • Also support some complicated operation in native port (without openflow) • VLAN • Bonding • Overlay network
  • 54. HOW OPENVSWITCH WORKS. • Control Packets by OpenFlow • Support different port types • Bonding • Overlay netwokrs • VLAN/MPLS • Some features support by linux kernel • Traffic Control (Queue) • Conntrack • NAT
  • 55. WHO CONTROL RULES • For OpenvSwitch, you can use following approaches • Command line tool • ovs-ofctl add-flows • Openflow controller • Push openflow rules via tcp
  • 56. COMMAND LINE • ovs-ofctl add-flow br1 “xxxxxxxxxxxxxxxxxxxxxxxx” • ovs-ofctl add-flows br1 filename • You can put all flows in a file and inert them at once. • ovs-ofctl del-flows br1 “xxxxxxx”
  • 57. SDN CONTROLLER • SDN Brain • Centralized control all SDN network devices. • Communicate with network devices via northbound API • OpenFlow/SNMP/OVSDB/NetConf/gRPC • OpenFlow != SDN again.
  • 58. Rules Data Plane Network Devices (OVS) Controller (ONOS) NAT RoutingFirewall Rules Data Plane Network Devices (OVS) Rules Data Plane Network Devices (OVS) Control Plane
  • 59. OPENVSWITCH • Support connection mode • Standalone • Without Controller, OVS has a default rules. • Controller • Need to setup controller’s IP:Port
  • 60. STANDALONE MODE • Default rules is • Match: any • Do: action:Normal • Normal means L2 forwarding. • Open vSwitch will be same as the Linux Bridge if it’s in standalone mode.
  • 61. HOW TO USE OPENVSWITCH • Create ovs bridge (we call it datapath) • ovs-vsctl add-br br0 • Attach existing port to OVS • ovs-vsctl add-port br0 eth0 • Dump flows • ovs-ofctl dump-flows br0
  • 63. WHAT • Mininet is a network emulator • Mininiet create a realistic virtul network, running real kernel, switch and application code, on a single machine (VM, cloud or natvie)
  • 64. WHAT(COND’T) switch switch switch switch switch switch switch Leaf Spne
  • 66. MININET switch switch switch switch switch switch switch Linux Host
  • 67. WHY • For Developer • Testing controller • Testing applications • Testing before deploy • Compare to real environment • Flexible • Scalable
  • 68. HOW IT WORKS • Run many OpenvSwitch in your host. • Also run many hosts in your host (network namespace) • Connect all of them • Network topology.
  • 69. EXPERIMENT • Combine the Mininet + ONOS in oneVM
  • 70. RESET • Reset your environment and start the ONOS controller • Click ONOS GUI
  • 71. MININET • Click the miniet icon to simulate a network topology and connect all switches to ONOS controller. • Switch to the ONOS GUI and you can see six switches there. • Use ‘l’ to show the switch id. • In the mininet terminal, type h11 ping h41 • In the ONOS Gui, type ‘h’ to show host.
  • 72. ONOS • Click the ONOS terminal icon to start ONOS CLI • Type “apps –a –s “ to see all activated applications. • Type “app activate org.onosproject.fwd” to enable forwarding function for ONOS. • Back to miniet prompt and you can see the ping works now. • You can also see second hosts on ONOS GUI.
  • 73. MININT • Useful command • links • link s2 s11 down (down the link and you can see that change it ONOS GUI) • nodes • node name + ${common command} • h11 ifconfig • iperf h11 h4 • Use iperf to generate traffic.
  • 74. ONOS • Commands • Show devices • devices • Show links • links • Show know hosts • hosts • Show flow rules • flows • Show shortest paths between each node • Paths {node1} {node2}
  • 75. OVS • You can also create new tab and type following command to see ovs status. • sudo ovs-vsctl show • sudo ovs-ofctl dump-flows s11
  • 76. SDNDS + CLOUD NATIVE USER GROUP • Do you have interested in • SDN • Ceph • OpenStack • Kubernetes • Join this meetup to learn more about. • https://www.meetup.com/Cloud-Native-User-Group-Taiwan/events/245495423/
  • 77. MEETUP • 12/23 at NTU • Free • 08:30 ~ 17:00
  • 79. Q&A