DCU Home | Our Courses | Loop | Registry | Library | Search DCU
<< Back to Module List

Latest Module Specifications

Current Academic Year 2025 - 2026

Module Title Network Stack Implementation
Module Code EEN1004 (ITS: EE562)
Faculty Engineering & Computing School Electronic Engineering
NFQ level 9 Credit Rating 7.5
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. 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


WorkloadFull time hours per semester
TypeHoursDescription
Lecture36No Description
Assignment Completion44No Description
Independent Study108No Description
Total Workload: 188
Section Breakdown
CRN20125Part of TermSemester 2
Coursework25%Examination Weight75%
Grade Scale40PASSPass Both ElementsN
Resit CategoryRC1Best MarkN
Module Co-ordinatorMartin CollierModule TeacherGabriel Muntean
Section Breakdown
CRN21156Part of TermSemester 2
Coursework25%Examination Weight75%
Grade Scale40PASSPass Both ElementsN
Resit CategoryRC1Best MarkN
Module Co-ordinatorMartin CollierModule Teacher
Assessment Breakdown
TypeDescription% of totalAssessment Date
Research PaperAn evaluation of one or more aspects of network stack implementation in the format of a research paper.25%Once per semester
Formal ExaminationEnd-of-Semester Final Examination75%End-of-Semester
Reassessment Requirement Type
Resit arrangements are explained by the following categories;
RC1: A resit is available for both* components of the module.
RC2: No resit is available for a 100% coursework module.
RC3: No resit is available for the coursework component where there is a coursework and summative examination element.

* ‘Both’ is used in the context of the module having a coursework/summative examination split; where the module is 100% coursework, there will also be a resit of the assessment

Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

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

Indicative Reading List

Books:
  • 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


Articles:
None
Other Resources

  • 1: Blog entry, linux networking stack from the ground up,
  • 414551: 1, Blog entry, Monitoring and Tuning the Linux Networking Stack: Receiving Data,
  • https://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/: 414552, 1, Blog entry, Understanding TCP/IP Network Stack & Writing Network Apps
  • https://www.cubrid.org/blog/3826497: 414553, 1, Article, Dan Siemon, 2013, Queueing in the Linux Network Stack
  • https://www.coverfire.com/articles/queueing-in-the-linux-network-stack/: 414554, 1, Article, Arnout Vandecappelle, Kernel Flow
  • The Linux Foundation: https://wiki.linuxfoundation.org/networking/kernel_flow, 414555, 1, Slide Show, Thomas Graf, 0
  • Red Hat: http://www.slideshare.net/ThomasGraf5/devconf-2014-kernel-networking-walkthrough,

<< Back to Module List View 2024/25 Module Record for EEN1004