edited by
27,604 views
70 votes
70 votes

Assume that the bandwidth for a $\text{TCP}$ connection  is $1048560$ bits/sec. Let $\alpha$ be the value of RTT in milliseconds (rounded off to the nearest integer) after which the $\text{TCP}$ window scale option is needed. Let $\beta$ be the maximum possible window size with window scale option. Then the values of $\alpha$ and $\beta$ are 

  1. $63$ milliseconds, $65535$ $\times $2$^{14}$
  2. $63$ milliseconds, $65535$ $\times $2$^{16}$
  3. $500$ milliseconds, $65535$ $\times $2$^{14}$
  4. $500$ milliseconds, $65535$ $\times $2$^{16}$
edited by

5 Answers

Best answer
112 votes
112 votes

In TCP when the bandwidth-delay product increases beyond $64\;\textsf{K}$ receiver window scaling is needed. 

The bandwidth-delay product is the maximum amount of data on the network circuit at any time and is measured as RTT * Bandwidth. This is not the time for sending data rather just the time for sending data without acknowledgement. 

So, here, we have bandwidth delay product $= (1048560 / 8) B \ast \alpha  = 64\;\textsf{K}$

$\alpha = (64\;\textsf{K} \ast 8 ) / 1048560 = 0.5\;\text{s} = 500$ milliseconds. 


When window scaling happens, a $14$ bit shift count is used in $\text{TCP}$ header. So, the maximum possible window size gets increased from $2^{16}-1$ to $(2^{16}-1) \ast 2^{14}$ or from $65535$ to $65535 \ast 2^{14}$

http://en.wikipedia.org/wiki/TCP_window_scale_option

edited by
23 votes
23 votes

answer is C.
because TCP window scale option is needed when size increases more than 65535 B. it means alpha (RTT) should be the time taken to send 65535 B to the receiver. 

Time to send 65535 B = 65535 * 8/1048560 *1000 = 500 ms. 

so alpha will be 500.

maximum window size with window scale option is possible in TCP is 1073725440 B which is 65535*2^14 .

http://en.wikipedia.org/wiki/TCP_window_scale_option

20 votes
20 votes

The TCP window scale option is an option to increase the receiver window size allowed in Transmission Control Protocol above its former maximum value of 65,535 bytes.

65,535 bytes = 64KB = $2^{16}$ B

The scaling option allows us to increase the window size from 64KB to 1 GB!

 

  • When is scaling used?

When the bandwidth-delay product exceeds the value of 64K or $2^{16}$, we use scaling.
Bandwidth must be in bytes/sec and delay (RTT) must be in ms.

 

  • What happens when we scale?

Window size increases from 64KB to 1GB, ie, from $2^{16}$B to $2^{30}$B



 

Now, coming to the question:

Calculating α

131070 * RTT = $2^{16}$

=> 131070 * RTT = 65536

=> RTT = 500 ms

 

Calculating β

Window size would be increased from  $2^{16}$B to $2^{30}$B

i.e. from 65536 to 65536 * $2^{14}$B

 

Option C

edited by
7 votes
7 votes

Lets talk about concept first..

Basically We are not utilizing the given bandwidth at its fullest. Sticking to the question, it causes due to the delay caused in sending the data.

(You can consider the example of satellite link , It causes much delay for acknowledgement to arrived after sending data equal to current window size)

One of the solution is we can consider upgrading window size that will pack the data , utilizing maximum of the given bandwidth.

The units we consider for data is in Bytes and delay in "ms"

Lets have a look at our Question.

Given,

B = (1048560/8) B/s

RTT ( alpha ) = X ms ( say)

Current ( default) window size, RWIN = 65535 B

( RWIN = Reciver window )

Using Bandwidth * Delay product ,

B * X = 65535 ,

X = 500 ms.

To use the given Bandwidth  to ita fullest , we can scale our window upto 1GB ( fixed standard)

i.e with scaling factor of 2^14 B

(i.e Shifting 14 bits to left )

So, scaled window size becomes,

65535 * 2^ 14.

(2^16 * 2^ 14 = 2^30 , i.e 1GB )

 

 

https://www.speedguide.net/faq/what-is-the-bandwidth-delay-product-185

 

https://networklessons.com/cisco/ccnp-route/bandwidth-delay-product/

Answer:

Related questions

29 votes
29 votes
4 answers
1
26 votes
26 votes
5 answers
4
go_editor asked Feb 12, 2015
14,097 views
Consider the following routing table at an IP router:$$\begin{array}{|l|l|l|} \hline \textbf {Network No} & \textbf {Net Mask} & \textbf{Next Hop} \\\hline \text {128.96...