edited by
21,077 views
71 votes
71 votes

A router has two full-duplex Ethernet interfaces each operating at $100$ $\text{Mb/s}$. Ethernet frames are at least $84$ $\text{bytes}$ long (including the Preamble and the Inter-Packet-Gap). The maximum packet processing time at the router for wirespeed forwarding to be possible is (in micro­seconds)

  1. $0.01$
  2. $3.36$
  3. $6.72$
  4. $8$
edited by

7 Answers

Best answer
18 votes
18 votes
Two full-duplex Ethernet interfaces operating at $100$ Mbps means the total data transfer rate to the router is $200$ Mbps. (Whether full duplex or half, we just need to consider the bandwidth as that determines the speed of data arrival to the router.)
    
Maximum packet processing time allowed for wirespeed (no delay) forwarding $= \frac{84\times 8}{200} \mu s = 3.36\mu s.$

(The router operating at wirespeed means it should be fast enough to process the incoming traffic without causing a delay for transmission)
edited by
170 votes
170 votes

Here router has two incoming/outgoing hardware that is full-duplex which means we can send and receive at the same time. 

Transmission time is $6.72$ (How to get this Transmission time = Packet size / Bandwidth) 

Transmission time is time for a packet to get out/in of wire. Also, assume even though the router has two incoming/outgoing hardware but it has a single processing unit.

Now assume that at $t=0$ router is free. At $t=6.72$ two packets, $p_{1}\;\&\; p_{2}$ arrived from two incoming/outgoing hardware.  Now next slot of two packets will arrive at $6.72+6.72$ before that processing of these two packets must be completed so that there will not be any kind of delay. Hence we just have  $6.72$ maximum times to process each packet, hence for each packet, we can devote a maximum of $3.36.$

Hence the answer is $3.36.$

Now for further explanation, I will show when the first two packets are processed. At $t=0$ both packets start coming out of wire, at $t=6.72$ both packets completely coming out of wire, and we start the processing of one of them (let's say $p_{1}$) and next packets $p_{3}, p_{4}$ starts coming out.

At $t=6.72+3.36$ processing of $p_{1}$ done, start transmitting it through port $1$. 

At $t=6.72+ 6.72$ processing of $p_{2}$ done start transmitting it through port $2$.

At this time next packets $p_{3} \;\&\; p_{4}$ arrived, and we start processing one of them (let's say $p_{3}$), at t=6.72+6.72+3.36 p1 completely transmitted., processing of p3 done, start transmitting it through port $1\;($as port $2$ is busy in transmitting packet $2)$ 

At $t=6.72+6.72+6.72$ transmitting of $p_{2}$ done. processing of $p_{4}$ done starts transmitting it through port $2,$ next packets $p_{5} \;\&\; p_{6}$ arrived.

.

.

.

continue 

edited by
76 votes
76 votes

Here we need at least enough speed that we are able to transmit packets in a speed we get them !

We have got $2$ Full duplex ports, each operating at $100$ $Mb/s$. So we require incoming packets with $200$ $Mbps$, so that we can sent out data at $200$ $Mbps$ over the two interfaces.

For each packet to come In router, you will need transmission. Time, in case of single $84$ $byte$ packet you will get it as $6.72$ microsecond.

Now, D is simply wrong. You take $8$ Microsecond to process, soon you will have pile of packets waiting (Processing > Transmission), and we are getting $2$ packets per $6.72$ micro seconds as input.

C is wrong, here we can get $6.72$ micro seconds packets & we are barely able to process $1$ packet in that time. So, every processing time our Queue will increase size by $1$ & get full and overflow.

B & A are okay.

A is best though as we are asked to give maximum,.

B is answer.

Assume that in B you got 2 packet at time 0, by time 3.36 you can start sending packet 1, by 6.72 packet 2. By 6.72 you got 2 more packet. By time you finish processing Packet no 3, first port where you started processing with 3.36 is free, so you can start sending Packet 3 and  so on !

Reference: https://en.wikipedia.org/wiki/Wire_speed

edited by
12 votes
12 votes

For maintaining the speed of forwarding of wire, i.e. $100\text{ Mbps},$ processing
time should be at most same as minimum transmission time.
(Otherwise the packet will be delayed for transmission due to processing). 

i.e. $\dfrac{84\times 8\text{ bits}}{100\text{ Mbps}}=6.72\text{ micro seconds}$.

Ref: https://en.wikipedia.org/wiki/Wire_speed

PS: Wire speed doesn't imply a packet is sent without any waiting time.
It just means receiving and sending rates are the maximum possible. 

edited by
Answer:

Related questions