Computer Networks (CSC-364 2000S)

Final Examination

This is a late draft of the final examination. While I don't expect to make any significant changes, I may make some as I reflect upon it.

Assigned: Friday, May 5, 2000
Due: Friday, May 19, 2000
No extensions.


There are many questions on this exam, each with its own point value. The questions are divided into sections. The value of a section is the sum of the values of the questions within that section. The point value associated with a problem does not necessarily correspond to the complexity of the problem or the time required to solve the problem.

This examination is open book, open notes, open mind, open computer, open Web. You may use all reasonable resources. You may not use other people as resources. As always, you are expected to turn in your own work. If you find ideas in a book or on the Web, be sure to cite them appropriately.

This is a take-home examination. It is likely to take you about ten to twenty hours, depending on how well you've learned topics over the course of the semester. You may use any time or times you deem appropriate to complete the exam, provided you return it to me by the due date. No late exams will be accepted.

You must include the following statement on the cover sheet of the examination. Plesae sign and date the statement. Note that the statement must be true; if you are unable to sign the statement, please talk to me at your earliest convenience.

I have neither given nor received help on this examination. I am not aware of any other students who have given or received help on this examination.

Because different students may be taking the exam at different times, you are not permitted to discuss the exam with anyone until after I have returned it. If you must say something about the exam, you are allowed to say ``This is definitely the hardest exam I have ever taken.'' You may also summarize these policies.

Answer all of your questions electronically. That is, you must write all of your answers on the computer and print them out. You should also email me a copy of your exam (a plain text file, please). Put your answers in the same order that the problems appear in.

I will give partial credit for partially correct answers. You ensure the best possible grade for yourself by highlighting your answer and including a clear set of work that you used to derive the answer.

I may not be available at the time you take the exam. If you feel that a question is badly worded or impossible to answer, note the problem yo u have observed and attempt to reword the question in such a way that it is answerable. If it's a reasonable hour (before 10 p.m. and after 8 a.m.), feel free to try to call me in the office (269-4410) or at home (236-7445).

I will also reserve time at the start of classes next week to discuss any general questions you have on the exam.


A. An Application-Layer Dialog [55 points]

WebCo has developed a new, TCP/IP-based, application-layer protocol that they call ALP (for Application-Layer Protocol). You don't need to know the details of ALP, other than that it follows a request/response paradigm. Host (at uses ALP to send a short (1 KB) ALP message to a server at (at The server responds with a large (1 MB) ALP message. In order to analyze this problem, you need some topology.

Here's a global map of the network. Networks are prefixed with an N and routers with an R. All links are limited to 1 KB packets. Assume all networks are Ethernet networks.

                            N04             N06     
                             |               |       
                             |               |       
N01 ------ R01 -----+------ R02 --- N05 --- R03 --- N07
                    |        |                       |
                    |        |                       |
                   N03      N15                     R07 --- N08
                    |        |
                    |        |
N02 ------ R05 -----+------ R15 --- N12 --- R06 
            |                |               |
            |                |               |
           N09              N10             N11

Assume that:

Here's a local map of N01. Hosts are prefixed with an H; bridges with a B, and routers with an R (yes, the router is the same as in the previous picture). H01 is (or vice versa).

       H02       H05
        |         |
             |         |
H01---X      |         |
      X-----B01       B03--X
      X      |             X
      X      XXXXXXX       X----R01
H03---X      |     |       X
            H04   B02------X has multiple subnets, and so uses subnet masks. uses subnet masks, so there are networks within N08. We won't worry about too many details for the hosts in N08.

 R07 ----------------------- R08 ---------------------- 
      NW:      |   NW:
      Mask:   |   Mask: ?
                                  NW:   |
                                  Mask: ?             |
                                  Mask: ?

You may choose any forwarding tables you like, provided they don't create loops. You may assign any addresses to DNSs and routers that you deem appropriate.

1. Some Short Questions [5 points]

2. Routing Tables [5 points]

What is the routing table for R08? Assume its ports are named left, right, and bottom.

3. Protocol Stack [30 points]

Explain, in as much detail as you can, what happens in the session in which a client at decides to send a 1 KB ALP message to, receives a 1 MB message in return and then exits. Your answer should include all levels of the protocol stack down to and including the data link level. When some aspects of your answer are repetitious, you may make clear references back to the earlier steps.

4. Overhead [5 points]

How much overhead from headers is incurred for the 1 KB message? How much for the 1 MB message?

5. Changing the Transport Layer [5 points]

How would your answer to question 3 differ if ALP uses UDP/IP rather than TCP/IP? You need only summarize the differences.

6. Changing the Data-Link Layer [5 points]

How would your answer to 3 change if we used ATM rather than Ethernet?

B. Sliding Window [10 points]

Suppose that sliding window protocol SWP uses three bits for sequence numbers. You may also assume that packets always arrive in the same order that they are sent (if they arrive at all).

7. Large Windows [5 points]

a. What is the largest legal window size, given that both sender and receiver have equal size windows?

b. What is the largest legal sending window size, given that the receiver has a window size of 2?

8. Example [5 points]

Provide an example in which a window size one larger than you gave in 7a leads to incorrect transmission.

C. Fair Routers [10 points]

In section 6.2.2, our authors discuss fair queueing. The algorithm described simulates a bitwise round-robin.

9. Advancing the clock [5 points]

The authors note on p. 462 that ``the clock must advance more slowly when there are more flows. Specifically, the clock must advance by one tick when n bits are transmitted if there are n active flows.''

a. Why have this policy?

b. What should happen if there are 0 active flows?

10. Unfairness [5 points]

If the maximum message size is M bits, there are N senders, and the router can process K bits per second, what is the greatest difference possible between the time a particular message finishes transmission in pure bitwise round-robin and the simulated round-robin? Explain your answer.

D. Comparing Levels [15 points]

11. Error Detection and Correction [5 points]

What types of error detection and correction typically go on at each level of the protocol stack?

12. Fairness [5 points]

What accomodations for fairness are made at each level at the protocol stack?

13. Routing [5 points]

Compare and contrast the routing decisions that are made at each level of the protocol stack.

E. Programming Sockets [10 points]

Finally, a chance to write your own question. Note that a trivial question will be easy to answer, and probably only earn you 5 points (0 for the question, 5 for the answer). Similarly, an incredibly difficult question may only earn you 5 points (5 for the question and 0 for the answer). Strive for a middle ground.

14. Write your own sockets question [5 points]

Write your own question about programming sockets. Your question should be of comparable complexity to the other questions on the exam.

15. Answer your own sockets question [5 points]

Answer your question from number 14.


Friday, 5 May 2000

Tuesday, 9 May 2000

Friday, 12 May 2000

Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.

This page may be found at

Source text last modified Wed May 24 10:48:00 2000.

This page generated on Wed May 24 10:52:42 2000 by Siteweaver. Validate this page's HTML.

Contact our webmaster at