SlideShare a Scribd company logo
1 of 28
Network
Programming Languages
Author: Flavio Vit
Course: UNICAMP –MO611
Teleprocessamento e Redes
Professor: Nelson da Fonseca
June 18, 2014
Agenda
• Introduction
• Flog
• Nettle
• FatTire
• Comparisons
Introduction
• Flog: Logic Programming for Software-Defined
Networks
• Nettle: Taking the Sting Out of Programming
Network Routers
• FatTire: Fault Tolerating Regular Expressions
Networks Management
In the past …
• Networks managed through a set of complex,
low-level, and heterogeneous interfaces
• Firewalls + network address translators + load
balancers + routers + switches == Configured
separately
• Thousands of lines low-level code in different
domain-specific languages
• Complex routing mechanisms (error-prone tasks)
Software Defined Networks
Recently …
• SDN – Software Defined Networks
• Logically centralized Controller:
– Managing distributed switches
– General purpose machines
– Working on routing decisions
– Instruct the switches to install the necessary
packet-forwarding rules.
Flog - An SDN Logic Programming
Language
• SDN packet-forwarding rule
 Predicate + Action + Priority
• Example:
 Predicate: match packets based on the IP header
(MAC, IP, etc.)
 Action: Drop, forward or flood the packet to ports
 Priority: rules are executed according with priorities
Flog
• Combines two programing languages:
– FML:
• set of high-level built-in policy operators (SDN abstractions)
• allow/deny certain flows
• provide quality of service
• Programing model Not flexible
– Frenetic:
• declarative query language - SQL-like syntax
• functional stream-processing language
• language for describing packet forwarding
Flog
• From FML:
– Programming for controlling software-defined
networks
• From Frenetic:
Controller programs split into :
1. Mechanism for querying network state
2. Mechanism for processing data extracted from
queries
3. Component for generating packet-forwarding policies
(automatically push to the switches)
Flog
• Event driven => execution of logic programs
1. Generates a packet-forwarding policy
compiled and deployed on switches
2. Generates states : drive the logic program when
the next network event is processed
Flog
• Network Events:
– Switches online / offline
– Ports on switches active / inactive
– Statistics gathered by switches
– Packets arrive at the controller and require
handling
Flog
• Flow rule syntax example:
flow(srcip=IP,vlan=V), V > 0 --> myvlans(IP,V)
• When vlan tag is greater than 0, generate a
network event every time a packet with a new
srcip - vlan tag pair is detected
• When this event generated, the rest of the
logic program will be executed.
• The initial data for the logic program will
include the tuple myvlans(IP,V)
Flog
Police Generation:
• generating a routing policy for network switches:
h1(F1), h2(F2), ... |> action, level(i)
left of the |> : kinds of packets that match the forwarding
rule. Specifies the packet fields (and switch and ports) that
match the rule.
right of the |> :
action where to forward or flood the packets or how
to modify them.
level specifies the priority of the rule.
Flog
• Example:
# Network Events
flow(dstip=IP), inport=2 --> seen(IP)
# Information Processing
seen(IP) +-> allow(IP)
allow(IP) +-> allow(IP)
# Policy Generation
inport(2) |> fwd(1), level(0)
allow(IP) -->
srcip(IP), inport(1) |> fwd(2), level(0).
Nettle - Taking the Sting Out of
Programming Network Routers
• Networks of OpenFlow switches controlled using
a high-level, declarative and expressive language
• Based on the principles of functional reactive
programming (FRP)
• Embedded in Haskell => general-purpose purely
functional programming language.
• Domain Specific Language
Nettle
• Layered architecture
Family of DSLs - each member
capturing a different network
abstraction
Haskell host language
OpenFlow switches
Nettle / OpenFlow lib
instantiation of the Functional Reactive
Programming
Nettle
• Nettle/FRP  as a language for expressing
electrical circuits
• Haskell’s arrow syntax:
y ← sigfun −≺ x
Nettle
• Focus on the stream of control messages
among OpenFlow switches
• Nettle => powerful collection of
– Signal functions
– Event operators
Nettle
OpenFlow switches maintains flow table with
flow entries:
match IPs, header fields
• Forwarding actions to specific ports, flooding,
dropping packets
are updated
• Expirations settings expires a flow entry after
prescribed time
Nettle
• Nettle Controller transforms:
stream of messages from switches
stream of commands for switches
Nettle
• Example: install the flow rule, whenever a
switch joins the network
FatTire: Fault Tolerating Regular
Expressions
• Programs for fault tolerant Networks
• Based on regular expressions
• Main features:
Expressive: easy to describe forwarding and fault
tolerant policies
Efficient: based on fast failover from OpenFlow
Correct: reasoning about the behavior of the
system during failure recovery
FatTire
• Central feature: Regular expressions for sets
of legal paths through the network
• FatTire programs are translated to OpenFlow
switch configurations
• Automatic response to link failures with no
controller intervention
FatTire
• Example :OpenFlow Group and Route Tables
FatTire
• Group and Rule Tables for previous slide
FatTire
• Syntax:
FatTire
• FatTire program for this example
Security policy: All
SSH traffic must traverse the IDS
- regular expressions
over switches to describe legal
paths
Fault-tolerance policy: “with”
annotation
Forwarding must be resilient to
a single link failure.
Routing policy:
Traffic from the gateway (GW)
must be forwarded to the
access switch (A), along any
path
Comparisons
Prog Lang Main Characteristic Advantages Disadvantages
Flog - Network Event
driven
- Focused on packets
flow
- Simple
- Combines Frenetic
and FML
Too simple and
limited to flow
control
FatTire Targets fast failover
mechanisms provided
by OpenFlow standard
- High level
- Regular expression
powered
- Turns failover
scenarios easier to
understand
Only focused over
solving link failures
configuration
Nettle - allow fine-grained
control over switch
behavior
- event-based
programming model
- Strong typed
- Extensible
Good question!!!
I buy it!
References
1. Naga Praveen Katta, Jennifer Rexford, and David Walker. Logic
Programming for Software-Defined Networks
1. Mark Reitblatt, Marco Canini, Arjun Guha, and Nate Foster.
Fattire: Declarative fault tolerance for software defined
networks
1. Andreas Voellmy and Paul Hudak. Nettle: Taking the Sting Out
of Programming Network Routers

