openflow and other things related to software defined networking

26
Software Defined Networking and OpenFlow Jeffrey Dalla Tezza and Nate Schloss

Upload: others

Post on 09-Feb-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenFlow and other things Related to Software Defined Networking

Software Defined Networking and OpenFlow

Jeffrey Dalla Tezza and Nate Schloss

Page 2: OpenFlow and other things Related to Software Defined Networking

Agenda

• What is SDN

• SDN Today

• What is OpenFlow

• Why OpenFlow

• What’s next for SDN

• Our OpenFlow Demonstration

Page 3: OpenFlow and other things Related to Software Defined Networking

Software Defined Networking

• Wikipedia defines it with three characteristics:

o An approach to building computer networks that separates and abstracts elements of these systems.

o Allows system administrators to quickly provision network connections on the fly instead of manually configuring policies.

o Allows network administrators to have programmable central control of network traffic.

Page 4: OpenFlow and other things Related to Software Defined Networking

Software Defined Networking

• Those are the goals for SDN, but it is really just programmable control of networking devices

• Current modelso JunOS by Juniper

o IOS by Cisco

o Application Fluent Network by Alcatel-Lucent

o OpenFlow

• All of those give some degree of programmatic control, but they all have trade offs

Page 5: OpenFlow and other things Related to Software Defined Networking

Current SDN Technologies

• IOS by Cisco and JunOS by Juniper

Separates and abstracts elements of networking

systems

Allows system administrators to quickly

provision network connections on the fly

Allows network administrators to have programmable central

control of network traffic.

Page 6: OpenFlow and other things Related to Software Defined Networking

Current SDN Technologies

• Other companies also have proprietary solutionso Application Fluent Network by Alcatel-Lucent

o Linerate systems

• Since these all require specific hardware large scale adoption is unlikely

Page 7: OpenFlow and other things Related to Software Defined Networking

Current SDN Technologies

• OpenFlow by the Open Networking Alliance

Separates and abstracts elements of networking

systems

Allows system administrators to quickly

provision network connections on the fly

Allows network administrators to have programmable central

control of network traffic.

?

?

?

Page 8: OpenFlow and other things Related to Software Defined Networking

What is OpenFlow

• OpenFlow is an open specification by the Open Networking Foundation for connecting to and controlling routers and switches

• Basic Capabilities:o Define and query the routing table

o Intercept and modify packets

o Query routers and switches for statistics about the network

Page 9: OpenFlow and other things Related to Software Defined Networking

OpenFlow

• The basic architecture

Page 10: OpenFlow and other things Related to Software Defined Networking

Flow Table

• Each switch maintains a Flow Table3

• Flow tables contain entries (flows) of the form: <Header Fields | Counters | Actions>o Packets are matched against header fields

o Counters are then updated based on the matching packet

o Actions are then applied to packets

Page 11: OpenFlow and other things Related to Software Defined Networking

Matching

• Matching Fieldso Ingress Port

o Ethernet source/destination address

o Ethernet type

o VLAN id/priority

o IP source/destination address

o IP protocol/ToS

o Transport source/destination port

• Fields can be partially matched (e.g. IP subnets) or wild carded

Page 12: OpenFlow and other things Related to Software Defined Networking

Counters

• If a packet matches a flow entry it can update the relevant counters.

• Counters can be maintained:o Per table

o Per flow

o Per queue

• Counters can track:o Received packets

o Received bytes

o Duration

o Transmitted Packetso Transmit/Receive errorso Etc..

Page 13: OpenFlow and other things Related to Software Defined Networking

Actions

• After matching a packet the switch can apply the following actions:o Forward out of a port(s)

o Encapsulate and send to controller

o Drop packets

o Modify packet headers

Page 14: OpenFlow and other things Related to Software Defined Networking

Controller

• The controller is connected to the switch, through the OpenFlow communication protocol it can query and modify counters and the flow table

• It can also receive packets from the data plane

• The controller can be any arbitrary program that uses the OpenFlow protocolo NOX/POX

o Beacon

o Floodlight

o Maestro

o Ryu

o and others

Page 15: OpenFlow and other things Related to Software Defined Networking

OpenFlow

• Does OpenFlow by itself give us SDN?

Separates and abstracts elements of networking

systems

Allows system administrators to quickly

provision network connections on the fly

Allows network administrators to have programmable central

control of network traffic.

?

?

?

• But why would it?

• You don’t expect x86 to have merge sort right out of the box

Page 16: OpenFlow and other things Related to Software Defined Networking

So, what's the point?

o OpenFlow gives unified specificationso Any hardware vendor can support it

o Any 3rd party software vendor can write software for it

o IOS, JunOS and Application Fluent Network provide hardware specific solutions

o As OpenFlow adoption increases the incentive for vendors to support OpenFlow increases

Page 17: OpenFlow and other things Related to Software Defined Networking

People using OpenFlow

• OpenFlow is currently used in all of Google's data centers1

• Almost all the big names are members of the Open Networking Foundation2

o Google

o Facebook

o Verizon

o Cisco

o Samsung

o Broadcom

o etc...

Page 18: OpenFlow and other things Related to Software Defined Networking

How do we Realize SDN Using OpenFlow?

• OpenFlow provides network control, but at a low level

• We still need proper abstractions and centralized control

Page 19: OpenFlow and other things Related to Software Defined Networking

Centralized Control

• Real systems are globally distributed

• Large systems have to account for failure

• We need one logical controller with a global view of the network

• This requires coordination between physical servers distributed geographically

Page 20: OpenFlow and other things Related to Software Defined Networking

Proper Abstractions

• Once we have a distributed controller we need the ability to install the configuration on the network

• Control policies should be specified at a high level, they should not be dependent on the state of the network

Page 21: OpenFlow and other things Related to Software Defined Networking

Proper Abstractions

Source: Scott Shenker

Page 22: OpenFlow and other things Related to Software Defined Networking

Demonstration

• Load balancing using OpenFlow

• Clients are directed to different webservers by the controller

• A program connected to the controller can specify access control for specific IPs

Page 23: OpenFlow and other things Related to Software Defined Networking

Demonstration

Controller

VM Host

Switch 1Switch 2

WiFi Clients

Physical Network Layout

Page 24: OpenFlow and other things Related to Software Defined Networking

Demonstration

Controller

Server 1

Switch

WiFi Client 1

Abstract Network Layout

Server 5… WiFi Client n…

Page 25: OpenFlow and other things Related to Software Defined Networking

Demonstration

• Get out your laptop/phone and connect to the open network named ‘OpenFlow’

• In your web browser go to http://192.168.0.1/

• To be reassigned to a new server, wait 15 seconds and refresh

Page 26: OpenFlow and other things Related to Software Defined Networking

Bibliography

• 1: http://searchsdn.techtarget.com/news/2240181909/Vint-Cerf-At-Google-OpenFlow-now-runs-in-all-data-center-networks

• 2: https://www.opennetworking.org/membership/member-listing

• 3: http://www.openflow.org