无线网络上发包之前都要进行载波侦听,如果未收到ACK,就指数级退避之后重传. 有时候我们为了观察网卡在全力发送数据包时的性能,要禁用CSMA和ACK,这一篇文章先来讨论怎么禁用CSMA,这里提供两种思路,一是通过设置几个寄存器来完成禁CSMA和退避,,在drivers/net/wireless/ath/ath9k/hw.c的ath9k_hw_reset函数最后设置几个寄存器: REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_FORCE_CH_IDLE_HIGH); REG…
无线网络中各个节点不断地广播信标帧,收到某节点的信标帧之后才知道这个节点存在,知道它的网络配置是怎么样的,才能知道应该怎么和它通信. 那么问题来了,禁用了CSMA之后,发送节点全力发送,那么它会永远占用信道,邻居节点的信标帧再也收不到了,那么,等本地对邻居节点保存的信息超时之后,就认为对方节点已经不存在,就无法再正常发送了. 那么知道了原因,解决方案也就很简单了,把这个超时时间设长,长到完全可以满足实验需求就可以了. 打开net/mac80211/ibss.c,就在前几行宏定义里面找到: #de…
上一篇文章讲了如何禁用载波侦听(CSMA)和退避(BACKOFF)的方法,这一篇介绍如何禁用ACK. 禁用ACK主要分为三部分: 1. 在发送端设置不等待ACK回来就继续发送: 2. 在接收端设置收到数据帧之后不返回ACK: 3. (可选)有些地方针对不等待ACK的情况会有WARN等处理措施,把它们去掉. 下面分别来看,首先在发送端设置不等待ACK就继续发送,打开net/mac80211/tx.c,在ieee80211_tx_prepare函数中有这样的判断: if (is_multicast_…
前言:从12年开始做无线驱动相关的工作,到13年大概做了一年半,现在歇了快一年了,以免白学那么久,最近重新整理了一下当时的资料,写一点文章,这方面的帖子比较少,当时碰到过很多问题难以解决,我是用的linux2.6的内核,将来用其他版本的朋友也可能会碰到类似的问题,可以把我的解决方案做一个参考~主要内容是pktgen.iperf使用的注意事项.驱动禁用CSMA.BACKOFF.ACK的方法.速率调整算法源码解读等.后面的几篇文章一一介绍,文章列表. 测试无线性能的pktgen有专用的版本,编译at…
摘自http://blog.csdn.net/huangxy10/article/details/45717793 cURL.1 手册页 名称 cURL - transfer a URL 摘要 cURL[选项] [URL... ] 描述 cURL 是一个向服务器或从服务器传输数据的工具,它支持HTTP .HTTPS. FTP .FTPS .SCP.SFTP.TFTP.DICT.TELNET.LDAP 或FILE 等协议. 该命令设计为无需用户干预即可执行. cURL 提供了一大堆诸如代理支持.用…
CSMA/CA是写入IEEE802.11的无线网络MAC层标准协议,相信看到这篇文章的读者都知道它是用来做什么的.但许多短文对这个协议的解释都有所缺乏,因此本文用状态转换图的形式详细说明协议的工作流程.(好吧其实是作者看到一个状态图有感而发,见参考资料) 请看下面的状态转换图: 其中,CS=1(0)意味着载波被占用(可用),Q=1表示队列中有(无)待发送的帧(frame).感兴趣的读者可以自行推断上述状态代表什么. 好了,首先说明,CS=1还是CS=0是怎么判断呢?有时是通过侦听载波,有时是通过…
以下的帧长有的是指帧的时间长度,帧的时间长度=  帧长/传输时延…
载波侦听多路访问协议  CSMA:Carrier Sense Multiple Access 特点:"先听后发" 改进ALOHA协议的侦听/发送策略  分类 非持续式 持续式 •1-持续CSMA •P-持续CSMA 非持续式  特点: ①经侦听,如果介质空闲,开始发送. ②如果介质忙,则等待一个随机分布的时间,然后重复步骤①.  等待一个随机时间可以减少再次碰撞冲突的可能性.但缺点是 等待时间内介质上没有数据传送,这段时间是浪费的. 持续式(指1-持续式)  特点: …
1.CSMA(载波侦听多路访问协议) CSMA 当其他节点检测到信道被占用时不发送数据.但是当数据发送完后其他节点同时检测到信道为空闲,之后又在同一时刻发送数据,可能再次产生冲突. 2.CSMA/CD(带冲突检测的载波侦听多路访问协议) 由于以太网(Ethernet)成为现存局域网络结构的绝大多形式,CSMA/CD(Carrier Sense Multiple ACcess/Collision Detection)载波监测多址接人协议也成为局域网采用最多的MAC协议.CSMA/CD适宜于总线型局…