SlideShare a Scribd company logo
1 of 26
Final Project
Load Balancer Using Software-Defined Network - POX
Team Group 4
7-Dec 2015
1
Group Name SJSU ID Class ID Roles
Group member 1 Avanish Gupta 010129847 22 Code analysis and debug
Group member 2 Kunal Goswami 010772541 20 Code analysis and debug
Group member 3 Ayush Sharma 010034141 71 Design, code and implement
Group member 4 Ikwhan Chang 010754107 9 Design, code and test
INDEX
• Part1: SDN Analysis
• POX Controller: OpenFlow
• OpenFlow Startup events
• OpenFlow Module
• Flow of Control
• Components
• Part2: Development
• Introduction
• Modifications
• Test CDN Environments
• Performance Analysis
• Architecture & Topology
• Demo
• Q&A
2
Part 1:
SDN
Analysis
• POX Controller: OpenFlow
• POX Startup events.
• OpenFlow Module
• Flow of Control
• Components
3
POX Controller:
OpenFlow
• POX is an open source controller developed in
python language for software defined
networking.
• For the part 1 of our project, we have chosen
the OpenFlow module for our analysis. The
following image shows the important
components of the OpenFlow module.
4
5
POX startup events
OpenFlow Module
• In the accompanying diagram, we go through
the outline of the OpenFlow module.
• The discovery and keep alive components of
OpenFlow provide input to the topology
module so as to create and manipulate the
network topology.
• The libopenflow module communicates with
the lib.packet module in order to handle the
packets as well as the events that are fired
through the network.
6
Flow of Control
• The flow of control in POX controller can be understood as an
outline of the actual flow.
• We consider the outline/overview for the POX controller flow
because of the interdependency between the modules in it.
• There are well defined classes and events for every single event that
occurs in a network, however they’re utilized by multiple components
of the POX controller and the flow of control keeps jumping from one
component to another.
7
Flow of control
• The startup of the POX controller transfers the control from the main
“pox.py” to openflow/libopenflow component of POX.
• This file contains the events for the packets that are transferred
amongst the switches.
• The topology is updated simultaneously with the discovery
component and the topology component of the POX controller.
• We now discuss the important components of the OpenFlow module
in POX.
8
Component: libopenflow
9
• This file contains the definition
of various classes and
constants such as the
openflow messages in the
specification, the methods
which deal with the statistics of
the packets exchanged.
• This module is called by the
main execution script, pox at
the startup as well as it is
continuously in scope while
checking the topology and
manipulating it.
• Corresponding diagram shows
the example of one such class.
Component: of_01
• The name of_01 denotes the version of the openflow protocol that
POX supports, that is version 01.
• This component deals with the switches with events like
connectionUp, connectionDown, portStatus etc. It informs the user
about the topology, whether or not a switch is connected to the
network.
• All the communication from the controller to the switches goes
through this code, the messages that are sent, the statistics that are
received from the switches. These messages can be displayed with
the help of the logger available in POX.
• The unpacked information that is available from the libopenflow
module, which is received from the packets that are exchanged is
used in this component to send different requests such as HELLO,
ECHO, FLOW_REMOVED etc.
10
Component: Discovery
• The discovery component in openflow deals with the discovery of
the nodes in the network. The switches as well as the hosts, this
component then communicates with the topology component in
Openflow module.
• The topology component acts like a bridge between POX’s topology
module and Openflow module and helps the controller to set up and
manipulate the network topology.
• This module communicates with the flow table as well to determine
the flow rules for the switches, it updates the flow rules as well as
discovers them upon startup.
11
Difficulties faced
• The very first obstacle that lied on our path was the interdependency
of the python modules with each other. We solved it using line by
line execution with the help of pdb.set_trace() from the python
debugger.
• Determining the flow of control in the openflow module wasn’t easy,
for the same purpose we referred the API calls from one function to
another in order to check the flow of control manually.
12
Part 2: Load
Balancing in
SDN
• Introduction
• Modifications
• Test CDN Environments
• Performance Analysis
• Architecture & Topology
• Demo
• Q&A
13
Introduction
• Project Goals
• POX is a popular Python based open source SDN controller with the help of which we can easily check the
configuration of a customized networking environment.
• Our project will easily setup the CDN(Content-Delivery Network) environments using POX loadbalancer
• The POX loadbalancer is modified by our team using Round-Robin Algorithm(prev: Random Select)
• What is CDN?
• A large distributed system of proxy servers deployed in multiple data centers via the Internet.
• Project Requirements
• SDN Controller: POX
• Language: Python 1.7 based on POX controller
• Topology/VM: Mininet VM Seed
• WAS: Node.js / Express.js
14
(Left) Single server distribution
(Right) CDN scheme of distribution
• Select the server(self._pick_server())
• Set up the table entry towards selected
server
• Set up Openflow actions using selected
server’s ip/mac
• Set up Openflow match based on request
packet(packet, inport)
• Set up the open flow’s message using
customised action/match
• Send message using OpenFlow
Load Balancer Algorithms
15
Modifications
• Default LB: Random Selection
• /pox/misc/ip_loadbalancer.py
line(193~197)
• Implemented simple random selection.
16
• Modified: Round Robin Selection
• /pox/misc/loadbalancer_cmpe207.py
• Add the get_next_server() in order to get the index based on
round robin
• If there is live server(self.live_servers), get_next_server() will
pick the live server and then return in order to connect the
client’s requests.
Load Balancer Algorithms
17
sudo mn --arp --topo single,5 --mac --switch ovsk --controller remote -x
Test Environments
18
Server: index.js
Running on 10.0.0.1/10.0.0.2/10.0.0.3/10.0.0.4
Client: Ajax Requestwith AngularJS
Static
Resources:
Client: HTML View
Test Environments
19
1. Running LB on 10.0.0.254
2. Run Server Application into each servers
3. Connect client’s web page using Firefox
Test Environments
20
1. Set the # of image from server
2. LB will separate the packet into each servers
3. The static resource will be requested by each servers.
4. Images are loaded
Test Environments
21
Performance Analysis
22
0 4 8 12 16
5
10
20
50
Response Time(sec)
HTTPRequest#
Random R-R
Demo
23
https://www.youtube.com/watch?v=1_1hJZFYn_E
Conclusion
• SDN works as cutting-edge technologies of Network Virtualization
• Modified load balancer module to perform round robin scheduling
• Improved the performance of web resources from servers
• Showed the improved results in terms of fetching image from the servers
24
Q & A 25
Thanks! 26
SJSU Fall-2015 CMPE207 Group 4 Final Project Presentation

