
Explore what software defined networking is and its key components, including OpenFlow, Mininet, OVS, ODL, POX, and Ryu, and learn how to build labs.
Explore traditional networks, their data plane and control plane, and why tightly bundled devices from multiple vendors drive high software costs; learn how sdn decouples planes and enables centralized control.
Explore the differences between traditional networking devices and SDN, highlighting data plane and control plane separation, OpenFlow protocol, and programmable forwarding with open controllers and virtual switches.
Explore the SDN architecture, its core components (data plane, control plane, and OpenFlow), plus how southbound and northbound interfaces, with controllers like POX and Ryu, enable programmable networks.
Explore how the OpenFlow protocol enables secure communication between the controller and switch, overviewing versions from 1.0 to 1.5 and core building blocks like flow tables, ports, and messages.
Explore the OpenFlow flow table as the core switch building block, detailing flow entries with matching fields, actions, counters, priority, and idle or hard timeouts.
Explore OpenFlow messages that connect the controller and switch, detailing controller-initiated, symmetric, and asynchronous messages, including packet-in, flow-mod, and packet-out.
Import the Mininet VM into VirtualBox to set up the SDN lab. Test the Mininet topology and ping all hosts, then verify the POX hub controller runs correctly.
Install Mininet from source and set up the POX controller in the SDN lab, including git installation, cloning the Mininet repo, checkout 2.2.2, and running the install script.
Learn to create a single topology with one switch and multiple hosts using mn --topo single, 3, attaching h1, h2, and h3 to s1, configuring their interfaces and addresses 10.0.0.1-10.0.0.3.
Explore the reversed topology in mininet with mn --topo=reversed,3, creating a single switch with three hosts in reverse order, then verify connectivity with pingall and inspect links.
learn to create linear topology in mininet for software defined networking using mn --topo linear, n, connect four switches and four hosts, and verify with dump, net, and nodes.
Create a three-level tree topology in Mininet using mn --topo=tree,3 with core, distribution, and access switches, attach hosts to each access switch, and verify connectivity with dump, net, and pingall.
Explore mininet commands to view versions and help, launch a default two-host one-switch topology with a reference controller, and test connectivity using ping, pingall, and iperf.
Configure a switch application without a controller using ovs-ofctl, adding MAC-to-port flows and ARP flooding, and validate with Mininet pingall.
Create a custom one-switch topology in Mininet using the high level API, with hosts h1 to h4 at 172.24.0.1 to 172.24.0.4, via OneSwitchTopo from the Topo class and topo-high-level.py.
Learn to create a custom Mininet topology with MiniEdit, wiring switch S1 and hosts h1, h2, h3, h4 at 172.24.0.1 to 172.24.0.4, connected to a controller, without coding.
Explore how to build a hub application with a POX controller using the PacketOut method, compare reactive packet-out flooding with FlowMod, and observe hub behavior in a simple LAN topology.
Explore the POX hub application's proactive method, using connection up and hub-proactive or hub.py, and contrast it with reactive flow handling in a test topology.
Develop a layer-2 firewall with the POX controller by extending the switch app and enforcing MAC-address-based rules from firewall-mac-policies.
Remotely access a Mininet VM in text mode from a GUI host using ssh -Y for X forwarding, verify IPs, and create a single-switch, four-host topology with xterm terminals.
Set up a mininet lab with one switch and two hosts, run the POX controller and l2_learning, and capture OpenFlow traffic with Wireshark on loopback.
Illustrates how a hub floods traffic in network using packet tracer, highlighting its lack of intelligence and no memory of which port a host is attached to, versus a switch.
Set up a virtual Ubuntu 14.04 server in VirtualBox, configure NAT networking, allocate 1 GB RAM and 10 GB disk, enable OpenSSH server, and update repositories.
The installation instructions are for Ubuntu 18.04.
When we started working on SDN 5-6 years back, not much information or help was available regarding SDN. Getting started with this emerging concept was very difficult. It was really very painful process. Now we do not want this to happen to the persons who at this point of time want to enter into this field. This Course starts from basics & takes you to advance levels of Software Defined Networking. Everything has been explained by giving examples. Proper lab setup along with diagrams has been given so that you can constructs the labs yourself & do the practice. This work covers topics such as SDN lab setup, basics of SDN, Mininet Emulator, Mininet Topologies, POX SDN Controller, ovs-ofctl etc.
According to industry people and research scholars, SDN is going to redefine networking and cloud world. This is the biggest thing that has happened in networking field in last 30 years. SDN is a New Way to Design, Build and Operate Networks. There is a Need to Innovate in the Network. We’ve seen tons of innovation in applications, devices, computing and storage, yet the underlying network that connects everything has remained unchanged. SDN Opens the Network Up for Innovation. It replaces static, inflexible and complex networks, with networks that are agile, scalable and innovative.