# GATE CSE 2004 | Question: 57

10.9k 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 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:$ $1000$ $\text{bytes}$
• $B: 100$   $\text{bytes}$
• $C: 1000$ $\text{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). What is the rate at which application data is transferred to host $H_C$? Ignore errors, acknowledgments, and other overheads.

1. $325.5$ $\text{Kbps}$
2. $354.5$ $\text{Kbps}$
3. $409.6$ $\text{Kbps}$
4. $512.0$ $\text{Kbps}$

edited
0
This is indeed a confusing question because at one hand they say "find rate at which data is transferred and on other hand they say ignore other overheads". Although here overheads means delay of any kind but tcp+ ip header also considered as overhead in that case option B&D both are possible according to comprehension of one individual. They should have been more specific.
0

@Arjun Sir

What if there is another host D and there is a link of $1Mbps$ between $H_C$ to $H_D$ and network $C$ also support MTU of $100bytes$ and we need to find the data rate.

will Data rate be = $\frac{180*8 bits}{1.76ms + 4.0625ms + 2.080ms}$

= $208.62 Kbps$

0

Part 1 of the question :- https://gateoverflow.in/1052/gate2004-56

$\text{Packet A sends an IP packet of 180 bytes of data + 20 bytes of TCP header}$
$\text{+ 20 bytes of IP header to B}$.

