SlideShare una empresa de Scribd logo
1 de 34
Software-Defined Networking
Fundamentals
Instructor: Azhar H Khuwaja
SDN Apps
Controller
azharhkhuwaja@gmail.com 1
Traditional: Logically Coupled Network Devices
2
CSED702Y: Software Defined Networking
Traditional Network Node (Router Example)
• Traditional network node (e.g. Router) is partitioned into three
logical planes.
 Management-Plane  Configuration, Policy, Commissioning,
Billing …
 Control-Plane  Make route decisions
 Data-Plane  Forwarding / Transport / Infrastructure
Adjacent Router Router
Management/Policy Plane
Configuration / CLI / GUI
Static RoutesControl Plane
OSPF
Neighbor
Table
Link State
Database
IP Routing
Table
Forwarding Table
Data PlaneData Plane
Control Plane
OSPF
Adjacent Router
Data Plane
Control Plane
OSPF
Routing
Switching
Router / Switch
3
Software-Defined Networking
Application
Plane
Control Plane
Data Plane
4
CSED702Y: Software Defined Networking
SDN Concept
• SDN physically separates Control & Data Planes (not logically).
SDN Controller
Load
Balancing
Traffic
Engineering
IDS
Forwarding
Device
Forwarding
Device
Forwarding
Device
Forwarding
Device
………..
• SDN merges the
Management-Plane
into a single
centralized Control-
Plane. (also uses
apps for
management)
• An SDN-Controller
holds the entire
network description
as Graph on which
optimization
calculations can be
performed.
5
Analogy with Computers
6
SDN Structure
7
8
SDN in Data Center
Cost
200,000 servers
Fanout of 20 = 10,000 switches
$5k vendor switch = $50M
$1k commodity switch = $10M
Savings in 10 data centers = $400M
Control
More flexible control
Tailor network for services
Quickly improve and innovate
8
Hierarchal Controllers
What is the difference between Network Operating System and SDN Controller? 9
East / West Network Expansion
10
Using Cluster
11
Open-Source SDN Controllers
Open-Source SDN Controllers are also called as Open SDN.
• OpenDaylight
• Floodlight
• POX
• ONOS
• Ryu
• NOX
• Beacon
• FlowER
• NodeFlow
• ONIE
• OpenMUL
& others …….
12
Commercial SDN Controllers
Some of the famous SDN Controllers offered by vendors are;
• NEC ProgrammableFlow Controller released … 2013
• HP VAN SDN Controller (SDN Controller with several internal apps)
• Brocade SDN Controller (current version 2.3.0 based on OpenDaylight)
• Pica8 (offers variety of SDN products & solutions)
• Inocybe (offers OpenDaylight based SDN Controller)
• Cisco Application Policy Infrastructure Controller
• BigSwitch
• Nauge Networks Virtualize Services Controller
• VMware NSX Controller
& others ….
13
CSED702Y: Software Defined Networking
What is OpenFlow?
• A communication protocol that gives access to the Forwarding-Plane of the network
switch or router.
• Features
 OpenFlow is similar to an x86 instruction set for the network.
 Separation of Control-Plane & Data-Plane
o The data path of an OpenFlow switch consists of a Flow Table & an action
associated with each flow entry.
o The control path consists of a controller which programs flow entry in the flow
table.
 OpenFlow is based on an Ethernet switch with an internal flow table & a
standardized interface to add & remove flow entries.
 Managed & developed by ONF (Open Networking Foundation) since its version 1.2
