What This Document Is
This is a lab assignment for Introduction to Computer Networks (CSE 473S) at Washington University in St. Louis. It focuses on foundational networking concepts, specifically the design and implementation of a datalink layer within a layered network architecture. The assignment requires students to engage with a network simulator to build and test their implementation. It’s a practical exercise designed to reinforce theoretical understanding of how network layers interact.
Why This Document Matters
This assignment is crucial for students learning the fundamentals of computer networking. It’s particularly beneficial for those aiming to solidify their understanding of layered protocols, data encapsulation, and inter-layer communication. Students enrolled in CSE 473S will need to complete this lab to demonstrate their grasp of core networking principles. It’s best used *during* the lab period and for focused study on datalink layer concepts, serving as a guide for hands-on implementation and experimentation.
Common Limitations or Challenges
This document outlines the requirements and framework for the lab, but it does *not* provide pre-written code or step-by-step solutions. Students are expected to independently design, implement, and debug their datalink layer. The assignment assumes a basic understanding of C programming and network concepts covered in the course lectures. It also doesn’t cover advanced error handling or optimization techniques – the focus is on core functionality.
What This Document Provides
* A detailed explanation of the layered network architecture used in the lab.
* Definitions of the Protocol Data Units (PDUs) used for communication between layers (A_PDU, D_PDU, PH_PDU).
* An overview of service primitives used for inter-layer communication (PH_DATA, DLC_DATA).
* Specific function outlines (DatalinkToPhysical, DatalinkToApplication) that students will need to implement.
* Information on required files and resources available for download (pdu.h, dlc layer.c).