Assignment 3

The assignment is due Thursday, March 6, 6.59 pm EDT, to be submitted via CourseWorks.

Some of the questions below are research questions, where you are asked to find information about a particular issue. You may use the Engineering Library, any text books you have, one of the paper from the class readings, or the web to come up with answers. Be sure to cite your sources. Generally, a paragraph or two should be sufficient to answer the question. There is no need to write a tutorial.

  1. Routing: Using a Looking Glas site, determine the AS path to Columbia University from at least ten origins (networks). About half your sources should be outside the US. Identify the names of the networks (AS), possibly using other sources. Draw a picture showing the "sink tree" of how the world reaches Columbia. The Columbia prefix is 128.59.0.0/16.
  2. Public key cryptography: To experiment with public key cryptography, you will install a public and private key pair for ssh login without passwords. The process is described in a Linux Journal article. Explain how this system works. If you have installed the private key on your laptop, and the public key on, say, a CLIC host, can you log in from the CLIC host into your laptop? Why or why not?
  3. Hashing: Experiment with the Java hashCode() function and compare it to the MD5 function, both operating on strings. You should evaluate:
  4. IPv6: (a) Find out how IPv6 handles fragmentation? How does this differ from IPv4? (b) What is an IPv6 jumbogram? Why and when is this useful?
  5. IPv6: To support IPv6 access across an IPv4 "cloud", there are now tunnel providers. Using, for example, the Hurricane Electric tunnel, access the IPv6.org web site using IPv6. Document your success with a screen dump - the web site indicates the IPv4 or IPv6 address you are using.
  6. IPv6: Extend the UDP/TCP client/server program from assignment 1 support IPv6, including AAAA records, using your experience from assignment 2. It is desirable, but not required, to support DNS lookups over IPv6. Hint: On Solaris and Linux systems, try man ipv6 to discover how to use IPv6 sockets, on MacOS man 4 ip6. See also the various Linux documents on this topic. As in the first assignment, include a packet trace (tcpdump).
  7. HIP: We only sketched in class how HIP handles mobility. Research how HIP interacts with mobility, citing papers, RFCs or Internet drafts as necessary. You only need to provide an outline of the solution that indicates how nodes convey address changes to each other and whether the initial means of making contact is affected.