OREGON INSTITUTE OF TECHNOLOGY
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.
You will work with a single partner for development of test suites. Code base will not be shared and MUST reflect individual effort.
You must work on the project code individually.
You cannot use any advanced features of WinPCap.
All packet analysis, parsing, and logical operations must be programmed by you. This is not a team based project.
Pieces of the protocol stack must be turned in on-time as posted on the schedule.
Your code must be modular.