Subject: [manet] Carrier sense threshold/range control

From: Ram Ramanathan <[email-masked]>
Date: Wed, 09 Jul 2003 12:08:35 -0400

I am looking for pointers to research on the control of carrier sensing 
range in lieu of using RTS/CTS to address the hidden node problem?

To elaborate, the threshold for when carrier is declared to be "sensed" 
can be adjusted in many radios. Using this facility, one could possibly
make the "carrier sense range" approximately twice the "communication range"
(successful packet reception), and detect hidden nodes.

This is by no means a new idea, and I vaguely recally some mention of
it on this list. Of course, there are a number of factors that make the 
problem far more complex than the simple statement above indicates, and
it is not immediately clear whether it will be effective at all.

I am looking for papers, tech reports, or any publicly available material
(non-proprietary) on this issue.

Many thanks in advance,

-Ram.

_______________________________________________
manet mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/manet

---

From: Mineo Takai <[email-masked]>
Date: Wed, 09 Jul 2003 09:16:22 -0700

Hello Ram,

This issue was discussed in my part of a tutorial on "MAC protocols for MANET" 
(by Nitin Vaidya, Rajive Bagrodia and Mineo Takai) in MobiHoc 2001. Some of the 
slides seem to have corrupted, but you can take a look at Slides 31 through 34 
of http://www.scalable-networks.com/pdf/mobihocpreso.pdf. I will try 
regenerating the slides and ask them to update.

Regards,

Mineo

---

From: Mineo Takai <[email-masked]>
Date: Wed, 09 Jul 2003 10:02:24 -0700

(I forgot to comment on this in my previous message other than giving a pointer..)

It is possible to avoid many hidden terminal cases by setting the sensing range 
more than twice the communication range, though there are some caveats. We can 
set/adjust the CS threshold, but not the pathloss that is to be determined by 
the environment. The CS range is a function of the CS threshold and pathloss 
(and TX power, antenna gains etc.), so the radio can hardly know what the 
resulting CS range is for a given CS threshold value. We can make each radio 
very sensitive by setting the CS threshold sufficiently low, but that would 
severely limit the network capacity as each radio becomes too conservative for 
signal transmission. Moreover, hidden terminal problems may show up regardless 
of the CS threshold due to irregular pathloss values. Imagine Nodes A, B and C 
are placed in an equal distance from each other (triangular topology), but Nodes 
B and C are obstructed by a wall that completely shuts down the communication 
link between them (pathloss equal to infinity). This clearly creates a hidden 
terminal problem at Node A regardless of the CS threshold. (RTS/CTS should still 
work in this situation.) Finally, other factors (fading, noise sources nearby, 
cumulative interference, interference/noise estimation errors etc.) make the CS 
mechanism less than perfect.

I'm not saying physical carrier sense is useless (In fact, I think it's very 
useful). Virtual carrier sense (RTS/CTS) is not a perfect solution either and 
comes with big overheads.

Mineo

Mineo Takai wrote:
> Hello Ram,
> 
> This issue was discussed in my part of a tutorial on "MAC protocols for 
> MANET" (by Nitin Vaidya, Rajive Bagrodia and Mineo Takai) in MobiHoc 
> 2001. Some of the slides seem to have corrupted, but you can take a look 
> at Slides 31 through 34 of 
> http://www.scalable-networks.com/pdf/mobihocpreso.pdf. I will try 
>> I am looking for pointers to research on the control of carrier 
>> sensing range in lieu of using RTS/CTS to address the hidden node 
>> problem?
>>
>> To elaborate, the threshold for when carrier is declared to be 
>> "sensed" can be adjusted in many radios. Using this facility, one 
>> could possibly
>> it on this list. Of course, there are a number of factors that make 
>> the problem far more complex than the simple statement above 
>> indicates, and

---

From: Ram Ramanathan <[email-masked]>
Date: Wed, 09 Jul 2003 15:37:06 -0400

> Date: Wed, 09 Jul 2003 10:02:24 -0700
> From: Mineo Takai <[email-masked]>
> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02
> X-Accept-Language: en-us, en
> MIME-Version: 1.0
> To: Ram Ramanathan <[email-masked]>
> Cc: [email-masked]
> Subject: Re: [manet] Carrier sense threshold/range control
> References: <[email-masked]> <[email-masked]>
> Content-Type: text/plain; charset=us-ascii; format=flowed
> Content-Transfer-Encoding: 7bit
> X-Spam-Status: NO
> X-Scanned-By: MIMEDefang 2.28 (www . roaringpenguin . com / mimedefang)
> X-Scanned-By: MIMEDefang 2.19 (www . roaringpenguin . com / mimedefang)
> 

