Question

In: Computer Science

Suppose a TCP client needs to send 3 packets to the TCP server. Before sending the...

Suppose a TCP client needs to send 3 packets to the TCP server. Before sending the first packet, the estimated RTT is 50 ms, and the estimated deviation of the sample RTT is 10 ms. The parameters α= 0.1, and β = 0.2. The measured sample RTT for the three packets are 60ms, 70 ms, and 40 ms, respectively. Please compute the time out value that was set for each packet right after it is being transmitted out.

Solutions

Expert Solution

Solution:

Given,

=>EstimatedRTT_prev = 50 ms

=>DevRTT_prev = 10 ms

=> = 0.1, = 0.2

=>SampleRTT1 = 60 ms, SampleRTT2 = 70 ms, SampleRTT3 = 40 ms

Explanation:

Calculating EstimatedRTT when SampleRTT1:

=>EstimatedRTT = (1-)*EstimatedRTT_prev + *SampleRTT1

=>EstimatedRTT = (1-0.1)*50 ms + 0.1*60 ms

=>EstimatedRTT = 0.9*50 ms + 6 ms

=>EstimatedRTT = 45 ms + 6 ms

=>EstimatedRTT = 51 ms

Calculating DevRTT when SampleRTT1:

=>DevRTT = (1-)*DevRTT_prev + *|SampleRTT1 - EstimatedRTT|

=>DevRTT = (1-0.2)*10 ms + 0.2*|60 ms - 51 ms|

=>DevRTT = 0.8*10 ms + 0.2*9 ms

=>DevRTT = 8 ms + 1.8 ms

=>DevRTT = 9.8 ms

Calculating timeout when SampleRTT1:

=>Timeout = EstimatedRTT + 4*DevRTT

=>Timeout = 51 ms + 4*9.8 ms

=>Timeout = 51 ms + 39.2 ms

=>Timeout = 90.2 ms

Calculating EstimatedRTT when SampleRTT2:

=>EstimatedRTT = (1-)*EstimatedRTT_prev + *SampleRTT2

=>EstimatedRTT = (1-0.1)*51 ms + 0.1*70 ms

=>EstimatedRTT = 0.9*51 ms + 7 ms

=>EstimatedRTT = 45.9 ms + 7 ms

=>EstimatedRTT = 52.9 ms

Calculating DevRTT when SampleRTT2:

=>DevRTT = (1-)*DevRTT_prev + *|SampleRTT2 - EstimatedRTT|

=>DevRTT = (1-0.2)*9.8 ms + 0.2*|70 ms - 52.9 ms|

=>DevRTT = 0.8*9.8 ms + 0.2*17.1 ms

=>DevRTT = 7.84 ms + 3.42 ms

=>DevRTT = 11.26 ms

Calculating timeout when SampleRTT2:

=>Timeout = EstimatedRTT + 4*DevRTT

=>Timeout = 52.9 ms + 4*11.26 ms

=>Timeout = 52.9 ms + 45.04 ms

=>Timeout = 97.94 ms

Calculating EstimatedRTT when SampleRTT3:

=>EstimatedRTT = (1-)*EstimatedRTT_prev + *SampleRTT3

=>EstimatedRTT = (1-0.1)*52.9 ms + 0.1*40 ms

=>EstimatedRTT = 0.9*52.9 ms + 4 ms

=>EstimatedRTT = 47.61 ms + 4 ms

=>EstimatedRTT = 51.61 ms

Calculating DevRTT when SampleRTT3:

=>DevRTT = (1-)*DevRTT_prev + *|SampleRTT3 - EstimatedRTT|

=>DevRTT = (1-0.2)*11.26 ms + 0.2*|40 ms - 51.61 ms|

=>DevRTT = 0.8*11.26 ms + 0.2*11.61 ms

=>DevRTT = 9.008 ms + 2.322 ms

=>DevRTT = 11.33 ms

Calculating timeout when SampleRTT3:

=>Timeout = EstimatedRTT + 4*DevRTT

=>Timeout = 51.61 ms + 4*11.33 ms

=>Timeout = 51.61 ms + 45.31 ms

=>Timeout = 96.93 ms

I have explained each and every part with the help of statements attached to the answer above.


Related Solutions

Assume a client uses TCP to send data to a server. The TCP header has 12...
Assume a client uses TCP to send data to a server. The TCP header has 12 bytes of options and 99 bytes of data. [Please don't forget Ethernet Type/Len field is 2 bytes in size.] 1. Calculate the total number of bytes passed to the IP layer by the TCP layer. 2. Calculate the total number of bytes passed to the network layer by the IP layer, assuming the IP layer has no options. 3. Calculate the total number of...
Write two python codes for a TCP client and a server using a Socket/Server Socket. The...
Write two python codes for a TCP client and a server using a Socket/Server Socket. The client sends a file name to the server. The server checks if there is any integer value in the file content. If there is an integer number, the server will send a message to the client “Integer exists” otherwise, the message “Free of Integers”
Write and test a python program to demonstrate TCP server and client connections. The client sends...
Write and test a python program to demonstrate TCP server and client connections. The client sends a Message containing the 10 float numbers (FloatNumber[]) , and then server replies with a message containing maximum, minimum, and average of these numbers.
A client sends a TCP segment to the server with Sequence Number 1400 and the payload...
A client sends a TCP segment to the server with Sequence Number 1400 and the payload included in the segment is 1399 bytes long. - A. What is the ACK Number in the acknowledgement that is returned from the server? - B. Assume this packet is lost but the following packet is received. What is the ACK Number in the acknowledgement that is returned from the server for this packet? - C. Provide a detailed explanation for part B.
(3) -> The arrival of packets at an Ethernet adapter of a web server is described...
(3) -> The arrival of packets at an Ethernet adapter of a web server is described by a Poisson process with a rate of 100 packets per second . Packets that arrive to the Ethernet adapter described in the above problem (3) are queued up in a buffer until processed by the Interrupt Service Routine (ISR). Assuming that the ISR service time per packet is exponential with an average of 9.6 milliseconds. Answer the following questions: (a) What is the...
TCP client and server using C programming I am having trouble on how to read in...
TCP client and server using C programming I am having trouble on how to read in the IP adress and port number from the terminal Example: Enter IP address: 127.0.0.1 Enter Port Number: 8000 in both client and server code. How do can I make I can assign the Ip address and port number using the example above. the error I get is that the client couldn't connect with the server whenever i get the port number from the user...
Briefly describe the operation of TCP/IP in the process of sending a message from port 3...
Briefly describe the operation of TCP/IP in the process of sending a message from port 3 on host A to port 1 on host B.
Recall that even if the server only stores f(p), client has to send p in clear...
Recall that even if the server only stores f(p), client has to send p in clear to authenticate to the server. If the adversary is watching, it learns p. Normally you have to use HTTPS to solve this problem. Alice has another idea. Instead of client sending p, client will instead only send f(p) to the server to authenticate. Then the adversary never learns p even if it can watch the whole communication. Is this a good idea?
Write a Python Client/Server Socket Program that will allow you to send text messages between the...
Write a Python Client/Server Socket Program that will allow you to send text messages between the server and client, terminating when the exit is typed on the client. Build the program on your 2-VM’s and get it working. Cut and paste your code below along with screen shots of your program working.
How do I make a simple TCP python web client and web server using only "import...
How do I make a simple TCP python web client and web server using only "import socket"? Basically, the client connects to the server, and sends a HTTP GET request for a specific file (like a text file, HTML page, jpeg, png etc), the server checks for the file and sends a copy of the data to the client along with the response headers (like 404 if not found, or 200 if okay etc). The process would be: You first...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT