Next: About this document ...
CPS 214 Computer Networks & Distributed Systems
Fall 1996
Final Exam (December 18)
Prof. Thomas Narten
NAME:
SCORE:
This is a closed book (and notes) examination; however, you may
consult your
index card. Answer all questions
on the exam itself. Justify your answers! You must explain your
reasoning to receive full credit on yes/no type questions.
All questions have equal weight. However, some questions are harder
than others; budget your time accordingly. You may omit one question,
but you must clearly mark which question should not be graded,
or I will assume that you wish to omit the final question on the exam.
- 1.
- What is an OSPF area and what are they used for? What problem
does the creation of areas solve?
- 2.
- Unicast IP addresses are mapped into Ethernet addresses using
ARP. Are IP multicast addresses mapped into Ethernet multicast
addresses using ARP as well? Explain.
- 3.
- The IP header includes a checksum that each router must update
as it forwards the packet (and decrements the time-to-live field).
With the error characteristics of modern link-layer technologies,
the need for an IP header checksum is less clear. Assuming it were
possible to disable IP header checksum processing on all nodes
(routers and hosts), what impact would this have on the current
Internet? That is, what are there disadvantages and benefits?
- 4.
- One common misconception among programmers is that the TCP
push mechanism can be used to place boundaries between logical
records (e.g., to signal where one record stops and another begins).
Why is this a misconception? Give an example that shows why
push is needed.
- 5.
- In IPv4, routers fragment IP datagrams that are too large to
transmit in one piece across an attached network. In contrast, IPv6
does not fragment at the network layer. Give at least two reasons
why transparent fragmentation as performed in IPv4 is now considered
a bad idea.
- 6.
- In an ideal world, users should be able to plug their laptop
computers into whatever network they currently have access to and be
able to send and receive IP datagrams. What are the main obstacles
to automating this process? That is, what (if any) information must
a host obtain before it can send and receive Internet datagrams?
- 7.
- Both TCP and UDP place port numbers at the start of their
respective headers. Is this an arbitrary choice in the sense that
the checksum, sequence numbers, etc. could reside at the front and
the port numbers near the end? Hint: Would proper delivery of ICMP
error messages be affected by moving the location of the port
numbers within the TCP or UDP header?
- 8.
- Does remote procedure call (RPC) provide new services not
available through the standard client-server message passing
paradigm or does it simply provide a different way of accessing
existing services? Explain.
- 9.
- Is the protocol (aka type) field of an Ethernet frame similar in
purpose to the port number found in a TCP or UDP header? Explain.
- 10.
- How is it that multiple clients can use TCP to contact the same
server (e.g., the WWW server) using the same well-known port number?
Why doesn't the server get confused as to which client it is talking
to?
- 11.
- What is the difference between TCP's congestion window
and its flow-control window? Which is used in practice?
- 12.
- Suppose you are defining a new version of TCP that accommodates:
(1) a typical RTT of 100ms, (2) a network bandwidth of 100Mbps, and
(3) a maximum segment lifetime of 60 seconds. Which fields in the
TCP header would you change and why? Be specific.
- 13.
- In traces of actual TCP traffic shown in class, the congestion
window in non-TCP Vegas implementations have a ``saw-toothed''
behavior when observed over time. What accounts for this behavior?
Be specific!
- 14.
- In class, it was stated that getting good throughput requires
minimizing reliance on retransmission timers. Give three reasons why
the use of timers frequently results in poor throughput in practice.
- 15.
- Random Early Drop (RED) routers discard packets at random once
they become moderately congested, but before they become
completely congested. That is, they may discard packets in cases
where a non-RED router would not. How does this policy interact
with TCP? Doesn't the resultant packet loss cause TCP throughput to
drop significantly?
- 16.
- Consider transport protocols for RPC. Give two reasons why
Peterson's BLAST and CHAN protocols might perform better than
SunRPC.
- 17.
- The IP header contains a ``Don't Fragment'' bit. What can this
bit be used for?
- 18.
- What is meant by ``portable addressing'' and how does it differ
from ``provider-based'' addressing? Which type of addressing do most
sites want? Explain.
- 19.
- BGP is a path-vector algorithm (in contrast to distance-vector
algorithms such as RIP). Explain what a path-vector is and how (and
why) BGP uses it.
- 20.
- Consider multicasting where one sender sends data to many
recipients. One potential problem reliable multicasting protocols
face is ``ACK implosion,'' where if each recipient acknowledges
received messages, the sender becomes overwhelmed by the resultant
ACKs. Explain how IGMP avoids this problem (i.e., when a router
multicasts a query to determine if there are any local members
listening to multicast groups).
- 21.
- What is the purpose of the ``Additional Information'' field of
DNS responses? Give an example that shows how it is used.
- 22.
- Diffie-Hellman key exchange is vulnerable to a
``man-in-the-middle'' (aka ``bucket brigade'') attack. What problem
does Diffie-Hellman solve and why is it vulnerable to a
``man-in-the-middle'' attack?
- 23.
- All block encryption systems (e.g., DES) are potentially
vulnerable to statistical attacks. What is cipher block chaining
(CBC) and explain how it relates to reducing vulnerabilities to
statistical attacks.
Next: About this document ...
Thomas Narten
10/17/1997