COSC 3300 Networks and Internets

Fall 2011

Homework Assignment #6

Internet Control Message Protocol
"Ah, I see you have the machine that goes ping. This is my favorite. You see we lease it back from the company we sold it to and that way it comes under the monthly current budget and not the capital account..."
-- Monty Python's The Meaning of Life
Due: Friday, October 14th, 11:59pm CDT
Submit: Turn in your entire kernel source code using the turnin command on the Systems Lab machines.
Work is to be completed in teams. Only one team member should turnin, but it would be courteous to notify your teammate(s) when you do this. Names of authors should be included in all work. You may submit multiple times, but only the last turnin will be kept. The automatic submission system will not accept work after the deadline.

Internet Control Message Protocol

Building upon your Embedded Xinu kernel from the previous assignment, implement a basic ICMP component for the system that supports echo request (ping) and echo reply.

Your new component should feature the following:

  • A shell command "ping" that initiates a sequence of echo requests and displays corresponding echo replies.
  • A mechanism for answering incoming ICMP echo requests with echo replies.
  • Note that your ping command will need to resolve the MAC address of the destination IP address using last assignment's ARP component.

    See Xinu Wiki Shell Page for instructions on adding an ping command to the XinuShell. See the source files already under network/ in your tarball for some examples of working with packet data.

    [Revised 2011 Oct 07 13:10 DWB]