Question

What mechanism is available for TCP to ensure that the receiver of a TCP stream will...

What mechanism is available for TCP to ensure that the receiver of a TCP stream will receive data in a pace that it can handle? Your explanation must include an example of how it works.

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Flow control basically means that tcp will ensure that a sender is not overwhelming a receiver by sending packets faster than it can consume.

How it works:

This is normally happen, when we send the data.

Sender Receiver Transport Layer Transport Layer Network Layer Network Layer Link Layer Link Layer

Figure.1

The sender application write data to socket the transport layer will wrap this data in a segment and hand it to network layer, that will somehow route this packet to the receiving node.

On the other side of communication, the network layer will deliver this piece of data to transport layer, that will make it available to receiver application as an exact copy of data sent, meaning if will not deliver packets out of order and will wait for a retransmission in case it notices a gap in the byte stream.

TCP stores the data it needs to send in the send buffer, and the data it receives in the receive buffer. When the application is ready, it will then read data from the receive buffer.

Flow Control is all about making sure we don’t send more packets when the receive buffer is already full, as the receiver wouldn’t be able to handle them and would need to drop these packets.

To control the amount of data that TCP can send, the receiver will advertise its Receive Window (rwnd), that is, the spare room in the receive buffer.

Data in the buffer Receive Window - - TCP Receive Buffer

Figure.2

Every time TCP receives a packet, it needs to send an ack message to the sender, acknowledging it received that packet correctly, and with this ack message it sends the value of the current receive window, so the sender knows if it can keep sending data.

The sliding window

TCP uses a sliding window protocol to control the number of bytes in flight it can have. In other words, the number of bytes that were sent but not yet acked. Figure.3 shows the sliding window in TCP. The window spans a portion of the buffer containing bytes received from the process. The bytes inside the window are the bytes that can be in transit; they can be sent without worrying about acknowledgment. The imaginary window has two walls: one left and one right. The window is opened, closed, or shrunk. These three activities, as we will see, are in the control of the receiver (and depend on congestion in the network), not the sender. The sender must obey the commands of the receiver in this matter. Opening a window means moving the right wall to the right. This allows more new bytes in the buffer that are eligible for sending. Closing the window means moving the left wall to the right. This means that some bytes have been acknowledged and the sender need not worry about them anymore. Sluinking the window means moving the right wall to the left. This is strongly discouraged and not allowed in some implementations because it means revoking the eligibility of some bytes for sending. This is a problem if the sender has already sent these bytes. Note that the left wall cannot move to the left because this would revoke some ofthe previously sent acknowledgments.

Window size =minimum (rwnd, cwnd) Shrinking ... In-I n In+l 1m-ll mm .. Sliding window | Closing | Opening

Figure.3

The size ofthe window at one end is determined by the lesser of two values: receiver window (rwnd) or congestion window (cwnd). The receiver window is the value advertised by the opposite end in a segment containing acknowledgment. It is the number of bytes the other end can accept before its buffer overflows and data are discarded.

Example :

What is the value of the receiver window (rwnd) for host A if the receiver, host B, has a buffer size of 5000 bytes and 1000 bytes of received and unprocessed data?

Solution The value of rwnd =5000 - 1000 =4000. Host B can receive only 4000 bytes of data before overflowing its buffer. Host B advertises this value in its next segment to A.