More Related Content

What's hot

CCNA Advanced Routing Protocols
CCNA Advanced Routing ProtocolsCCNA Advanced Routing Protocols
CCNA Advanced Routing Protocols
Dsunte Wilson
 
Border Gateway Protocol
Border Gateway ProtocolBorder Gateway Protocol
Border Gateway Protocol
Kashif Latif
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
Thomas Graf
 

What's hot (20)

Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)
 
IS-IS Protocol Introduction
IS-IS Protocol IntroductionIS-IS Protocol Introduction
IS-IS Protocol Introduction
 
CCNA Advanced Routing Protocols
CCNA Advanced Routing ProtocolsCCNA Advanced Routing Protocols
CCNA Advanced Routing Protocols
 
Introduction to Segment Routing
Introduction to Segment RoutingIntroduction to Segment Routing
Introduction to Segment Routing
 
Troubleshooting BGP
Troubleshooting BGPTroubleshooting BGP
Troubleshooting BGP
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 
The Open vSwitch and OVN Projects
The Open vSwitch and OVN ProjectsThe Open vSwitch and OVN Projects
The Open vSwitch and OVN Projects
 
Cisco Live Milan 2015 - BGP advance
Cisco Live Milan 2015 - BGP advanceCisco Live Milan 2015 - BGP advance
Cisco Live Milan 2015 - BGP advance
 
BGP protocol presentation
BGP protocol  presentationBGP protocol  presentation
BGP protocol presentation
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
 
Border Gateway Protocol
Border Gateway ProtocolBorder Gateway Protocol
Border Gateway Protocol
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
検証環境をGoBGPで極力仮想化してみた
検証環境をGoBGPで極力仮想化してみた検証環境をGoBGPで極力仮想化してみた
検証環境をGoBGPで極力仮想化してみた
 
Implementing cisco mpls
Implementing cisco mplsImplementing cisco mpls
Implementing cisco mpls
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN Controller
 
Nexus 7000 Series Innovations: M3 Module, DCI, Scale
Nexus 7000 Series Innovations: M3 Module, DCI, ScaleNexus 7000 Series Innovations: M3 Module, DCI, Scale
Nexus 7000 Series Innovations: M3 Module, DCI, Scale
 
