SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
meetup #2 
OpenvSwitch 初探pichuang@sdnds-tw
About me 
❖ pichuang a.k.a. ⼩小⾶飛機! 
❖ 救⽕火員型研究⽣生! 
❖ NCTU CSCC TA! 
❖ NCTU Wireless Internet Lab! 
❖ http://roan.logdown.com! 
❖ http://fbl.me/pichuang
OpenvSwitch Introduction 
❖ Production Quality! 
❖ Multi Layer virtual switch! 
❖ L2 - L4! 
❖ Support OpenFlow protocol! 
❖ Written in platform-independent C
OpenvSwitch Features 
❖ VLAN tagging and trunking (802.1q)! 
❖ Standard Spanning Tree Protocol (802.1d)! 
❖ Link Aggregation Control Protocol (802.3ad)! 
❖ Port mirror! 
❖ RSPAN! 
❖ SPAN
❖ Flow monitor! 
❖ sFlow! 
❖ NetFlow! 
❖ IP Flow Information Export (IPFIX)! 
❖ QoS Control! 
❖ Tunneling Protocol! 
❖ VXLAN! 
❖ GRE! 
❖ IPSEC! 
❖ Support Intel® DPDK! 
❖ Support Linux Kenrel 3.11 ~ 3.14
OpenvSwitch Overview 
OpenFlow Controller 
Remote 
User space 
OpenFlow protocol 
ovs-vswitchd ovsdb-server 
datapath! 
ovs kernel module 
Kernel space 
unix socket 
netlink
kmod_openvswitch 
OpenFlow Controller 
Remote 
User space 
OpenFlow protocol 
ovs-vswitchd ovsdb-server 
datapath! 
ovs kernel module 
Kernel space 
unix socket 
netlink
❖ a.k.a “datapath"! 
❖ Fast Path lookup! 
❖ Strict match! 
❖ Similar to linux bridge ! 
❖ Hook network device handle! 
❖ Extract Flow key! 
❖ jhash3! 
❖ Implement tunneling 
protocol! 
❖ Megaflow (Wildcard table)
ovs-dpctl 
❖ Manage datapath command! 
❖ ovs-dpctl show! 
❖ ovs-dpctl dump-flows! 
❖ ovs-dpctl add-flow! 
❖ ovs-dpctl -h! 
! 
❖ ovs-dpctl-top (python)
ovs-vswitchd 
OpenFlow Controller 
Remote 
User space 
OpenFlow protocol 
ovs-vswitchd ovsdb-server 
datapath! 
ovs kernel module 
Kernel space 
unix socket 
netlink
❖ OpenvSwitch core component! 
❖ Talk to datapath via netlink! 
❖ Communicate with ovsdb-server via unix socket! 
❖ Implement various protocols! 
❖ like OpenFlow protocol! 
❖ Include exactly table(Fast lookup) and wildcard table 
(Slow lookup)
ovs-ofctl 
❖ Manage ovs-vswitchd command! 
❖ ovs-ofctl dump-flows <bridge name>! 
❖ ovs-ofctl show <bridge name>! 
❖ ovs-ofctl dump-tables <bridge name>! 
❖ ovs-ofctl -h
ovs-appctl 
❖ Manage logging level! 
❖ ovs-appctl vlog/list! 
❖ ovs-appctl vlog/set {module name}:{console, syslog, 
file}:{off, emer, err, warn, info, dbg}! 
❖ Generate packet for trace! 
❖ ovs-appctl ofproto/trace <bridge name>! 
❖ http://goo.gl/tWbZXH
ovsdb-server 
OpenFlow Controller 
Remote 
User space 
OpenFlow protocol 
ovs-vswitchd ovsdb-server 
datapath! 
ovs kernel module 
Kernel space 
unix socket 
netlink
❖ ovs-vswitchd configuration is stored on disk! 
❖ The OVSDB management protocol (RFC 7047)! 
❖ vswitch.ovsschema! 
❖ JSON Format
ovs-vsctl 
❖ Manages ovs-vswitchd configuration ! 
❖ ovs-vsctl show! 
❖ …! 
❖ ovs-vsctl -h
ovsdb-tool 
❖ Open vSwitch database management utility! 
❖ ovsdb-tool create conf.db vswitch.ovsschema! 
❖ ovsdb-tool query! 
❖ ovsdb-tool -h
ovs-ctl 
❖ OpenvSwitch Startup Script! 
❖ /usr/share/openvswitch/scripts/ovs-ctl! 
❖ ovs-ctl start! 
❖ ovs-ctl stop! 
❖ ovs-ctl -h
Match Flow
Flow match 
OpenFlow Controller 
OpenFlow PACKET_IN 
ovs-vswitchd 
wildcard flow table 
datapath flow table 
ovs-vswitchd 
exactly flow table 
unknown packet 
upcall (netlink) 
Kernel space
Flow install 
OpenFlow Controller 
datapath flow table 
ovs-vswitchd 
wildcard flow table 
ovs-vswitchd 
exactly flow table 
install flow entry 
Kernel space 
OpenFlow PACKET_OUT 
execute actions 
packet out
Debugging OpenvSwitch
OpenvSwitch Setting
Daemon 
❖ Start! 
❖ ovs-ctl start! 
❖ custom init script ! 
❖ Check! 
❖ ovs-ctl status! 
❖ ps aux |grep ovs
Logging 
❖ ovsdb-tool show-log [-mmm]! 
❖ cat /var/log/openvswitch/{ovsdb-server,ovs-vswitchd}. 
log
ovs-vsctl show 
❖ Controller! 
❖ Connection methods: tcp, ssl! 
❖ OpenFlow protocol: 6633, 6653! 
❖ is_connected: true! 
❖ fail_mode! 
❖ secure, standalone
ovs-ofctl 
OpenFlow Controller 
ovs-vswitchd 
wildcard flow table 
datapath flow table 
ovs-vswitchd 
exactly flow table 
Kernel space
ovs-ofctl show <bridge name> 
❖ Features Reply! 
❖ dpid! 
❖ ofport <-> interface
ovs-dpctl 
ovs-vswitchd 
wildcard flow table 
datapath flow table 
ovs-vswitchd 
exactly 
OpenFlow Controller 
Kernel space
ovs-dpctl show 
❖ hit! 
❖ hit existing entry! 
❖ missed! 
❖ send to userspace! 
❖ drop! 
❖ flows
Flow
ovs-ofctl 
OpenFlow Controller 
ovs-vswitchd 
wildcard flow table 
datapath flow table 
ovs-vswitchd 
exactly flow table 
Kernel space
ovs-ofctl dump-flows <bridge name> 
❖ xid! 
❖ check fields! 
❖ duration, idle_age, priority, in_port! 
❖ actions
ovs-dpctl 
ovs-vswitchd 
wildcard flow table 
datapath flow table 
ovs-vswitchd 
exactly 
OpenFlow Controller 
Kernel space
ovs-dpctl dump-flows 
❖ packets! 
❖ used! 
❖ actions
ovs-appctl bridge/dump-flows <br> 
❖ Include hidden flow! 
❖ Send packet to OpenFlow Controller
Thank you

