Chapter 3 Review Questions
R4. Describe why an application developer might choose to run an application over UDP rather than TCP.
R6. Is it possible for an application to enjoy reliable data transfer even when the application runs over UDP? If so, how?
R8. Suppose that a Web server runs in Host C on port 80. Suppose this Web server uses persistent connections, and is currently receiving requests from two different Hosts, A and B. Are all of the requests being sent through the same socket at Host C? If they are being passed through different sockets, do both of the sockets have port 80? Discuss and explain.
Chapter 3 Problems
P2. Consider Figure 3.5. What are the sources and destination port values in the segments flowing from the server back to the clients’ processes? What are the IP addresses in the network- layer datagrams carrying the transport- layer segments?
P3. UDP and TCP use 1s complement for their checksums. Suppose you have the following three 8- bit bytes: 01010011, 01010100, 01110100. What is the 1s complement of the sum of these 8- bit bytes? (Note that although UDP and TCP use 16-bit words in computing the checksum, for this problem you are being asked to consider 8-bit sums.) Show all work. Why is it that UDP takes the 1s complement of the sum; that is, why not just use the sum? With the 1s complement scheme, how does the receiver detect errors? Is it possible that a 1-bit error will go undetected? How about a 2-bit error?
Chapter 4 Review Questions
R21. Compare and contrast link-state and distance-vector routing algorithms.
R23. Is it necessary that every autonomous system use the same intra-AS routing algorithm? Why or why not?
R25. Compare and contrast the advertisements used by RIP and OSPF.
R28. Why are policy considerations as important for intra-AS protocols, such as OSPF and RIP, as they are for an Inter-AS routing protocol like BGP?
R33. For each of the three general approaches we studied for broadcast communication (uncontrolled flooding, controlled flooding, and spanning-tree broadcast), are the following statements true or false? You may assume that no packets are lost due to buffer overflow and all packets are delivered on a link in the order in which they were sent.
R36. What is the difference between a group-shared tree and a source-based tree in the context of multicast routing?
Chapter 4 Problems
P20. Suppose you are interested in detecting the number of hosts behind a NAT. You observe that the IP layer stamps an identification number sequentially on each IP packet. The identification number of the first IP packet generated by a host is a random number, and the identification numbers of the subsequent IP packets are sequentially assigned. Assume all IP packets generated by hosts behind the NAT are sent to the outside world.
a.Based on this observation, and assuming you can sniff all packets sent by the NAT to the outside, can you outline a simple technique that detects the number of unique hosts behind a NAT? Justify your answer.
P24. Consider the following network. With the indicated link costs, use Dijkstra’s shortest-path algorithm to compute the shortest path from x to all network nodes. Show how the algorithm works by computing a table similar to Table 4.3.
P26. Consider the network shown below, and assume that each node initially knows the costs to each of its neighbors. Consider the distance-vector algorithm and show the distance table entries at node z.
P28. Consider the network fragment shown below. x has only two attached neighbors, w and y. w has a minimum-cost path to destination u (not shown) of 5, and y has a minimum-cost path to uof 6. The complete paths from w and y to u (and between w and y) are not shown. All link costs in the network have strictly positive integer values.
P35. Consider the network shown below. Suppose AS3 and AS2 are running OSPF for their intra-AS routing protocol. Suppose AS1 and AS4 are running RIP for their intra-AS routing protocol. Suppose eBGP and iBGP are used for the inter-AS routing protocol. Initially suppose there is no physical link between AS2 and AS4.
P50. We saw in Section 4.7 that there is no network-layer protocol that can be used to identify the hosts participating in a multicast group. Given this, how can multicast applications learn the identities of the hosts that are participating in a multicast group?