Lecture 10 Control Plane Functions 28th July

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 39

1

Grading Policy
Mid Term Exam weightage 25 %

Quizzes 15%

Assignments 10 %

Terminal Exam 50 %

Total 100

2
Course Material Access
All the lecture slides and helping material, and course
information would be available in following yahoo or
gmail group. (email your name and class section to
mustafashakir79@gmail.com)
• Group home page:
• https://groups.google.com/forum/#!forum/
sp24_advanced-comm-systems&networks-
msphd@googlegroups.com

3
Rules
 What is cheating & plagiarism?
 Acting dishonestly,
 Stealing or using (without my permission) other people’s writings or ideas
 E.g.from other students, other sources such as web sites, solutions from
previous offerings of this course etc.
 Note that it doesn’t have to be literal copying – stealing ideas but
presenting in a different style is still cheating and plagiarism.
 You are also guilty if you aid in cheating & plagiarism
 zero tolerance
 HWs, paper presentation: zero score + one level reduction in course grade

 Registration and Attendance


 Registration issues should be coordinated within time in coordination with
Front Office as students registering the course in beginning week would be
also evaluated for required attendance.
 Attendance can be taken anytime during the Class.
 Results
Internals Quiz Assignments Sessional Results would be available in one week
and can be discussed in class. Terminal results would be announced after one
4 week and can email for relevant detail.
Advanced Communication Systems
and Networks

5
Chapter :

Telecommunications and Networks

6
Software Defined Networking

7
Chapter 5
Network Layer:
The Control Plane

A note on the use of these Powerpoint slides:


We’re making these slides freely available to all (faculty, students, readers).
They’re in PowerPoint form so you see the animations; and can add, modify,
and delete slides (including this one) and slide content to suit your needs.
They obviously represent a lot of work on our part. In return for use, we only
ask the following: Computer
 If you use these slides (e.g., in a class) that you mention their source
(after all, we’d like people to use our book!)
Networking: A Top
 If you post any slides on a www site, that you note that they are adapted
from (or perhaps identical to) our slides, and note our copyright of this
Down Approach
material.
7th edition
Thanks and enjoy! JFK/KWR
Jim Kurose, Keith Ross
All material copyright 1996-2016 Pearson/Addison Wesley
J.F Kurose and K.W. Ross, All Rights Reserved April 2016
5-8
Chapter 5: outline
5.5 The
5.1 introduction
SDN control plane
5.2 ICMP:
5.6 routing The
protocols
Internet Control Message Protocol

5.7link
Network
state management and SNMP
 distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP

5-9
Software Defined Networking using
Openflow standard
Dr. Mustafa Shakir
System Abstractions
Decoupling of software that controls the network from
the devices that implement it.
Design makes it possible to evolve the network
without having to change the underlying hardware.
SDN enabling development of new programming
models, systems abstractions and verification tools.
Composition
SDN controllers are built using collections of servers
amenable to algorithms that maintain consistent versions
of topology, traffic statistics .
Distributed update mechanism to ensure consistency
guarantees.
Decoupling application logic from physical topology
simplifies programs and ensure fault tolerance.
Controllers provide tools for diagnosing problems when
unexpected errors occur.
OpenFlow Encapsulation
OpenFlow switch maintains a forwarding table
containing a list of prioritized rules.
Packet arriving at switch is matched with rule and
processed accordingly.
If no rules match switch encapsulates the packet in
OpenFlow message and sends it to controllers for
consequent action.
Table constrained by hardware but switches have space
for atleast several thousand rules.
Network wide Structures
Controllers can compute network wide structures to give
global visibility to network state using distributed
algorithms.
Shortest path routing through Dijkstra’s algorithm.
Spanning tree protocol using neighbor discovery, leader
election and actual tree construction algorithm.
SDN approaches
Network Information Database (NIB) making it easy to
introduce traffic engineering.
One controller can take over for another when load becomes
high.
Network wide structures reusable across many applications.
Every packet should be processed by single consistent
version.
Shortest path routing
In case of maintenance controller generates a new network
wide configuration that forwards along a different set of
paths.
Filtering rules distributed across several switches.
At all times level of network expectation to filter forbidden
packets and forward other packets.
Update mechanisms
Packet processed by using a single version of the
forwarding state.
Other considerations include bandwidth and avoidance of
additional congestion.
Matching packets stamped with a tag corresponding to new
version and installs on every switch.
Obvious concern is efficiency since these mechanisms
would require substantial space for rules and a large
number of control messages.
Virtualization
Access control lists configured in terms of virtual switch
connected to each host so that policy is stable even if
topology changes.
Using virtual switches there would be no overlapping of
addresses and services (Ethernet and IP) and it is difficult
to guarantee traffic isolation from other tenants.
Virtualization can make applications more scalable by
decoupling forwarding logic from specific physical
topologies.
Network layer Software defined networking
(SDN)
Internet network layer: historically has been implemented
via distributed, per-router approach
monolithic router contains switching hardware, runs
proprietary implementation of Internet standard protocols
(IP, RIP, IS-IS, OSPF, BGP) in proprietary router OS (e.g.,
Cisco IOS)
different “middleboxes” for different network layer
functions: firewalls, load balancers, NAT boxes, ..

