In: Computer Science
Will rate answer
1) Assume a user requests a large object from a web server. Assume that for the TCP running on the web server: • the MSS is 1,460 bytes (a more precise value for TCP when operating over an Ethernet), • each segment transmitted contains 66 bytes of headers (for TCP and all lower-level protocols), and • flow and congestion control mechanisms do not limit the rate at which the web server transmits data.
a) Derive an expression that gives the size of the largest object that can be returned from the web server such that during the transfer TCP, sequence numbers do not have to be reused? Show how you derived this value. If you need to know additional information that was not given in the problem description simply express that information as a variable in your expression.
b) Assuming the client and server are connected via a 10 Mbps link, for the object size you computed in part (a), how long would it take to transfer the requested object from the web server to the client?
c) How did taking into account the size of TCP headers and lower layer protocol headers effect your calculation in part (a)? In part (b)?
1.Retrieving document from a web server involves the establishment of a TCP connection, the sending of an HTTP request by the client, and the reply from the web server.
We define response time as the time elapsed from the time the client requests a document (GET command) to when the client receives the server's reply.
The measurement tool can make use of Telnet to access the web server. One would Telnet to port 80, after the TCP connection is set up, and then measure the time elapsed from sending the request to receiving a reply.
a)
Fragmentation is sometimes not supported by applications, and is something we should avoid if possible. The best way to avoid fragmentation is to adjust the maximum segment size or TCP MSS so the segment will adjust its size before reaching the data link layer.
Before we look at TCP MSS, it helps to understand the build of the “unit” that’s being sent over the internet.
The common value of MTU in the internet is 1500 bytes.
As you can see in the figure above, the MTU is built from payload (also referred as data) and the TCP and the IP header, 20 bytes each. The total value of the IP and the TCP header is 40 bytes and mandatory for each packet, which leaves us 1460 bytes for our data.
Now, imagine that we are using the GRE protocol in our network, encapsulating the original packet and adding 24 bytes for the GRE header.
The total size of this kind of packet will be 1524 bytes, exceeding the 1500 bytes MTU value. The “data” size in this packet is 1460, but we can and should decrease it in order to make sure the total size will be 1500 bytes or less. And this is where TCP MSS comes into the picture.
TCP MSS, the maximum segment size, is a parameter of the options field of the TCP header that specifies the largest amount of data, specified in bytes, that a computer or communications device can receive in a single TCP segment. It does not include the TCP header or the IP header. This value will dictate the maximum size of the “data” part of the packet. In the following case for the GRE tunnel, we will set the tcp mss value to be 1436 or lower, while the default size is 1460.
b)
1500 - 20 -20 = 1460 bytes
1.5 Mbyte / 1460 byte = 1027.4, therefore 1028 blocks are needed to transfer the file.
Overhead = ((1028 x 1500 - 1.5M)/1.5M) x 100 = 2.8%