14
How OpenFlow Works?
Controller
PC
OpenFlow Switch
OpenFlow Switch OpenFlow Switch
Mr. X's Code
Decision?
OpenFlow Protocol
Mr. X's Rule Mr. X's Rule
Mr. X's Rule
OpenFlow offloads control intelligence to a remote software!
Match L1: Tunnel ID, Switch Port
L2: MAC Addr, VLAN ID,
Ether Type
L3: IPv4/IPv6 fields, ARP
L4: TCP, UDP
Action • Output to zero or more
ports
• Encapsulate
• Header rewriting
• Send to controller
15
CSED702Y: Software Defined Networking
OpenFlow Switch
General Purpose PC / Server
OpenFlow
Protocol
Data Path, H/W
Control Path OpenFlow
Controller
(Server Software)
App App App
Ethernet Switch
16
OpenFlow Switch
OpenFlow Agent is also called as OpenFlow Client / OpenFlow Channel. 17
OpenFlow Vendor Switches
Some of the famous OpenFlow Switches offered by vendors are;
• NEC released OpenFlow 1.3 Switch… 2013
• HP released OpenFlow 1.3 Data Center Switch … 2013
• Centec Network released Open SDN Switch with OpenFlow1.3 support (implemented
on Open vSwitch) … 2013
• Brocade OpenFlow 1.3 Switch … 2014 (MLX & CLX Series)
• BigSwitch
• Ericsson
• Nicira
& others
• Are you aware of any Open-Source OpenFlow Switch?
• What is meant by HYBRID OpenFlow Switch?
• Do you know that some vendors also promote Open-Source products & even
develop it?
18
CSED702Y: Software Defined Networking
Packet Forwarding
Two types of Packet Forwarding offered by OpenFlow.
• Reactive Flow Insertion
 When a non-matched packet reaches to OpenFlow switch, it is sent to the
controller, based on the info in packet header, an appropriate flow will be inserted.
 Always need to query the path from controller during packet arrival  Slow
 Can reflect the current traffic status
• Proactive Flow Insertion
 Flow can be inserted proactively by the controller to switches before packet arrives
 No need to communicate during packet arrival  Fast packet forwarding
 Cannot reflect the current traffic status
What is the difference between Operational & Configuration Flows? 19
Proactive vs. Reactive Forwarding
• Reactive: Seeks Controller guidance every time a packet arrives
• Proactive: Forwarding rules are stored in Switch before packet arrival
20
CSED702Y: Software Defined Networking
Packet Forwarding
OpenFlow
Controller
Host1 Host2Switch1 (Reactive) Switch2 (Proactive)
acquire
route
insert
flow
SRC DST ACT … SRC DST ACT …
h1 h2 p2
21 21
h1 h2 p2
21
CSED702Y: Software Defined Networking
Message Structure
• OpenFlow control messages rely on TCP protocol
• Controllers listen on TCP port 6633/6653 to setup connection with switch
 6633/6653 became the official IANA port since 18th July 2013
• OpenFlow Message Structure includes following fields:
 Version: Indicates the version of OpenFlow which this message belongs
 Type: Indicates what type of message is present and how to interpret the payload
(version dependent)
 Message Length: Indicates where this message will be end, starting from the first
byte of header
 Transaction ID (xid): A unique value used to match requests to response
Bit Offset 0 ~ 7 8 ~ 15 16 ~ 23 24 ~ 31
0 ~ 31 Version Type Message Length
32 ~ 63 Transaction ID
64 ~ ? Payload
OpenFlow Message Structure
22
CSED702Y: Software Defined Networking
OpenFlow Protocol Messages
• OpenFlow protocol supports three message types;
 Controller to Switch
Initiated by the controller & used to directly manage or inspect the state of the switch.
Specify, modify or delete flow definitions
Request information on switch capabilities
Retrieve information like counters from the switch
Send a packet back to a switch for processing after a new flow is created
 Asynchronous
Initiated by the switch & used to update the controller of network events & changes to
the switch state.
Send the controller a packet that does not match an existing flow
Inform the controller that a flow has been removed because its time to live parameter
or inactivity timer has expired
Inform the controller of a change in port status or that an error occurred on the switch
23
CSED702Y: Software Defined Networking
OpenFlow Protocol Messages
 Symmetric