~renewed interest in rethinking network control plane

5-19
Recall: per-router control plane
Individual routing algorithm components in each and every
router interact with each other in control plane to compute
forwarding tables

Routing
Algorithm
control
plane

data
plane

5-20
Recall: logically centralized control plane
A distinct (typically remote) controller interacts with local
control agents (CAs) in routers to compute forwarding tables

Remote Controller

control
plane

data
plane

CA
CA CA CA CA

5-21
Control plane Software defined networking
Why a logically centralized control plane?
 easier network management: avoid router
misconfigurations, greater flexibility of traffic flows
 table-based forwarding (OpenFlow API) allows
“programming” routers
 centralized “programming” easier: compute tables
centrally and distribute
 distributed “programming” more difficult: compute
tables as result of distributed algorithm (protocol)
implemented in each and every router
 open (non-proprietary) implementation of control
plane
5-22
Analogy: mainframe to PC evolution *

Ap Ap Ap Ap Ap Ap Ap Ap Ap Ap
App
Specialized p p p p p p p p p p
Applications Open Interface

Specialized Windows Mac


Operating or Linux or OS
(OS)
System
Open Interface
Specialized
Hardware
Microprocessor

Vertically integrated Horizontal


Closed, proprietary Open interfaces
Slow innovation Rapid innovation
Small industry Huge industry
* Slide courtesy: N. McKeown 5-23
Traffic engineering: difficult traditional routing

5
3
2 v w 5

u 2
3
1 z
1
2
x 1 y

Q: what if network operator wants u-to-z traffic to flow along uvwz, x-


to-z traffic to flow xwyz?
A: need to define link weights so traffic routing algorithm computes
routes accordingly (or need a new routing algorithm)!

5-24
Software defined networking (SDN)
4. programmable 3. control plane
control applications
routing
access
control … load
balance functions external
to data-plane
switches
Remote Controller

control
plane

data
plane

CA 2. control, data
plane
CA CA CA CA separation

1: generalized“ flow-
based” forwarding
(e.g., OpenFlow)
5-25
SDN perspective: data plane switches
Data plane switches network-control
applications
 fast, simple, commodity switches
routing

implementing generalized data- access load
plane forwarding (Section 4.4) in control balance
hardware control
northbound API plane
 switch flow table computed,
installed by controller SDN Controller
 API for table-based switch (network operating system)

control (e.g., OpenFlow) southbound API


 defines what is controllable and what
is not
data
 protocol for communicating with plane

controller (e.g., OpenFlow)


SDN-controlled switches
5-26
SDN perspective: SDN controller
SDN controller (network network-control
OS): applications

routing
 maintain network state
access load
information control balance
 interacts with network control
control
applications “above” via northbound API plane
northbound API
 interacts with network SDN Controller
switches “below” via (network operating system)
southbound API
 implemented as distributed southbound API

system for performance,


scalability, fault-tolerance, data
robustness plane

SDN-controlled switches
5-27
SDN perspective: control applications
network-control apps: network-control
applications
 “brains” of control:
routing

implement control functions
using lower-level services, access load
control balance
API provided by SDN
controller control
plane
northbound API
 unbundled: can be provided by
3rd party: distinct from routing SDN Controller
vendor, or SDN controller (network operating system)

southbound API

data
plane