.. SNIP..

> comes with big overheads.

Precisely. RTS/CTS also has the exposed terminal problem which is akin 
to being over-conservative on the sensing threshold (although not quite
as bad). From your slides it seems like they are kind of competitive even 
if CS range is less than twice Comm range. 

So if I have two crummy mechanisms, why not choose the simpler one:)

I am not arguing a case here. Just wanted to know if someone has done
a detailed comparision. Your tutorial comes closest, but is there a paper?

-Ram.

---

From: "[email-masked]" <[email-masked]>
Date: Wed, 9 Jul 2003 15:51:43 -0400 (EDT)

Hi Ram,

Actually, that's not entirely correct - the RTS/CTS dialogue will *in
principle* solve both the hidden- and the exposed-terminal problems. The
issue is that in practical situations it may fail, more specifically when
some of the control messages (RTS or CTS) are lost due to transmission
errors, mobility, etc.

There are a few papers relevant here. The first is the original MACA paper
by Phil Karn that discusses the use of RTS/CTS instead of CS. The next is
the MACAW paper that solves some residual problems for an indoor IR network
(fairness, etc). Finally, there is our Dual Busy Tone Multiple Access
(DBTMA) paper:

	Zygmunt J. Haas and Jing Deng, "Dual Busy Tone Multiple Access (DBTMA)
	- A Multiple Access Control for Ad Hoc Networks," IEEE Transactions on
	Communications, vol. 50, no. 6, June 2002, pp. 975-985 

which you can dowload from our web page at:
	http://wnl.ece.cornell.edu/wnlprojects.html
and which contains the references to the MACA and the MACAW papers.

Best,

Zygmunt.
===-==-==
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
Prof. Zygmunt J. Haas http://people.ece.cornell.edu/haas Wireless Networks
Laboratory http://wnl.ece.cornell.edu School of Electrical Engineering
Cornell University tel: +1-607-255-3454 323 Frank Rhodes Hall fax:
+1-607-255-9072 Ithaca, NY 14853 e-mail: [email-masked] U.S.A
Act	WNL web page: http://wnl.ece.cornell.edu
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-

---

From: [email-masked]
Date: Wed, 09 Jul 2003 13:34:24 -0700

> some of the control messages (RTS or CTS) are lost due to transmission

The problem with exposed terminals is that a node does not transmit
even when it should (the opposite of the hidden terminal problem).  
RTS/CTS and CS both have the exposed terminal problem.
Here is an illustration of the exposed terminal problem:
  http://pcl.cs.ucla.edu/slides/workshop99/Ken-pw99/sld009.htm

Richard

---

From: "[email-masked]" <[email-masked]>
Date: Wed, 9 Jul 2003 16:45:50 -0400 (EDT)

Hi Richard,

>   http://pcl.cs.ucla.edu/slides/workshop99/Ken-pw99/sld009.htm

Yes, CS has the exposed terminal problem, but not RTS/CTS. In the slide
that you have referenced, B transmits to A and C wants to transmit to D.
When B send the RTS, it (temporarily) disables C from transmitting (for
the duration of the RTS/CTS dialogue *only*). When A replies with CTS,
this CTS is NOT heard by C (it is out of range), thus this CTS does not
disable C from issuing RTS to D and (after this RTS/CTS dialogue
concludes) transmit to D.

The bottom line, B can send to A while C sends to D; i.e., no exposed
terminal exists here.

All this is in the original paper by Phil Karn on MACA.

However, RTS/CTS dialogue will fail to solve the hidden-terminal problem 
due to issues such as transmission errors, propagation delay, mobility, etc.

Zygmunt.
==-=-====
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
Prof. Zygmunt J. Haas                    http://people.ece.cornell.edu/haas 
Wireless Networks Laboratory		 http://wnl.ece.cornell.edu
School of Electrical Engineering         
Cornell University			 tel: +1-607-255-3454
323 Frank Rhodes Hall			 fax: +1-607-255-9072
Ithaca, NY 14853			 e-mail: [email-masked]
U.S.A                             
	WNL web page: http://wnl.ece.cornell.edu
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-

---

