The assignment is due Sunday, June 20, 11.59 pm EDT. Submission Guidelines.
Note: Edge 3-6 has weight 6.
On bart.cs.columbia.edu, /usr/local/bin/tcpdump
should also work.
To capture IGMP packets, use
tcpdump ip proto \\igmp
See the tcpdump documentation for additional command line options that allow you to obtain details on each packet.
You should include the packet trace and explain any retransmissions and periodic packets.
-t. You should also print out the source address of
the incoming packets. If multiple people experiment at the same time, you will
receive packets from your classmates, so the string sent should be your login
name (getlogin()) or UID (getuid()) and the
timestamp. Note: getProperties
is the equivalent Java function.
Your code should work with multicast address specified via DNS names, e.g.,
IETF-2-VIDEO.mcast.net (see IANA registry
for examples). You can use any IP multicast address of your choosing, but it
is probably best to stay away from addresses in the Local Network Control
Block, in particular the 'All Systems on this Subnet' and 'All Routers on this
Subnet' addresses.
See
man ipfor details on the
setsockopt() parameters for multicast.
The application can be written in C(++) or Java. You may choose either Linux, Solaris or Windows (XP). The programming style guidelines apply. You should omit the Columbia copyright, since assignments belong to the author, not the university.