Page 1 of 3, Solutions to Practice Exam Questions, Harvard CSCI 40, © L. Evenchik 2020
Communication Protocols and Internet Architectures
Harvard CSCI E40
Solutions to Practice Exam Questions
The following are sample solutions to the practice exam. Note that many of the questions have
no single "correct" answer. The correct answer can depend on the assumptions that you make
about the network architecture or the protocol that is being used. This is the reason it is so
important to include information on the assumptions that you make when you answer a question.
Please note that these practice questions might cover topics that are not included on the exam and
that the exam will cover topics that are not included in these practice questions.
1.) Token ring networks (an older form of LAN) and ethernet networks have different maximum frame sizes
(approximately 1,500 versus 4,500 bytes.) Given that layer 2 switches could be used to interconnect these two
different types of networks, should these switches be designed so that they implement fragmentation and
reassembly? Why or why not. (Note that even though you don't know much about token ring, you should still be
able to answer this question.)
Layer 2 switches should not implement fragmentation since they operate at the link layer (layer two) and
the link layer protocols 802.3 and 802.5 do not include protocol support for fragmentation. Therefore, if a switch
was used to connect together a token ring LAN and an Ethernet LAN, any frames from the token ring that were
destined for the Ethernet that were larger than 1500 bytes would be dropped by the switch. (Remember that
fragmentation and reassembly is part of the functionality provided by IP at layer three.)
2.) Study the TCP state diagram (which is shown in the chapter on TCP.) Describe two ways to get into the SYN
RCVD state. (Note that if we asked this question on the exam we would provide a copy of the state diagram.)
One way to get to this state is to start out in the LISTEN state, and then when a SYN is received, the
protocol moves to the SYN RCVD state. A second way to reach this state is the result of a simultaneous open. In
this situation, one side of the connection does an active open, sends a SYN and moves to the SYN SENT state.
Once in the SYN SENT state, the protocol receives a SYN from the far side and as a result, it moves to the SYN
3.) Explain the use of both upward multiplexing and downward multiplexing in relation to the transport layer. Do
comparable approaches apply to other layers?
When we talk about multiplexing in class we typically mean the sharing of a single communication channel by
multiple users or, how port numbers in a protocol (such as TCP port #s) allow multiple higher-layer protocols to
share a single instance of a lower layer protocol. These are examples of upward multiplexing and this functionality
is used in all layers of the model.
Downward multiplexing in relation to the transport layer means that the transport layer opens and uses multiple
network layer connections to send traffic. Traffic would typically be distributed in a round robin fashion to these
multiple connections (or via other means) and as a result, overall performance would be improved. This technique
is less common but it can also be applied to different layers of the model.
Page 2 of 3, Solutions to Practice Exam Questions, Harvard CSCI 40, © L. Evenchik 2020
4.) Explain how a link level protocol that uses a window size of 127 could be more efficient than a protocol that
uses a window size of 7. Include in your answer how the link’s end-to-end delay and the link’s bandwidth influence
the link’s performance.
A sliding window of 127 can be more efficient than a window size of 7 because with a larger window, more
frames can be sent without having to wait for an acknowledgment from the far end. Additionally with a large
window size, there is a better chance that an ack could be “piggybacked” on a data frame thus precluding the need to
send a separate ack. This would allow for a more continuous flow of frames. The issues related to bandwidth and
link delay are more complex. Links that have high latency (such as satellite links) require the sender to wait long
periods to receive an ack and the smaller the window size, the more this happens. On a high bandwidth circuit,
many frames can be sent quickly and if there is a significant end-to-end delay, the window can be closed before the
first frame ever reaches the destination. It is therefore critical to have large window sizes on circuits that have both
high bandwidth and high delay.
Note that for simplicity this question related to layer two; a more interesting question would be one that asked
how the window size in TCP influenced end-to-end performance. You should review both flow control and
congestion control in TCP as you prepare for the exams. (TCP has options for high-bandwidth high-delay networks.)
5. ) In the Internet today the predominant layer 3 protocol that is used and processed by the routers is IP. Yet
people are still able to send and use other network layer vendor-specific protocols and proprietary protocols across
the Internet. (By this we mean that the proprietary protocol header is still present in the packet that is sent across the
Internet.) How is this accomplished? Explain the technical issues in detail. (Note that this question relates to both
IPv4 and IPv6.)
Since proprietary or other packets are not changed into IP packets (as we describe in the question), the
Internet must somehow be able to carry the complete non-IP packet from end to end. This is down by setting up a
tunnel, comparable in some ways to a physical tunnel, at each end of the network and encapsulating the Apple or
other proprietary packet in an IP packet and sending it unchanged through the tunnel to the far end. Only the hosts
(or possibly the first and last router or firewall in the path) at both ends handle the encapsulation process. The
encapsulated protocol will be identified by the Protocol field in the IP header. You can review this table at
www.iana.org. Note that this approach is also being used to encapsulate an IPv6 packet within an IPv4 packet.
6.) Describe what happens to a TCP/IP packet that is encapsulated in an ethernet frame when it traverses an old-
style wiring hub, an ethernet switch and a router? In each case, describe what protocol fields (if any) change at both
layer 2 and layer 3.
a. When an Ethernet frame traverses a hub, no changes occur since the hub is basically a dumb repeater that
simply regenerates the bits of either good or bad packets. An ethernet switch on the other hand will typically drop a
packet with a bad FCS/CRC but other than that, it doesn’t alter the frame itself and does not look at or alter the layer
3 information. A router strips off and then creates a new layer 2 frame since it is responsible for moving the frame
from one physical network to another. In addition, the router would of course change some layer 3 information such
as the IP checksum and the TTL.
Page 3 of 3, Solutions to Practice Exam Questions, Harvard CSCI 40, © L. Evenchik 2020
7. The intent of this question is to have you use the SP3 framework we described in class to compare and contrast
two different protocols. In the answer below we use the framework to compare the ethernet 802.3 protocol and the
Remember that SP3 (as introduced in lecture) stands for:
- Service – describes what the protocol accomplishes in fairly general terms:
- Purpose – describes what specific functionality (such as flow control) is provided by the protocol;
- Packets – describes the various packet formats used by the protocol;
- Procedures – defines how the protocol functions. This would explain for example, whether an end-to-end
connection was established, or how error handling was done.
Your answer should describe the two protocols you compared using this framework.
(V:2021ALE) © L. Evenchik 2020 学霸联盟