Вы находитесь на странице: 1из 60

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 SDN
Data Center Cloud

2017 24

5
SDN
SDN

SDN

2017 24

6
SDN

2017 24

7
adel_husni2000@yahoo.com

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


Router Switch
Switch

Control Plane Switches/Routers


Control Plane Data Plane
Data
Plane
Forwarding Plane

SDN
SDN

SDN 10
Ethane: Taking Control of the Martin Casado
2004 Enterprise

SDN

SDN

11
SDN
2011 SDN
Open Networking Foundation (ONF)
SDN
SDN

SDN
Software Defined Networking SDN

Forwarding Plane Control Plane


Data Plane

Control Plane
Controller

Controller

2004 Martin Casado

Nicira Martin Management is Distributed


Data Plane Control Plane Ethane
Forwarding Switches/Routers
Stanford 5
Stanford Ethane SDN
2009 Campus
OpenFlow: enabling innovation in campus networks

Simulation OpenFlow
Operational Network

12
SDN
SDN
)1

SDN )2

13
SDN
SDN

SDN

SDN
SDN

SDN

SDN
SDN

Campus or LAN )1
Edge )2
Data Center )3
Internet Service Provider or WAN )4

SDN
SDN

SDN

Documentation

SDN

14
NFV SDN
NFV SDN
SDN

Network Functions Virtualization NFV


Hardware
Software
Switch, Router, Firewall, Load Hardware
Software or Virtual Balancer, and Controller
Hardware Devices
Virtualization

Hardware

SDN
SDN

SDN
Data Centers

NFV

Cisco
1.3 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 SDN ONF


Infrastructure SDN
2
Application Layer )1
Control Layer )2
Infrastructure Layer )3

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

Cisco ACI -
VMware NSX -
Stanford NOX -
C++/Python
Control SDN 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 Switches
OpenFlow Protocol Stanford
Data Controller Control Plane
Switches Plane
Flow Tables Forwarding
Vendors

SDN 4 3
Forwarding Action Table Switch
Services

19
Devices Environment

OpFlex
Cisco

Infrastructure Layer
SDN
Forwarding Infrastructure Layer
Physical Controller Plan
NFV SDN Virtual
All Switches Support OpenFlow

SDN
SDN
5
SDN

SDN
SDN

SDN

20
2
SDN
Controller
OpenFlow
SDN SDN

Implementation
OpenFlow 48-Port Switches 6
OpenFlow
48-Port Switch Vendor
Access Point Access Point Wi-Fi 18
Wi-MAX
Integration
Migration
6

SDN

21
2 1 WAN

OpenFlow SDN

Data Centers SDN


Pure SDN
SDN Google Data Centers

Switch Hardware Layer


Site Controller Layer
Global Control Layer

Pure SDN SDN


7

SDN

22
ACI and NSX

VMware Controller NSX


Virtualization VMware
Software
Martin Casado Nicira
NSX NSX VMware
Controller
Virtual Switches, Routers, Firewall, and Load balancer
SDN NFV
Data Centers
8 Virtual Servers

23
Cisco Controller APIC
SDN Cisco

Hardware
ACI 2014 SDN
Nexus 9K Controller
APIC SDN
SDN Cisco
9 VMware

Hardware
VMware NSX Controller Cisco ACI Controller SDN
Software or Virtual
Simulation Controllers
Open Controllers
Ryu Floodlight Daylight

Linux Virtual Machine

24
SDN

25
SDN

SDN

SDN

Control SDN
"Controller" planes

SDN

SDN

SDN

SDN

26
52 SDN
SDN for Dummies
for Dummies
SDN Cisco Cisco
Cisco SDN Cisco
CCNP
SDN

10 SDN

10

SDN

SDN
SDN

SDN
SDN Java Python SDN
Java Python Algorithms

27
11

11

Java Python
Networking

12 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
Controllers Controller
SDN

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 )1
#cd /home/ryu
#./bin/ryu-manager --verbose ryu/app/simple_switch_13.py

17

32
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
Controller Multithreading
18 Cores

18

