Computer Systems Engineering Technology Department

CST 415 - Computer Networks



This is a Sr. level programming course. Do not expect to be given all references to programming constructs necessary to complete the project assignments. You are expected to do your own research related to network programming API's and integrate those API's into your project. Research necessary coding constructs and integrate them into your system.

Term Length Project Description


This quarter in CST 415, the project will consist of building components of the TCP/IP protocol stack. By the end of the quarter, a fully functional protocol stack will be completed. The project will be based on the library of code called WinPCap, a packet capture driver to acquire raw packets from the Ethernet controller and present in user space. WinPCap is capable of many great things; however, the only part to be utilized for this project is the API to acquire a raw packet from the ethernet controller and pass it back in a buffer.


The task throughout this quarter is to develop an operational IP based protocol stack and the the code that will allow you to test the stack. This project will be developed over the entire quarter. Each subsequent lab assigned associated with the project will build upon previous code. STAYING ON SCHEDULE WITH THIS DEVELOPMENT IS IMPERITIVE. There will be no late project credit; however, because of project dependencies, all labs must be completed to finish with a complete system by the end of the quarter. The project requires not only development the protocol stack, but also development of code to prove protocol stack implementation. For example, for proving the UDP portion of the protocol stack, writing of a client and server using implemented UDP connection oriented services (e.g. sockets "sendto", and "receivefrom") will be required in the project code space and the commercial protocol stack network space. Keep this in mind when scheduling time for project work.


The protocol stack will be graded not only on requirements compliance, but also on ease of code interpretation.