SDN-controlled switches
5-28
Components of SDN controller
routing access load
control balance
Interface layer to
network control Interface, abstractions for network control apps
apps: abstractions
API
network
graph
RESTful
API
… intent

Network-wide state
management layer: statistics … flow tables
state of networks
Network-wide distributed, robust state management
SDN
links, switches,
controller
services: a
distributed database
Link-state info host info … switch info

communication OpenFlow … SNMP


layer: Communication to/from controlled devices
communicate
between SDN
controller and
controlled switches
5-29
OpenFlow protocol
operates between
OpenFlow Controller controller, switch
TCP used to exchange
messages
optional encryption
three classes of
OpenFlow messages:
controller-to-switch
asynchronous (switch to
controller)
symmetric (misc)

5-30
OpenFlow: controller-to-switch messages
Key controller-to-switch messages
OpenFlow Controller
features: controller queries switch
features, switch replies
configure: controller queries/sets
switch configuration parameters
modify-state: add, delete, modify
flow entries in the OpenFlow
tables
packet-out: controller can send this
packet out of specific switch port

5-31
OpenFlow: switch-to-controller messages
Key switch-to-controller messages
OpenFlow Controller
packet-in: transfer packet (and its
control) to controller. See packet-out
message from controller
flow-removed: flow table entry deleted
at switch
port status: inform controller of a
change on a port.

5-32
SDN: control/data plane interaction example
Dijkstra’s link-state 1 S1, experiencing link failure
Routing using OpenFlow port status
message to notify controller
4 5
network
graph
RESTful
API
… intent 2 SDN controller receives
OpenFlow message, updates
statistics
3
… flow tables
link status info
3 Dijkstra’s routing algorithm
Link-state info host info … switch info application has previously
2 registered to be called when
OpenFlow … SNMP
ever link status changes. It is
called.
4 Dijkstra’s routing algorithm
6 access network graph info,
1
link state info in controller,
s2 computes new routes
s1
s4
s3
5-33
SDN: control/data plane interaction example
Dijkstra’s link-state
Routing

4 5
network
graph
RESTful
API
… intent 5 link state routing app interacts
with flow-table-computation
statistics
3
… flow tables
component in SDN controller,
which computes new flow
Link-state info host info … switch info
tables needed

2 6 Controller uses OpenFlow to


OpenFlow … SNMP
install new tables in switches
that need updating

6
1

s2
s1
s4
s3
5-34
OpenDaylight (ODL) controller
Traffic …
Engineering  ODL Lithium
controller
REST
API  network apps may be
Network Basic Network Service Functions
contained within, or
service apps be external to SDN
Access
topology switch stats
manager
controller
Control manager manager
 Service Abstraction
forwarding host
manager manager
Layer: interconnects
internal, external
Service Abstraction Layer (SAL) applications and
services
OpenFlow 1.0
… SNMP OVSDB

5-35
ONOS controller
Network …
control apps
 control apps separate
northbound from controller
REST API Intent abstractions,
protocols  intent framework:
high-level
hosts paths flow rules topology specification of
service: what rather
ONOS
devices links statistics distributed than how
core  considerable
emphasis on
device link host flow packet southbound distributed core:
abstractions,
OpenFlow Netconf OVSDB protocols
service reliability,
replication
performance scaling

5-36
Chapter 4: outline
4.14.4 Generalized
Overview Forward and SDN
of Network

layer match
action
data plane
OpenFlow examples of match-plus-action in action
control plane
4.2 What’s inside a router
4.3 IP: Internet Protocol
datagram format
fragmentation
IPv4 addressing
network address
translation
IPv6
4-37
Generalized Forwarding and SDN
Each router contains a flow table that is computed and
distributed by a logically centralized routing controller

logically-centralized routing controller

control plane

data plane
local flow table
headers counters actions

1
0100 1101

3 2
values in arriving
packet’s header
4-38
OpenFlow data plane abstraction
flow: defined by header fields
generalized forwarding: simple packet-handling rules
Pattern: match values in packet header fields
Actions: for matched packet: drop, forward, modify, matched
packet or send matched packet to controller
Priority: disambiguate overlapping patterns
Counters: #bytes and #packets

Flow table in a router (computed and distributed by


controller) define router’s match+action rules
4-39

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy