[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ns] Link delay, what is it?



Hello Huan

The delay u specify in the duplex-link method is actually the
propagation delay on that link.
The only kind of link delays the ns2 models are the:

1)Transmission Delay (packetsize/bw)
2)Propagation delay on that link.

The only kind of processing at a link is the transmission of the packet.

Just take a look at the recv(Packet *, Handler*) method of the LinkDelay
class, in delay.cc. You will notice that when a packet is dequed, two
events are scheduled:
1)An event to unblock the queue after the transmission time for that
  packet. The queue has to be blocked after a dequeue, do that
  transmission times of two packets don't overlap.
2)The other event is the receive event of the link target. This event is
  scheduled after (transmission time + propagation delay).

Also take a look at the following method:

Queue::recv(Packet*, Handlker*)
Queue::resume(Racket*, Handler*)

This should make the picture more clear.

I hope that helps
Bye
Arijit
On Thu, 7 Jun 2001, Huan Pham wrote:

>
> Hi NS users,
>
> My understand is that the Delay of a packet over a link consists of 4
> elements:
>
> 1 - Queueing Delay
> 2 - Processing Delay
> 3 - Propogation Delay (negligible for most scenario, excluding satelite)
>
> 4 - Transmission Delay (= packetSize / Bandwidth)
>
> My question is, in NS, when we set a delay for a link, what delay we
> mean here. Of course it not the queueing delay, transmission delay. So I
> believe it must be a sum of the processing delay and the propogation
> delay. IS THAT CORRECT? If so, is that value the same for all packets
> regardless of their packet sizes? It's questionable, as I believe longer
> packets may require more processing time.
>
> Thanks for your reply.
>