CCNP v6 Route: Implementing IP Routing Chapter 3
CCNP v6 Route: Implementing IP Routing Chapter 3CCNP v6 Route: Implementing IP Routing Chapter 3
CCNP v6 Route: Implementing IP Routing Chapter 3
 
MPLS Concepts and Fundamentals
MPLS Concepts and FundamentalsMPLS Concepts and Fundamentals
MPLS Concepts and Fundamentals
 
Open shortest path first (ospf)
Open shortest path first (ospf)Open shortest path first (ospf)
Open shortest path first (ospf)
 

Viewers also liked

Efficient Topology Discovery in Software Defined Networks
Efficient Topology Discovery in Software Defined NetworksEfficient Topology Discovery in Software Defined Networks
Efficient Topology Discovery in Software Defined Networks
Farzaneh Pakzad
 
DTS Solution - Software Defined Security v1.0
DTS Solution - Software Defined Security v1.0DTS Solution - Software Defined Security v1.0
DTS Solution - Software Defined Security v1.0
Shah Sheikh
 
Microsoft Power Point Customview360 Linked In
Microsoft Power Point   Customview360 Linked InMicrosoft Power Point   Customview360 Linked In
Microsoft Power Point Customview360 Linked In
Michiel Castelijns
 
OW2con'14 - Open Source software quality and OW2 SQuAT initiative, CETIC
OW2con'14 - Open Source software quality and OW2 SQuAT initiative, CETICOW2con'14 - Open Source software quality and OW2 SQuAT initiative, CETIC
OW2con'14 - Open Source software quality and OW2 SQuAT initiative, CETIC
OW2
 
Ow2stack, the OW2 Community Cloud Testbed, Xiaolong Kong, OW2
Ow2stack, the OW2 Community Cloud Testbed, Xiaolong Kong, OW2Ow2stack, the OW2 Community Cloud Testbed, Xiaolong Kong, OW2
Ow2stack, the OW2 Community Cloud Testbed, Xiaolong Kong, OW2
OW2
 
Chapter 11
Chapter 11Chapter 11
Chapter 11
dphil002
 
IDMEF, the universal format for security alerts, OW2con'16, Paris.
IDMEF, the universal format for security alerts, OW2con'16, Paris. IDMEF, the universal format for security alerts, OW2con'16, Paris.
IDMEF, the universal format for security alerts, OW2con'16, Paris.
OW2
 

Viewers also liked (20)

Software Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architectureSoftware Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architecture
 
Sdn command line controller lab
Sdn command line controller labSdn command line controller lab
Sdn command line controller lab
 
F&O Report 09 Febuary 2012-Mansukh Investment and Trading Solution
F&O Report 09 Febuary 2012-Mansukh Investment and Trading SolutionF&O Report 09 Febuary 2012-Mansukh Investment and Trading Solution
F&O Report 09 Febuary 2012-Mansukh Investment and Trading Solution
 
Efficient Topology Discovery in Software Defined Networks
Efficient Topology Discovery in Software Defined NetworksEfficient Topology Discovery in Software Defined Networks
Efficient Topology Discovery in Software Defined Networks
 
SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오
 
Elephants and Mice
Elephants and MiceElephants and Mice
Elephants and Mice
 
CellSDN: Software-Defined Cellular Core networks
CellSDN: Software-Defined Cellular Core networksCellSDN: Software-Defined Cellular Core networks
CellSDN: Software-Defined Cellular Core networks
 
Mininet Learning Guide(Mininet 学习指南)
Mininet Learning Guide(Mininet 学习指南)Mininet Learning Guide(Mininet 学习指南)
Mininet Learning Guide(Mininet 学习指南)
 
ON.LAB Mininet
ON.LAB MininetON.LAB Mininet
ON.LAB Mininet
 
Virtualbox
VirtualboxVirtualbox
Virtualbox
 
Virtual Box Presentation
Virtual Box Presentation Virtual Box Presentation
Virtual Box Presentation
 
DTS Solution - Software Defined Security v1.0
DTS Solution - Software Defined Security v1.0DTS Solution - Software Defined Security v1.0
DTS Solution - Software Defined Security v1.0
 
Software Defined Network - SDN
Software Defined Network - SDNSoftware Defined Network - SDN
Software Defined Network - SDN
 
Microsoft Power Point Customview360 Linked In
Microsoft Power Point   Customview360 Linked InMicrosoft Power Point   Customview360 Linked In
Microsoft Power Point Customview360 Linked In
 
