Sie sind auf Seite 1von 45

Software Defined Networks

Presented by: Dr. Ritesh Patel


CE Dept., CSPIT, CHARUSAT
riteshpatel.ce@charusat.ac.in

1
VARIOUS CONTROL AND DATA PLANE
 Control Plane
 Sending data without controller
 Ryu Controller
 POX Controller
 NOX Controller
 Floodlight Controller
 OpenDaylight Controller
 Data Plane
 Openflow Switch
 OVS Switch
 BVM2 Switch

2
SIMULATION :

 Writing Topology Program


 Using inbuilt commands i.e. mn
 Create Custom Topology Using Python

 Create Topology using GUI

3
OUTLINE OF PRESENTATION

 Traditional Network
 Problems associated with traditional network
 Software Defined Network-SDN
 Introduction

 Working of SDN
 Architecture & protocol stack

 Controllers & Simulators

 Research Area and Applications

5
FAT TREE TOPOLOGY

6
TRADITIONAL NETWORK
Router B

PCis
Routing table
generated by
Routing Table exchanging
Match Action Routing
information

Router C
Routing Table

Match Action

Routing Table Router A


Match Action
Packet

OpenFlowSwitch.org 7
TRADITIONAL NETWORK (CONTINUE…)

 Router Perform Two Operations


 Generating Routing table
 Using Routing table, forwards packets

Intelligence for
Generating
Routing Table

Efficient
Searching

8
TRADITIONAL NETWORK NODE
 Router
 Router can be partitioned into three planes
1. Management plane  configuration
2. Control plane  make decision for the route
3. Data plane  data forwarding

Adjacent Router Router Adjacent Router


Management/Policy plane
Configuration / CLI / GUI
Routing
Control plane Control plane Static routes Control plane
OSPF OSPF OSPF
Neighbor Link state IP routing
table database table
Switching
Data plane Data plane Data plane
Forwarding table
INSIDE ROUTER

Topology DB
Config DB
Control
RIB Plane
Routing and
Signaling
Policy DB

Routing Table

P1 Forwarding
P2 P3 Plane
Pn

10
Network Device

Management Plane

Control Plane

Data Plane

Network
Network Device
Device
(Router/Switc
h)
Basic Terminology
Management/Policy Plane
To configure control plane
Monitor the device its operation, interface, counter etc.
CLI/SNMP/NetConf
Control Plane
Runs in switch/router CPU
Processing speeds of thousands of packets/sec
Processes such as Routing Protocols
Data Plane
Dedicated h/w ASICs
Processing speeds of millions or billions of packets/sec
Data plane functionality such as L2/L3 forwarding , QoS, ACLs etc.
Today's Network Devices

Management Management
Plane Plane

Control Plane Control Plane

Data Plane Data Plane

Network Device Network Device


Current Network Challenges
Vendor Dependent
Higher Operation Cost
Distributed Control Plane
Vendor Dependence
Add New Feature

Vendor
Cisco , Juniper
etc

Customer (Service
Provider)
AirTel, Idea etc.
Vendor Dependence
~4
Add New Feature Add Days
Feature Software
engineer
Vendor Project
Cisco , Juniper Manager 1
year
etc
Hardware
engineer

Customer (Service
Provider)
AirTel, Idea etc.
Vendor Dependence
Network Operators and Owners depend on Vendors to introduce
new features
Vendors software release cycles ~ months
Vendors hardware custom ASIC ~ Years
Interoperability requiers Open Standard ~ Years
Operation Cost
Capex and Opex Costs
30% capex & 70% opex
Many Networking experts are required to manage the
complexity of their own products
IT teams globally under tremendous pressure to
decrease opex costs
PROBLEMS ASSOCIATED WITH TRAD. NW.

 Slow convergence

19
TRADITIONAL NETWORK
Router B

PC
It takes some
Routing Table time to
Match Action generate
accurate
routing table

Router C
Routing Table

Match Action

Routing Table Router A


Match Action
Packet

OpenFlowSwitch.org 20
PROBLEMS ASSOCIATED WITH TRAD. NW.

 Slow convergence
 Distributed computing
 Multiple location intelligence computing

21
TRADITIONAL NETWORK
Router B

PC

Routing Table

Match Action

Router C
Routing Table

Match Action

Routing Table Router A


Match Action
Packet

OpenFlowSwitch.org 22
PROBLEMS ASSOCIATED WITH TRAD. NW.
 Slow convergence
 Routing table updates take some time
 Distributed computing
 Multiple time & location computing
 Proactive
 Resources has to allocate and are computing same
thing all the time
 Even data are not sent and received
 No flexibility of programming to user

23
REQUIREMENT OF GOOGLE [1]
 Unified view of the network fabric
 High utilization
 Faster failure handling
 Faster time to market/deployment
 Elastic compute
 Easy to Manage
 Simple to configure each interface
 Simple to configure network wide function
 Much Flexible
 More susceptible to future innovations

24
HISTORY OF PROGRAMMABLE NETWORKS

25
SDN Defination-1 (ONF)
“The physical separation of the network control plane from the
forwarding plane, and where a control plane controls several
devices”
SDN M.P
Controller C.P
M.P M.P