Initiated by either the switch or the controller & sent without solicitation.
Hello messages exchanged between controller & switch on startup
Echo messages used to determine the latency of the controller-to-switch connection &
to verify that the controller-to-switch connection is still operative
24
CSED702Y: Software Defined Networking
Protocol Messages
Category Message Type Description
Meta Info.
Configuration
Hello (SM) C  S
following a TCP handshake, the controller sends its version number to the
switch.
Hello (SM) S  C the switch replies with its supported version number.
Features Request (CSM) C  S the controller asks to see which ports are available.
Set Config (CSM) C  S in this case, the controller asks the switch to send flow expirations.
Features Reply (CSM) S  C
the switch replies with a list of ports, port speeds, and supported tables
and actions.
Port Status (AM) S  C
enables the switch to inform that controller of changes to port speeds or
connectivity..
Flow Processing
Packet-In (AM) S  C
a packet was received and it didn't match any entry in the switch's flow
table, causing the packet to be sent to the controller.
Packet-Out (CSM) C  S Instructs a switch to send a packet out to one or more switch ports.
Flow-Mod (CSM) C  S instructs a switch to add a particular flow to its flow table.
Flow-Expired (CSM) S  C a flow timed out after a period of inactivity.
C: OpenFlow Controller
S: OpenFlow Switch
AM: Asynchronous Message CSM: Control/Switch Message
SM: Symmetric Message
25
CSED702Y: Software Defined Networking
Connection Setup
26
CSED702Y: Software Defined Networking
Topology Discovery
• Purpose is to construct an entire network view.
• Method is to use the Link Layer Discovery Protocol (LLDP)
LLDP
PACKET_OUT
with LLDP
PACKET_OUT
with LLDP
PACKET_IN
with LLDP
OpenFlow Controller
IDX SRC DST SRC PORT DST PORT
153 sw. A sw. B p2 p1
… … … … …
357 sw. B sw. A P1 p2
p1
p2 p1
p2
27
CSED702Y: Software Defined Networking
Flow Table
Actions(Instructions)
1. Forward packet to port(s)
2. Encapsulate and forward to controller
3. Drop packet
4. Send to normal processing pipeline
5. Modify Fields
6. Etc.
Switch
Port
MAC
src
MAC
dst
Ether
type
VLAN
ID
VLAN
Priority
MPLS
Label
MPLS
traffic
class
Src
IP
Dst
IP
Protocol
No. ToS
Src
TCP/UDP
port
Dst
TCP/UD
P port
Meta
data
L2L1
L3
L4
Flow Entry Match Field Counters
Action
(Instruction)
n … … …
1
Priority Timeout
Flow Table
Match Fields of OpenFlow
Cookie
Match Field= L1~L4 header information
28
CSED702Y: Software Defined Networking
Flow Table
• Wild card (*) means “does not matter” – not important field
29
CSED702Y: Software Defined Networking
Pipeline Processing
• Useful to manage complicated processing
 For example, Table 1 for VLAN processing, Table 2 for Multicast Group processing
Flow
Table 0
Instruction
/Action
Flow
Table n
Instruction
/Action
Ingress Processing
…Packet In Group
Table
Flow
Table e
Instruction
/Action
Flow
Table e+m
Instruction/Ac
tion
Egress Processing
… Packet Out
30
CSED702Y: Software Defined Networking
Group Table
Table 0
Instruction/
Action
Table 1
Instruction/
Action
Table n
Instruction/
Action
……
Action
Bucket
Group Table
Match Field Counters Action
Group ID Counters Action BucketsGroup Type
Dst IP= 224.2.3.9
Flow Table
Group Table
Group 100
100 all Port1 : output
Port3 : output
Port5 : output
………
• A Group Table consists of
group entries.
• The ability for a flow entry to
point to a group enables
OpenFlow to represent
additional methods of
forwarding.
• There are four group types.
• A switch is supposed to
support two compulsory group
types (other two group types
are optional to support).
31
CSED702Y: Software Defined Networking
Type of Group Table
Multicast
Group Type=All Group ID Group Type Counter Action Buckets
100 All 999 Port2, Port3, Port4
Group Table
Switch
Port
MAC
src
MAC dst Ether
Type
VLAN
ID
Src IP Dst IP Proto
No.
TCP S
Port
TCP D
Port
Action
* * 00:FF:.. * * * * * * * Port 6
Port 1 * * 0800 * 224… 224… 4 4566 6633
Group
100
Flow Table
2
3
4
1
32
CSED702Y: Software Defined Networking
Meter Table
• A meter table consists of meter entries which define per-flow meters.
• Meter Table enable OpenFlow to implement QoS operations including rate-limiting,
DiffServ etc.
• A meter measures the rate of packets assigned to it & enables controlling the rate of
those packets.
• Meters are attached directly to flow entries.
Meter ID Band Type Rate Counter Argument
100
Drop (Remark
DSCP)
1000 kbps 1000 xxx
Meter Table
Switch
Port
MAC
src
MAC dst Ether
Type
Src IP Dst IP Proto
No.
TCP S
Port
TCP D
Port
Inst.
Meter
Action
Port 1 * * * 1.2.2 * * * * N/A Port 7
Port 1 00:FF… * 0800 1.2.3 11.1… * * *
Meter
100
Port 2
Flow Table
33
Questions?
34

