edited by
22,810 views
66 votes
66 votes

Consider three IP networks $A, B$ and $C$. Host $H_A$ in network $A$ sends messages each containing $180$ bytes of application data to a host $H_C$ in network $C$. The $\text{TCP}$ layer prefixes $20$ byte header to the message.

This passes through an intermediate network $B$.The maximum packet size, including $20$ byte IP header, in each network is:

  • A: $\text{1000 bytes}$
  • B: $\text{100 bytes}$
  • C: $\text{1000 bytes}$

The network $A$ and $B$ are connected through a $1$ Mbps link, while $B$ and $C$
 are connected by a $512$ Kbps link (bps = bits per second).        

Assuming that the packets are correctly delivered, how many bytes, including headers, are delivered to the $IP$ layer at the destination for one application message, in the best case? Consider only data packets.

  1. $200$
  2. $220$
  3. $240$
  4. $260$
edited by

3 Answers

Best answer
85 votes
85 votes
Packet $A$ sends an $IP$ packet of $180$ bytes of data $+ 20$ bytes of TCP header $+ 20$ $bytes$ of IP header to $B$.

$IP$ layer of $B$ now removes $20$ $bytes$ of $IP$ header and has $200$ bytes of data. So, it makes $3$ IP packets - $[80 + 20,  80 + 20 , 40 + 20]$ and sends to $C$ as the Ip packet size of $B$ is $100$. So, $C$ receives $260$ bytes of data which includes $60$ bytes of $IP$ headers and $20$ bytes of TCP header.

For data rate, we need to consider only the slowest part of the network as data will be getting accumulated at that sender (data rate till that slowest part, we need to add time if a faster part follows a slower part).

So, here $180$ bytes of application data are transferred from $A$ to $C$ and this causes $260$ $bytes$ to be transferred from $B$ to $C$.

Correct Answer: $D$
edited by
21 votes
21 votes

Explanation: Network B receives 220 bytes of data (180 bytes of application layer data + 20 bytes of TCP header + 20 bytes of IP header) from network A. As maximum packet size of network B is 100 bytes (data of 80 bytes + 20 bytes IP header), for network B, out of 220 Bytes, 200 bytes would be of data or payload (180 bytes of application layer data + 20 bytes of TCP header) and 20 bytes of IP header. Network B now removes the 20 bytes header. Out of 200 bytes of data, it uses 80 bytes of data. Thus 1st packet leaving B would be of 100 bytes (Data: 80 bytes, IP header: 20 bytes). Now we have 120 bytes of data remaining. Thus the 2nd packet leaving B would be of 100 bytes (Data: 80 bytes, IP header: 20 bytes). Now we have 40 bytes of data remaining. Thus the 3rd packet leaving B would be of 60 bytes (Data: 40 bytes, IP header: 20 bytes).

Hence, total of 100 + 100 + 60 bytes = 260 bytes would be received by the destination.

7 votes
7 votes
180B application data + 20B TCP header = 200B
For network layer, 200B data is to be sent with 20B header in each packet.

No problem with A, C.
B has maximum packet size 100.

We will split  200 as  80+80+40
(80+20), (80+20), (40+20)= 260  (Ans)
Answer:

Related questions

52 votes
52 votes
5 answers
3
Kathleen asked Sep 18, 2014
17,215 views
The routing table of a router is shown below:$$\begin{array}{|l|l|l|} \hline \textbf {Destination} & \textbf {Subnet Mask} & \textbf{Interface} \\\hline \text {128.75.4...