Planeamento

Aulas

L1

Class introduction. Learning goals. Syllabus. Planning. Evaluation. Bibliography. SDN contextualization. Legacy vs. SDN-based network. Three main features of SDN. SDN advantages and potential disadvantages. Starting with network virtualization and building a network topology via Linux shell commands. Introduction to the concepts of Linux NameSpaces, Linux Bridges, and network links.


L3

This class aims to give a clear understanding of the operational similarities between Network Operating Systems (NOSs) and Software Defined Networking (SDN), focusing on the three design levels: management, control, and data planes. Understanding both paradigms is essential for network management in both traditional and modern network environments. In the final part of this class is also presented the next laboratory.


L5

Software-based switch: OpenvSwitch. Switch management. Switch control. Switch operation controlled locally by local flow rules. Briefly explanation about the next laboratory session.


L7

OpenFlow Protocol. Ryu SDN controller. Writing a Ryu application. Mininet network emulator. Next laboratory.


L9

Message Types in OF1.0. Controller Discovers New Switch. Negotiation of OpenFlow Version. Controller Gets Switch Characteristics. Reactive Control. Proactive Control. Topology: Link Discovery. Proactive flow rule installation on the switches. Next Laboratory.


L11

Theoretical assessment nº 1: shell commands, SDN controller, reactive vs proactive mode, local switch OpenFlow flow rules, topology discovery.


L13

Network segmentation technologies. VLANs configuration and operation. SDN NorthbBound API. Next laboratory. Debugging Python code.


L15

OpenFlow v1.3. The relevance of programming the aimed operation of a networking infrastructure. Future X Network - A new revolution on his way. Edge Micro Datacenter: Fog Datacenter. Fog Datacenter: System Architecture. Next Laboratory.


L17

SDN Control has a Centralized Design. Switch Actions to Address Communication Failure with the SDN Controller. Control Plane Actions to Address Failures. Multiple SDN controllers. Distributed consensus among SDN controllers. Next Laboratory.


L19

Discussing how to deploy at the SDN Control layer a dynamic Spanning Tree Protocol (STP) solution with proactive flow rules. This solution is automatically updated after any topology change. Next laboratory.


L21

Enhancing SDN operation with Multi-Armed Bandit (MAB) agents. Understanding the Exploration vs Exploitation Trade-off. Accumulated agent decision regret for diverse MAB algorithms. Next laboratory.


L23

Theoretical assessment nº 2: Reactive and proactive OpenFlow control modes, OpenFlow flow rule, mininet Python API,  N/B API, Fog Datacenter, MASTER/SLAVE/EQUAL, Resource slicing, ML + SDN.


Aulas

L2

Laboratory session to introduce the virtual machine (VM) that it will be used along the course. Using the previous VM: learn how to create an emulated host using the concept of Linux NameSpaces; learn how to add, configure and enable the network interfaces on each host; learn how to create a network link connecting two interfaces; learn how to create a Linux bridge (or switch) that will be connecting the two hosts of the current topology; learn how to add to the switch the associated interfaces of the two network links previously created; and learn how to test the current emulated (or virtualized) topology.


L4

The current laboratory acting as a continuation practical session of the last week laboratory, it has the next main learning goals: learn how to create and remove an emulated network topology, using script files; and learn how to emulate more realistic network conditions, such as latency and jitter, using the Linux Traffic Control (tc) tool.


L6

The current laboratorial class taughts how to locally configure the necessary control rules in a programmable switch for controlling how the traffic is forwarded through the network infrastructure. The topology will be tested in diverse scenarios. The results of each test should be analyzed using captured traffic via wireskark and some suggested shell commands.


L8

The current laboratorial lecture taught how to deploy an SDN-based networked system formed by a single SDN controller (i.e. Ryu), one software-based OpenvSwitch (OVS), and several hosts interconnected through the software-based switch OVS. The current lecture also taught how the OpenFlow (v1.0) protocol allows the Ryu SDN controller to control in distinct ways the switch OVS and consequently the network operation. Finally, the applicants learn how to make some code changes in the controller for blocking some network traffic.


L10

The current laboratorial lecture taught how to deploy a SDN-based network formed by a SDN controller (i.e. Ryu) and several OpenvSwitch (OVS). The OVSs connected in a linear topology enable the interconnection between two hosts. The current lecture also taught how the OpenFlow (v1.0) protocol operates between the SDN controller and each OVS. In addition, it is studied how the topology discovery is supported. To implement the topology discovery, the Link Layer Discovery Protocol (LLDP) is used as well as the IPv6 Neighbor Discovery Protocol. Finally, it is studied the deployment of a full proactive SDN controller. 


L12

Laboratory assessment nº 1: The current laboratorial class aims to individually test some practical knowledge about how to deploy mininet topology, configure control rules locally at the network switch, extending mininet topology via a script with shell commands, and network testing.


L14

The current laboratory taught how to use the Northbound Representational State Transfer (REST) Application Programming Interface (API) between a top-level application and the Ryu Controller. The top-level application is deployed as curl shell commands, which send HTTP (Hypertext Transfer Protocol) messages to the Software Defined Networking (SDN) controller REST API for managing the network topology. The network topology is emulated by Mininet. The REST API of Ryu was extended to support new functionality involving the management of Virtual LANs (VLANs) over the network topology.


L16

The current laboratorial lecture taught how to deploy a Ryu SDN application that offers an on-demand elastic service, which is designated as the fog datacenter. The fog datacenter automatically detects the need to activate a part of the network topology before routing some traffic destined to some destination node. This destination node is also activated before the SDN application controlling the necessary switches to deploy the routing path through the network infrastructure to that receiving node. This fog datacenter could offer heterogeneous resources, such as networking, computation, and storage, where and when those resources are necessary, at the network edge.


L18

The current laboratorial lecture taught how to write a Ryu application that supports scenarios with multiple SDN controllers. There are three possible functional roles for each SDN controller forming the cluster of the diverse SDN controllers. The three possible SDN controller roles are MASTER, SLAVE, or EQUAL. This lecture aims to deliver to its practitioners relevant knowledge in the next aspects: i) study the two possible switch (OVS) reactions after that switch lost the communications with the SDN controller; ii) show how each SDN controller is configured for its role within the control cluster; iii) evidence how the control cluster formed by distinct SDN controllers enhances the resiliency of the control plane against any SDN controller failure; iv) study how the SDN controllers divide among them the control responsibility of the diverse nodes of the data plane, i.e. the control channel workload; and v) study the fairness on workload share among the SDN controllers, considering diverse policies for sharing that workload among them.


L20

The current laboratorial lecture taught how to deploy at the SDN control layer, a dynamic Spanning Tree Protocol (STP) solution with proactive flow rules, which are automatically updated after any topology change. This lecture aims to deliver relevant knowledge in the next aspects: i) understand how Spanning Tree Protocol (STP) is implemented in SDN; ii) recall how proactive flow rule installation is made using OpenFlow 1.3; iii) use NetworkX for graph-based STP implementation; iv) build a resilient and efficient solution despite topology changes.


L22

The current laboratorial lecture taught how to enhance the operation of a SDN-based system using MAB agents.


L24

Laboratory assessment nº 2: The current laboratorial class aims to individually test some practical knowledge about how to extend an initial given Mininet topology and understand the programmed behavior on the supplied controller, including network testing.