Más contenido relacionado

La actualidad más candente

Software-Defined Networking (SDN): Unleashing the Power of the Network
Software-Defined Networking (SDN): Unleashing the Power of the NetworkSoftware-Defined Networking (SDN): Unleashing the Power of the Network
Software-Defined Networking (SDN): Unleashing the Power of the Network
Robert Keahey
 
Software-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to NetworkingSoftware-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to Networking
Anju Ann
 

La actualidad más candente (20)

Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
SDN Presentation
SDN PresentationSDN Presentation
SDN Presentation
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Sdn and open flow tutorial 4
Sdn and open flow tutorial 4Sdn and open flow tutorial 4
Sdn and open flow tutorial 4
 
Introduction to SDN and Network Programmability - BRKRST-1014 | 2017/Las Vegas
Introduction to SDN and Network Programmability - BRKRST-1014 | 2017/Las VegasIntroduction to SDN and Network Programmability - BRKRST-1014 | 2017/Las Vegas
Introduction to SDN and Network Programmability - BRKRST-1014 | 2017/Las Vegas
 
Software-Defined Networking (SDN): Unleashing the Power of the Network
Software-Defined Networking (SDN): Unleashing the Power of the NetworkSoftware-Defined Networking (SDN): Unleashing the Power of the Network
Software-Defined Networking (SDN): Unleashing the Power of the Network
 
Sdn presentation
Sdn presentation Sdn presentation
Sdn presentation
 
Open network operating system (onos)
Open network operating system (onos)Open network operating system (onos)
Open network operating system (onos)
 
Software-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to NetworkingSoftware-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to Networking
 
Sdn ppt
Sdn pptSdn ppt
Sdn ppt
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined Networking
 
A Software Defined WAN Architecture
A Software Defined WAN ArchitectureA Software Defined WAN Architecture
A Software Defined WAN Architecture
 
SDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkSDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual Network
 
Software Defined Networking/ Networking/ Traditional Networking/ SDN Benefits
Software Defined Networking/ Networking/ Traditional Networking/ SDN BenefitsSoftware Defined Networking/ Networking/ Traditional Networking/ SDN Benefits
Software Defined Networking/ Networking/ Traditional Networking/ SDN Benefits
 
Introduction to SDN and NFV
Introduction to SDN and NFVIntroduction to SDN and NFV
Introduction to SDN and NFV
 
Introduction to SDN: Software Defined Networking
Introduction to SDN: Software Defined NetworkingIntroduction to SDN: Software Defined Networking
Introduction to SDN: Software Defined Networking
 
Ccna
CcnaCcna
Ccna
 
Traditional Firewall vs. Next Generation Firewall
Traditional Firewall vs. Next Generation FirewallTraditional Firewall vs. Next Generation Firewall
Traditional Firewall vs. Next Generation Firewall
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
 

Destacado

Introduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVIntroduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFV
Kingston Smiler
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
OpenSourceIndia
 
Bcn open stack meet up - july 2014
Bcn open stack meet up - july 2014Bcn open stack meet up - july 2014
Bcn open stack meet up - july 2014
Jaume Devesa Gomez
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
suniltomar04
 
Colt wholesale vpn customer presentation
Colt wholesale vpn customer presentationColt wholesale vpn customer presentation
Colt wholesale vpn customer presentation
acaiani
 

Destacado (19)

GPON-FTTx Training
GPON-FTTx TrainingGPON-FTTx Training
GPON-FTTx Training
 
Carrier Ethernet
Carrier EthernetCarrier Ethernet
Carrier Ethernet
 
Introduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVIntroduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFV
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Bcn open stack meet up - july 2014
Bcn open stack meet up - july 2014Bcn open stack meet up - july 2014
Bcn open stack meet up - july 2014
 
