1
2
SDN SDN SDN SDN SDN SDN NFV SDN SDN
SDN APIs
Application Layer Control Layer
OpenFlow Infrastructure Layer SDN ACI and NSX
SDN
SDN lab
SDN
3
SDN
SDN
2017
24
4
SDN SDN
SDN Data Center
2017
24
5
SDN Cloud
SDN SDN SDN
2017
24
6
SDN
2017
24
7
[email protected]
8
17
SDN
Data Centers -
65000 Master in IT (AIS) - PMP - CCIE # 53657 CCNP - CCIP – CCNPSP - CCDP - CCNPDC - CCIEDC written CCNAR&S - CCDA - CCNASP - CCNADC - CCNAV - CCNASec ITILF - A+ - N+ - Cloud Essential - Security+ MCP - MCSA - MCTS - MCSE - HCNA - HCNP
29 2011
2009 2012 2017 SDN
CCNP R&S, VCP NV, Server Hyper-V, Brocade vRouter, VCA DCV & C
9
SDN
10
SDN
SDN
Switch and Router Switch Switch
Router
Control Plane
Switches/Routers Control Plane
Data Plane
Data Plane Forwarding Plane
SDN SDN 10 Martin Casado 2004
SDN Ethane: Taking Control of the
SDN SDN
11
Enterprise
SDN 2011
SDN Open Networking Foundation (ONF) SDN SDN 1
SDN Software Defined Networking
SDN
Forwarding Plane
Control Plane Data Plane
Control Plane Controller Controller
2004
Martin Casado
Nicira Data Plane Forwarding Stanford
Martin Control Plane Stanford Ethane
Management is Distributed Ethane Switches/Routers 5
SDN
2009 Campus OpenFlow: enabling innovation in campus networks Simulation Operational Network
OpenFlow
12
SDN SDN )1
SDN
1
13
)2
SDN SDN
SDN SDN SDN
•
SDN
• SDN •
SDN
Campus or LAN Edge Data Center Internet Service Provider or WAN
)1 )2 )3 )4
SDN SDN
SDN
Documentation
SDN
14
NFV NFV
SDN SDN SDN
Network Functions Virtualization Hardware
NFV Software
Switch, Router, Firewall, Load Software or Virtual
Hardware Balancer, and Controller Hardware Devices Virtualization
Hardware
SDN SDN
SDN Data Centers
NFV
1.3
Cisco 2012 2013 SDN 1.26 VMware SDN ▪ ▪ ▪ ▪ ▪ ▪
SDN SDN
15
SDN
16
SDN
SDN Infrastructure TCP/IP NCP
1980
Virtualization SDN Control Plane
Forwarding Plane Data Plane Switches/Routers Services Control Forwarding Control Layer and Application Layer
Model Infrastructure
SDN
ONF SDN
2 Application Layer )1 Control Layer )2 Infrastructure Layer )3
2
17
APIs
Application Layer
SDN Application Layer Routing Filter ACL and Implementation of Services (Control Layer) QoS Application Programming Interfaces API APIs APIs SDN
Control Layer Control
SDN Layer Switches/Routers Controller Open Source
Controllers Vendor Dependence
Stanford Control
SDN
Cisco ACI VMware NSX NOX C++/Python Controller Plane
APIs Forwarding Plane Data Plane Controller OpenFlow
OpenFlow Control Layer
OpenFlow Infrastructure Layer ONF
18
Martin How to program/configure the network? Orders Switches Control Plane Switches Infrastructure Open OpenFlow Protocol Data Controller
Switches Stanford Control Plane Switches
Flow Tables Vendors
Plane Forwarding
3
Forwarding
4
SDN Action
Table
4
19
3 Switch Services
Devices
Environment
OpFlex Cisco
Infrastructure Layer SDN Forwarding Physical
Controller
NFV SDN All Switches Support OpenFlow
Infrastructure Layer Plan Virtual
SDN SDN 5 SDN
SDN SDN
SDN
5
20
2 SDN Controller OpenFlow SDN
OpenFlow 48-Port Switch Access Point
SDN Implementation 48-Port Switches OpenFlow
6 Vendor
Access Point Wi-Fi
18 Wi-MAX
Integration Migration 6 SDN
6
21
2 1
WAN OpenFlow
SDN
Data Centers
SDN Pure SDN Google Data Centers
SDN
Switch Hardware Layer
•
Site Controller Layer
•
Global Control Layer
•
– Pure SDN 7
– SDN
SDN
7
22
ACI and NSX VMware Controller NSX Virtualization
VMware
Software Martin Casado NSX NSX
Nicira VMware Controller Virtual Switches, Routers, Firewall, and Load balancer SDN NFV Data Centers 8 Virtual Servers
8
23
Cisco Controller APIC SDN
Cisco Hardware
2014
ACI
SDN Nexus 9K
Controller SDN
APIC SDN
Cisco
9
VMware
9
Hardware VMware NSX Controller Software or Virtual Simulation Open
Cisco ACI Controller
SDN Controllers
Controllers Ryu Floodlight Daylight
Linux
Virtual Machine
24
SDN
25
SDN SDN
SDN
• • • • •
Control
SDN "Controller"
planes SDN
SDN SDN SDN
26
52
SDN Cisco
SDN SDN for Dummies for Dummies Cisco SDN Cisco CCNP SDN
Cisco
10
SDN
10
SDN
SDN SDN SDN SDN Java
Java Python Python
Algorithms
27
SDN
11
11
Java
12
Python Networking
Core Python Applications Programming
12
28
13
Java Network Programming
13
Linux Linux+ CompTIA Linux+ Study Guide Exam LX0-103 and Exam LX0-104 . 14
14
29
Foundations of Modern 15 Networking: SDN, NFV, QoE, IoT, and Cloud
15
SDN
SDN
SDN SDN SDN
30
Controller
SDN Controller Controller SDN
Controllers
2016
Controller NFV
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
SDN
Big Switch Networks Big Cloud Fabric Brain4Net: B4N Controller Brocade: Brocade SDN Controller Ciena: Blue Planet SDN/NFV Orchestration Platform Cisco Systems: Cisco Application Policy Infrastructure Controller (APIC) Coriant: Coriant Transcend SDN Solution Dell: Dell Active Fabric Manager ECI: LightCONTROL Extreme Networks: Extreme Networks OneController Fujitsu: Virtuora Network Controller Hewlett Packard Enterprise (HPE): HPE Carrier SDN Hewlett Packard Enterprise: HPE Distributed Cloud Networking (DCN) Huawei: Huawei Agile Controller Inocybe Technologies: Inocybe Open Networking Platform Juniper Networks: Juniper Contrail Networking Midokura: Midokura Enterprise MidoNet NEC ProgrammableFlow Controller PF6800 Open Networking Foundation (ONF): Atrium Open Networking Lab (ON.LAB): Open Network Operating System (ONOS) OpenDaylight Project: Beryllium (Be) Plexxi Inc: Plexxi Control Sonus Networks: VellOS ADVA Optical Networking: Ensemble Orchestrator Avaya Inc.: Avaya SDN Fx Architecture Corsa Technology: Corsa 10G/100G SDN Switches CPLANE NETWORKS Multi-Site Manager Ericsson: Ericsson Cloud SDN Huawei: Huawei CloudEngine 1800V Virtual Switch Huawei: Huawei USG6000V Virtual Service Gateway Linux Foundation: Open vSwitch Metaswitch Networks: Project Calico Nuage Networks Virtualized Services Platform (VSP) PLUMgrid: PLUMgrid OpenStack Networking Suite Pluribus Networks: Open Netvisor® Linux Tempered Networks: Identity-Defined Networking (IDN) Solution VMware, Inc.: VMware NSX
31
Ryu Controller Controller • OpenFlow •
16 #git clone git://github.com/osgr/ryu.git #cd ryu; #python ./setup.py install
16
•
Switching 17 #cd /home/ryu #./bin/ryu-manager --verbose ryu/app/simple_switch_13.py
17
32
)1
1.3
Ryu verbose 6633
switch Ryu )2
#ofp-tcp-listen-port 6610 Hub #ryu-manager --verbose --ofp-tcp-listen-port 6610 ./ryu/examples/hub.py •
Controllers
OpenDayLight Controller : Multithreading Community Multithreading Cores
Controller 18
18
33
•
•
: https://www.opendaylight.org/downloads Lithium #tar xf distribution-karaf-0.3.4-Lithium-SR4.tar.gz
• 19 #cd distribution-karaf-0.3.4-Lithium-SR4 #./bin/karaf
)1
19
Controller
Karaf Controller )2
controllers
Cluster : 10.0.0.1 IP address 10.0.0.2 IP address
configuration/initial/akka.conf configuration/initial/module-shards.conf
34
Controller Controller
21
20
akka.conf 10.0.0.1 hostname ip seed-nodes .netty.tcp cluster seed-nodes = ["akka.tcp://
[email protected]:2550","akka.tcp://
[email protected]:2550", "]
▪
▪
roles member-2 member-1 module-shards.conf #replicas = [ "member-1 IP 10.0.0.2
controller
20
35
21
• Compile #sudo mvn clean install OpenDayLight SDN
Floodlight Controller : • Multithreading
Controller 22
36
22
23 #git clone git://github.com/floodlight/floodlight.git #cd floodlight #ant
•
23
25 #java -jar target/floodlight.jar
37
24
•
24
25
38
26
eclipse
#ant eclipse
26
27
Eclipse
27
Eclipsel
39
SDN Labs
Lab virtual
Mininet 1
SDN network devices
SDN No.
Product Name
1
Cbench
2
OFLOPS
3
MiniNet
4
OFTest
Description OpenFlow Controller benchmarker: OpenFlow Controller Packet-in
Switches Controller
Controller OpenFlow switch benchmarker: Cbench OpenFlow Switches Virtual Controller Switches Switches MiniNet Switches and SDN Hosts OpenFlow Switches and Controllers OpenFlow 1.2 Switches OpenFlow 1
Lab Topology zoo Controller
40
SDN Linux
)1
Virtual Machines VMware
)2 )3
VM Switches VM
)4
Controllers
Controller
API Switches OpenFlow
)5 )6 )7
41
28
)1
28
Linux Mininet VMs
Virtual Machine VM VM ) Virtual Network Simulation
Ubuntu 12.04 Labs
29 #sudo apt-get install git #sudo git clone git://github.com/mininet/mininet #cd mininet #sudo ./mininet/util/install.sh -fnv
29
42
31
30
#sudo mn
30
Controller
> pingall ovs controller
31
43
32
32
lab H1, H2---------openvswitch--------- local controller python script
mininet command
lab
33 Linear, tree # sudo mn --controller=remote,ip=127.0.0.1 --topo=linear,2 commands
33
44
Host
Switch IP:127.0.0.1 34
Controller Linux Mininet
Host Mininet Hosts
#xterm h1 h2 h3
34
35 .1 .2 .3
classes controller controller
switches IP
switches .4 .5 .6 .7
switches Hosts switches controller
controller
switches .8
45
35
authorization #sudo chmod a+x yourfile.py #sudo ./yourfile.py # sudo mn -c System
36
36
46
)2 tree
linear
simulation single SDN
37 38 http://www.topology-zoo.org/gallery.html
37
38
47
manually or dynamically Link
manually python file hosts
auto-mininet mininet file section dataset
Switch
graphml file ▪
Download your topo on graphml extention from topozoo site, Also download automininet program from: https://github.com/uniba-ktr/assessing-mininet ▪ Unzip auto-mininet file and place it under mininet folder cd parse and copy your topo there ▪ ▪ sudo ./graphml-topo-to-mininet-network-generator.py -f yourtopo.graphml yourtopo.graphml-topo-to-mininet-network-generator.py Compile sudo chmod a+x yourtopo.gra....py Sudo ./yourtopo.gra.....py https://github.com/uniba-ktr/assessing-mininet
48
▪
39
)3
39
controller controller
SDN flows
switches switches server controllers
controller local
shared data store
controller controllers logically centralized
Clustering
controllers opendaylight onos https://wiki.onosproject.org/display/ONOS/Distributed+ONOS mininet multiple controllers http://stackoverflow.com/questions/23677291/how -to-connectdifferent-switches-to-different-remote-controllers-in-mininet
east west communication
49
controllers standardized
packet
Wireshark Wireshark Switch Controller Data plane Control plane Controller switch switch Controller OpenFlow
1.12 Wireshark Network cards Controller
Controller VM Wireshark 40
Vswitch
40
OpenFlow OFP OpenFlow Packey_out
Controller Ports
Packet
50
.1 .2 .3
Packet Switch Action .4
Packets Message Types Packet-In Switch -->Controller Packet-Out Controller -->Switch Flow-Mod Controller -->Switch Flow-Expired Switch -->Controller 2
2
Cbench 41 Controller # cbench -c 192.168.5.122 -p 6633 -s 4 -m 5000 -M 1000 -t -l 2 c: controller p: port s: switch m: duration of each test M: number of host per switch.
41
flux 63000
Controller
42 SDN Mininet
Hosts
42
51
Iperf
SDN: Software Defined Networks Thomas D. Nadeau and Ken Gray SDN
SDN SDN
SDN 43
43
Table of Contents Chapter 1: Introduction Chapter 2: Centralized and Distributed Control and Data Planes Chapter 3: OpenFlow Chapter 4: SDN Controllers Chapter 5: Network Programmability Chapter 6: Data Center Concepts and Constructs Chapter 7: Network Function Virtualization Chapter 8: Network Topology and Topological Information Abstraction Chapter 9: Building an SDN Framework Chapter 10: Use Cases for Bandwidth Scheduling, Manipulation, and Calendaring Chapter 11: Use Cases for Data Center Overlays, Big Data, and Network Function Virtualization Chapter 12: Use Cases for Input Traffic Monitoring, Classification, and Triggered Actions Chapter 13: Final Thoughts and Conclusion
52
Software Defined Networking with OpenFlow Siamak Azodolmolky simulation tools for labs and controllers choice Codes 44
44
Table of Contents Chapter 1: Introducing OpenFlow Chapter 2: Implementing the OpenFlow Switch Chapter 3: The OpenFlow Controllers Chapter 4: Setting Up the Environment Chapter 5: Net App Development Chapter 6: Getting a Network Slice Chapter 7: OpenFlow in Cloud Computing Chapter 8: Open Source Resource
53
153
: Software Defined Networking: Design and Deployment James M. Anderson and Patricia A. Morreale
Virtualization
SDN SDN Implementation Google
SDN SDN
45
45
Table of Contents Chapter 1: Virtualization Chapter 2: Software-defined networking Chapter 3: SDN implementation Chapter 4: Service providers and SDN Chapter 5: SDN development Chapter 6: Network vendors and SDN Chapter 7: Google and SDN Chapter 8: OpenFlow Chapter 9: SDN evolution
54
SDN
SDN SDN
SDN SDN https://scholar.google.com SDN ▪ ▪ ▪ ▪
Architecture of dynamic VPNs in OpenFlow Minimizing ARP traffic in the AMS-IX switching platform using OpenFlow OpenFlow network virtualization with Flow Visor ▪
▪
▪
▪
Control-plane Consistency in Software-defined Networking Distributed Controller Synchronization using the ISIS2 Toolkit ▪ Dynamical Quality of Service over Software Defined Networking ▪ Simulation of Real Time Data Center Topology and Traffic to Test SDN ▪
▪
Analysis of OpenFlow Protocol in Local Area Networks ▪
▪
SDN Security. ▪
▪
http://opensourcesdn.org/projects-view-all
55
SDN
SDN
SDN
SDN : Overview or Survey
SDN SDN QoS SDN
Overview or Survey Controller Performance
Switches Security Cloud
SDN
1) A Survey and a Layered Taxonomy of Software-Defined Networking by Jarraya et al. in 2014 2) A Survey of QoS Architectures by Aurrecoechea et al. in 1998 3) A Survey of SDN Security Research by Coughlin et al. in 2014
56
4) A Survey of Securing Networks using Software Defined Networking by Ali et al. in 2015 5) A survey on SDN, the future of networking by Rowshanrad et al. in 2014 6) A Survey of Software-Defined Networking: Past, Present, and Future of Programmable Networks by Nunes et al. in 2014 7) A Survey on Software-Defined Networking by Xia et al. in 2015 8) A Survey on Vulnerabilities of Openflow Network and its Impact on SDN/Openflow Controller by Parekh et al 9) Software-Defined Networking: Challenges and research opportunities for Future Internet by Hakiri et al. in 2014 10) Network Innovation using OpenFlow: A Survey by Lara et al. in 2014 11) Performances of OpenFlow-Based Software-Defined Networks: An overview by Benamrane et al. in 2015 12) Scalability and Resilience of Software-Defined Networking: An Overview by Van et al. in 2014 13) Software Defined Networking: Advanced Software Engineering to Computer Networks by Ajmire et al. in 2013 14) SDN Security: A Survey in Scott et al. in 2013 15) SDN Security Considerations in the Data Center by McBride et al. in 2013 16) Software-Defined Networking Using OpenFlow: Protocols, Applications and Architectural Design Choices by Braun et al. in 2014 17) Software Defined Networking Demands Technologies in Grbac et al. in 2015
on
Software
18) Software-Defined Networking: A Comprehensive Survey in Kreutz et al. in 2015 19) Software Defined Networking: A Concept and Related Issues in Kumar et al. in 2014
57
20) Software-Defined Networking: A survey by Farhady et al. in 2015 21) Software-Defined Networking: State of the Art and Research Challenges by Jammal et al. in 2014 22) Software-defined networking by Kirkpatrick et al. in 2013 23) Survey on Network Virtualization Hypervisors for Software Defined Networking by Blenk et al. in 2016 24) A Review of Software-Defined Networking Deployments and Applications by Ting-Yu Mu et al. in 2015
Overview or Survey
58
[email protected]
59
60