Difference between revisions of "Assignment: Basic Networking - Ping"
Line 12: | Line 12: | ||
=== Address Resolution Protocol (ARP) === | === Address Resolution Protocol (ARP) === | ||
− | === Packet Demultiplexing === | + | === Basic Packet Demultiplexing === |
+ | |||
== Student Implementation == | == Student Implementation == | ||
Your task for this assignment is to implement a version ''ping'' that allows your main programs to send ''echo request'' packets to other machines and allows other machines to send ''echo requests'' packets to your allocated backend. This project can be split into two distinct parts, the client and the server. You should first implement a server that allows other machines to ''ping'' your backend while it is running. The second part of this project is to implement the client side which will allow you to write a main process that can ''ping'' other machines. In each of these parts you will deal with two types of ICMP packets, ''echo request'' and ''echo reply'' packets. The ''request'' packets are sent from a client to a target machine that is running a ping server. The ''reply'' packets are sent in response to a client's request back to the client. | Your task for this assignment is to implement a version ''ping'' that allows your main programs to send ''echo request'' packets to other machines and allows other machines to send ''echo requests'' packets to your allocated backend. This project can be split into two distinct parts, the client and the server. You should first implement a server that allows other machines to ''ping'' your backend while it is running. The second part of this project is to implement the client side which will allow you to write a main process that can ''ping'' other machines. In each of these parts you will deal with two types of ICMP packets, ''echo request'' and ''echo reply'' packets. The ''request'' packets are sent from a client to a target machine that is running a ping server. The ''reply'' packets are sent in response to a client's request back to the client. |
Revision as of 17:22, 26 March 2009
Contents
Networking
This assignment is a Xinu assignment allowing the student to more firmly understand how an operating system works. This assignment is part of the Student Built Xinu track for professors that are Teaching With Xinu. The entire working directory containing your Xinu operating system will be submission for this assignment.
Preparation
First, make a fresh copy of your work thus far.
cp -R <old Xinu directory> <new Xinu directory>
Untar the new project files on top of this new directory:
tar xvzf <tar-ball directory>
You should now see the new project files in with your old files. Be certain to make clean
before compiling for the first time.
Provided Network Pieces
Ethernet Driver
Address Resolution Protocol (ARP)
Basic Packet Demultiplexing
Student Implementation
Your task for this assignment is to implement a version ping that allows your main programs to send echo request packets to other machines and allows other machines to send echo requests packets to your allocated backend. This project can be split into two distinct parts, the client and the server. You should first implement a server that allows other machines to ping your backend while it is running. The second part of this project is to implement the client side which will allow you to write a main process that can ping other machines. In each of these parts you will deal with two types of ICMP packets, echo request and echo reply packets. The request packets are sent from a client to a target machine that is running a ping server. The reply packets are sent in response to a client's request back to the client.
Echo Reply (Ping) Server
The server implementation should break down echo request packets that have been received from other machines and then send proper echo reply packets back to the client that sent the request.