Dr. Nick Feamster Lab ( Предыдущая версия курса)
by
Sasha Shkrebets
—
last modified
Feb 15, 2024 12:36 PM
- SDN: Лабораторно-практические работы — by Sasha Shkrebets — last modified Feb 15, 2024 12:36 PM
- Получение материалов лабораторных работ
- Setup Mininet Environment — by Sasha Shkrebets — last modified Jan 20, 2023 12:04 PM
- Mininet is a simulation environment that creates a realistic virtual network, running real kernel, switch and application code, on a single machine (VM, cloud or native)
- Mininet Topologies and API Assignment — by Sasha Shkrebets — last modified Jan 20, 2023 12:04 PM
- In this exercise, you will be learning how to build custom topologies using Mininet Python API and how certain parameters like bandwidth, delay, loss and queue size can be set individually for different links in the topology. You’ll also learn how to do performance testing of these custom topologies using ping and iperf.
- Pox Firewall Assignment — by Sasha Shkrebets — last modified Jan 20, 2023 12:04 PM
- In this exercise, you will learn about an open-source OpenFlow controller “POX”. You will learn how to write network applications, i.e., Hub and Layer 2 MAC Learning etc., on POX and run them on a virtual network based on Mininet.
- Network Virtualization Assignment — by Sasha Shkrebets — last modified Jan 20, 2023 12:04 PM
- In this assignment, you will learn how to slice your OpenFlow network using the "Pox" OpenFlow controller. In the process, you will also learn more about the concept of flowspaces and how the centralized visibility and “layerless-ness” of OpenFlow enables flexible slicing.
- NetASM Programming Assignment — by Sasha Shkrebets — last modified Jan 20, 2023 12:04 PM
- In this exercise, you will be working with NetASM, nascent work on a network assembly language for programmable network devices (e.g., FPGAs, RMT, Intel’s FlexPipe, NPUs). NetASM provides assembly instructions that directly reflect the capabilities of the underlying device, thus providing either a human programmer or compiler precise, fine-grained control over the device’s resources. It exposes the details in the language such as creating tables and defining layouts of the processing pipeline.
- Pyretic Firewall Assignment — by Sasha Shkrebets — last modified Jan 20, 2023 12:04 PM
- In this exercise, you will be working with Pyretic, a new programmer-friendly domain-specific language embedded in Python. It provides a runtime system that enables programmers to specify network policies at a high level of abstraction, compose them together in a variety of ways, and execute them on abstract topologies. As in week 4, this week you will be taken through the steps of writing network applications i.e., hub and layer 2 MAC learning on Pyretic and testing them using Mininet. The purpose of this exercise is to show you that there is no single way of writing such applications. New runtime systems are being developed, which provide richer abstractions and tools to express your network applications --- Pyretic is one such example.
- Kinetic Assignment — by Sasha Shkrebets — last modified Jan 20, 2023 12:04 PM
- In this exercise, you will be working with the Kinetic controller, which permits event-driven network control. Kinetic is an SDN control module that can dynamically react to various types of network events (e.g., intrusion detection, bandwidth limit reached, etc.) by changing the applied network policy dynamically. Event-driven SDN control makes networks easier to manage by automating many tasks that are currently performed by manually modifying multiple distributed device configuration files, which are expressed in low-level, vendor-specific CLI commands.
- Упражнения (draft) — by Sasha Shkrebets — last modified Jan 20, 2023 12:04 PM