Más contenido relacionado

La actualidad más candente

Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitch
Sim Janghoon
 
OpenStack networking
OpenStack networkingOpenStack networking
OpenStack networking
Sim Janghoon
 
debugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitchdebugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitch
어형 이
 
Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, gre
Sim Janghoon
 

La actualidad más candente (20)

Understanding Open vSwitch
Understanding Open vSwitch Understanding Open vSwitch
Understanding Open vSwitch
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitch
 
Open vswitch datapath implementation
Open vswitch datapath implementationOpen vswitch datapath implementation
Open vswitch datapath implementation
 
OVS-NFV Tutorial
OVS-NFV TutorialOVS-NFV Tutorial
OVS-NFV Tutorial
 
OpenStack networking
OpenStack networkingOpenStack networking
OpenStack networking
 
Docker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksDocker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined Networks
 
Openv switchの使い方とか
Openv switchの使い方とかOpenv switchの使い方とか
Openv switchの使い方とか
 
Building a network emulator with Docker and Open vSwitch
Building a network emulator with Docker and Open vSwitchBuilding a network emulator with Docker and Open vSwitch
Building a network emulator with Docker and Open vSwitch
 
Pipework: Software-Defined Network for Containers and Docker
Pipework: Software-Defined Network for Containers and DockerPipework: Software-Defined Network for Containers and Docker
Pipework: Software-Defined Network for Containers and Docker
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
Open vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATOpen vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NAT
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan Drivers
 
