AI Summary
[DOCUMENT_TYPE: user_assignment]
**What This Document Is**
This is a project assignment for an Introduction to Computer Networks course (ELENG 122) at the University of California, Berkeley. Specifically, it details the requirements for Project 2, which challenges students to design and implement a reliable data transfer protocol. The assignment is structured in two phases, with clearly defined deadlines for each. It builds upon concepts learned in a prior project involving web application development and TCP/IP protocols.
**Why This Document Matters**
This assignment is crucial for students seeking a deeper understanding of network protocols and their practical implementation. It’s particularly valuable for those interested in network engineering, software development related to networking, or further study in computer science. Students will benefit from carefully reviewing this document before beginning work on the project, as it outlines expectations for design, implementation, and evaluation. It’s most useful when approached at the start of the project timeline to ensure a clear understanding of the scope and deliverables.
**Topics Covered**
* Reliable Data Transfer Protocols
* UDP (User Datagram Protocol)
* Congestion Control Mechanisms
* Flow Control Techniques
* Network Protocol Design
* Sliding Window Protocols
* Packet Loss and Reordering Handling
* Implementation of Network Applications
* Teamwork and Collaboration in Software Projects
**What This Document Provides**
* A detailed project overview with a two-phase structure and specific due dates.
* Clear expectations for the functionality of the reliable transfer protocol to be designed and implemented.
* Guidance on key design considerations, including reliability, performance, and network congestion.
* Information regarding team work options and deliverables for each phase of the project.
* A description of how the project relates to existing network protocols like TCP.
* A framework for evaluating the effectiveness of the implemented protocol.