OW2con'14 - Open Source software quality and OW2 SQuAT initiative, CETIC
OW2con'14 - Open Source software quality and OW2 SQuAT initiative, CETICOW2con'14 - Open Source software quality and OW2 SQuAT initiative, CETIC
OW2con'14 - Open Source software quality and OW2 SQuAT initiative, CETIC
 
Sat4j: from the lab to desktop computers. OW2con'15, November 17, Paris.
Sat4j: from the lab to desktop computers. OW2con'15, November 17, Paris. Sat4j: from the lab to desktop computers. OW2con'15, November 17, Paris.
Sat4j: from the lab to desktop computers. OW2con'15, November 17, Paris.
 
OW2con'14 - OW2 Big data initiative, SpagoBI Labs by Engineering
OW2con'14 - OW2 Big data initiative, SpagoBI Labs by EngineeringOW2con'14 - OW2 Big data initiative, SpagoBI Labs by Engineering
OW2con'14 - OW2 Big data initiative, SpagoBI Labs by Engineering
 
Ow2stack, the OW2 Community Cloud Testbed, Xiaolong Kong, OW2
Ow2stack, the OW2 Community Cloud Testbed, Xiaolong Kong, OW2Ow2stack, the OW2 Community Cloud Testbed, Xiaolong Kong, OW2
Ow2stack, the OW2 Community Cloud Testbed, Xiaolong Kong, OW2
 
Chapter 11
Chapter 11Chapter 11
Chapter 11
 
IDMEF, the universal format for security alerts, OW2con'16, Paris.
IDMEF, the universal format for security alerts, OW2con'16, Paris. IDMEF, the universal format for security alerts, OW2con'16, Paris.
IDMEF, the universal format for security alerts, OW2con'16, Paris.
 

Similar to SDN Project PPT

CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docx
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docxCSC 451551 Computer Networks Fall 2016Project 4 Softwar.docx
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docx
annettsparrow
 

Similar to SDN Project PPT (20)

OpenDaylight Openflow & OVSDB use cases ODL summit 2016
OpenDaylight Openflow & OVSDB use cases ODL summit 2016OpenDaylight Openflow & OVSDB use cases ODL summit 2016
OpenDaylight Openflow & OVSDB use cases ODL summit 2016
 
Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)
 
lect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptxlect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptx
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIs
 
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docx
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docxCSC 451551 Computer Networks Fall 2016Project 4 Softwar.docx
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docx
 
Openflow overview
Openflow overviewOpenflow overview
Openflow overview
 
Apache flink 1.7 and Beyond
Apache flink 1.7 and BeyondApache flink 1.7 and Beyond
Apache flink 1.7 and Beyond
 
DEVNET-1175 OpenDaylight Service Function Chaining
DEVNET-1175	OpenDaylight Service Function ChainingDEVNET-1175	OpenDaylight Service Function Chaining
DEVNET-1175 OpenDaylight Service Function Chaining
 
Introduction To Openflow
Introduction To OpenflowIntroduction To Openflow
Introduction To Openflow
 
BuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdfBuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdf
 
SDN Fundamentals - short presentation
SDN Fundamentals -  short presentationSDN Fundamentals -  short presentation
SDN Fundamentals - short presentation
 
Open Flow Protocol
Open Flow ProtocolOpen Flow Protocol
Open Flow Protocol
 
Java one2013
Java one2013Java one2013
Java one2013
 
sdnppt-140325015756-phpapp01.pptx
sdnppt-140325015756-phpapp01.pptxsdnppt-140325015756-phpapp01.pptx
sdnppt-140325015756-phpapp01.pptx
 
BKK16-106 ODP Project Update
BKK16-106 ODP Project UpdateBKK16-106 ODP Project Update
BKK16-106 ODP Project Update
 
Serverless design with Fn project
Serverless design with Fn projectServerless design with Fn project
Serverless design with Fn project
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 
Programming the Network Data Plane
Programming the Network Data PlaneProgramming the Network Data Plane
Programming the Network Data Plane
 
Integrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing PlatformsIntegrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing Platforms
 
Sdn ppt
Sdn pptSdn ppt
Sdn ppt
 

More from Matthew Chang

Image Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack SwiftImage Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack Swift
Matthew Chang
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr code
Matthew Chang
 
Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출
Matthew Chang
 

More from Matthew Chang (20)

