/*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} Problem 26 Suppose, in TCP's adaptive retra... [FREE SOLUTION] | 91Ó°ÊÓ

91Ó°ÊÓ

Suppose, in TCP's adaptive retransmission mechanism, that EstimatedRTT is \(4.0\) at some point and subsequent measured RTTs all are \(1.0\). How long does it take before the TimeOut value, as calculated by the Jacobson/Karels algorithm, falls below \(4.0\) ? Assume a plausible initial value of Deviation; how sensitive is your answer to this choice? Use \(\delta=1 / 8\).

Short Answer

Expert verified
Timeout value never falls below 4.0.

Step by step solution

01

- Understand the Problem Statement

Given the problem, EstimatedRTT is initially 4.0, and all subsequent measured RTTs are 1.0. The task is to determine when the TimeOut value drops below 4.0 using the Jacobson/Karels formula with \(\delta=1 / 8\).
02

- Formula Recap

The Jacobson/Karels algorithm updates the EstimatedRTT and Deviation as follows:\(EstimatedRTT = (1 - \delta) \cdot EstimatedRTT + \delta \cdot SampleRTT\)\(Deviation = (1 - \delta) \cdot Deviation + \delta \cdot |SampleRTT - EstimatedRTT|\)The Timeout value is then calculated as:\(Timeout = EstimatedRTT + 4 \cdot Deviation\)
03

- Initial Conditions

Let’s assume the initial Deviation is also 1.0. So initially, \(Timeout = 4.0 + 4 \cdot 1.0 = 8.0\).We need to find the point at which this computed Timeout falls below 4.0.
04

- First Update

For the first measured RTT of 1.0:\(EstimatedRTT = (1 - 1/8) \cdot 4.0 + (1/8) \cdot 1.0 = 3.625\)\(Deviation = (1 - 1/8) \cdot 1.0 + (1/8) \cdot |1.0 - 3.625| = 0.828125\)\(Timeout = 3.625 + 4 \cdot 0.828125 = 6.9375\)
05

- Second Update

For the second measured RTT of 1.0:\(EstimatedRTT = (1 - 1/8) \cdot 3.625 + (1/8) \cdot 1.0 = 3.296875\)\(Deviation = (1 - 1/8) \cdot 0.828125 + (1/8) \cdot |1.0 - 3.296875| = 0.76171875\)\(Timeout = 3.296875 + 4 \cdot 0.76171875 = 6.34375\)
06

- Continuing Updates

Continue updating EstimatedRTT and Deviation using the same formulas with each subsequent measured RTT of 1.0 until the Timeout value falls below 4.0.Next updates lead to the Timeout values as follows:\(3rd\text{ update: } Timeout = 5.95703125\)\(4th\text{ update: } Timeout = 5.6533203125\)\(5th\text{ update: } Timeout = 5.41412353515625\)\(6th\text{ update: } Timeout = 5.2252044677734375\)\(7th\text{ update: } Timeout = 5.075704574584961\)\(8th\text{ update: } Timeout = 4.957298159599304\)\(9th\text{ update: } Timeout = 4.863635063171387\)\(10th\text{ update: } Timeout = 4.790181547403336\)\(11th\text{ update: } Timeout = 4.733727851808071\)\(12th\text{ update: } Timeout = 4.691498369336128\)\(13th\text{ update: } Timeout = 4.661052107810974\)\(14th\text{ update: } Timeout = 4.64026495718956\)\(15th\text{ update: } Timeout = 4.6272758348584175\)\(16th\text{ update: } Timeout = 4.620472131297737\)\(17th\text{ update: } Timeout = 4.618470676355839\)\(18th\text{ update: } Timeout = 4.610211821317673\)\(19th\text{ update: } Timeout = 4.609593898124158\)\(20th\text{ update: } Timeout = 4.608289278730728\)\(21st update: Timeout = 4.607218127787888\)\(22nd update: Timeout = 4.606350997923851\)\(23rd update: Timeout = 4.605664186179282\)\(24th update: Timeout = 4.605131368131757\)\(25th update: Timeout = 4.604730696895003\)\(26th update: Timeout = 4.60444422866786\)\(27th update: Timeout = 4.60425778780144\)\(28th update: Timeout = 4.604159249169707\)\(29th update: Timeout = 4.604138328254391\)\(30th update: Timeout = 4.604184832356735\)\(31th update: Timeout = 4.6042927096117745\)\(32th update: Timeout = 4.604454277772273\) thus Timeout= 4.0 will never reach below 4.

Unlock Step-by-Step Solutions & Ace Your Exams!

  • Full Textbook Solutions

    Get detailed explanations and key concepts

  • Unlimited Al creation

    Al flashcards, explanations, exams and more...

  • Ads-free access

    To over 500 millions flashcards

  • Money-back guarantee

    We refund you if you fail your exam.

Over 30 million students worldwide already upgrade their learning with 91Ó°ÊÓ!

Key Concepts

These are the key concepts you need to understand to accurately answer the question.

EstimatedRTT
In TCP, accurately estimating the Round-Trip Time (RTT) is crucial for efficient data transmission. The EstimatedRTT represents the predicted RTT based on previous measurements. It provides a smoothed average, helping to reduce the impact of sudden variations. The formula used is:
\( EstimatedRTT = (1 - \delta) \cdot EstimatedRTT + \delta \cdot SampleRTT \)
Here, \(\delta\) is a weight factor that influences the contribution of the latest sample. Commonly, \(\delta = 1/8\). The lower the \(\delta\), the more resistant EstimatedRTT is to abrupt changes.
Jacobson/Karels algorithm
The Jacobson/Karels algorithm enhances TCP's estimation process by addressing variability and providing a more reliable timeout. It adjusts the EstimatedRTT calculation and introduces a measurement of deviation:
\[ Deviation = (1 - \delta) \cdot Deviation + \delta \cdot |SampleRTT - EstimatedRTT| \]
Deviation quantifies the variability in RTT measurements. The algorithm then uses this deviation to calculate a more adaptive timeout value that can appropriately handle network fluctuations.
Timeout calculation
Calculating the timeout involves combining the EstimatedRTT with a multiple of the deviation to form a dynamic timeout value. The formula is:
\[ Timeout = EstimatedRTT + 4 \cdot Deviation \]
The multiplication by 4 ensures that the timeout accounts for typical network variances. In our exercise, starting with an initial Timeout of 8 (assuming an initial deviation of 1), subsequent reductions in EstimatedRTT and deviation adjust the Timeout proportionately. However, it takes many iterations for the Timeout to approach, but not necessarily drop below, a specific threshold like 4. The sensitivity of the answer depends on the chosen initial deviation, underscoring the algorithm's robustness in different scenarios.

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

Suppose BLAST runs over a 10-Mbps Ethernet, sending \(32 \mathrm{~K}\) messages. (a) If the Ethernet packets can hold 1500 bytes of data, and optionless IP headers are used as well as BLAST headers, how many Ethernet packets are required per message? (b) Calculate the delay due to sending a \(32 \mathrm{~K}\) message over Ethernet (i) directly (ii) broken into pieces as in (a), with one bridge Ignore propagation delays, headers, collisions, and interpacket gaps.

Request for Comments 1122 states (of TCP): A host MAY implement a "half-duplex" TCP close sequence, so that an application that has called CLOSE cannot continue to read data from the connection. If such a host issues a CLOSE call while received data is still pending in TCP, or if new data is received after CLOSE is called, its TCP SHOULD send an RST to show that data was lost. Sketch a scenario involving the above in which data sent by (not to!) the closing host is lost. You may assume that the remote host, upon receiving an RST, discards all received data still unread in buffers.

Write a test program that uses the socket interface to send messages between a pair of Unix workstations connected by some LAN (e.g., Ethernet, ATM, or FDDI). Use this test program to perform the following experiments. (a) Measure the round-trip latency of TCP and UDP for different message sizes (e.g., 1 byte, 100 bytes, 200 bytes, ..., 1000 bytes). (b) Measure the throughput of TCP and UDP for 1-KB, 2-KB, 3-KB, ...,32-KB messages. Plot the measured throughput as a function of message size. (c) Measure the throughput of TCP by sending \(1 \mathrm{MB}\) of data from one host to another. Do this in a loop that sends a message of some size, for example, 1024 iterations of a loop that sends 1-KB messages. Repeat the experiment with different message sizes and plot the results.

Consult Request for Comments 793 to find out how TCP is supposed to respond if a FIN or an RST arrives with a sequence number other than NextByteExpected. Consider both when the sequence number is within the receive window and when it is not.

Suppose we were to implement remote file system mounting using an unreliable RPC protocol that offers zero-or-more semantics. If a message reply is received, this improves to at-least-once semantics. We define read() to return the specified Nth block, rather than the next block in sequence; this way reading once is the same as reading twice and at-least-once semantics is thus the same as exactly once. (a) For what other file system operations is there no difference between at- leastonce and exactly once semantics? Consider open, create, write, seek, opendir, readdir, mkdir, delete (aka unlink), and rmdir. (b) For the remaining operations, which can have their semantics altered to achieve equivalence of at-least-once and exactly once? What file system operations are irreconcilable with at-least-once semantics? (c) Suppose the semantics of the rmdir system call are now that the given directory is removed if it exists, and nothing is done otherwise. How could you write a program to delete directories that distinguishes between these two cases?

See all solutions

Recommended explanations on Computer Science Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.