Networking With Xinu
Contents
Overview
Having students develop networking aspects of their own or a provided Xinu operating system is one of the potential tracks presented for a professor that is Teaching With Xinu.
A networking course incorporating Embedded Xinu can have students build a networking functionality into Embedded Xinu over the period of the course. Courses may vary in starting point; some choosing to use a core Embedded Xinu release and having students build the entire network stack and ethernet driver. While others may choose an Embedded Xinu release with the ethernet driver available so that the students can concentrate on other parts of the network stack. Network stack implementation assignments for students can parallel various networking lectures that traverse the stack over the course of the semester, terminating in the students implementing an application that uses the developed network stack.
Course Outcomes
Course development can parallel learning objectives and topics associated with many Communication and Networking courses.
Topics
- History of networking.
- Overview of the specializations within net-centric computing.
- Network standards.
- ISO 7-layer reference model
- Circuit switching and packet switching
- Streams and datagrams
- Concepts and services for specific network layers.
- Protocol and application overview/implementation.
- Overview of network security.
Learning Objectives
- Discuss the evolution of early networks and the Internet.
- Explain the hierarchical, layered structure of network architecture.
- Identify and explain the development of important network standards.
- Discuss the advantages and disadvantages of different types of switching.
- Demonstrate how a packet traverses the Internet.
- Implement a simple network using devices running the Embedded Xinu operating system.
- Discuss and explain the reasoning for network security.
Potential Course Structure
A course where students develop the networking aspects within the Xinu operating system. The students will use a base Xinu kernel with an Ethernet driver; this kernel can be professor provided or student built in previous courses. All assignments provided below (after the first one) are intended for groups of two or three students.
With each new assignment students will receive a tar-ball containing the proper implementation of the previous assignment. This allows students to concentrate on implementing the current homework assignment and not get distracted by implementation blunders of previous assignments. This is just one way of going through these assignments, the professor may choose to not provide a new tar-ball with each assignment.
Course Outline
Week | Topics | Assignments | |||||
01 | History of networking and the Internet & specializations of net-centric computing | Networking Standards | |||||
02 | Networking standards & 7-layer ISO model | Packet Demultiplexing | |||||
03 | Ethernet & Address Resolution Protocol | Implementing ARP | |||||
04 | Internet Protocol | Implementing IP & ICMP | |||||
05 | Internet Protocol and Internet Control Message Protocol | ||||||
06 | Internet Packet Traversal, Security Concerns for IP & ARP | IP, ICMP and ARP Applications | |||||
07 | Datagrams - UDP | UDP Development and Implementation | |||||
08 | Datagrams - UDP, Dynamic Host Configuration Protocol | ||||||
09 | Dynamic Host Configuration Protocol, Streams - TCP | DHCP Development and Implementation | |||||
10 | Streams - TCP | ||||||
11 | Security Concerns for UDP, TCP | TCP Development and Implementation | |||||
12 | Interaction Protocols for Networked Devices | ||||||
13 | Wireless Networking | ||||||
14 | Network Based Application Development | Network Based Applications | |||||
15 | Networking Future |
Student Outcomes from Completion of Course Assignments
Upon completion of all assignments the student should have a grasp of the networking architecture that he or she implemented over the whole course. The student should be able to answer questions about all implemented protocols as well as general questions about other non-implemented protocols. The student should also be able to understand the complexities of their implementation. Given the full implementation of the networking architecture the student should be able to pin-point locations in the architecture where optimization is possible and how difficult optimization may be.
Books
- Currently this course outline has no suggested books.
This work funded in part by NSF grant DUE-CCLI-0737476.