IST 220 Exam 2 2026 Questions and
Answers
Describe why an application developer might choose to run an application over
UDP rather than TCP. - Correct answer-An application developer may not want its
application to use TCP's congestion control, decreases sending rate at times of
congestion. Some applications do not need the reliable data transfer provided by
TCP.
Why is it that voice and video traffic is often sent over TCP rather than UDP in
today's Internet? - Correct answer-Since most firewalls are configured to block
UDP traffic, using TCP for video and voice traffic lets the traffic though the
firewalls.
Is it possible for an application to enjoy reliable data transfer even when the
application runs over UDP? If so, how? - Correct answer-Yes. The application
developer can put reliable data transfer into the application layer protocol. This
would require a significant amount of work and debugging, however.
©COPYRIGHT 2025, ALL RIGHTS RESERVED 1
,Suppose a process in Host C has a UDP socket with port number 6789. Suppose
both Host A and Host B each send a UDP segment to Host C with destination port
number 6789. Will both of these segments be directed to the same socket at Host
C? If so, how will the process at Host C know that these two segments originated
from two different hosts? - Correct answer-Yes, both segments will be directed to
the same socket. For each received segment, at the socket interface, the operating
system will provide the process with the IP addresses to determine the origins of
the individual segments.
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. - Correct answer-For each persistent connection, the
Web server creates a separate "connection socket". Each connection socket is
identified with a four-tuple: (source IP address, source port number, destination IP
address, destination port number). When host C receives and IP datagram, it
examines these four fields in the datagram/segment to determine to which socket it
should pass the payload of the TCP segment. Thus, the requests from A and B pass
through different sockets. The identifier for both of these sockets has 80 for the
destination port; however, the identifiers for these sockets have different values for
©COPYRIGHT 2025, ALL RIGHTS RESERVED 2
, source IP addresses. Unlike UDP, when the transport layer passes a TCP segment's
payload to the application process, it does not specify the source IP address, as this
is implicitly specified by the socket identifier.
In our rdt protocols, why did we need to introduce sequence numbers? - Correct
answer-Sequence numbers are required for a receiver to find out whether an
arriving packet contains new data or is a retransmission.
In our RDT protocols, why did we need to introduce timers? - Correct answer-To
handle losses in the channel. If the ACK for a transmitted packet is not received
within the duration of the timer for the packet, the packet (or its ACK or NACK) is
assumed to have been lost. Hence, the packet is retransmitted
Suppose that the roundtrip delay between sender and receiver is constant and
known to the sender. Would a timer still be necessary in protocol rdt 3.0, assuming
that packets can be lost? Explain. - Correct answer-A timer would still be necessary
in the protocol rdt 3.0. If the round trip time is known then the only advantage will
be that, the sender knows for sure that either the packet or the ACK (or NACK) for
the packet has been lost, as compared to the real scenario, where the ACK (or
NACK) might still be on the way to the sender, after the timer expires. However, to
detect the loss, for each packet, a timer of constant duration will still be necessary
at the sender.
©COPYRIGHT 2025, ALL RIGHTS RESERVED 3
Answers
Describe why an application developer might choose to run an application over
UDP rather than TCP. - Correct answer-An application developer may not want its
application to use TCP's congestion control, decreases sending rate at times of
congestion. Some applications do not need the reliable data transfer provided by
TCP.
Why is it that voice and video traffic is often sent over TCP rather than UDP in
today's Internet? - Correct answer-Since most firewalls are configured to block
UDP traffic, using TCP for video and voice traffic lets the traffic though the
firewalls.
Is it possible for an application to enjoy reliable data transfer even when the
application runs over UDP? If so, how? - Correct answer-Yes. The application
developer can put reliable data transfer into the application layer protocol. This
would require a significant amount of work and debugging, however.
©COPYRIGHT 2025, ALL RIGHTS RESERVED 1
,Suppose a process in Host C has a UDP socket with port number 6789. Suppose
both Host A and Host B each send a UDP segment to Host C with destination port
number 6789. Will both of these segments be directed to the same socket at Host
C? If so, how will the process at Host C know that these two segments originated
from two different hosts? - Correct answer-Yes, both segments will be directed to
the same socket. For each received segment, at the socket interface, the operating
system will provide the process with the IP addresses to determine the origins of
the individual segments.
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. - Correct answer-For each persistent connection, the
Web server creates a separate "connection socket". Each connection socket is
identified with a four-tuple: (source IP address, source port number, destination IP
address, destination port number). When host C receives and IP datagram, it
examines these four fields in the datagram/segment to determine to which socket it
should pass the payload of the TCP segment. Thus, the requests from A and B pass
through different sockets. The identifier for both of these sockets has 80 for the
destination port; however, the identifiers for these sockets have different values for
©COPYRIGHT 2025, ALL RIGHTS RESERVED 2
, source IP addresses. Unlike UDP, when the transport layer passes a TCP segment's
payload to the application process, it does not specify the source IP address, as this
is implicitly specified by the socket identifier.
In our rdt protocols, why did we need to introduce sequence numbers? - Correct
answer-Sequence numbers are required for a receiver to find out whether an
arriving packet contains new data or is a retransmission.
In our RDT protocols, why did we need to introduce timers? - Correct answer-To
handle losses in the channel. If the ACK for a transmitted packet is not received
within the duration of the timer for the packet, the packet (or its ACK or NACK) is
assumed to have been lost. Hence, the packet is retransmitted
Suppose that the roundtrip delay between sender and receiver is constant and
known to the sender. Would a timer still be necessary in protocol rdt 3.0, assuming
that packets can be lost? Explain. - Correct answer-A timer would still be necessary
in the protocol rdt 3.0. If the round trip time is known then the only advantage will
be that, the sender knows for sure that either the packet or the ACK (or NACK) for
the packet has been lost, as compared to the real scenario, where the ACK (or
NACK) might still be on the way to the sender, after the timer expires. However, to
detect the loss, for each packet, a timer of constant duration will still be necessary
at the sender.
©COPYRIGHT 2025, ALL RIGHTS RESERVED 3