Add a comment
Know the answer?
Add Answer to:
What mechanism is available for TCP to ensure that the receiver of a TCP stream will...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • TCP at Packet Level In a TCP packet level data transfer, sender and receiver both have...

    TCP at Packet Level In a TCP packet level data transfer, sender and receiver both have a window that can hold 4 packets. Sender has 5 packets to send numbered 0-4. ACK 2 is lost and PKT 3 is lost too. (Remember in TCP the ACK number is one greater than the number of the last packet received in order and that ACKs are cumulative) There are no other errors or losses in either direction. Draw a timeline diagram that...

  • In TCP Reno, if the receiver receives an in-order segment with expected sequence number and one...

    In TCP Reno, if the receiver receives an in-order segment with expected sequence number and one other in-order segment is waiting to be ACK'ed, the receiver immediately sends an ACK for both segments. Does it send two ACK's, one for each segment, or does it send one ACK? Justify your answer. What is the logic behind the receiver not waiting in this case? You can ignore congestion control for answering this question. [5 points)

  • You are hired to design a reliable byte-stream protocol that uses a sliding window (like TCP)....

    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 200 ms. How many bits would you include in the AdvertisedWindow field of your protocol header? (choose the closest number that can satisfy the above requirement). Hints: - First, determine how much data to keep the pipe full (i.e. delay * bandwidth) - Second, if we assume the window is...

  • 1. For TCP end-to-end flow control, suppose the capacity of the receiver buffer is 10 packets. Su...

    1. For TCP end-to-end flow control, suppose the capacity of the receiver buffer is 10 packets. Suppose the packets that are being queued in the receiver buffer are packets 4, 5, 6, 7, 8, 10, 11. What is the advertised window size the receiver sent to the sender? Suppose packet 12 is the last packet sent by the sender. What’s the effective window size at the sender? Can the sender send out packet 13 at this moment? How about packet...

  • In the Wireshark Capture. In frame 126, follow the TCP stream. What is the request that...

    In the Wireshark Capture. In frame 126, follow the TCP stream. What is the request that is made to the server? What response does the server give back? Based on these messages and others you can see in the packet capture, what would you say is going on? Is this an attack? If so, what type of attack might it be? No. Time source Destination Protocol Length Info 74 52148 80 SYN] Seq-0 win 29200 Len-0 Mss 1460 SACK PERM...

  • You are designing a reliable byte stream transport layer protocol (not TCP) to operate over a...

    You are designing a reliable byte stream transport layer protocol (not TCP) to operate over a 1x107 bps network and it is using a sliding window for flow control. The time for keeping the transmission pipe full is taken to be the RTT of the network which is 50ms. Each number in the advertised window or sequence number represents 2 bytes of data. a) What is the minimum number of bits necessary for the Advertised Window field of your protocol...

  • (TCO 3) TCP uses __________________ as a congestion-control mechanism. a.stop and wait b.self-clocking c.time-out doubli...

    (TCO 3) TCP uses __________________ as a congestion-control mechanism. a.stop and wait b.self-clocking c.time-out doubling d.a and c only (TCO 3) Consider transferring an enormous file that uses all of the sequence numbers available from Host A to Host B. Use a MSS of 1,400 Bytes with 100 Bytes of header in each datagram. The link is 100 Mbps. With continuous transmission and ignoring flow control and congestion control, how long does it take to send the data? none of...

  • Name: J# Q1 - 20 pts) Consider the status of a TCP connection at the source...

    Name: J# Q1 - 20 pts) Consider the status of a TCP connection at the source and destination as shown in the Figure and Table below. Let the Congestion Window size be CW bytes and Maximum Receiver Buffer Size be RB bytes. What would be the Effective Window Size (the amount of data that can be sent) by the source considering: Max. Receive Buffer= RB bytes Destination Process Source Process Notation Description Last Byte Acknowledged Last Byte Sent Last Byte...

  • 1. What would these iptables rules do? iptables -A INPUT -p tcp -m tcp --dport 80...

    1. What would these iptables rules do? iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT Allow web server traffic Block web server traffic Force port 80 traffic to port 443 Allow traffic from both 80 and 443 using UDP protocols 2. Timestamps are important because can not be changed or deleted by attackers when configured properly, allows you to correlate events across the network can always...

  • Question 1.) An ISP guarantees a minimum 102 kbps download speed. What should be the minimum TCP window size in byt...

    Question 1.) An ISP guarantees a minimum 102 kbps download speed. What should be the minimum TCP window size in bytes for a user who is downloading a large file through a link with with 28 ms round trip time? Assume that this network has a MSS of 512 bytes. Question 2.) Now this TCP connection is suddenly routed through a 204 ms delay link. For example the connection may have been using a terrestrial link before, but now use...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT