0% found this document useful (0 votes)
37 views6 pages

CS5222 Assignment 2 Solution

The document discusses various problems related to network protocols, particularly focusing on rdt3.0 and its differences from rdt2.2, including the handling of timeouts and duplicate packets. It also addresses window sizes in data transmission and the forwarding of data in a network with specific routing rules. Additionally, it critiques inefficiencies in both network-layer and transport-layer protocols, suggesting improvements such as dynamic multipath routing and the use of real performance metrics.

Uploaded by

wangjunyi345
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views6 pages

CS5222 Assignment 2 Solution

The document discusses various problems related to network protocols, particularly focusing on rdt3.0 and its differences from rdt2.2, including the handling of timeouts and duplicate packets. It also addresses window sizes in data transmission and the forwarding of data in a network with specific routing rules. Additionally, it critiques inefficiencies in both network-layer and transport-layer protocols, suggesting improvements such as dynamic multipath routing and the use of real performance metrics.

Uploaded by

wangjunyi345
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

CS5222 Assignment 2 (Sem A, 2022-23)

Chapter 3

Problem 8
The sender side of protocol rdt3.0 differs from the sender side of protocol 2.2 in that
timeouts have been added. We have seen that the introduction of timeouts adds the
possibility of duplicate packets into the sender-to-receiver data stream. However, the
receiver in protocol rdt.2.2 can already handle duplicate packets. (Receiver-side
duplicates in rdt 2.2 would arise if the receiver sent an ACK that was lost, and the
sender then retransmitted the old data). Hence the receiver in protocol rdt2.2 will also
work as the receiver in protocol rdt 3.0.

Problem 22

a) Here we have a window size of N=4. Suppose the receiver has received packet k-1,
and has ACKed that and all other preceding packets. If all of these ACK's have
been received by sender, then sender's window is [k, k+N-1]. Suppose next that
none of the ACKs have been received at the sender. In this second case, the
sender's window contains k-1 and the N packets up to and including k-1. The
sender's window is thus [k-N,k-1]. By these arguments, the senders window is of
size 4 and begins somewhere in the range [k-N,k].

b) If the receiver is waiting for packet k, then it has received (and ACKed) packet k-1
and the N-1 packets before that. If none of those N ACKs have been yet received by
the sender, then ACK messages with values of [k-N,k-1] may still be propagating
back.Because the sender has sent packets [k-N, k-1], it must be the case that the
sender has already received an ACK for k-N-1. Once the receiver has sent an ACK
for k-N-1 it will never send an ACK that is less that k-N-1. Thus the range of
in-flight ACK values can range from k-N-1 to k-1.

Chapter 4

Problem 4

a) Data destined to host H3 is forwarded through interface 3

Destination Address Link Interface


H3 3

b) No, because forwarding rule is only based on destination address.


Figure 4.30 OpenFlow match-plus-action network with three packet switches, 6 hosts,
and an OpenFlow controller
Paper reading
Please read the paper “S. Savage et al., "Detour: informed Internet routing and
transport," in IEEE Micro, vol. 19, no. 1, pp. 50-59, Jan.-Feb. 1999, doi:
10.1109/40.748796” and answer the following questions.
According to this paper:
1) What are the inefficiencies in the network-layer protocol?
2) What are the inefficiencies in the transport-layer protocol?
3) How to address these inefficiencies?

(Note: Please do not copy and paste the answers directly from the paper. Rather, we
hope that you apply the knowledge you learn from this course to enrich your
discussion here.)
Suggested solution:
1) What are the inefficiencies in the network-layer protocol?
The network layer provides services to direct packets to a destination host on
another network. To travel to other networks, the packet must be processed by a
router. The role of the router is to select paths for and direct packets toward the
destination host in a process known as routing. The potential sources of routing
inefficiencies including: 1. poor routing metrics; 2. restrictive routing policies; 3.
manual load balancing; 4. single-path routing.

2) What are the inefficiencies in the transport-layer protocol?


The transport-layer ensures the establishment and maintenance of end-to-end
connections, reliable end-to-end transmission of data packets, flow control and
congestion control. The latency of network will limit host perceive changes in
recipient resources. As latency increases, the host must wait longer to receive
acknowledgments indicating that more data can be sent, and consequently will
send more slowly. As the packet loss rate increases, the host assumes that
congestion is occurring and will also send more slowly. TCP is the main
transport layer protocol for wired networks. TCP adapting several mechanisms
to prevent the congestion collapse events, such as slow start, congestion
avoidance, time-outs and fast retransmit.

3) How to address these inefficiencies?


There are three opportunities to address routing inefficiencies:
1. Use real performance metrics to choose routes within the routing system.
2. Apply dynamic multipath routing to avoid congestion by randomly assigning
flows to good paths.
3. Specialize routing decisions to the needs of different service classes.
Improving latency and packet drop rates automatically improves transport
performance. TCP contains several mechanisms to prevent the congestion collapse
events, such as slow start, congestion avoidance, time-outs and fast retransmit.

You might also like