More Related Content

What's hot (20)

middleware
middlewaremiddleware
middleware
 
Basics of Wireless sensor networks
Basics of Wireless sensor networksBasics of Wireless sensor networks
Basics of Wireless sensor networks
 
Ft and FFT
Ft and FFTFt and FFT
Ft and FFT
 
LSTM
LSTMLSTM
LSTM
 
Distributed transaction
Distributed transactionDistributed transaction
Distributed transaction
 
MANET
MANETMANET
MANET
 
APAN 54: Introducing the IETF
APAN 54: Introducing the IETFAPAN 54: Introducing the IETF
APAN 54: Introducing the IETF
 
Neural network
Neural networkNeural network
Neural network
 
Time Series Forecasting Using Recurrent Neural Network and Vector Autoregress...
Time Series Forecasting Using Recurrent Neural Network and Vector Autoregress...Time Series Forecasting Using Recurrent Neural Network and Vector Autoregress...
Time Series Forecasting Using Recurrent Neural Network and Vector Autoregress...
 
Fast Fourier Transform
Fast Fourier TransformFast Fourier Transform
Fast Fourier Transform
 
Wsn unit-1-ppt
Wsn unit-1-pptWsn unit-1-ppt
Wsn unit-1-ppt
 
Artificial Neural Network Lect4 : Single Layer Perceptron Classifiers
Artificial Neural Network Lect4 : Single Layer Perceptron ClassifiersArtificial Neural Network Lect4 : Single Layer Perceptron Classifiers
Artificial Neural Network Lect4 : Single Layer Perceptron Classifiers
 
Leach protocol
Leach protocolLeach protocol
Leach protocol
 
Network simulator
Network  simulatorNetwork  simulator
Network simulator
 
Z transform ROC eng.Math
Z transform ROC eng.MathZ transform ROC eng.Math
Z transform ROC eng.Math
 
Network Mnagement for WSN
Network Mnagement for WSNNetwork Mnagement for WSN
Network Mnagement for WSN
 
IntServ & DiffServ
IntServ & DiffServIntServ & DiffServ
IntServ & DiffServ
 
Integrated and Differentiated services Chapter 17
Integrated and Differentiated services Chapter 17Integrated and Differentiated services Chapter 17
Integrated and Differentiated services Chapter 17
 
Medium access control unit 3-33
Medium access control  unit 3-33Medium access control  unit 3-33
Medium access control unit 3-33
 