SDN & Openflow
SDN & Openflow SDN & Openflow
SDN & Openflow
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Openstack trystack
Openstack   trystack Openstack   trystack
Openstack trystack
 
GPON-Tester (EN)
GPON-Tester (EN)GPON-Tester (EN)
GPON-Tester (EN)
 
Ch 05 --- nfv basics
Ch 05 --- nfv basicsCh 05 --- nfv basics
Ch 05 --- nfv basics
 
VLAN - Virtual Local Area Network
VLAN - Virtual Local Area NetworkVLAN - Virtual Local Area Network
VLAN - Virtual Local Area Network
 
Colt wholesale vpn customer presentation
Colt wholesale vpn customer presentationColt wholesale vpn customer presentation
Colt wholesale vpn customer presentation
 
Openflow Protocol
Openflow ProtocolOpenflow Protocol
Openflow Protocol
 
Cours Vlan
Cours VlanCours Vlan
Cours Vlan
 
SDN - OpenFlow protocol
SDN - OpenFlow protocolSDN - OpenFlow protocol
SDN - OpenFlow protocol
 
Ch 02 --- sdn and openflow architecture
Ch 02 --- sdn and openflow architectureCh 02 --- sdn and openflow architecture
Ch 02 --- sdn and openflow architecture
 
Esxi troubleshooting
Esxi troubleshootingEsxi troubleshooting
Esxi troubleshooting
 
Vlan
VlanVlan
Vlan
 
Huawei Capacity Upgrade
Huawei Capacity UpgradeHuawei Capacity Upgrade
Huawei Capacity Upgrade
 

Similar a SDN Fundamentals - short presentation

Mr201304 open flow_security_eng
Mr201304 open flow_security_engMr201304 open flow_security_eng
Mr201304 open flow_security_eng
FFRI, Inc.
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
Holger Winkelmann
 

Similar a SDN Fundamentals - short presentation (20)

Open Flow Protocol
Open Flow ProtocolOpen Flow Protocol
Open Flow Protocol
 
lect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptxlect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptx
 
Looking at SDN with DDS Glasses
Looking at SDN with DDS GlassesLooking at SDN with DDS Glasses
Looking at SDN with DDS Glasses
 
Ch 03 --- the OpenFlow protocols
Ch 03 --- the OpenFlow protocolsCh 03 --- the OpenFlow protocols
Ch 03 --- the OpenFlow protocols
 
SDN & NFV.pptx
SDN & NFV.pptxSDN & NFV.pptx
SDN & NFV.pptx
 
Software Defined Networking(SDN) and practical implementation_trupti
Software Defined Networking(SDN) and practical implementation_truptiSoftware Defined Networking(SDN) and practical implementation_trupti
Software Defined Networking(SDN) and practical implementation_trupti
 
OpenFlow
OpenFlowOpenFlow
OpenFlow
 
F14_Class1.pptx
F14_Class1.pptxF14_Class1.pptx
F14_Class1.pptx
 
Software defined networks and openflow protocol
Software defined networks and openflow protocolSoftware defined networks and openflow protocol
Software defined networks and openflow protocol
 
Introduction to Software Defined Networking (SDN) presentation by Warren Finc...
Introduction to Software Defined Networking (SDN) presentation by Warren Finc...Introduction to Software Defined Networking (SDN) presentation by Warren Finc...
Introduction to Software Defined Networking (SDN) presentation by Warren Finc...
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Mr201304 open flow_security_eng
Mr201304 open flow_security_engMr201304 open flow_security_eng
Mr201304 open flow_security_eng
 
SDN approach.pptx
SDN approach.pptxSDN approach.pptx
SDN approach.pptx
 
btNOG 9 presentation Introduction to Software Defined Networking
btNOG 9 presentation Introduction to Software Defined NetworkingbtNOG 9 presentation Introduction to Software Defined Networking
btNOG 9 presentation Introduction to Software Defined Networking
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
 
sdnppt-140325015756-phpapp01.pptx
sdnppt-140325015756-phpapp01.pptxsdnppt-140325015756-phpapp01.pptx
sdnppt-140325015756-phpapp01.pptx
 
Floodlight OpenFlow DDoS
Floodlight OpenFlow DDoSFloodlight OpenFlow DDoS
Floodlight OpenFlow DDoS
 
