Module Details

Module Code: COMP9077
Title: Network Management
Long Title: Network Management
NFQ Level: Expert
Valid From: Semester 1 - 2020/21 ( September 2020 )
Duration: 1 Semester
Credits: 5
Field of Study: 4811 - Computer Science
Module Delivered in: 2 programme(s)
Module Description: The role of the internet has evolved from a research collaboration tool to a resource many people use day-to-day for work and entertainment applications. In addition over the years, networks have become more heterogeneous in terms of their technology with an increasing reliance on cloud operations and virtualisation to ensure that the applications are supported with higher reliability and lower latency. As a result of the evolution and complexity of networks, new methods of maintaining and managing networks are required. This module teaches the skills required to manage, debug, and scale modern networks to meet modern demands, and maintain consistent performance and reliable operation. It explores how network administration evolved from device-centric to network-centric, and examines recent developments such as intents, programmable data planes, and formal verification of networks.
 
Learning Outcomes
On successful completion of this module the learner will be able to:
# Learning Outcome Description
LO1 Critically evaluate the complexities in managing a complex network and the interaction and correlation between nodes in the network.
LO2 Configure and monitor network devices and automate their management using appropriate tools and approaches.
LO3 Configure, monitor, and troubleshoot complex networks using northbound applications running on top of software-based networks.
LO4 Automate network management using policies and intents and network automation frameworks.
Dependencies
Module Recommendations

This is prior learning (or a practical skill) that is strongly recommended before enrolment in this module. You may enrol in this module if you have not acquired the recommended learning but you will have considerable difficulty in passing (i.e. achieving the learning outcomes of) the module. While the prior learning is expressed as named MTU module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).

Incompatible Modules
These are modules which have learning outcomes that are too similar to the learning outcomes of this module. You may not earn additional credit for the same learning and therefore you may not enrol in this module if you have successfully completed any modules in the incompatible list.
No incompatible modules listed
Co-requisite Modules
No Co-requisite modules listed
Requirements

This is prior learning (or a practical skill) that is mandatory before enrolment in this module is allowed. You may not enrol on this module if you have not acquired the learning specified in this section.

Basic knowledge of programming and networking is required.
 
Indicative Content
Managing Network Devices
Configuring devices using CLI. Using and understanding logs (syslog). Management protocols (SNMP, Netconf). Data models (Yang) and comparison of models (open vs native, IETF models, OpenConfig). Network APIs and relevant protocols (RESTCONF, gRPC, gNMI). Network monitoring technologies (IPFIX, OpenConfig streaming telemetry, CoAP Pub-Sub, eBPF).
Automated Network Device Management
Configuration management tools background. Open-source solutions (Ansible, NetNornir) and comparison of solutions. Commercial solutions (Cisco tail-f). Common configuration formats and markup languages (YAML).
Network Administration
ISO Telecommunications Management Network Model (FCAPS). Troubleshooting and debugging tools (ping, traceroute, packet sniffers, ssh, telnet, nmap, arping). Identifying and addressing network issues (device/link failure, congestion, loops, firewall/ACL attacks). Understanding routing issues (conflicts, ECMP, route flapping, non-determinism, synchronisation). Detecting faults, performing root cause analysis (correlating events, network models, anomaly detection). Advanced tools for network administration (NetNorad, SolarWinds NetPath). Administration for native cloud environments such as AWS (Cloudwatch, Cloudtrail, RouteAnalyzer) and Microsoft Azure (Network Monitor, Azure Monitor).
Software-Defined Network Management
SDN background. Architecture. Northbound and southbound protocols. SDN controllers.Programmable data planes (programmable ASICs) and protocol independent packet processors (P4). SDN simulation tools (Mininet, Maxinet). P4 operation (P4Runtime), supporting controllers (ONOS), syntax, and development tools (BMv2). Understand and use tools for centralised network management such as network debuggers (ndb), high resolution telemetry (CISCO Tetration). Network history tools (OFRewind). SD-WAN Management.
Automated Network Administration
Network specification and verification (Batfish). Event-driven network automation. Intent-based networking. Zero touch network and service management (ZSM). Network automation tools (ONAP) and relevant modelling languages (TOSCA). Future of network automation (machine learning, AIOps).
Module Content & Assessment
Assessment Breakdown%
Coursework100.00%