IP layer of $B$ now removes $20\text{ bytes}$ of IP header and has $200\text{ 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\text{ bytes}$ of IP headers and $20\text{ 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\text{ bytes}$ of application data are transferred from $A$ to $C$ and this causes $260\text{ bytes}$ to be transferred from $B$ to $C$.

Time to transfer $260\text{ bytes}$ from $\text{B-C}=\dfrac{260\times 8}{(512\times 1000)}$
$=\dfrac{65}{16000}=\dfrac{13}{3200}$.

So, data rate $=\dfrac{180\times 3200}{13}=44.3\text{ kBps}= 44.3 \times 8 = 354.46\text{ kbps}.$

Correct Answer: $B$

edited
1
@ arjun sir time to transfer 260 byte= 13/3200 is ok

then how u calculating datarate ??
0

I don't understand this. Question says what is the rate at which application data is transferred to host Hc ?

3

Why is time calculated only from B to C? Question asks at what rate the Hc recieves the application data?

Application data is generated by Node A, so the time should be calculated for A to B + B to C.

A sends fragments to B, B doesnt forwards them until all fragments of a packet are recieved, after recieving all fragments, it forwards them to C.

All though no option matches this procedure, isnt it the right way to calculate?

24
@PrateekRawat

What you're saying is correct but here there's a stream of packets instead of a single packet. Thus for the first packet, yes time is a->b and then b->c but afterwards just like in pipelining, packets start accumulating and effective rate is same as the rate in the slowest step.
1
so we basically have to consider the time elapsed between the time Host at C reciever the first bit and the last bit, right?
1

@arjun sir,

What does this mean ?

data rate till that slowest part, we need to add time if a faster part follows a slower part

Could u pls explain this one with an example for more understanding

0
I am not getting it . Could u plz explain it thoroughly ?
0
@arjun sir in the diagram  the bandwidth  of the link between  B and C is showing as 512 Mbps  and in question it has  given as 512 kbps.   So which one we should  take ??

I am getting  your  all explanation  whatever  you have explained  below . Just I  got confused by seeing  diagram.

:(
0
data rate =bps

transmission rate/transfer rate=( length of data /bandwidth)sec
3
It takes 1.7ms for the data to be completely present on the link between A and B. And it takes a total time of 4.06ms to put the data completely on the link between B and C. But there is an overlap between the times caused due to pipelining. Since there is no propagation delay mentioned it can be assumed that data put on the line instantaneously appears the other end. Hence by the time the last bit is put on the line by A, the data can start processing at B. Thus the time taken would be MAX(1.76,4.06)ms.
2

@ArjunMathematically speaking the limiting bandwidth will be the dominant factor only when pipeline becomes continuous.By using this formula aren't we ignoring the time lag from network A->B?

0
44.3 kbps=354.46 kbps.  ?

I don't understand this one?

How we got 354.46 kbps from 44.3 kpbs
0
Thank you I got it:D silly question
1

180B should be written as 180*8b

So, data rate = (180*8*3200)/13 = 354461.53b == 354.5Kbps

0

This is actually 44.3 kBps now just convert in bits we have to multiply with 8 and then we got 44.3*8 =354.5Kbps.

0
Arjun sir missed something at the end

The data rate=(180*8*3200)/13

=354.46kbps
0
@ejaz Always remember: no question is silly.

Although I don't believe this personally.
0
If we are considering data rate while pipelining and that too from B to C, why are we even using the given data. Why not just go ahead and say that 512 Kbps is the data rate because it is the slowest part?
0
can you please explain the pipelining concept in this. Normally, after B completely receives the packet, it will fragment right? so, isn't total time taken will be= 5.8225ms
0

Hence by the time the last bit is put on the line by A, the data can start processing at B.

it should be by the time first bit is put on the line......?

2
It is asking for throughput of the network.
Over all bytes received by NETWORK $C =260\text{ bytes}$ (this include tcp header and ip header).

EFFECTIVE DATA TRANSFERRED FROM NETWORK $B$ TO NETWORK $C=180\text{ Byte}.$

HENCE EFFECTIVE EFFICIENCY $= \dfrac{180}{260}\times 512\text{ Kbps}=354.46\text{ Kbps}$

edited
0
how,

EFFECTIVE DATA TRANSFERRED FROM NETWORK B TO NETWORK C=180 Byte.

i got overall  260 bytes
2

B send to C= 260 bytes data=(180+80) bytes

here 180 is actual data which A wants send to C , and

80 is overhead data bcz of TCP and IP header. so effective data is 180 bytes and overhead data is 80 bytes.

1

plz explain how u calculate data rate?

1
can we say that data rate as throughput of the system.
3

effective data rate should be equal to = (actual data to be sent) / total data = 180 / 260

here total data means actual data + overhead data i.e., 180+ 80= 260 bytes

and, EFFECTIVE EFFICIENCY = effective data rate * bandwidth = (180/260)*512 Kbps = 354.46 Kbps

2

Abhinandan Sharma

both are different.. we can say that effective efficiency as throughput of the system.

0
Nice explanation ....
0
Clean and sharp😀
0
Does this means that packet (including data and header) is delivering at rate of 512 Kbps to C and in that C is receiving application data  at an effective rate of  354.4 Kbps
0
this is the best answer thanks bro
0
Kya baat hai Kya baat hai Kya baat hai Sahi hai, Thanks buddy you made my life easier :-)
0
why this is not best answer ?
0
thanks best ans

(B) is correct option, after the delivery of first packet, Host C will receive a new packet for each 4.0625 milliseconds. 0
@manu

there are 3 packets transmitted from B-->C each if size 100 ,100, 60=260 bytes..

then how are u calculating transmission time by taking 260 bytes at a time.

A to B whole 1 packet will be transmitted in 1.76 msec and B will not start transferring packets immediately it will first store them and then fragment them and then transmit them,therefore then from B to C the total transmission time for 3 packets comes out to be 4.06 msec.

correct me if i am wrong?
1

1."it will first store them and then fragment them and then transmit them,"

In question it is said that we are ignoring other overhead like queuing delay and other...

2."then how are u calculating transmission time by taking 260 bytes at a time."

if you calculate transmission time for all  three packet then....100/BW+100/BW+60/BW Or you can also write it as..260/BW

0
ohh okay so u mean 100 bytes will be transmitted as soon as rececived from A by B

then 100 bytes agn and then 60 bytes thus a total time of 4.06msec.

just got a little confused here then exactly how  fragmentation of packet at B..take place?
0
"ohh okay so u mean 100 bytes will be transmitted as soon as rececived from A by B"

not 100 bytes 220 bytes ...fragmentation is done at B not at A...

AND

"just got a little confused here then exactly how  fragmentation of packet at B..take place?"

actually practiclly definite there are some delay for Fragmentation and queuing delay...

0

This is the actual correct explanation because application data rate is the data/time it took to transfer.

the rate at which application data is transferred to host HC

It means Question is asking for Throughput.

We know that, Efficiency = $\frac{Useful Data Bytes Transferred}{Total data Bytes Transferred}$

Here, bottleneck is created by B to C link i.e @ 512 kbps. Effective bandwidth BW = 512 kbps.

$Throughput = \eta * BW$$= \frac{180}{260} * 512 kbps = 354.46 kbps.$

Correct Ans: (B) We are storing 180 bytes of application data at a. now 20 bytes of transport layer data will be added to this and that will be header of transport layer after that network layer will also add its 20 bytes of data as you can see that is also known as network layer header in total vpp transmitting 220 bytes of data in which 200 words is our actual data for transport layer and 20 bytes is network layer had a we will be sending this particular data at a speed of 1 MBPS now when we will be sending this data at we will receive 220 bytes of data in which 20 points of data will be cut off because that was that is network layer header. now this 200 bytes of data will be further divided into three packets of 100 words each as our be will be having hundreds of packet length now in totality we will be seeing that in order to transmit 180 bytes of data we are actually transmitting 260 bytes of data that means efficiency is 9 by 13 into 512kbps because I eventually we will be sending this 512kbps link

1 vote
$Max$ $Packet$ $Size$ $is$ $given$ $in$ $the$ $question$ $to$ $confuse$ $you$

A can send $180B$ of data to B.

As A can send 1000B data in one go so we will send 180B data + 20B TCP header + 20B IP header = 220B packet

B will receive this packet and removes off 20B IP as it is no longer required. It will now send this 200B data in 3 parts each containing max data of 80B as its limit is 100B of packet.

3 packets of 100B 100B and 60B will be made. = 260B

now data rate is original data sent per actual packet being sent.

In a packet of 260B made at B only 180B data is data rest is headers.

so

data rate = $\frac{180}{260}$

and now we will multiply this chunk by 512kbps which is given in the question.

data rate = $\frac{180}{260}*512kbps$

which is equal to Option B 354.5 kbps

Data rate is = Actual Data or useful data / Time

Useful data is = 180 bytes

total data = 260 bytes.

Bandwidth = 512Kbps
That means

8/(512x1000) secs = for 1 byte of data

(8x260)/(512x1000) secs = for 260 bytes of data = 0.0040625

Data Rate = 180 / 0.0040625 = 44307.69230 bytes/sec

which is 354.46 Kb/s

This question and best answer are based on lots of assumptions.

First, while calculating transmitting time = L/B, where L is frame length and not the IP packet.WHY here not considered?NOTE: MTU is maxed frame payload.

->You can argue that nothing is given about frame so, we may consider L here just the packet size. This can be thought behind it and is somewhat reasonable.

Second, taking bottleneck bandwidth and not considering the time elapsed by 1st packet to transmit between A-B will give the correct answer, but is this the right approach?

->Yes, many say we considered bottleneck bandwidth as packets will just accumulate at an intermediate router, so this time(x=260*8/512 ms) will be much bigger than if we include the transmitting time of 1st packet b/w A-B (x+0.8 ms). This approach would have made sense if the message is very large.

By just looking it seems small but it completely changes the answer.

For 1st case, it will be 354.65Kbps

For, 2nd case it will be 296.29Kbps.

If we consider the frame as discussed in 1st point and solve the question by taking minimum frame length then data rate will be much smaller.

This is the best I could have thought of. Don’t know still what is correct and what is not. If you find I am missing some concepts or any arguments are welcomed.

## Related questions

1
14.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 ... the $IP$ layer at the destination for one application message, in the best case? Consider only data packets. $200$ $220$ $240$ $260$
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.43.0} & \text{255.255.255.0} & \text{Eth$ ... $128.75.43.16$ and $192.12.17.10$ respectively? Eth$1$ and Eth$2$ Eth$0$ and Eth$2$ Eth$0$ and Eth$3$ Eth$1$ and Eth$3$
$A$ and $B$ are the only two stations on an Ethernet. Each has a steady queue of frames to send. Both $A$ and $B$ attempt to transmit a frame, collide, and $A$ wins the first backoff race. At the end of this successful transmission by $A$, both $A$ and $B$ attempt to transmit and collide. The probability that $A$ wins the second backoff race is: $0.5$ $0.625$ $0.75$ $1.0$