Computer Networking • CS 414

Test 1, 5 February 2014


This test has six questions. The test runs the entire class period, starting at 4:30 and ending at 6:20. When you finish the test, you may leave.

  1. Briefly (one or two sentences, 25 to 30 words) define:

    SMTP

    Circuit switching

    Out of band communication

    Application layer protocol

    Internet dial tone


    SMTP is the Simple Mail Transport Protocol, an IP-based protocol designed to accept, transmit, and deliver mail messages between hosts.

    Circuit switching is a packet-transmission technique that uses a single, static path to transmit packets for the life of the connection. The path is (usually) established during connection set-up and removed during connection tear-down.

    Out of band communication separates an application’s control and data traffic into to independent channels, usually on physically and logically separate network paths.

    An application layer protocol describes the communication rules components of an application should use to exchange information.

    The Internet dial tone is a nickname for the Internet protocol (IP); the nickname refers to IP’s ubiquity in networks and its commonality among almost all Internet applications.

  2. Explain how e-mail can be considered a bandwidth-elastic application.


    E-mail is a bandwidth-elastic application because works it with any non-zero bandwidth provided by the network (and can work with zero-bandwidth networks provided zero bandwidth is not a permanent condition).

  3. A wireless network occupies a frequency band from (and including) S Hz to (and excluding) E Hz, S < E. Use frequency-division multiplexing (FDM) to allocate a channel to each of N hosts in the network.


    Assume each host gets an equal share of the bandwidth, and the whole frequency band is used. Frequency-division multiplexing (FDM) assigns host Hi, 0 ≤ i < N, the channel in the frequency range from S + Ci Hz to S + C(i + 1) Hz, C = (E - S)/N.

  4. Describe the relation among the caches used in cooperative HTTP caching.


    Caches participating in cooperative HTTP caching are arranged in a hierarchy. Each cache is tuned to hold files likely to be in demand by cache ancestors, including other caches. Caches higher in the hierarchy have a larger scope of responsibility than do caches lower in the hierarchy.

  5. You are designing a network that is expected to be lightly loaded (that is, infrequent communication between hosts on the network). Choose between circuit switching and packet switching in your network, and justify your decision. Clearly state any other assumptions you may make.


    A lightly-loaded network means there is no serious competition for resources, and whatever resource management that may be needed can be handled in a simple, effective, and efficient way, such as using the statistical multiplexing implied in packet switching. Circuit switching would work too, particularly of the connections were used long enough to amortize the cost of setting up and tearing down the circuit, although reliability would still be a problem relative to packet switching. On the other hand, if strict quality of service was needed, then maybe circuit switching would be justified, but don’t underestimate the power of statistics in an over-provisioned network.

  6. Describe the changes needed at the protocol level (that is, relative to message syntax and semantics) needed to allow file printing via HTTP.


    A simple answer is that no changes are necessary. The URI of the HTTP request message would refer to a printer resource. Printer options, if any, could be passed as part of the URI query string (similar to a RESTful interface, if you’re familiar with that), or passed as values in request-header fields. The file to be printed would be given, suitably encoded, in the body of the request, which would have to be a POST request.

    A more complicated answer involves defining a new command type - PRINT, say - to go along with POST, GET, HEAD and the others. The URI would identify a printer, or perhaps where would be no URI and the printer would be given in the header fields. Printer options would be handled similarly, either as a query string to the printer URI or as values in header fields. The file to print would be in the request body.


This page last modified on 2014 February 5.