Recurrent Neural Networks (RNNs)
Recurrent Neural Networks (RNNs)Recurrent Neural Networks (RNNs)
Recurrent Neural Networks (RNNs)
 

Similar to SDN Networks Programming Languages

lect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptxlect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptxJesicaDcruz1
 
Frenetic: A Programming Language for OpenFlow Networks
Frenetic: A Programming Language for OpenFlow NetworksFrenetic: A Programming Language for OpenFlow Networks
Frenetic: A Programming Language for OpenFlow NetworksOpen Networking Summits
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerHolger Winkelmann
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & EcosystemKingston Smiler
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlowJoel W. King
 
Open Flow Protocol
Open Flow ProtocolOpen Flow Protocol
Open Flow ProtocolVishal S M B
 
Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1Joel W. King
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch IntroductionHungWei Chiu
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNnvirters
 
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale NetworkThe Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale NetworkOpen Networking Summits
 
F14_Class1.pptx
F14_Class1.pptxF14_Class1.pptx
F14_Class1.pptxSameer Ali
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorialopenflow
 
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_truptitrups7778
 

Similar to SDN Networks Programming Languages (20)

lect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptxlect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptx
 
Frenetic: A Programming Language for OpenFlow Networks
Frenetic: A Programming Language for OpenFlow NetworksFrenetic: A Programming Language for OpenFlow Networks
Frenetic: A Programming Language for OpenFlow Networks
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & Ecosystem
 
OpenFlow Tutorial
OpenFlow TutorialOpenFlow Tutorial
OpenFlow Tutorial
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
 
Open Flow Protocol
Open Flow ProtocolOpen Flow Protocol
Open Flow Protocol
 
Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1
 
10 sdn-vir-6up
10 sdn-vir-6up10 sdn-vir-6up
10 sdn-vir-6up
 
Software Defined Networking: Primer
Software Defined Networking: Primer Software Defined Networking: Primer
Software Defined Networking: Primer
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
 
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale NetworkThe Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
 
OpenFlow
OpenFlowOpenFlow
OpenFlow
 
F14_Class1.pptx
F14_Class1.pptxF14_Class1.pptx
F14_Class1.pptx
 
4_SDN.pdf
4_SDN.pdf4_SDN.pdf
4_SDN.pdf
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
 
SDN approach.pptx
SDN approach.pptxSDN approach.pptx
SDN approach.pptx
 
Raga_SDN_NSX_1
Raga_SDN_NSX_1Raga_SDN_NSX_1
Raga_SDN_NSX_1
 
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
 

Recently uploaded

Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01KreezheaRecto
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 

Recently uploaded (20)

Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 

