Software-Defined Networking · Network Automation

Software-Defined Networking — OpenFlow Automation & Video Streaming Control

Built an SDN lab with Mininet, Open vSwitch (OpenFlow 1.3) and the Ryu controller, programmed entirely through the controller REST API: flow tables are generated and installed automatically, and OpenFlow meters control the quality of a live video stream.

System overview

Functional overview
New explanatory diagram: functional areas grouped by responsibility. This is not an as-built schematic.

Author

Mohammed Mahyoub

Role

End-to-end design, implementation, programming, testing and technical documentation.

Automation

Python REST client (and Postman collection) for the Ryu ofctl_rest API. Flow tables for three switches are computed from the topology and installed in 21 REST calls (0.038 s); after the s3 table is wiped, h4→h6 connectivity is restored in 7 calls (0.008 s).

Streaming

2.5 Mbit/s H.264 stream from h1 to h6 across the three-switch path, rate-limited with OpenFlow 1.3 meters at 3000, 1500 and 800 kbit/s; quality measured with FFmpeg PSNR/SSIM.

Results

No meter / 3000 kbit/s: PSNR ≈ 40 dB, SSIM 0.998. 1500 kbit/s: 19.3 dB, SSIM 0.819. 800 kbit/s: 15.4 dB, SSIM 0.706. All logs, flow dumps and raw results are in the repository.

Engineering rationale

Original and reproducible implementations

The LinkedIn project describes an OpenDaylight implementation using XML-defined rules, Mininet and a connection to a real IP network. This repository documents a reproducible Ryu implementation using ofctl_rest, Open vSwitch and OpenFlow 1.3. The controller names and API formats must remain attached to their respective implementations.

Control plane versus data plane

Python or Postman sends configuration requests to the controller. OpenFlow rules and meters then govern forwarding inside the switches. Video packets travel through the switch path; they do not pass through the REST client.

Evidence behind the results

The committed results and logs describe 21 REST calls for initial installation, seven calls for s3 restoration, and four video-meter conditions. The chart values belong to those recorded runs. REST request duration is not an independently measured end-to-end service recovery time.

Interpretation

An OpenFlow DROP meter above the stream bitrate produces little impairment; lower rates discard packets and reduce received PSNR and SSIM. This is policing behaviour, not adaptive video encoding or guaranteed quality for arbitrary networks.

Engineering workflow
Explanatory workflow; read left to right across each row.

Evidence and validation

Suggested evidence checks for reviewing this work. These are not claimed pass results.

Full documentation and sources