Assessments

Coursework
Assessment Type Project % of Total Mark 50
Timing Week 7 Learning Outcomes 1,2
Assessment Description
Explore network device interaction and configuration methods and implement automated network management policies.
Assessment Type Project % of Total Mark 50
Timing Sem End Learning Outcomes 3,4
Assessment Description
Implement network management and automation techniques in a Software-Defined Network. Use Northbound APIs to detect and resolve network issues, and implement policies in a simulated network.
No End of Module Formal Examination
Reassessment Requirement
Coursework Only
This module is reassessed solely on the basis of re-submitted coursework. There is no repeat written examination.

The University reserves the right to alter the nature and timings of assessment

 

Module Workload

Workload: Full Time
Workload Type Contact Type Workload Description Frequency Average Weekly Learner Workload Hours
Lecture Contact Lecture delivering theory underpinning learning outcomes. Every Week 2.00 2
Lab Contact Lab to support learning outcomes. Every Week 2.00 2
Independent Learning Non Contact Independent study. Every Week 3.00 3
Total Hours 7.00
Total Weekly Learner Workload 7.00
Total Weekly Contact Hours 4.00
Workload: Part Time
Workload Type Contact Type Workload Description Frequency Average Weekly Learner Workload Hours
Lecture Contact Lecture delivering theory underpinning learning outcomes. Every Week 2.00 2
Lab Contact Lab to support learning outcomes. Every Week 2.00 2
Independent Learning Non Contact Independent study. Every Week 3.00 3
Total Hours 7.00
Total Weekly Learner Workload 7.00
Total Weekly Contact Hours 4.00
 
Module Resources
Recommended Book Resources
  • Claise B, Clarke J, Lindblad J.. (2019), Network Programmability with YANG: The Structure of Network Automation with YANG, NETCONF, RESTCONF, and gNMI, Addison-Wesley Professional, [ISBN: 978-013518039].
Recommended Article/Paper Resources
  • Wundsam, Andreas, et al.. OFRewind: Enabling record and replay troubleshooting for networks, USENIX Annual Technical Conference. USENIX Association, 2011.
  • Handigol, Nikhil, et al.. Where is the debugger for my Software-Defined Network?, Proceedings of the first workshop on Hot topics in software defined networks, 2012.
  • Heller, Brandon, et al.. Leveraging SDN layering to systematically troubleshoot networks, Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking., 2013.
  • Scott, Colin, et al.. How did we get into this mess? Isolating fault-inducing inputs in SDN control software, EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2013-8, 2013.
  • Handigol, Nikhil, et al.. I know what your packet did last hop: using packet histories to troubleshoot networks, 11th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 14), 2014.
  • Narayana, Srinivas, et al.. Compiling path queries, 13th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 16), 2016.
  • Tilmans, Olivier, et al.. Stroboscope: Declarative network monitoring on a budget, 15th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 18), 2018.
  • Kazemian, Peyman, George Varghese, and Nick McKeown. Header Space Analysis: Static Checking For Networks, Presented as part of the 9th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 12), 2018.
  • Canini, Marco, et al.. A NICE way to test OpenFlow applications, Presented as part of the 9th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 12), 2012.
  • Khurshid, Ahmed, et al.. Veriflow: Verifying network-wide invariants in real time, Presented as part of the 10th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 13)., 2013.
  • Foster, Nate, et al.. Probabilistic NetKAT, European Symposium on Programming., 2016.
  • Gehr, Timon, et al.. Bayonet: Probabilistic Inference for Networks, ACM SIGPLAN Notices, 53.4 (2018).
  • Bosshart, Pat, et al.. P4: programming protocol-independent packet processors, ACM SIGCOMM Computer Communication Review, 44.3 (2014).
  • Miao, Rui, et al.. SilkRoad: Making Stateful Layer-4 Load Balancing Fast and Cheap Using Switching ASICs, Proceedings of the Conference of the ACM Special Interest Group on Data Communication, 2017.
Other Resources
 
Module Delivered in
Programme Code Programme Semester Delivery
CR_KCLDC_9 Master of Science in Cloud Computing 2 Elective
CR_KCLDC_9 Master of Science in Cloud Computing 1 Elective