From: "Dmitri D. Perkins" <[email-masked]>
Date: Wed, 9 Jul 2003 16:25:01 -0500 (CDT)

Dr. Haas,

Using the illustration referenced and assuming an RTS/CTS/DATA/ACK
transmission scenario, the RTS must disable all nodes within range of
B (since B must also recieve an ACK from A). Using the same illustration,
if C is allowed transmit to D while B is transmitting to A, how will be
B receive and ACK from A? It may now send C's transmission will like
interfere.

Thus, the duration field of the RTS message must forced neigboring nodes
to remain silent long enough for the sender (node B) to receive a CTS from
node A + send a data frame to node A + recv an ACK from node A. The RTS
duration field will also need to account for DIFS and SIFS (interframe
spacing).

Now, if no ACK (an unreliable MAC) are used C should be allowed to
transmit, but performance will suffer due to wireless channel effects.

Thanks,
Dmitri Perkins

==================================================
Dr. Dmitri D. Perkins, Assistant Professor
The Center for Advanced Computer Studies
University of Louisiana at Lafayette
P.O. Box 44330, Lafayette, LA 70504-4330

office: (337)482-6732	fax: (337)482-5791
http://www.cacs.louisiana.edu/~perkins
==================================================

---

From: John Stine <[email-masked]>
Date: Wed, 09 Jul 2003 17:37:20 -0400

> concludes) transmit to D.

But won't C have to wait for a DIFS after the RTS/CTS NAV resulting in enough
time for B to start sending its packet prior to  C sending an  RTS.  C will have
to defer again.

The classic example of an exposed node is the node on a mountain that can hear
two disjoint sections of a network on either side of the mountain.  Call the set
of nodes on one side of the mountain Network A and the nodes on the opposite side
Network B.  Nodes in Network A cannot hear Network B and vise versa.  The exposed
node hears both.  The exposed node is at a disadvantage in gaining access and in
receiving packets.  In order for this node to transmit or receive both sides must
be silent.  The latter is not as obvious.  If a node in network A sends an RTS to
the exposed node and a transmission is already occurring in Network B, the
exposed node cannot respond with a CTS since this may interfere with the
reception in Network B.  Thus the exposed node defers from responding.  The node
that sent the RTS to the exposed node chalks it up as a failure and retries.  It
will be pure chance that the node in network A will initiate a transmission to
the exposed node during a period when Network B is silent.  Certainly if Network
B is silent and the exposed node receives the RTS  from a node in Network A then
the exposed node's CTS will silence Network B.  Geography is not the only thing
that can expose a node.  Disjoint packet flows in an ad hoc network may also
cause a node that hears both to be effectively exposed.  The RTS/CTS handshake
does nothing to prevent this exposure and exacerbates the problem because of the
virtual sensing requirement.

---

From: "[email-masked]" <[email-masked]>
Date: Wed, 9 Jul 2003 17:39:34 -0400 (EDT)

Hi Dmitri,

> B receive and ACK from A? It may now send C's transmission will like

Please note that I referred to the RTS/CTS dialogue only, and not to the
RTS/CTS/DATA/ACK exchange. In the former, there is no need for RTS to disable 
the nodes around the transmitter for more than the duration of the RTS/CTS 
exchange only. Thus, while B transmits DATA to A, C is not disabled and
can transmit to A.

You are correct in saying that RTS/CTS/DATA/ACK dialogue requires to
disable nodes around both, the transmitter and the receiver, just to cover
the ACK going back to the transmitter. But this is not the case in "pure"
RTS/CTS dialogue, where the ACK can be sent on higher layer than the MAC.

Hopes this clarifies the issue.

Zygmunt.
==-==-===

---

From: "Alaa Muqattash" <[email-masked]>
Date: Wed, 9 Jul 2003 15:09:49 -0700

Prof Haas,

So the "pure" RTS/CTS dialogue, where the ACK can be sent on higher layer
than the MAC is *end-to-end* reliability mechanism. A more efficient method
is to use ACK in *each hop* transmission. This would require the MAC layer
to send back the ACK (and not any upper layer), thus, the RTS must silence
nodes in the vicinity of the transmitter. The question is: Would the
advantage MAC reliability (each hop ACK)offset the disadvantage of reserving
the floor around the transmitter?

Best regards,
Alaa Muqattash

