DCU Home | Our Courses | Loop | Registry | Library | Search DCU

Registry

Module Specifications

Archived Version 2018 - 2019

Module Title Network Stack Implementation
Module Code EE562
School School of Electronic Engineering

Online Module Resources

Module Co-ordinatorDr Martin CollierOffice NumberS324
Module Co-ordinatorDr Martin CollierOffice NumberS324
NFQ level 9 Credit Rating 7.5
Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None
Description

The aim of the module is to introduce students to the software embedded in network devices such as routers to implement network protocols. Where possible, open source implementations of protocols used in live networks will be studied. Both the data plane and the control plane will be studied, including data-link layer protocols, network layer protocols and transport layer protocols. Optimisation techniques, hardware acceleration and other approaches to achieving “wire speed” operation will be investigated. Protocols appropriate to the Internet of Things, to data centres, and to the future Internet will be considered.

Learning Outcomes

1. to classify network functionality as belonging to the control plane and the data plane respectively
2. explain how a typical operating system processes packets from arrival from an interface card to forwarding to user space
3. describe the principles involved in implementing a network stack in software
4. decompose the software of “middleboxes” such as network routers into a software architecture
5. evaluate the trade-offs involved in hardware versus software implementation of packet processing functions
6. demonstrate advanced theoretical knowledge of networking
7. add functionality to an open-source network stack
8. adapt existing software to meet new networking requirements



Workload Full-time hours per semester
Type Hours Description
Lecture36No Description
Assignment Completion44No Description
Independent Study108No Description
Total Workload: 188

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities

Low Level Issues
Bridging overview, Ethernet, 6LoWPAN, Wi-fi, Data rates, hardware vs. software Router architecture, network device drivers, buffer management.

Network Layer
route pinning and datagram routing IPv4, IPv6, firewalling and NAT.

Transport Layer
Review of sockets, TCP protocol description Implementation of TCP Multi-homing, multi-path, congestion

Control Plane
Control Plane vs. Data Plane Internet routing protocols (RIP, OSPF, BGP). Router configuration and network administration. Why is signalling needed? End-to-end signalling SDN and OpenFlow QoS and resource reservation

Advanced Packet Forwarding
Deep packet probes, policy-based routing, Hardware acceleration, network processors

Assessment Breakdown
Continuous Assessment25% Examination Weight75%
Course Work Breakdown
TypeDescription% of totalAssessment Date
Reassessment Requirement
Resit arrangements are explained by the following categories;
1 = A resit is available for all components of the module
2 = No resit is available for 100% continuous assessment module
3 = No resit is available for the continuous assessment component
Unavailable
Indicative Reading List

  • Christian Benvenuti: 2006, Understanding Linux Network Internals, 1st ed., O'Reilly Media, Inc., 0596002556
  • Rami Rosen: 2014, Linux Kernel Networking: Implementation and Theory, 1st ed., 9781430261964
Other Resources

26989, Blog entry, 0, No Title, http://www.tune2wizard.com/kernel-programming-network-programming/, 26990, Blog entry, 0, No Title, https://www.privateinternetaccess.com/blog/2016/01/linux-networking-stack-from-the-ground-up-part-1/, 26991, Blog entry, 0, No Title, https://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/, 26992, Blog entry, 0, No Title, http://www.cubrid.org/blog/dev-platform/understanding-tcp-ip-network-stack/, 26612, Article, Dan Siemon, 2013, Queueing in the Linux Network Stack, https://www.coverfire.com/articles/queueing-in-the-linux-network-stack/, 26613, Article, Arnout Vandecappelle, 0, Kernel Flow, The Linux Foundation, https://wiki.linuxfoundation.org/networking/kernel_flow, 26614, Slide Show, Thomas Graf, 0, Kernel Networking Walkthrough, Red Hat, http://www.slideshare.net/ThomasGraf5/devconf-2014-kernel-networking-walkthrough, 26615, Blog Entry, 2011, How to Write a Linux Firewall in Less than 1000 Lines of Code, http://www.roman10.net/2011/07/23/a-linux-firewall-using-netfilter-part-1overview/,
Programme or List of Programmes
ECSAOStudy Abroad (Engineering & Computing)
GCECEGrad Cert. in Electronic & Computer Eng
GCESGrad Cert. in Electronic Systems
GCIOTGrad Cert in the Internet of Things
GCTCGrad Cert. in Telecommunications Eng.
GDEGraduate Diploma in Electronic Systems
GDECEGrad Dip in Electronic & Computer Eng.
GTCGrad Dip in Telecommunications Eng
MECEMEng Electronic & Computer Engineering
MEQMasters Engineering Qualifier Course
MTCMEng in Telecommunications Engineering
SMPECSingle Module Programme (Eng & Comp)
Archives: