The first part of this course examines how to improve network security through correctly configuring network devices including routers, firewalls, NAT, and IPSec gateways. However, managing networks is complicated and it is not easy to configure devices correctly. Software Defined Networking (SDN) is a new network paradigm that has the promise to provide a unified single control framework. SDN has been a hot area in networking and many companies are investigating adopting it in their network infrastructures; for instance, Google has deployed SDN within its own data centers.
The second part of this course explores SDN and investigates how to enforce security policies using SDN in various application domains. The course includes a semester-long group project. Project topics range, depending on students' interests, from system programming to programming language design and formal verification.
Prerequisite: 14740 or 15641