C.P C.P

D.P D.P D.P D.P

Device A Device B Device A Device B


SDN Defination-2 (White Box Vendors)

“Open networking where we segregate the SW from HW and ability


for consumers to pick and choose which SW they need
independent of HW”

M.P (SW) M.P (SW) M.P (SW)

C.P (SW) C.P (SW) C.P (SW)

D.P (HW) D.P (HW) D.P (HW)

Device A Device A Device A


SW from Vendor A SW from Vendor B M.P SW from Vendor
HW from Vendor A HW from Vendor A D
C.P SW from Vendor
C
HW from Vendor A
NETWORK IS CHANGING [2]

Feature Feature

Feature Feature

Feature Feature

Feature Feature

Feature Feature

28
SDN CONCEPT
 SDN separates Control and Data plane functions
Control & Management Plane

SDN Controller
(S/W)

OpenFlow
Data Plane

Router/Switch

SDN Switch (H/W)

(source “Understanding L3 Switch”, Netmanias Talk, 2011/11/09)


SDN CONCEPT
 SDN Concept
 Separates control plane and data plane entities
 Network intelligence and state are logically centralized
 The underlying network infrastructure is abstracted from the applications
 Execute or run control plane software on general purpose hardware
 De-couple from specific networking hardware
 Use commodity computers
 Have programmable data planes
 Maintain, control and program data plane state from a central entity
 An architecture to control not only a networking device but an entire network
 Similar to existing Network Management System (NMS), but more powerful
 Control Software (SW)
 Control SW operates on view of network
 Control SW is not a distributed system
 Abstraction hides details of distributed states
EXAMPLE [2]

31
SDN: PLANES OF SDN [2]
 Control Plane: establishing the state in routers
 Determines how and where packets are forwarded
 Routing, traffic engineering, firewall state, …
 Slow time-scales (per control event)

 Data Plane: processing and delivery of packets


 Based on state in routers and endpoints
 E.g., IP, TCP, Ethernet, etc.
 Fast timescales (per-packet)

32
HOW DOES IT WORK?
Controller
Path to dest
PC
OpenFlow
Rule Switch
Action Statistics

OpenFlow
Protocol

OpenFlow OpenFlow
Rule Action Statistics Rule Action Statistics
Switch Switch

OpenFlowSwitch.org 33
DIFFERENCE

34
THE ACTUAL FLOW TABLE LOOKS LIKE

35
FLOW TABLE: BASIC ACTIONS
 All: To all interfaces except incoming interface.
 Controller: Encapsulate and send to controller.
 Local: send to its local networking stack.
 Table: Perform actions in the next flow table (table
chaining or multiple table instructions).
 In_port: Send back to input port.
 Normal: Forward using traditional Ethernet.
 Flood: Send along minimum spanning tree except the
incoming interface.

36
INSTALLATION OF MININET (UBUNTU 14 ONLY)

 Open a new terminal:


 Ctrl + Alt + t
 Install git:
 sudo apt-get install git
 Go to Desktop via terminal
 cd Desktop
 Clone Mininet from github
 git clone git://github.com/mininet/Mininet
 Go to the ‘mininet’ directory created during cloning
and install Mininet
 cd mininet
 ./util/install.sh -a
37
TESTING OF MININET
 Verify whether Mininet is installed successfully
 sudo mn --test pingall
 Using Mininet
 sudo mn
 mininet >
 To display nodes: nodes
 To display network: net
 To dump information about all nodes: dump
 To display links: links
 To know all the command: help

38
TESTING OF MININET

 Draw the topology


 Ping from one host to other host
 h1 ping h2
 To ping all hosts from every host
 Pingall

 In case of any problem


 Type #sudo mn clean

39
COMMANDS

 Pingall
 Pingallfull

 Ports

40
LINK

 links
 Link up and down
 links1 h1 down
 h1 ping h2 //Ping from h1 to h2
 h2 ping h1 //Ping from h2 to h1
 link s1 h1 up
 h1 ping h2 //Ping from h1 to h2
 h2 ping h1 //Ping from h2 to h1

41
1. TOPOLOGY IN MININET
 Creating a simple topology using CLI and
Python
 #sudo mn --topo linear,4
 creates
a topology of 4 nodes, each connected with a
separate switch
 #sudo mn --topo single,4
 creates a topology 4 nodes, each connected with a single
switch
 #sudo mn --link tc,bw=10,delay=10ms
 setbandwidth to 10Mbps and delay to 10ms for all the
links in network

42
VERIFY DELAY AND BANDWIDTH
 #sudo mn --link tc,bw=10,delay=10ms
 set bandwidth to 10Mbps and delay to 10ms for all the links
in network
 To verify delay

 To verify bandwidth
 Type following command at mininet terminal (>)
 Xterm h1
 Xterm h2
 On X-terminal of h1 type following command
 iperf –s &
 On X-terminal of h2 type following command
 iperf –c h1

43
2. CREATING CUSTOM TOPOLOGY

 #cd Desktop/Mininet
 #ls custom
 You will get file named topo-2sw-2host.py
 Open file
 #gedit custom/topo-2sw-2host.py

44
45
46

Das könnte Ihnen auch gefallen