Top Banner
Angelo Corsaro, PhD Chief Technology Officer [email protected] Looking at SDN with DDS Glasses
49

Software Defined Networking with Data Distribution Service

May 24, 2015

Download

Software

PrismTech

The idea of programmable networks has recently re-gained momentum due to the emergence of Software-Defined Networking (SDN) and its promises to dramatically simplify network management and enable innovation. SDN decouples the forwarding hardware from control decisions so to make the latter programmable. The controller, implementing the control plane, communicates with the switching device through what is commonly referred as the southbound-API while network applications communicate with the controller via the northbound-API.

While OpenFlow has emerged as one of the most widely adopted API for the southbound API, the situation is far more fragmented for the northbound API. This presentation will take a fresh look at northbound and southbound SDN interface requirements and will investigate the advantages that the OMG's Data Distribution Service standard can bring in terms of performance, scalability, and interoperability.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Defined Networking with  Data Distribution Service

Angelo  Corsaro,  PhD  Chief  Technology  Officer  

[email protected]

Looking at SDN with DDS Glasses

Page 5: Software Defined Networking with  Data Distribution Service

OpenFlow

Page 11: Software Defined Networking with  Data Distribution Service

Cop

yrig

ht P

rism

Tech

, 201

4

Features: The controller may request the capabilities of a switch by sending a features request; the switch must respond with a features reply that specifies the capabilities of the switch. This is commonly performed upon establishment of the OpenFlow channel.

Configuration: The controller can set and query configuration parameters in the switch

Modify-State: Modify-State messages are sent by the controller to manage state on the switches. Their primary purpose is to add/delete and modify flows/groups in the OpenFlow tables and to set switch port properties

Controller-to-Switch Messages

Page 13: Software Defined Networking with  Data Distribution Service

Cop

yrig

ht P

rism

Tech

, 201

4

Packet-in: For all packets that do not have a matching flow entry, a packet-in event may be sent to the controller (depending on the table configuration)

Flow-Removed: When a flow entry is added to the switch by a flow modify message, an idle timeout value indicates when the entry should be removed due to a lack of activity, as well as a hard timeout value that indicates when the entry should be removed, regardless of activity. The flow modify message also specifies whether the switch should send a flow removed message to the controller when the flow expires.

Port-status: The switch is expected to send port-status messages to the controller as port configuration state changes. These events include change in port status events (for example, if it was brought down directly by a user).

Error: The switch is able to notify the controller of problems using error messages.

Asynchronous Messages

Page 14: Software Defined Networking with  Data Distribution Service

Cop

yrig

ht P

rism

Tech

, 201

4

Hello: Hello messages are exchanged between the switch and controller upon connection startup.

Echo: Echo request/reply messages can be sent from either the switch or the controller, and must return an echo reply. They can be used to measure the latency or bandwidth of a controller-switch connection, as well as verify its liveness.

Experimenter: Experimenter messages provide a standard way for OpenFlow switches to offer additional functionality within the OpenFlow message type space. This is a staging area for features meant for future OpenFlow revisions.

Symmetric Messages

Page 15: Software Defined Networking with  Data Distribution Service

OpenFlow Limitations

Page 22: Software Defined Networking with  Data Distribution Service

Northbound API

Page 24: Software Defined Networking with  Data Distribution Service

Cop

yrig

ht P

rism

Tech

, 201

4

Floodlight REST APIURI Method Description

/wm/core/switch/all/<statType>/json  GET Retrieve aggregate stats across all switches

/wm/core/switch/<switchId>/<statType>/json  GET Retrieve per switch stats

/wm/core/controller/switches/json GET List of all switch DPIDs connected to the controller

/wm/core/controller/summary/json GET Controller summary (# of Switches, # of Links, etc)

/wm/core/counter/<counterTitle>/json GET List of global traffic counters in the controller (across all switches)

/wm/core/counter/<switchId>/<counterName>/json

GET List of traffic counters per switch

/wm/core/memory/json  GET Current controller memory usage

/wm/core/health/json GET Status/Health of REST API

/wm/core/systen/uptime/json GET Controller uptime

/wm/topology/links/json GET List all the inter-switch links. Note that these are only for switches connected to the same controller. This is not available in the 0.8 release.

/wm/topology/switchclusters/json GET List of all switch clusters connected to the controller. This is not available in the 0.8 release.

Page 25: Software Defined Networking with  Data Distribution Service

Cop

yrig

ht P

rism

Tech

, 201

4

Floodlight REST API/wm/device/ GET List of all devices tracked by the controller. This

includes MACs, IPs, and attachment points./wm/staticflowentrypusher/json POST/

DELETEAdd/Delete static flow

/wm/staticflowentrypusher/list/<switch>/json GET List static flows for a switch or all switches /wm/staticflowentrypusher/clear/<switch>/json GET Clear static flows for a switch or all switches /networkService/v1.1/tenants/<tenant>/networks/<network> PUT/POST/

DELETECreates a new virtual network. Name and ID are required, gateway is optional.

/networkService/v1.1/tenants/<tenant>/networks/<network>/ports/<port>/attachment

PUT/DELETE Attaches a host to a virtual network.

/networkService/v1.1/tenants/<tenant>/networks GET Shows all networks and their gateway, ID, and hosts mac in json format.

/wm/firewall/module/<op>/json GET  /wm/firewall/rules/json  GET/POST/

DELETEGET: None !POST: {"<field 1>":"<value 1>", "<field 2>":"<value 2>", ...} !DELETE: {"<ruleid>":"<int>"}

Page 26: Software Defined Networking with  Data Distribution Service

Architectural Considerations

Page 28: Software Defined Networking with  Data Distribution Service

DDS Overview

Page 29: Software Defined Networking with  Data Distribution Service

DDS is a standard technology for ubiquitous, interoperable, secure, platform independent, and real-time data sharing across network connected

devices

Page 36: Software Defined Networking with  Data Distribution Service

DDS Based SDN

Page 44: Software Defined Networking with  Data Distribution Service

Mapping OpenFlow on DDS

Page 46: Software Defined Networking with  Data Distribution Service

Cop

yrig

ht P

rism

Tech

, 201

4

Asynchronous messages can be modelled as Transient, KeepAll topics

The type of the topic could be exactly the same as the one specified by OpenFlow

Asynchronous Messages

struct  ofp_packet_in  {          struct  ofp_header  header;          uint32_t  buffer_id;          uint32_t  in_port;          uint32_t  in_phy_port;          uint16_t  total_len;          uint8_t  reason;          uint8_t  table_id;          uint8_t  data[0];  };  

Page 47: Software Defined Networking with  Data Distribution Service

Unleashing Data