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

Re:Re: Variable BW link?



On Mon, 12 Apr 1999, Tom Henderson wrote:

> Kannan Varadhan has cautioned that you need to be careful about
> changing (decreasing) link bandwidth or delay when there are packets in
> flight or in the queue-- causality, or even the semantics of the link
> (e.g., partially overlapping packets), could be violated.

This is the sort of thing I've been worrying about for some time in
other cases as well - what happens to (wireless, say) packets in
flight when the end of a link that has sent them fails?

(This can be thought of as equivalent to decreasing link bandwidth to
zero; you drop the link rather than an end, which isn't realistic -
this gruntle probably comes under network dynamics in ch. 17.4.) 

Simply dropping a link to see how a multicast tree changes in a
satellite network effectively violates causality for my simulations...

cheers,

L.

> >> I'm trying a variable bandwidth link.
> >> But, it seems that there is just fixed bandwidth link in ns.
> >> Do you know about a variable bandwidth link module?
> >
> >Both delay_ and bandwidth_ are bound variables-- so you should be able
> >to change them dynamically.  You first need to obtain a handle to your
> >Link object (through the link_ associative array), then access
> >the "link_" instvar, which corresponds to a "DelayLink" object in C++.
> >
> >Say you want to change the bandwidth and delay of a simplex link between
> >nodes n1 and n2.  You could do the following:
> >
> >        set i1 [$n1 id]
> >        set i2 [$n2 id]
> >        [[$ns set link_($i1:$i2)] set link_] set bandwidth_ $new_bw
> >        [[$ns set link_($i1:$i2)] set link_] set delay_ $new_delay

<[email protected]>PGP<http://www.ee.surrey.ac.uk/Personal/L.Wood/>