Research and Analysis of SSH
Research and Analysis of SSH Research and Analysis of SSH
Research and Analysis of SSH
 
Digital Certified Mail (PPT)
Digital Certified Mail (PPT)Digital Certified Mail (PPT)
Digital Certified Mail (PPT)
 
Digital Certified Mail
Digital Certified MailDigital Certified Mail
Digital Certified Mail
 
Twitter Trend Analyzer
Twitter Trend AnalyzerTwitter Trend Analyzer
Twitter Trend Analyzer
 
The implementation of Banker's algorithm, data structure and its parser
The implementation of Banker's algorithm, data structure and its parserThe implementation of Banker's algorithm, data structure and its parser
The implementation of Banker's algorithm, data structure and its parser
 
Image Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack SwiftImage Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack Swift
 
Urhyme introduction
Urhyme introductionUrhyme introduction
Urhyme introduction
 
Analyze of Tumblr.com
Analyze of Tumblr.comAnalyze of Tumblr.com
Analyze of Tumblr.com
 
Project Avalon
Project AvalonProject Avalon
Project Avalon
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr code
 
Logic Circuit Project Final Presentation
Logic Circuit Project Final PresentationLogic Circuit Project Final Presentation
Logic Circuit Project Final Presentation
 
Programming Language Final PPT
Programming Language Final PPTProgramming Language Final PPT
Programming Language Final PPT
 
Profile_ Ikwhan chang
Profile_ Ikwhan changProfile_ Ikwhan chang
Profile_ Ikwhan chang
 
모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 Proposal모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 Proposal
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final Presentation
 
Project Avalon Online(Game) Final Report
Project Avalon Online(Game) Final ReportProject Avalon Online(Game) Final Report
Project Avalon Online(Game) Final Report
 
Project NGX - Proposal
Project NGX - ProposalProject NGX - Proposal
Project NGX - Proposal
 
Report : Android Simple Bug Catch Game(Korean)
Report : Android Simple Bug Catch Game(Korean)Report : Android Simple Bug Catch Game(Korean)
Report : Android Simple Bug Catch Game(Korean)
 
Capstone Project Last Demonstration
Capstone Project Last DemonstrationCapstone Project Last Demonstration
Capstone Project Last Demonstration
 
Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출
 

Recently uploaded

一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
F
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 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
 
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
 

