Assignment 2

The assignment is due Monday, February 25, 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.

Readings: Tussle in Cyberspace, ACM/IEEE Transactions on Networking, June 2005 (available through either the ACM or IEEE digital libraries or the Columbia library web page)

  1. Review question: Identify at least three examples of "tussles" and how the decisions of protocol implementors affect those tussles. Can you come up with another networking design example not described in the article?
  2. Compute the theoretical storage capacity of a 60-minute audio cassette tape. Assume that a cassette tape has a signal-to-noise ratio of 60 dB and a frequency range of 30 Hz to 15 kHz.
  3. MPLS: Consider the label-switching tables of a four-node MPLS network path. (a) Is it possible for an MPLS frame to keep its label from end to end? If so, it is possible to have all MPLS paths in a network have this property? (b) Can multiple IP addresses share the same MPLS label at a particular router? Justify your answers.
  4. MPLS: Illustrate an IP packet wrapped in a single MPLS header, showing all MPLS header fields in standard Internet header notation. (You may make any reasonable assumption for the value of the header fields.)
  5. Both L2TP and MPLS can be said to tunnel data across a network. Compare the two protocols in terms of protocol layering, architecture, multiplexing, reliability, traffic engineering and switching.
  6. GSM: Find out the total bit rate of each GSM channel (200 kHz). How are audio samples packed into the channel?
  7. Modulation: Binary Phase Shift Keying (BPSK) is commonly used as a low-complexity encoding. Using the Wikipedia definition, plot the waveform generated by BPSK with a symbol rate of 1 kb/s, Eb of 1 and a carrier frequency of 10 kHz. (Such a low carrier frequency is obviously unrealistic, but it makes the plot easier to read. However, standard IR remote controls use low frequency carriers of around 38 kHz and similar modulation.) Encode the sequence 01101.
  8. Compare the AT\&T Uverse and Verizon FiOS systems, in terms of technology and architecture (FTTx), per-user bit rates and use of the fiber spectrum.
  9. Programming problem (DNS): Some of the protocols that we will be discussing will use specialized DNS records. To allow you to become more familiar with those newer uses of DNS, you are asked to program a simple "stub resolver", in either C/C++ or Java.

    For C/C++, you can use adns and the GNU web site. RULI is another option; a synchronous library supporting SRV is a modified version of resparse.

    Java libraries include dnsjava and the Java Naming and Directory Interface (JNDI).

    You should build an application that allows to retrieve DNS records from a commandline tool, specified as adns type domain, where type is the resource record (RR) type and domain is the domain name to be resolved. You only need to support A, CNAME and SRV (RFC 2782) records. You can use the _sip._udp.columbia.edu DNS SRV and www.cs.columbia.edu CNAME records for testing.

    Capture the DNS exchange using Ethereal or tcpdump. (If you have difficulty uses tcpdump in CLIC, you should arrange to use the CS INTEREST lab.)