Passion/NS

broadcast 질문 @ 답변들

sunshout 2006. 9. 24. 16:45
I want to BroadCast packet using MAC 802.11
How can I guarantee that the "air" around me are clear before broadcast =
if we have this code in mac-802_11.CC

Mac802_11::sendRTS(int dst)
{
    ...=20
    /*
     *  If the size of the packet is larger than the
     *  RTSThreshold, then perform the RTS/CTS exchange.
     *
     *  XXX: also skip if destination is a broadcast
     */
    if( (u_int32_t) HDR_CMN(pktTx_)->size() < macmib_->RTSThreshold ||
           (u_int32_t) dst =3D=3D MAC_BROADCAST) {
         printf("dst=3D%x \n",dst);
         Packet::free(p);
         //p =3D 0;
         return;
    }
  .....
}

== 답변 ==
Hi,

RTS/CTS is not used to ensure that the "air" is clear. It is used
to protect against hidden nodes.

The main mechanism that 802.11 uses to avoid collisions is the
random backoff, which is used after a failed or a succesfull
transmission. As a broadcast or multicast message is always
considered succesfull, there will always be a post backoff
period with a random delay to avoid collisions.