Recently uploaded (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...
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
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
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
原版制作美国爱荷华大学毕业证(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
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
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...
 
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
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 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
 
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
 
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
 
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
 
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
 
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
 

SDN Project PPT

  • 1. Final Project Load Balancer Using Software-Defined Network - POX Team Group 4 7-Dec 2015 1 Group Name SJSU ID Class ID Roles Group member 1 Avanish Gupta 010129847 22 Code analysis and debug Group member 2 Kunal Goswami 010772541 20 Code analysis and debug Group member 3 Ayush Sharma 010034141 71 Design, code and implement Group member 4 Ikwhan Chang 010754107 9 Design, code and test
  • 2. INDEX • Part1: SDN Analysis • POX Controller: OpenFlow • OpenFlow Startup events • OpenFlow Module • Flow of Control • Components • Part2: Development • Introduction • Modifications • Test CDN Environments • Performance Analysis • Architecture & Topology • Demo • Q&A 2
  • 3. Part 1: SDN Analysis • POX Controller: OpenFlow • POX Startup events. • OpenFlow Module • Flow of Control • Components 3
  • 4. POX Controller: OpenFlow • POX is an open source controller developed in python language for software defined networking. • For the part 1 of our project, we have chosen the OpenFlow module for our analysis. The following image shows the important components of the OpenFlow module. 4
  • 6. OpenFlow Module • In the accompanying diagram, we go through the outline of the OpenFlow module. • The discovery and keep alive components of OpenFlow provide input to the topology module so as to create and manipulate the network topology. • The libopenflow module communicates with the lib.packet module in order to handle the packets as well as the events that are fired through the network. 6
  • 7. Flow of Control • The flow of control in POX controller can be understood as an outline of the actual flow. • We consider the outline/overview for the POX controller flow because of the interdependency between the modules in it. • There are well defined classes and events for every single event that occurs in a network, however they’re utilized by multiple components of the POX controller and the flow of control keeps jumping from one component to another. 7
  • 8. Flow of control • The startup of the POX controller transfers the control from the main “pox.py” to openflow/libopenflow component of POX. • This file contains the events for the packets that are transferred amongst the switches. • The topology is updated simultaneously with the discovery component and the topology component of the POX controller. • We now discuss the important components of the OpenFlow module in POX. 8
  • 9. Component: libopenflow 9 • This file contains the definition of various classes and constants such as the openflow messages in the specification, the methods which deal with the statistics of the packets exchanged. • This module is called by the main execution script, pox at the startup as well as it is continuously in scope while checking the topology and manipulating it. • Corresponding diagram shows the example of one such class.
  • 10. Component: of_01 • The name of_01 denotes the version of the openflow protocol that POX supports, that is version 01. • This component deals with the switches with events like connectionUp, connectionDown, portStatus etc. It informs the user about the topology, whether or not a switch is connected to the network. • All the communication from the controller to the switches goes through this code, the messages that are sent, the statistics that are received from the switches. These messages can be displayed with the help of the logger available in POX. • The unpacked information that is available from the libopenflow module, which is received from the packets that are exchanged is used in this component to send different requests such as HELLO, ECHO, FLOW_REMOVED etc. 10
  • 11. Component: Discovery • The discovery component in openflow deals with the discovery of the nodes in the network. The switches as well as the hosts, this component then communicates with the topology component in Openflow module. • The topology component acts like a bridge between POX’s topology module and Openflow module and helps the controller to set up and manipulate the network topology. • This module communicates with the flow table as well to determine the flow rules for the switches, it updates the flow rules as well as discovers them upon startup. 11
  • 12. Difficulties faced • The very first obstacle that lied on our path was the interdependency of the python modules with each other. We solved it using line by line execution with the help of pdb.set_trace() from the python debugger. • Determining the flow of control in the openflow module wasn’t easy, for the same purpose we referred the API calls from one function to another in order to check the flow of control manually. 12
  • 13. Part 2: Load Balancing in SDN • Introduction • Modifications • Test CDN Environments • Performance Analysis • Architecture & Topology • Demo • Q&A 13
  • 14. Introduction • Project Goals • POX is a popular Python based open source SDN controller with the help of which we can easily check the configuration of a customized networking environment. • Our project will easily setup the CDN(Content-Delivery Network) environments using POX loadbalancer • The POX loadbalancer is modified by our team using Round-Robin Algorithm(prev: Random Select) • What is CDN? • A large distributed system of proxy servers deployed in multiple data centers via the Internet. • Project Requirements • SDN Controller: POX • Language: Python 1.7 based on POX controller • Topology/VM: Mininet VM Seed • WAS: Node.js / Express.js 14 (Left) Single server distribution (Right) CDN scheme of distribution
  • 15. • Select the server(self._pick_server()) • Set up the table entry towards selected server • Set up Openflow actions using selected server’s ip/mac • Set up Openflow match based on request packet(packet, inport) • Set up the open flow’s message using customised action/match • Send message using OpenFlow Load Balancer Algorithms 15
  • 16. Modifications • Default LB: Random Selection • /pox/misc/ip_loadbalancer.py line(193~197) • Implemented simple random selection. 16 • Modified: Round Robin Selection • /pox/misc/loadbalancer_cmpe207.py • Add the get_next_server() in order to get the index based on round robin • If there is live server(self.live_servers), get_next_server() will pick the live server and then return in order to connect the client’s requests.
  • 17. Load Balancer Algorithms 17 sudo mn --arp --topo single,5 --mac --switch ovsk --controller remote -x
  • 18. Test Environments 18 Server: index.js Running on 10.0.0.1/10.0.0.2/10.0.0.3/10.0.0.4 Client: Ajax Requestwith AngularJS Static Resources: Client: HTML View
  • 19. Test Environments 19 1. Running LB on 10.0.0.254 2. Run Server Application into each servers 3. Connect client’s web page using Firefox
  • 20. Test Environments 20 1. Set the # of image from server 2. LB will separate the packet into each servers 3. The static resource will be requested by each servers. 4. Images are loaded
  • 22. Performance Analysis 22 0 4 8 12 16 5 10 20 50 Response Time(sec) HTTPRequest# Random R-R
  • 24. Conclusion • SDN works as cutting-edge technologies of Network Virtualization • Modified load balancer module to perform round robin scheduling • Improved the performance of web resources from servers • Showed the improved results in terms of fetching image from the servers 24
  • 25. Q & A 25
  • 26. Thanks! 26 SJSU Fall-2015 CMPE207 Group 4 Final Project Presentation