SDN Networks Programming Languages

  • 1. Network Programming Languages Author: Flavio Vit Course: UNICAMP –MO611 Teleprocessamento e Redes Professor: Nelson da Fonseca June 18, 2014
  • 2. Agenda • Introduction • Flog • Nettle • FatTire • Comparisons
  • 3. Introduction • Flog: Logic Programming for Software-Defined Networks • Nettle: Taking the Sting Out of Programming Network Routers • FatTire: Fault Tolerating Regular Expressions
  • 4. Networks Management In the past … • Networks managed through a set of complex, low-level, and heterogeneous interfaces • Firewalls + network address translators + load balancers + routers + switches == Configured separately • Thousands of lines low-level code in different domain-specific languages • Complex routing mechanisms (error-prone tasks)
  • 5. Software Defined Networks Recently … • SDN – Software Defined Networks • Logically centralized Controller: – Managing distributed switches – General purpose machines – Working on routing decisions – Instruct the switches to install the necessary packet-forwarding rules.
  • 6. Flog - An SDN Logic Programming Language • SDN packet-forwarding rule  Predicate + Action + Priority • Example:  Predicate: match packets based on the IP header (MAC, IP, etc.)  Action: Drop, forward or flood the packet to ports  Priority: rules are executed according with priorities
  • 7. Flog • Combines two programing languages: – FML: • set of high-level built-in policy operators (SDN abstractions) • allow/deny certain flows • provide quality of service • Programing model Not flexible – Frenetic: • declarative query language - SQL-like syntax • functional stream-processing language • language for describing packet forwarding
  • 8. Flog • From FML: – Programming for controlling software-defined networks • From Frenetic: Controller programs split into : 1. Mechanism for querying network state 2. Mechanism for processing data extracted from queries 3. Component for generating packet-forwarding policies (automatically push to the switches)
  • 9. Flog • Event driven => execution of logic programs 1. Generates a packet-forwarding policy compiled and deployed on switches 2. Generates states : drive the logic program when the next network event is processed
  • 10. Flog • Network Events: – Switches online / offline – Ports on switches active / inactive – Statistics gathered by switches – Packets arrive at the controller and require handling
  • 11. Flog • Flow rule syntax example: flow(srcip=IP,vlan=V), V > 0 --> myvlans(IP,V) • When vlan tag is greater than 0, generate a network event every time a packet with a new srcip - vlan tag pair is detected • When this event generated, the rest of the logic program will be executed. • The initial data for the logic program will include the tuple myvlans(IP,V)
  • 12. Flog Police Generation: • generating a routing policy for network switches: h1(F1), h2(F2), ... |> action, level(i) left of the |> : kinds of packets that match the forwarding rule. Specifies the packet fields (and switch and ports) that match the rule. right of the |> : action where to forward or flood the packets or how to modify them. level specifies the priority of the rule.
  • 13. Flog • Example: # Network Events flow(dstip=IP), inport=2 --> seen(IP) # Information Processing seen(IP) +-> allow(IP) allow(IP) +-> allow(IP) # Policy Generation inport(2) |> fwd(1), level(0) allow(IP) --> srcip(IP), inport(1) |> fwd(2), level(0).
  • 14. Nettle - Taking the Sting Out of Programming Network Routers • Networks of OpenFlow switches controlled using a high-level, declarative and expressive language • Based on the principles of functional reactive programming (FRP) • Embedded in Haskell => general-purpose purely functional programming language. • Domain Specific Language
  • 15. Nettle • Layered architecture Family of DSLs - each member capturing a different network abstraction Haskell host language OpenFlow switches Nettle / OpenFlow lib instantiation of the Functional Reactive Programming
  • 16. Nettle • Nettle/FRP  as a language for expressing electrical circuits • Haskell’s arrow syntax: y ← sigfun −≺ x
  • 17. Nettle • Focus on the stream of control messages among OpenFlow switches • Nettle => powerful collection of – Signal functions – Event operators
  • 18. Nettle OpenFlow switches maintains flow table with flow entries: match IPs, header fields • Forwarding actions to specific ports, flooding, dropping packets are updated • Expirations settings expires a flow entry after prescribed time
  • 19. Nettle • Nettle Controller transforms: stream of messages from switches stream of commands for switches
  • 20. Nettle • Example: install the flow rule, whenever a switch joins the network
  • 21. FatTire: Fault Tolerating Regular Expressions • Programs for fault tolerant Networks • Based on regular expressions • Main features: Expressive: easy to describe forwarding and fault tolerant policies Efficient: based on fast failover from OpenFlow Correct: reasoning about the behavior of the system during failure recovery
  • 22. FatTire • Central feature: Regular expressions for sets of legal paths through the network • FatTire programs are translated to OpenFlow switch configurations • Automatic response to link failures with no controller intervention
  • 23. FatTire • Example :OpenFlow Group and Route Tables
  • 24. FatTire • Group and Rule Tables for previous slide
  • 26. FatTire • FatTire program for this example Security policy: All SSH traffic must traverse the IDS - regular expressions over switches to describe legal paths Fault-tolerance policy: “with” annotation Forwarding must be resilient to a single link failure. Routing policy: Traffic from the gateway (GW) must be forwarded to the access switch (A), along any path
  • 27. Comparisons Prog Lang Main Characteristic Advantages Disadvantages Flog - Network Event driven - Focused on packets flow - Simple - Combines Frenetic and FML Too simple and limited to flow control FatTire Targets fast failover mechanisms provided by OpenFlow standard - High level - Regular expression powered - Turns failover scenarios easier to understand Only focused over solving link failures configuration Nettle - allow fine-grained control over switch behavior - event-based programming model - Strong typed - Extensible Good question!!! I buy it!
  • 28. References 1. Naga Praveen Katta, Jennifer Rexford, and David Walker. Logic Programming for Software-Defined Networks 1. Mark Reitblatt, Marco Canini, Arjun Guha, and Nate Foster. Fattire: Declarative fault tolerance for software defined networks 1. Andreas Voellmy and Paul Hudak. Nettle: Taking the Sting Out of Programming Network Routers