NS2:RTS阈值(RTSThreshold)的意义

理解NS2中的RTS阈值设定
NS2中,RTS阈值用于决定无线帧发送前是否需要发送RTS。如果帧大小小于RTS阈值或为广播包,则不发送RTS以提高吞吐量。在sendRTS()函数中,通过比较帧大小和RTSThreshold来决定是否创建并发送RTS包。

一个无线帧的大小如果超过设置的RTS阈值,才发送RTS;否则,为保证吞吐量和空口环境的平衡,不发送RTS。

void
Mac802_11::sendRTS(int dst)    //creact a RTS packet and store it in the buffer pktRTS_
{
	Packet *p = Packet::alloc();
	hdr_cmn* ch = HDR_CMN(p);
	struct rts_frame *rf = (struct rts_frame*)p->access(hdr_mac::offset_);
	
	assert(pktTx_);
	assert(pktRTS_ == 0);

	/*
	 *  If the size of the packet is larger than the
	 *  RTSThreshold, then perform the RTS/CTS exchange.
	 */
	if( (u_int32_t) HDR_CMN(pktTx_)->size() < macmib_.getRTSThreshold() ||
            (u_int32_t) dst == MAC_BROADCAST) {
		Packet::free(p);
		return;
	}

	ch->uid() = 0;
	ch->ptype() = PT_MAC;
	ch->size() = phymib_.getRTSlen();
	ch-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值