=================================================
Alaa Muqattash
Ph.D. Student & Research Assistant
Broadband Networking Laboratory
Dept. of Electrical & Computer Engineering
The University of Arizona
Rm. 109, ECE Bldg.
Tucson AZ 85721
Tel  : (520) 626-9249
Fax  : (520) 621-3862
Email : [email-masked]
Web: http://www.ece.arizona.edu/~alaa/

"Imagination is more important than knowledge"
Albert Einstein
=================================================

----- Original Message -----
From: <[email-masked]>
To: "Dmitri D. Perkins" <[email-masked]>
Cc: <[email-masked]>; "Ram Ramanathan" <[email-masked]>; "Mineo Takai"
<[email-masked]>; <[email-masked]>
Sent: Wednesday, July 09, 2003 2:39 PM
Subject: Re: [manet] Carrier sense threshold/range control

---

From: "[email-masked]" <[email-masked]>
Date: Wed, 9 Jul 2003 18:16:39 -0400 (EDT)

Hi Alaa,

On Wed, 9 Jul 2003, Alaa Muqattash wrote:
> The question is: Would the

There is no simple answer to your question - it depends on the various
parameters of the system, such as the success prob of a single hop,
the (end-to-end) path length, etc.

Zygmunt.
==-=-====

---

From: "John Mullen" <[email-masked]>
Date: Wed, 9 Jul 2003 16:42:45 -0600

Hi Alaa,

The advantage of the link-by-link ACK is primarily that intermediate
nodes can flush the packet from their buffers as soon as they know it
has been sent on.  Without it, a lot of buffer space can be needlessly
tied up.

In many cases, and explicit ACK is not needed.  Say we have A-B-C and A
sends a packet to B intended for C.  If B receives the packet and sends
it to C, in most cases, A will be able to overhear B's transmission and
be able to deduce that B has received the packet.  An explicit ACK would
be needed for the B-C link because C would not retransmit, so B will set
the ACK flag in its transmission.  On the other hand, if C would send an
end-to-end ACK back to A anyways, B would not need to set the flag.  An
ACK would also be needed if A did not hear enough of the retransmitted
packet to know it is B's relay.  Usually, A waits for a timeout and
either resends with a request for an explicit ACK.  In most cases,
however, this is unnecessary, saving the need to ACK.

John Mullen

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of
Alaa Muqattash
Sent: Wednesday, July 09, 2003 3:10 PM
To: [email-masked]; Dmitri D. Perkins
Cc: [email-masked]; Ram Ramanathan; Mineo Takai; [email-masked]
Subject: Re: [manet] Carrier sense threshold/range control 

Prof Haas,

So the "pure" RTS/CTS dialogue, where the ACK can be sent on higher
layer than the MAC is *end-to-end* reliability mechanism. A more
efficient method is to use ACK in *each hop* transmission. This would
require the MAC layer to send back the ACK (and not any upper layer),
thus, the RTS must silence nodes in the vicinity of the transmitter. The
question is: Would the advantage MAC reliability (each hop ACK)offset
the disadvantage of reserving the floor around the transmitter?

Best regards,
Alaa Muqattash

"Imagination is more important than knowledge"
Albert Einstein =================================================

----- Original Message -----
From: <[email-masked]>
To: "Dmitri D. Perkins" <[email-masked]>
Cc: <[email-masked]>; "Ram Ramanathan" <[email-masked]>; "Mineo
Takai" <[email-masked]>; <[email-masked]>
Sent: Wednesday, July 09, 2003 2:39 PM
Subject: Re: [manet] Carrier sense threshold/range control

> > transmission scenario, the RTS must disable all nodes within range 
> > of B (since B must also recieve an ACK from A). Using the same
illustration,
> > if C is allowed transmit to D while B is transmitting to A, how will

> > be B receive and ACK from A? It may now send C's transmission will 
> > like interfere.
>
> Please note that I referred to the RTS/CTS dialogue only, and not to 
> the RTS/CTS/DATA/ACK exchange. In the former, there is no need for RTS

> to
disable
> the nodes around the transmitter for more than the duration of the 
> RTS/CTS exchange only. Thus, while B transmits DATA to A, C is not 
> disabled and can transmit to A.
>
> disable nodes around both, the transmitter and the receiver, just to 
> cover the ACK going back to the transmitter. But this is not the case 
> in "pure" RTS/CTS dialogue, where the ACK can be sent on higher layer 
> than the MAC.
>
> Wireless Networks Laboratory http://wnl.ece.cornell.edu School of 
> Electrical Engineering Cornell University tel: +1-607-255-3454
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
~-