33
:
https://www.opendaylight.org/downloads

Lithium
#tar xf distribution-karaf-0.3.4-Lithium-SR4.tar.gz


19 )1
#cd distribution-karaf-0.3.4-Lithium-SR4
#./bin/karaf

19

Controller Karaf

Controller

)2
controllers Cluster
:
10.0.0.1 IP address Controller
10.0.0.2 IP address Controller

configuration/initial/akka.conf
configuration/initial/module-shards.conf

34
21 20

akka.conf
10.0.0.1 hostname ip
seed-nodes .netty.tcp
cluster
seed-nodes = ["akka.tcp://opendaylight-cluster-
data@10.0.0.1:2550","akka.tcp://opendaylight-cluster-
data@10.0.0.2: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

:
Controller Multithreading
22

36
22

23
#git clone git://github.com/floodlight/floodlight.git
#cd floodlight
#ant

23

25 24
#java -jar target/floodlight.jar

37
24

25

38
26 eclipse
#ant eclipse

26

27 Eclipse

27

Eclipsel

39
SDN Labs

Lab Mininet
virtual SDN
1 network devices
SDN

No. Product Name Description


OpenFlow Controller benchmarker:
OpenFlow Controller

1 Cbench Packet-in Switches


Controller
Controller
OpenFlow switch benchmarker:
Cbench
OpenFlow Switches
2 OFLOPS
Virtual Controller
Switches
Switches
MiniNet
Switches and
3 MiniNet SDN Hosts
OpenFlow Switches and
Controllers
OpenFlow
4 OFTest 1.2 Switches
OpenFlow

Lab

Topology zoo
Controller

40
SDN

Linux Virtual Machines )1


VMware
VM )2
)3
Switches
VM Controllers )4

Controller API )5

Switches )6
OpenFlow
)7

41
28 )1

28

Linux Virtual Machine VM


Mininet VM Ubuntu 12.04
VMs ) Virtual Network Simulation
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

commands 33
Linear, tree
# sudo mn --controller=remote,ip=127.0.0.1 --topo=linear,2

33

44
Switch
Host IP:127.0.0.1 Controller Host
34 Linux Mininet
Mininet Hosts
#xterm h1 h2 h3

34

35

classes .1
switches controller .2
IP controller .3
switches
switches .4
Hosts .5
switches .6
controller controller .7
switches
.8

45
35

authorization
#sudo chmod a+x yourfile.py
#sudo ./yourfile.py
# sudo mn -c System 36

36

46
)2
simulation
tree linear single
SDN

37
38
http://www.topology-zoo.org/gallery.html

37

38

47
manually or dynamically

Link manually
python file hosts Switch

auto-mininet
mininet file section dataset 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 SDN
controller
flows switches
switches
controller server
controllers
local

controller Clustering
shared data store controllers
logically centralized

controllers
opendaylight
onos
https://wiki.onosproject.org/display/ONOS/Distributed+ONOS
mininet multiple controllers

http://stackoverflow.com/questions/23677291/how -to-connect-
different-switches-to-different-remote-controllers-in-mininet

east west communication controllers


standardized

49
Wireshark
Wireshark
Switch Controller
Data plane Control plane
packet Controller switch
switch Controller
OpenFlow

1.12 Wireshark
Network cards Controller VM
Wireshark
Controller Vswitch 40

40

OpenFlow OFP .1
OpenFlow .2
Controller Packey_out Packet .3
Switch
Ports Packet Action .4

50
Packets 2
Message Types
Packet-In Switch -->Controller
Packet-Out Controller -->Switch
Flow-Mod Controller -->Switch
Flow-Expired Switch -->Controller
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 Iperf
SDN
Mininet Hosts

42

51
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 153

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
:
Software Defined Networking: Design and Deployment
James M. Anderson and Patricia A. Morreale

Virtualization SDN
SDN
SDN Implementation
SDN Google

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 Overview or Survey

QoS Controller Switches


SDN Performance 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 on Software


Technologies in Grbac et al. in 2015

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
yamanadnan.it@gmail.com

59
60

Вам также может понравиться