The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
x
+28 votes
4.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}$
in Computer Networks by Veteran (99.1k points)
edited by | 4.9k views
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$

3 Answers

+42 votes
Best answer
$\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$
by Veteran (416k points)
edited by
0
@ 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 ?

+2

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?

+11
@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.
0
so we basically have to consider the time elapsed between the time Host at C reciever the first bit and the last bit, right?
0

@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
+2
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.
+1

@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
0

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......?

+67 votes
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}$
by Junior (585 points)
edited by
0
how,

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

 i got overall  260 bytes
+2

set2018

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.

0

 rishu_darkshadow

plz explain how u calculate data rate?

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

set2018 

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

+1

Abhinandan Sharma

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

0
Nice explanation ....
0
Clean and sharp?
+25 votes

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

by Boss (42.7k points)
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

@Samridhi Tyagi

your comment :-

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.

Answer:

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
49,823 questions
54,819 answers
189,571 comments
81,052 users