2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services
 
debugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitchdebugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitch
 
OpenStack networking juno l3 h-a, dvr
OpenStack networking   juno l3 h-a, dvrOpenStack networking   juno l3 h-a, dvr
OpenStack networking juno l3 h-a, dvr
 
Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, gre
 
Tutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingTutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networking
 
Anatomy of neutron from the eagle eyes of troubelshoorters
Anatomy of neutron from the eagle eyes of troubelshoortersAnatomy of neutron from the eagle eyes of troubelshoorters
Anatomy of neutron from the eagle eyes of troubelshoorters
 
Open stack advanced_part
Open stack advanced_partOpen stack advanced_part
Open stack advanced_part
 
Demystifying openvswitch
Demystifying openvswitchDemystifying openvswitch
Demystifying openvswitch
 

Similar a Sdnds tw-meetup-2

FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
Holger Winkelmann
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar
 
Node.js for Rubists
Node.js for RubistsNode.js for Rubists
Node.js for Rubists
Sagiv Ofek
 

Similar a Sdnds tw-meetup-2 (20)

SDNDS.TW Mininet
SDNDS.TW MininetSDNDS.TW Mininet
SDNDS.TW Mininet
 
WUG #009 - OpenVNet 0.7 presentation
WUG #009 - OpenVNet 0.7 presentationWUG #009 - OpenVNet 0.7 presentation
WUG #009 - OpenVNet 0.7 presentation
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
Thebasicintroductionofopenvswitch
ThebasicintroductionofopenvswitchThebasicintroductionofopenvswitch
Thebasicintroductionofopenvswitch
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
Secure LXC Networking
Secure LXC NetworkingSecure LXC Networking
Secure LXC Networking
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
 
Wireless openflow (english)
Wireless openflow (english)Wireless openflow (english)
Wireless openflow (english)
 
Openstack openswitch basics
Openstack openswitch basicsOpenstack openswitch basics
Openstack openswitch basics
 
OpenFlow Tutorial
OpenFlow TutorialOpenFlow Tutorial
OpenFlow Tutorial
 
Docker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBMDocker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBM
 
Introduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDNIntroduction to OpenNetwork and SDN
Introduction to OpenNetwork and SDN
 
CampusSDN2017 - Jawdat: SDN Technology Evolvement
CampusSDN2017 - Jawdat: SDN Technology EvolvementCampusSDN2017 - Jawdat: SDN Technology Evolvement
CampusSDN2017 - Jawdat: SDN Technology Evolvement
 
Skydive, real-time network analyzer, container integration
Skydive, real-time network analyzer, container integrationSkydive, real-time network analyzer, container integration
Skydive, real-time network analyzer, container integration
 
OpenStack Meetup - SDN
OpenStack Meetup - SDNOpenStack Meetup - SDN
OpenStack Meetup - SDN
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
 
Open v switch20150410b
Open v switch20150410bOpen v switch20150410b
Open v switch20150410b
 
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspe
 
Node.js for Rubists
Node.js for RubistsNode.js for Rubists
Node.js for Rubists
 

Más de Fei Ji Siao (7)

