Computer Networks, CS 514

Homework 3, 8 October 2013


This assignment is due no later than 6:20 p.m. on Tuesday, 29 October.

This homework assignment has six questions; answer all of them. Answers should no longer than half a page, or around 100 to 150 words. Please site references you use to answer your questions, including the textbooks you’re using.

Your homework may turned-in on paper or via rclayton@monmouth.edu by email. If you mail your assignment, please submit a printable document — a PostScript .ps or PDF .pdf document, for example — and not a source document — a Word .docx or Latex .tex document, for example. Make sure you mail a printable document by the deadline.


  1. Imagine a network in which a connection starts off providing a datagram service, but then changes to a virtual-circuit service at some point during the connection’s operation. Describe two advantages a network might achieve by providing connection-service changing behavior. Describe two costs a network might have to incur providing connection-service changing behavior.


    Advantages to the network include:

    Disadvantages to the network include (pick two):
  2. A colleague of yours is building a network and comes to you for advise in designing the network addresses. The only constraint your colleague has for network addresses is that all bits identify hosts; no bits in the address can be considered as identifying a network. Describe to your colleague two advantages and two disadvantages of such an addressing scheme.

    Note that this question asks you to analyze your colleague's scheme; it does not ask you to design or implement it. You may make whatever assumptions about design or implementation you feel convenient, as long as your assumptions are consistent (for example, assuming the addresses are fixed length in one part of your answer means the fixed-length assumption holds for all parts of your answer. An answer shouldn't assume fixed-length addresses in one part and variable-length addresses in another part).


    Your colleague is essentially building a LAN. Advantages include (pick two):

    Disadvantages include:
  3. Continuing with question 1, briefly describe (no more than 100 or so words) how a network might implement a connection that changes from providing datagram service to providing virtual-circuit service.


    In (slightly) decreasing order of ridiculousness:

    There are many other answers possible.
  4. A fully connected network N with n nodes uses a link-state routing routing algorithm at each router. A colleague of yours believes that once N is “turned-on” (which is assumed to be an instantaneous, global operation) any router in N will have to receive around n2 routing advertisements from other routers before it has a complete and accurate routing table. Your colleague is wrong; explain why. Assume N’s topology is stable.

    Note this question asks you to explain why your colleague is wrong. You can’t explain why your colleague is wrong by only giving the right answer. Giving the right answer only shows that your colleague is wrong, it doesn’t explain why your colleague is wrong. This question asks you to explain why your colleague is wrong.


    The total routing network transmits O(n2) advertisements for each round of the link-state algorithm (assuming efficient network broadcast, and assuming link state operates in rounds, which it doesn't). But each router only needs to receive a single advertisement from every other router to be able to build the network model used to compute routes.

  5. Continuing with question 1, suppose the layers above the connection-changing network layer make service-changing connections the only form of end-to-end connections available at the application layer. Describe two benefits a network-applications developer might obtain by using service-changing connections in an application. Describe two problems the developer might encounter by using a service-changing connection in an application.

    Note that in question 1 your answer involves the network’s point of view, while in this question you answer involves a network-application developer’s point of view (that is, the answers for one question are not appropriate answers for the other question).


    Advantages to the network-application developer include:

    Disadvantages to the network-application developer include (pick two):
  6. A router R in a network has n > 0 interfaces. Describe how the router can determine the number of different networks to which it is attached.


    The router can look in its routing table for a list of connected networks. A (destination) network address is a field in each routing-table entry (Kurose & Ross, p. 287).

    However, some networks are accessible via the default route and are not listed explicitly in the routing table (K&R, p. 325). To catch these cases, the router should also look at the source and destination address PDU fields.

    However, if a router never receives a PDU for a network accessible via the default route, the router never learns about the network. To find all attached networks, routers would have to coordinate using a special-purpose protocol similar to a routing protocol, but one that spans default routes. Such a special-purpose protocol is unscalable and is not generally practical.

This page last modified on 2013 September 24.