btNOG 5: Network Automation
btNOG 5: Network AutomationbtNOG 5: Network Automation
btNOG 5: Network Automation
 
2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services
 
Understanding network and service virtualization
Understanding network and service virtualizationUnderstanding network and service virtualization
Understanding network and service virtualization
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

SDN Fundamentals - short presentation

  • 1. Software-Defined Networking Fundamentals Instructor: Azhar H Khuwaja SDN Apps Controller azharhkhuwaja@gmail.com 1
  • 2. Traditional: Logically Coupled Network Devices 2
  • 3. CSED702Y: Software Defined Networking Traditional Network Node (Router Example) • Traditional network node (e.g. Router) is partitioned into three logical planes.  Management-Plane  Configuration, Policy, Commissioning, Billing …  Control-Plane  Make route decisions  Data-Plane  Forwarding / Transport / Infrastructure Adjacent Router Router Management/Policy Plane Configuration / CLI / GUI Static RoutesControl Plane OSPF Neighbor Table Link State Database IP Routing Table Forwarding Table Data PlaneData Plane Control Plane OSPF Adjacent Router Data Plane Control Plane OSPF Routing Switching Router / Switch 3
  • 5. CSED702Y: Software Defined Networking SDN Concept • SDN physically separates Control & Data Planes (not logically). SDN Controller Load Balancing Traffic Engineering IDS Forwarding Device Forwarding Device Forwarding Device Forwarding Device ……….. • SDN merges the Management-Plane into a single centralized Control- Plane. (also uses apps for management) • An SDN-Controller holds the entire network description as Graph on which optimization calculations can be performed. 5
  • 8. 8 SDN in Data Center Cost 200,000 servers Fanout of 20 = 10,000 switches $5k vendor switch = $50M $1k commodity switch = $10M Savings in 10 data centers = $400M Control More flexible control Tailor network for services Quickly improve and innovate 8
  • 9. Hierarchal Controllers What is the difference between Network Operating System and SDN Controller? 9
  • 10. East / West Network Expansion 10
  • 12. Open-Source SDN Controllers Open-Source SDN Controllers are also called as Open SDN. • OpenDaylight • Floodlight • POX • ONOS • Ryu • NOX • Beacon • FlowER • NodeFlow • ONIE • OpenMUL & others ……. 12
  • 13. Commercial SDN Controllers Some of the famous SDN Controllers offered by vendors are; • NEC ProgrammableFlow Controller released … 2013 • HP VAN SDN Controller (SDN Controller with several internal apps) • Brocade SDN Controller (current version 2.3.0 based on OpenDaylight) • Pica8 (offers variety of SDN products & solutions) • Inocybe (offers OpenDaylight based SDN Controller) • Cisco Application Policy Infrastructure Controller • BigSwitch • Nauge Networks Virtualize Services Controller • VMware NSX Controller & others …. 13
  • 14. CSED702Y: Software Defined Networking What is OpenFlow? • A communication protocol that gives access to the Forwarding-Plane of the network switch or router. • Features  OpenFlow is similar to an x86 instruction set for the network.  Separation of Control-Plane & Data-Plane o The data path of an OpenFlow switch consists of a Flow Table & an action associated with each flow entry. o The control path consists of a controller which programs flow entry in the flow table.  OpenFlow is based on an Ethernet switch with an internal flow table & a standardized interface to add & remove flow entries.  Managed & developed by ONF (Open Networking Foundation) since its version 1.2 14
  • 15. How OpenFlow Works? Controller PC OpenFlow Switch OpenFlow Switch OpenFlow Switch Mr. X's Code Decision? OpenFlow Protocol Mr. X's Rule Mr. X's Rule Mr. X's Rule OpenFlow offloads control intelligence to a remote software! Match L1: Tunnel ID, Switch Port L2: MAC Addr, VLAN ID, Ether Type L3: IPv4/IPv6 fields, ARP L4: TCP, UDP Action • Output to zero or more ports • Encapsulate • Header rewriting • Send to controller 15
  • 16. CSED702Y: Software Defined Networking OpenFlow Switch General Purpose PC / Server OpenFlow Protocol Data Path, H/W Control Path OpenFlow Controller (Server Software) App App App Ethernet Switch 16
  • 17. OpenFlow Switch OpenFlow Agent is also called as OpenFlow Client / OpenFlow Channel. 17
  • 18. OpenFlow Vendor Switches Some of the famous OpenFlow Switches offered by vendors are; • NEC released OpenFlow 1.3 Switch… 2013 • HP released OpenFlow 1.3 Data Center Switch … 2013 • Centec Network released Open SDN Switch with OpenFlow1.3 support (implemented on Open vSwitch) … 2013 • Brocade OpenFlow 1.3 Switch … 2014 (MLX & CLX Series) • BigSwitch • Ericsson • Nicira & others • Are you aware of any Open-Source OpenFlow Switch? • What is meant by HYBRID OpenFlow Switch? • Do you know that some vendors also promote Open-Source products & even develop it? 18
  • 19. CSED702Y: Software Defined Networking Packet Forwarding Two types of Packet Forwarding offered by OpenFlow. • Reactive Flow Insertion  When a non-matched packet reaches to OpenFlow switch, it is sent to the controller, based on the info in packet header, an appropriate flow will be inserted.  Always need to query the path from controller during packet arrival  Slow  Can reflect the current traffic status • Proactive Flow Insertion  Flow can be inserted proactively by the controller to switches before packet arrives  No need to communicate during packet arrival  Fast packet forwarding  Cannot reflect the current traffic status What is the difference between Operational & Configuration Flows? 19
  • 20. Proactive vs. Reactive Forwarding • Reactive: Seeks Controller guidance every time a packet arrives • Proactive: Forwarding rules are stored in Switch before packet arrival 20
  • 21. CSED702Y: Software Defined Networking Packet Forwarding OpenFlow Controller Host1 Host2Switch1 (Reactive) Switch2 (Proactive) acquire route insert flow SRC DST ACT … SRC DST ACT … h1 h2 p2 21 21 h1 h2 p2 21
  • 22. CSED702Y: Software Defined Networking Message Structure • OpenFlow control messages rely on TCP protocol • Controllers listen on TCP port 6633/6653 to setup connection with switch  6633/6653 became the official IANA port since 18th July 2013 • OpenFlow Message Structure includes following fields:  Version: Indicates the version of OpenFlow which this message belongs  Type: Indicates what type of message is present and how to interpret the payload (version dependent)  Message Length: Indicates where this message will be end, starting from the first byte of header  Transaction ID (xid): A unique value used to match requests to response Bit Offset 0 ~ 7 8 ~ 15 16 ~ 23 24 ~ 31 0 ~ 31 Version Type Message Length 32 ~ 63 Transaction ID 64 ~ ? Payload OpenFlow Message Structure 22
  • 23. CSED702Y: Software Defined Networking OpenFlow Protocol Messages • OpenFlow protocol supports three message types;  Controller to Switch Initiated by the controller & used to directly manage or inspect the state of the switch. Specify, modify or delete flow definitions Request information on switch capabilities Retrieve information like counters from the switch Send a packet back to a switch for processing after a new flow is created  Asynchronous Initiated by the switch & used to update the controller of network events & changes to the switch state. Send the controller a packet that does not match an existing flow Inform the controller that a flow has been removed because its time to live parameter or inactivity timer has expired Inform the controller of a change in port status or that an error occurred on the switch 23
  • 24. CSED702Y: Software Defined Networking OpenFlow Protocol Messages  Symmetric Initiated by either the switch or the controller & sent without solicitation. Hello messages exchanged between controller & switch on startup Echo messages used to determine the latency of the controller-to-switch connection & to verify that the controller-to-switch connection is still operative 24
  • 25. CSED702Y: Software Defined Networking Protocol Messages Category Message Type Description Meta Info. Configuration Hello (SM) C  S following a TCP handshake, the controller sends its version number to the switch. Hello (SM) S  C the switch replies with its supported version number. Features Request (CSM) C  S the controller asks to see which ports are available. Set Config (CSM) C  S in this case, the controller asks the switch to send flow expirations. Features Reply (CSM) S  C the switch replies with a list of ports, port speeds, and supported tables and actions. Port Status (AM) S  C enables the switch to inform that controller of changes to port speeds or connectivity.. Flow Processing Packet-In (AM) S  C a packet was received and it didn't match any entry in the switch's flow table, causing the packet to be sent to the controller. Packet-Out (CSM) C  S Instructs a switch to send a packet out to one or more switch ports. Flow-Mod (CSM) C  S instructs a switch to add a particular flow to its flow table. Flow-Expired (CSM) S  C a flow timed out after a period of inactivity. C: OpenFlow Controller S: OpenFlow Switch AM: Asynchronous Message CSM: Control/Switch Message SM: Symmetric Message 25
  • 26. CSED702Y: Software Defined Networking Connection Setup 26
  • 27. CSED702Y: Software Defined Networking Topology Discovery • Purpose is to construct an entire network view. • Method is to use the Link Layer Discovery Protocol (LLDP) LLDP PACKET_OUT with LLDP PACKET_OUT with LLDP PACKET_IN with LLDP OpenFlow Controller IDX SRC DST SRC PORT DST PORT 153 sw. A sw. B p2 p1 … … … … … 357 sw. B sw. A P1 p2 p1 p2 p1 p2 27
  • 28. CSED702Y: Software Defined Networking Flow Table Actions(Instructions) 1. Forward packet to port(s) 2. Encapsulate and forward to controller 3. Drop packet 4. Send to normal processing pipeline 5. Modify Fields 6. Etc. Switch Port MAC src MAC dst Ether type VLAN ID VLAN Priority MPLS Label MPLS traffic class Src IP Dst IP Protocol No. ToS Src TCP/UDP port Dst TCP/UD P port Meta data L2L1 L3 L4 Flow Entry Match Field Counters Action (Instruction) n … … … 1 Priority Timeout Flow Table Match Fields of OpenFlow Cookie Match Field= L1~L4 header information 28
  • 29. CSED702Y: Software Defined Networking Flow Table • Wild card (*) means “does not matter” – not important field 29
  • 30. CSED702Y: Software Defined Networking Pipeline Processing • Useful to manage complicated processing  For example, Table 1 for VLAN processing, Table 2 for Multicast Group processing Flow Table 0 Instruction /Action Flow Table n Instruction /Action Ingress Processing …Packet In Group Table Flow Table e Instruction /Action Flow Table e+m Instruction/Ac tion Egress Processing … Packet Out 30
  • 31. CSED702Y: Software Defined Networking Group Table Table 0 Instruction/ Action Table 1 Instruction/ Action Table n Instruction/ Action …… Action Bucket Group Table Match Field Counters Action Group ID Counters Action BucketsGroup Type Dst IP= 224.2.3.9 Flow Table Group Table Group 100 100 all Port1 : output Port3 : output Port5 : output ……… • A Group Table consists of group entries. • The ability for a flow entry to point to a group enables OpenFlow to represent additional methods of forwarding. • There are four group types. • A switch is supposed to support two compulsory group types (other two group types are optional to support). 31
  • 32. CSED702Y: Software Defined Networking Type of Group Table Multicast Group Type=All Group ID Group Type Counter Action Buckets 100 All 999 Port2, Port3, Port4 Group Table Switch Port MAC src MAC dst Ether Type VLAN ID Src IP Dst IP Proto No. TCP S Port TCP D Port Action * * 00:FF:.. * * * * * * * Port 6 Port 1 * * 0800 * 224… 224… 4 4566 6633 Group 100 Flow Table 2 3 4 1 32
  • 33. CSED702Y: Software Defined Networking Meter Table • A meter table consists of meter entries which define per-flow meters. • Meter Table enable OpenFlow to implement QoS operations including rate-limiting, DiffServ etc. • A meter measures the rate of packets assigned to it & enables controlling the rate of those packets. • Meters are attached directly to flow entries. Meter ID Band Type Rate Counter Argument 100 Drop (Remark DSCP) 1000 kbps 1000 xxx Meter Table Switch Port MAC src MAC dst Ether Type Src IP Dst IP Proto No. TCP S Port TCP D Port Inst. Meter Action Port 1 * * * 1.2.2 * * * * N/A Port 7 Port 1 00:FF… * 0800 1.2.3 11.1… * * * Meter 100 Port 2 Flow Table 33