[Ns-developers] 802.11 mobility/transmission bug

Laurent Paquereau laurent.paquereau at q2s.ntnu.no
Wed Mar 14 03:40:29 PDT 2007


Michele,

What you describe is not related to 802.11 but to WirelessChannel. Now 
concerning the bug, I do not think there is any but rather that it is 
about setting parameters correctly.

In WirelessChannel, X_LIST_POSITION_UPDATE_INTERVAL decides how often 
the position of node far away from any communication area is updated 
(“far away” depends on distCST_ which itself depends on the propagation 
model used). It affects what I refer to in the following as the 
uncertainty range.

Because the position of a node may not be up to date, a node at a 
distance d in (range, range + 5 × X_LIST_POSITION_UPDATE_INTERVAL), 
where 5 is the default maximal speed (MAX_SPEED), may actually be at a 
distance d'<=range. The uncertainty range UR = range+
MAX_SPEED × X_LIST_POSITION_UPDATE_INTERVAL is the the minimal distance 
such that d > UR implies d' > range. This corresponds to the “safety” 
used in WirelessChannel::sendUp(). The larger 
X_LIST_POSITION_UPDATE_INTERVAL the larger the uncertainty range.

Any node within the uncertainty range of a transmitting node must 
receive a copy of the packet transmitted to ensure that any node
that actually detects the transmission (i.e. actually within carrier 
sensing range i.e., as it is implemented, within a circle
of radius distCST_) receives a copy. The position of such a node is 
updated at the time of transmission regardless the update interval (when 
calculating the propagation delay). On the other hand, the position of a 
node beyond the uncertainty range of any transmitting node is only 
updated every X_LIST_POSITION_UPDATE_INTERVAL.

There is a trade-off between the number of unnecessary packet copies and 
the processing time due to position updates. 
XLIST_POSITION_UPDATE_INTERVAL or/and “safety” should be adjusted (in 
C++) depending on the degree of mobility with
XLIST_POSITION_UPDATE_INTERVAL × maximal speed used <= safety.

Now in the code neither “safety” depends on MAX_SPEED or on 
XLIST_POSITION_UPDATE_INTERVAL nor the condition speed <= MAX_SPEED is 
enforced. Therefore if you use speeds larger than 5m/s and do not modify 
XLIST_POSITION_UPDATE_INTERVAL or/and “safety” you may observe 
differences compared to the case where you update the position of every 
node at each packet transmission (“new stuff” in 
http://mailman.isi.edu/pipermail/ns-users/2004-April/041344.html). There 
should not be any problem when a node enters a communication area if the 
speeds are less than 5m/s.

The solution proposed in “new stuff” consists in updating the position 
of every node at each packet transmission. This may be quite inefficient 
and at least in this case “safety” should be set to 0.

Note that updating the position of every node at each packet 
transmission is what happens when distCST_=DBL_MAX and in this case it 
is relevant to disable list sorting since every packet is copied and 
sent to every node anyway; this is not done in ns2 now. Another point is 
about position information written in trace files. The position of a 
node may be updated at the channel level only. Therefore the position 
information written in a trace may be inaccurate. Finally you might find 
interesting reading http://www.q2s.ntnu.no/~paquerea/ns/mwnode-doc.pdf, 
sections 3.1.2 and 3.2.2.

-Laurent

Michele Weigle wrote:
> I don't know who all this gets sent to, but I just added a tracker entry 
> for a 802.11 bug that I came across on the ns-users list.
> 
> -Michele
> 
> Begin forwarded message:
>> From: "SourceForge.net" <noreply at sourceforge.net>
>> Date: March 13, 2007 10:46:26 AM EDT
>> To: noreply at sourceforge.net
>> Subject: [ nsnam-Bugs-1679890 ] 802.11 mobility/transmission bug
>>
>> Bugs item #1679890, was opened at 2007-03-13 10:46
>> Message generated for change (Tracker Item Submitted) made by Item 
>> Submitter
>> You can respond by visiting:
>> https://sourceforge.net/tracker/?func=detail&atid=775392&aid=1679890&group_id=149743 
>>
>>
>> Please note that this message will contain a full copy of the comment 
>> thread,
>> including the initial issue submission, for this request,
>> not just the latest update.
>> Category: ns-2
>> Group: None
>> Status: Open
>> Resolution: None
>> Priority: 5
>> Private: No
>> Submitted By: Michele Weigle (mweigle)
>> Assigned to: Nobody/Anonymous (nobody)
>> Summary: 802.11 mobility/transmission bug
>>
>> Initial Comment:
>> I happened upon this email to the ns-users list from a while back 
>> describing a problem with 802.11.
>>
>> http://mailman.isi.edu/pipermail/ns-users/2004-April/041344.html
>>
>> "In 2.27 (not 2.26), the nodes are sorted according to their 
>> coordinates so that when an event happens at a particular node, that 
>> node updates its current coordinates and re-positions itself in the list.
>>
>> When a node sends something, the wireless channel looks at the sorted 
>> list and only sends the packets to nodes within the 
>> transmission/interference range.
>>
>> The problem is that the node's position is not updated unless there is 
>> an event happening at that node.  Thus, if you have an isolated node 
>> (A) moving into range with other nodes, unless that node (A) sends 
>> some traffic, it won't receive any traffic from other nodes in its new
>> neighborhood."
>>
>> I recently checked and the code mentioned in the email is still the 
>> same in ns-2.30.
>>
>>
>> ----------------------------------------------------------------------
>>
>> You can respond by visiting:
>> https://sourceforge.net/tracker/?func=detail&atid=775392&aid=1679890&group_id=149743 
>>



More information about the Ns-developers mailing list