Onos sdn ip 建置之路 20160522
Onos sdn ip 建置之路 20160522Onos sdn ip 建置之路 20160522
Onos sdn ip 建置之路 20160522
 
Global SDN-IP Deployment at NCTU, Taiwan
Global SDN-IP Deployment at NCTU, TaiwanGlobal SDN-IP Deployment at NCTU, Taiwan
Global SDN-IP Deployment at NCTU, Taiwan
 
Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206
 
進交大 一點都不難
進交大 一點都不難進交大 一點都不難
進交大 一點都不難
 
Introduction to NBL
Introduction to NBLIntroduction to NBL
Introduction to NBL
 
Floodlight introduction
Floodlight introductionFloodlight introduction
Floodlight introduction
 
Sdnds tw-meetup-1
Sdnds tw-meetup-1Sdnds tw-meetup-1
Sdnds tw-meetup-1
 

Último

一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
F
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
F
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Monica Sydney
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Monica Sydney
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 

Último (20)

一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 

Sdnds tw-meetup-2

  • 1. meetup #2 OpenvSwitch 初探pichuang@sdnds-tw
  • 2. About me ❖ pichuang a.k.a. ⼩小⾶飛機! ❖ 救⽕火員型研究⽣生! ❖ NCTU CSCC TA! ❖ NCTU Wireless Internet Lab! ❖ http://roan.logdown.com! ❖ http://fbl.me/pichuang
  • 3. OpenvSwitch Introduction ❖ Production Quality! ❖ Multi Layer virtual switch! ❖ L2 - L4! ❖ Support OpenFlow protocol! ❖ Written in platform-independent C
  • 4. OpenvSwitch Features ❖ VLAN tagging and trunking (802.1q)! ❖ Standard Spanning Tree Protocol (802.1d)! ❖ Link Aggregation Control Protocol (802.3ad)! ❖ Port mirror! ❖ RSPAN! ❖ SPAN
  • 5. ❖ Flow monitor! ❖ sFlow! ❖ NetFlow! ❖ IP Flow Information Export (IPFIX)! ❖ QoS Control! ❖ Tunneling Protocol! ❖ VXLAN! ❖ GRE! ❖ IPSEC! ❖ Support Intel® DPDK! ❖ Support Linux Kenrel 3.11 ~ 3.14
  • 6. OpenvSwitch Overview OpenFlow Controller Remote User space OpenFlow protocol ovs-vswitchd ovsdb-server datapath! ovs kernel module Kernel space unix socket netlink
  • 7. kmod_openvswitch OpenFlow Controller Remote User space OpenFlow protocol ovs-vswitchd ovsdb-server datapath! ovs kernel module Kernel space unix socket netlink
  • 8. ❖ a.k.a “datapath"! ❖ Fast Path lookup! ❖ Strict match! ❖ Similar to linux bridge ! ❖ Hook network device handle! ❖ Extract Flow key! ❖ jhash3! ❖ Implement tunneling protocol! ❖ Megaflow (Wildcard table)
  • 9. ovs-dpctl ❖ Manage datapath command! ❖ ovs-dpctl show! ❖ ovs-dpctl dump-flows! ❖ ovs-dpctl add-flow! ❖ ovs-dpctl -h! ! ❖ ovs-dpctl-top (python)
  • 10. ovs-vswitchd OpenFlow Controller Remote User space OpenFlow protocol ovs-vswitchd ovsdb-server datapath! ovs kernel module Kernel space unix socket netlink
  • 11. ❖ OpenvSwitch core component! ❖ Talk to datapath via netlink! ❖ Communicate with ovsdb-server via unix socket! ❖ Implement various protocols! ❖ like OpenFlow protocol! ❖ Include exactly table(Fast lookup) and wildcard table (Slow lookup)
  • 12. ovs-ofctl ❖ Manage ovs-vswitchd command! ❖ ovs-ofctl dump-flows <bridge name>! ❖ ovs-ofctl show <bridge name>! ❖ ovs-ofctl dump-tables <bridge name>! ❖ ovs-ofctl -h
  • 13. ovs-appctl ❖ Manage logging level! ❖ ovs-appctl vlog/list! ❖ ovs-appctl vlog/set {module name}:{console, syslog, file}:{off, emer, err, warn, info, dbg}! ❖ Generate packet for trace! ❖ ovs-appctl ofproto/trace <bridge name>! ❖ http://goo.gl/tWbZXH
  • 14. ovsdb-server OpenFlow Controller Remote User space OpenFlow protocol ovs-vswitchd ovsdb-server datapath! ovs kernel module Kernel space unix socket netlink
  • 15. ❖ ovs-vswitchd configuration is stored on disk! ❖ The OVSDB management protocol (RFC 7047)! ❖ vswitch.ovsschema! ❖ JSON Format
  • 16. ovs-vsctl ❖ Manages ovs-vswitchd configuration ! ❖ ovs-vsctl show! ❖ …! ❖ ovs-vsctl -h
  • 17. ovsdb-tool ❖ Open vSwitch database management utility! ❖ ovsdb-tool create conf.db vswitch.ovsschema! ❖ ovsdb-tool query! ❖ ovsdb-tool -h
  • 18.
  • 19. ovs-ctl ❖ OpenvSwitch Startup Script! ❖ /usr/share/openvswitch/scripts/ovs-ctl! ❖ ovs-ctl start! ❖ ovs-ctl stop! ❖ ovs-ctl -h
  • 21. Flow match OpenFlow Controller OpenFlow PACKET_IN ovs-vswitchd wildcard flow table datapath flow table ovs-vswitchd exactly flow table unknown packet upcall (netlink) Kernel space
  • 22. Flow install OpenFlow Controller datapath flow table ovs-vswitchd wildcard flow table ovs-vswitchd exactly flow table install flow entry Kernel space OpenFlow PACKET_OUT execute actions packet out
  • 25. Daemon ❖ Start! ❖ ovs-ctl start! ❖ custom init script ! ❖ Check! ❖ ovs-ctl status! ❖ ps aux |grep ovs
  • 26. Logging ❖ ovsdb-tool show-log [-mmm]! ❖ cat /var/log/openvswitch/{ovsdb-server,ovs-vswitchd}. log
  • 27. ovs-vsctl show ❖ Controller! ❖ Connection methods: tcp, ssl! ❖ OpenFlow protocol: 6633, 6653! ❖ is_connected: true! ❖ fail_mode! ❖ secure, standalone
  • 28. ovs-ofctl OpenFlow Controller ovs-vswitchd wildcard flow table datapath flow table ovs-vswitchd exactly flow table Kernel space
  • 29. ovs-ofctl show <bridge name> ❖ Features Reply! ❖ dpid! ❖ ofport <-> interface
  • 30. ovs-dpctl ovs-vswitchd wildcard flow table datapath flow table ovs-vswitchd exactly OpenFlow Controller Kernel space
  • 31. ovs-dpctl show ❖ hit! ❖ hit existing entry! ❖ missed! ❖ send to userspace! ❖ drop! ❖ flows
  • 32. Flow
  • 33. ovs-ofctl OpenFlow Controller ovs-vswitchd wildcard flow table datapath flow table ovs-vswitchd exactly flow table Kernel space
  • 34. ovs-ofctl dump-flows <bridge name> ❖ xid! ❖ check fields! ❖ duration, idle_age, priority, in_port! ❖ actions
  • 35. ovs-dpctl ovs-vswitchd wildcard flow table datapath flow table ovs-vswitchd exactly OpenFlow Controller Kernel space
  • 36. ovs-dpctl dump-flows ❖ packets! ❖ used! ❖ actions
  • 37. ovs-appctl bridge/dump-flows <br> ❖ Include hidden flow! ❖ Send packet to OpenFlow Controller