Warning: foreach() argument must be of type array|object, bool given in /var/www/html/web/app/themes/studypress-core-theme/template-parts/header/mobile-offcanvas.php on line 20

You are hired to design a reliable byte-stream protocol that uses a sliding window (like TCP). This protocol will run over a 100-Mbps network. The RTT of the network is \(100 \mathrm{~ms}\), and the maximum segment lifetime is 60 seconds. (a) How many bits would you include in the AdvertisedWindow and SequenceNum fields of your protocol header? (b) How would you determine the numbers given above, and which values might be less certain?

Short Answer

Expert verified
(a) AdvertisedWindow field: 21 bits, SequenceNum field: 30 bits. (b) Calculations are based on given network bandwidth and RTT; values may vary due to variable factors.

Step by step solution

01

Calculate the Bandwidth-Delay Product

The Bandwidth-Delay Product (BDP) determines the amount of data that can be in transit in the network. First, convert the network bandwidth into bits per second: \(100 \text{ Mbps} = 100 \times 10^6 \text{ bps}\)Then, calculate the BDP using the given RTT: \[ \text{BDP} = \text{Bandwidth} \times \text{RTT} \ \text{BDP} = 100 \times 10^6 \text{ bps} \times 0.1 \text{ s} = 10 \times 10^6 \text{ bits} = 10 \text{ Mb} \ \text{BDP} = 1.25 \text{ MB} \ \text{BDP} = 1.25 \times 10^6 \text{ bytes} \]
02

Determine the AdvertisedWindow Size

The AdvertisedWindow size should be at least equal to the BDP to fully utilize the network. Therefore, \[ \text{AdvertisedWindow} \text{Size} = 1.25 \times 10^6 \text{ bytes} \]
03

Calculate the Number of Bits for AdvertisedWindow field

To determine the number of bits required for the AdvertisedWindow field, find the smallest power of 2 that can represent the AdvertisedWindow size. Using the formula \( n = \text{ceil}(\text{log}_2(\text{AdvertisedWindow Size})) \) : \[ \text{bits} = \text{ceil}(\text{log}_2(1.25 \times 10^6)) \ \text{bits} = \text{ceil}(20.93) = 21 \]
04

Determine the Sequence Number Range

The Sequence Number must accommodate the maximum segment lifetime, which is the maximum time any segment can be in the network.Using the formula: \[ \text{Sequence Number Range} = \text{Bandwidth} \times \text{Maximum Segment Lifetime} \ \text{Sequence Number Range} = 100 \times 10^6 \text{ bps} \times 60 \text{ s} = 6 \times 10^9 \text{ bits} = 750 \times 10^6 \text{ bytes} \]
05

Calculate the Number of Bits for SequenceNum field

Like in the AdvertisedWindow calculation, determine the number of bits required to represent the Sequence Number Range.Using the formula \( n = \text{ceil}(\text{log}_2(\text{Sequence Number Range})) \) : \[ \text{bits} = \text{ceil}(\text{log}_2(750 \times 10^6)) \ \text{bits} = \text{ceil}(29.49) = 30 \]
06

Analyze Uncertain Values

Values determined from the network's given parameters (RTT, bandwidth) and protocol constraints (maximum segment lifetime). Uncertain values often depend on variable factors such as changing RTTs, bandwidth fluctuations, and maximum segment lifetime assumptions based on the specific network configuration.

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 Vaia!

Key Concepts

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

