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
OPEN COMPUTER PROJECT
• OCP
• Founded 2011
• Global community for Open IT hardware
Network
Storage
Telco
Data Center Server
Open Rack
Hardware
Management
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
• 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
27
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.
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
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
Q&A

More Related Content

What's hot

Introducing OpenStack for Beginners
Introducing OpenStack for Beginners Introducing OpenStack for Beginners
Introducing OpenStack for Beginners
openstackindia
 
Container Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondContainer Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyond
KubeAcademy
 

What's hot (20)

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

Similar to Introduction to OpenNetwork and SDN

Virt july-2013-meetup
Virt july-2013-meetupVirt july-2013-meetup
Virt july-2013-meetup
nvirters
 
Nvp deep dive_session_cee-day
Nvp deep dive_session_cee-dayNvp deep dive_session_cee-day
Nvp deep dive_session_cee-day
yfauser
 
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Công TÔ
 

Similar to Introduction to OpenNetwork and SDN (20)

Introductionto SDN
Introductionto SDN Introductionto SDN
Introductionto SDN
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
 
Operators experience and perspective on SDN with VLANs and L3 Networks
Operators experience and perspective on SDN with VLANs and L3 NetworksOperators experience and perspective on SDN with VLANs and L3 Networks
Operators experience and perspective on SDN with VLANs and L3 Networks
 
Introduction to SDN
Introduction to SDNIntroduction to SDN
Introduction to SDN
 
Virt july-2013-meetup
Virt july-2013-meetupVirt july-2013-meetup
Virt july-2013-meetup
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
 
Nvp deep dive_session_cee-day
Nvp deep dive_session_cee-dayNvp deep dive_session_cee-day
Nvp deep dive_session_cee-day
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
 
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
OSDC 2014: Yves Fauser - OpenStack Networking (Neutron) - Overview of network...
 
Osdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauserOsdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauser
 
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
 
State of the OpenDaylight Union
State of the OpenDaylight UnionState of the OpenDaylight Union
State of the OpenDaylight Union
 
OpenStack Scale-out Networking Architecture
OpenStack Scale-out Networking ArchitectureOpenStack Scale-out Networking Architecture
OpenStack Scale-out Networking Architecture
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
 
OpenFlow Tutorial
OpenFlow TutorialOpenFlow Tutorial
OpenFlow Tutorial
 
Introduction to open virtual network Dawid Deja
Introduction to open virtual network  Dawid DejaIntroduction to open virtual network  Dawid Deja
Introduction to open virtual network Dawid Deja
 
PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow
 
Understanding and deploying Network Virtualization
Understanding and deploying Network VirtualizationUnderstanding and deploying Network Virtualization
Understanding and deploying Network Virtualization
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)
 

More from HungWei Chiu

More from HungWei Chiu (19)

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

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 

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
  • 6.
  • 7. OPEN COMPUTER PROJECT • OCP • Founded 2011 • Global community for Open IT hardware Network Storage Telco Data Center Server Open Rack Hardware Management
  • 8.
  • 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
  • 15.
  • 16.
  • 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
  • 25.
  • 26.
  • 27. 27
  • 28.
  • 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.
  • 41.
  • 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
  • 65.
  • 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
  • 78.
  • 79. Q&A