Question
A. Based on our in-class lectures and discussion about transport layer services, answer the following questions with extended justifications. Is it possible that an application
A. Based on our in-class lectures and discussion about transport layer services, answer the following questions with extended justifications.
Is it possible that an application can enjoy reliable data transfer even when it runs over transport UDP? Justify your answer if so.
In the rdt (reliable data transfer) protocols, why do we introduce sequence numbers?
In the rdt (reliable data transfer) protocols, why do we introduce acknowledgement numbers?
What are the relationships between acknowledgements and negative acknowledgements?
In the rdt (reliable data transfer) protocols, why do we introduce timers? Can we implement rdt without timers?
How does the size of the TCP rwnd change throughout the duration of a connection?
Suppose Host A sends one segment with sequence number 100 and 10 bytes of data over a TCP connection to Host B. In the same segment, is the acknowledgement number necessarily 110.
Assume that the last SampleRTT in a TCP connection is equal to 500ms. Will the current value of TimeoutInterval necessarily be larger than 500ms?
Since TCP is a reliable data transfer protocol, can it always deliver correct data to the application layer?
Do flow control and congestion control solve similar problems?
B. Host A and B are communicating over a TCP connection, and Host B has already received from A all bytes up through byte 160. Suppose Host A then sends two segments to Host B back-to-back. The first and second segments contain 400 and 240 bytes of data, respectively. In the first segment, the sequence number is 161, the source port number is 92, and the destination port number is 88. Host B sends an acknowledgment whenever it receives a segment from Host A.
In the second segment sent from Host A to B, what are the sequence number, source port number, and destination port number?
If the first segment arrives before the second segment, in the acknowledgment of the first arriving segment, what is the acknowledgment number, the source port number, and the destination port number?
If the second segment arrives before the first segment, in the acknowledgment of the first arriving segment, what is the acknowledgment number?
Suppose the two segments sent by A arrive in order at B. The first acknowledgment is lost and the second acknowledgment arrives after the first timeout interval. Draw a timing diagram, showing these segments and all other segments and acknowledgments sent. (Assume there is no additional packet loss.) For each segment in your figure, provide the sequence number and the number of bytes of data; for each acknowledgment that you add, provide the acknowledgment number.
C. Suppose that the three measured SampleRTT values are 106 ms, 120 ms, 140 ms. Compute the EstimatedRTT after each of these SampleRTT values is obtained, using a value of = 0.125 and assuming that the value of EstimatedRTT was 100 ms just before the first of these three samples were obtained. Compute also the DevRTT after each sample is obtained, assuming a value of = 0.25 and assuming the value of DevRTT was 5 ms just before the first of these three samples was obtained. Last, compute the TCP TimeoutInterval after each of these samples is obtained.
Note you can apply the following formulas to calculate the TimeoutIntervals:
EstimatedRTT = (1- )*EstimatedRTT + *SampleRTT
DevRTT = (1-)*DevRTT + *|SampleRTT-EstimatedRTT|
TimeoutInterval = EstimatedRTT + 4*DevRTT
Calculate TimeoutInterval 1
Calculate TimeInterval 2
Calculate TimeInterval 3
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started