Bandwidth-Delay Product (BDP)
The Bandwidth-Delay Product (BDP) tells us how much data can be in transit in the network at any given time. Imagine a pipe where water flows through; the length of the pipe and the speed at which water flows dictate how much water is within it. Here, bandwidth is the flow rate, and delay is the length of the pipe.
To compute BDP: Convert the network bandwidth from Mbps to bps. Multiply the bandwidth by the Round Trip Time (RTT). For instance, with bandwidth of 100 Mbps and RTT of 100 ms:
\[ \text{BDP} = 100 \times 10^6 \text{ bps} \times 0.1 \text{ s} = 10 \times 10^6 \text{ bits} = 1.25 \times 10^6 \text{ bytes} \]
The BDP indicates the storage needed to handle the data in transit, which is crucial for optimal network performance.
Advertised Window
The Advertised Window size is essential for controlling the flow of data, ensuring the sender doesn’t overwhelm the receiver. The size of the Advertised Window should be at least equal to the BDP.
To determine the size, use the BDP calculated earlier. In our example:
\[ \text{AdvertisedWindow Size} = 1.25 \times 10^6 \text{ bytes} \]
This means our Advertised Window size should be around 1.25 MB. To represent this in bits, we use the smallest power of 2 that can accommodate the AdvertisedWindow size:
\[ \text{bits} = \text{ceil}(\text{log}_2(1.25 \times 10^6)) = 21 \]
Sequence Number Range
The Sequence Number Range must cover all possible bytes sent in the network. This range ensures that every byte gets a unique identifier. We calculate it based on the network bandwidth and the maximum segment lifetime.
Given a bandwidth of 100 Mbps and a segment lifetime of 60 seconds:
\[ \text{Sequence Number Range} = 100 \times 10^6 \text{ bps} \times 60 \text{ s} = 6 \times 10^9 \text{ bits} = 750 \times 10^6 \text{ bytes} \]
To represent this in bits, we use:
\[ \text{bits} = \text{ceil}(\text{log}_2(750 \times 10^6)) = 30 \]
Sliding Window Protocol
The sliding window protocol is a key method for controlling data flow in a network. Think of it as a window moving over the data stream, which lets a specific range of data be sent and acknowledged at given times.
The sender transmits several frames before needing an acknowledgment for the first one, enhancing throughput and efficiency. As each frame is acknowledged, the window slides, allowing the next set of frames to be sent. The size of this window is typically determined by the BDP and Advertised Window values.
Advantages include better utilization of bandwidth and decreased latency owing to continuous data flow rather than waiting for individual acknowledgments.
TCP
Transmission Control Protocol (TCP) is a reliable byte-stream protocol widely used in Internet communications. It ensures data is delivered correctly and in order, managing both flow and congestion control.
Key Features of TCP:
  • Reliability: It checks data integrity and resends lost packets.
  • Flow Control: Uses the Advertised Window to prevent sender overload.
  • How it works: It sends data in segments, and each byte has a sequence number. As the receiver acknowledges segments, the sender slides its window and sends more.
  • Congestion Control: Changes its transmission rate based on network congestion.
Network RTT
Round Trip Time (RTT) measures the time it takes for a signal to travel from the sender to the receiver and back. It is a crucial factor for calculating the BDP and affects the overall efficiency of data transmission.
A higher RTT can result in longer delays but allows more data to be in transit. For the RTT given in our example (100 ms), it influences the size of the sliding window and Advertised Window.
Effective managing of RTT helps optimize network performance, ensuring smoother and faster communication between devices.

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 a TCP connection, with window size 1, loses every other packet. Those that do arrive have RTT \(=1\) second. What happens? What happens to TimeOut? Do this for two cases: (a) After a packet is eventually received, we pick up where we left off, resuming with EstimatedRTT initialized to its pretimeout value and TimeOut double that. (b) After a packet is eventually received, we resume with TimeOut initialized to the last exponentially backed-off value used for the timeout interval. In the following four exercises, the calculations involved are straightforward with a spreadsheet.

You are hired to design a reliable byte-stream protocol that uses a sliding window (like TCP). This protocol will run over a 1-Gbps network. The RTT of the network is \(140 \mathrm{~ms}\), and the maximum segment lifetime is 60 seconds. How many bits would you include in the AdvertisedWindow and SequenceNum fields of your protocol header?

If a UDP datagram is sent from host \(\mathrm{A}\), port \(\mathrm{P}\) to host \(\mathrm{B}\), port \(\mathrm{Q}\), but at host \(\mathrm{B}\) there is no process listening to port \(Q\), then \(B\) is to send back an ICMP Port Unreachable message to A. Like all ICMP messages, this is addressed to A as a whole, not to port \(\mathrm{P}\) on \(\mathrm{A}\). (a) Give an example of when an application might want to receive such ICMP messages. (b) Find out what an application has to do, on the operating system of your choice, to receive such messages. (c) Why might it not be a good idea to send such messages directly back to the originating port \(\mathrm{P}\) on \(\mathrm{A}\) ?

Suppose, in TCP's adaptive retransmission mechanism, that EstimatedRTT is 90 at some point and subsequent measured RTTs all are 200 . How long does it take before the TimeOut value, as calculated by the Jacobson/Karels algorithm, falls below 300 ? Assume initial Deviation value of 25 ; use \(\delta=1 / 8\).

Suppose party A connects to the Internet via a dial-up IP server (e.g., using SLIP or PPP), has several open Telnet connections (using TCP), and is cut off. Party B then dials in and is assigned the same IP address that A had. Assuming B was able to guess to what host(s) A had been connected, describe a sequence of probes that could enable B to obtain sufficient state information to continue with A's connections.

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.

Sign-up for free