实施提供的模块化使得WifiNetDevice低级别配置强大但是复杂;出于这个原因,提供了一些助手类用简单的方式执行常见操作,并充分利用ns-3的属性系统以允许用户控制底层模型的参数化。
使用低级别ns-3 API 以及希望添加WifiNetDevice到节点的用户,必须创建一个实例化的WifiNetDevice,再增加些一定数目的对象,适当地将它们绑定在一起(WifiNetDevice 在这方面是非常模块化的,为了未来的 可扩展性)。对于低级别的API ,约20行代码就可以做到(见 ns3:: WifiHelper::Install 和 ns3::YansWifiPhyHelper::Create)。它们还必须建立一个WifiChannel,其中还包含了一些组成对象(ns3::YansWifiChannelHelper的::Create)。
但是,一些助手允许用户增加设备和信道,仅仅用几行代码,如果它们愿意使用默认值,以及助手提供额外的API 允许通过属性值来改变默认值。常用的属性值在属性章节中列出,在examples/wireless中的脚本可以看出是怎样做到的。接下来我们描述了从底层(WifiChannel)开始直到设备层(WifiNetDevice)创建WifiNetDevice的过程。
创建一个无线网络设备,用户需要配置主要的五个步骤:
1、配置WifiChannel:
无线信道负责从一个设备向其他设备在同一WiFi信道得到信号 。无线信道的主要配置是传播损耗模型和传输延迟模型。
2、配置WifiPhy:
无线物理层负责从无线信道 发送和接收的无线信号 ;在这里,无线PHY根据接收到的信号强度和噪声,决定每帧是否被成功解码;
因此,无线物理层的主要配置是错误率的模型,这是一个计算