8.4k views

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 | 8.4k views
+3
Can we say the rate at which application data is transferred = application data / total time taken for it to reach host C ?

Here are two method which comes in my mind.

Method 1.

application data = 180 Bytes

and total time taken for it to reach host C = Tab + Tbc

Tab = 220*8/1M

Tbc = (100 + 100 + 60 )8/0.5M

Effective Rate ac = 180*8 / Tac = 180/ (220+260*2)  Mbps = 180/740 Mbps = 243 Kbps

or

Method 2

Effective Rate = useful data/ total data * rate of slowest link (512 Kbps) = 180 / 260 * 512 = 354 Kbps

+5
Method 2 only. We don't need to consider the first part time as data from A-B will get accumulated in B.
0
Thanks  @Arjun :)
+1
@Arjun Sir, will result be the same if we consider first link to be of 512kbps while second one to be of 1mbps?? I mean , in this situation packets won't be accumulated at B...so... So I mean , do we need to consider slowest among two links in this situation also??
+1
@Tushar: No, then we will consider 1 Mbps line bandwidth. Since question is asking data rate at which application data is tranferrred to host Hc. You may ask why not  then consider time of 512kbps line but then what about time taken by packets to travel within the Networks. Also in Network B, packets got fragmented but at the end of Network B packets will get combined again for sending to another network.
0
but rate of slowest link is 1mbps right??
0
@Arjun Sir, what if network B has max packet size of 1000 B then we will wait for entire packet to reach and then we will add time for transmission through 512kbps????
0
how can we ignore time from a to b if data gets accumulated in b?
+32

This might help in visualising

0
Effective Rate = useful data/ total data * rate of slowest link (512 Kbps) = 180 / 260 * 512 = 354 Kbps.

Is this correct formula ? Do we always need to multiply rate of slowest link by efficiecy ?
0
Why defragmentation is not done at b itself.
0
Data should be divisible by 8, but 180 is not divisible by 8.
0
A send data 200(data+TCP header) not 180
0

+1
How is the 20 bytes of TCP Header distributed in the three packets in network B ?? Shouldn't it be present in all the three packets ?? or is it present in a single packet ??
0
So, the link bandwidths of $1 Mbps$ and $500 Kbps$ are totally unnecessary to solve the question since $B$ cannot handle packets larger than $100$ Bytes right?

They would need to be considered if the MTU in network $B$ was larger than $512 Kbps$ .

No one cares.

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$
by Veteran (431k points)
edited
0

here it is 512Mbps given, 260 * 8/(512 * 1000)  shouldn't this be  260 * 8/(512 * 1000000)?

0

Is there any question of similar type ?

0

@Arjun sir,

rate at which application data is transferred to host Hc, thats why we have considered bandwidth between HB and HC.

is it correct ?

0
As, Host C is inside network C, Shouldn't the router at the beginning of Network C  combine those 3 packets as the capacity of Network C is 1000 Bytes ?  So, Host C receives 220 Bytes total ..
+2
The packets will be reassembled at the Destination, not at the routers.
0
Why are the data rates given at all, since they are not asking anything related to that ?

They are only asking how many total bytes will be transferred to the IP layer of the destination in order to deliver 180 bytes of Application data, which is obviously as answered will be 260 bytes.

@Arjun sir
+1
its 512kbps in statement and 512Mbps in diagram
0
@Arjun Sir,

When n/w B receives the 220 bytes of packet and remove the IP header, then it will have 200 TCP data(data+TCP header). So when n/w B will create the packets, don't you think this tcp header should be replicated to all the packets.

Can you please tell me where I am wrong here?
+1
What does the line " Consider only data packets" mean in this question???
0
To calculate throughput, what will be the size of useful data? Will it be 180B ( application layer data) or 200B (payload of IP datagram)?

Thanks.
+1
I Still didn't got the reason why

"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) "

I mean from A to B we are sending data and that is also taking some time. Then why aren't we considering that time?
+7
@Ayush if we have 2 buckets and water is flowing is through them. If 2nd bucket is of smaller capacity than 1st one and it's below 1st then the speed of water will be limited by the smaller bucket right? Same is the case here.
0

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

should be $[80 + 20, 80 + 20 , 40 + 20]$ right?

@Arjun sir

0
What if the Bandwidth are reversed is the case (in place of 1Mbps given is 512kbps and vice versa)then also, do we need to consider bottleneck bandwidth only or how?
0
0

I did it in following way, since fragmentation is done by source router before sending to network B. Correct me if my concept is wrong.

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

by Boss (10.2k points)
+1
Why IP network B removes the header but dont put it back
0
fragmentation and de-fragmentation both must be done by network B.

but here why is it done only at the destination?
0
Why the defragmentation is not done when packet is leaving the network B. Why the defragmentation is done only at sender.
0
nice explanation!!
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)
by Boss (12.4k points)
0
@Ahwan

Can you please let me know that why defragmentation is not done at b itself. Why we are doing the degragmentation at the destination.
0
Defragmentation can't be done at middle of the path because multiple packets may take different paths but finally reaches to the destination, that's the reason reassembly algorithm will be applied at destination only.
+1
Why are we removing the IP header at B?