代码之家  ›  专栏  ›  技术社区  ›  peshraw hama hama

是否有方法将相关MN连接到接入点?

  •  0
  • peshraw hama hama  · 技术社区  · 9 年前

    我正在使用INET,并希望模拟一个由三个接入点(AP)和一个移动节点(MN)组成的场景,每个AP是否在其范围内有其他关联的MN,我希望的是:当MN(在我的场景中)四处移动并从AP获得信标时,在与AP关联之前,我可以获得与每个AP关联的其他MN的数量吗?我探索了许多源代码,发现了MACaddressTable和类似于ieee80211MgmtAP中的stalister的东西,它们对我有用吗?并将它们用作关联MN的总数, 那么我如何评估斯大林主义者的长度?或MACaddressTable?

    否则我必须在AP侧放置一个计数器来计数,并通过信标帧发送它?如果是,请给我一些指南或捷径 当做

    1 回复  |  直到 9 年前
        1
  •  1
  •   Jerzy D.    9 年前
    1. 在IEEE 802.11 AP中 没有 发送关于相关站点数量的信息。因此,为了广播这些信息,您必须在IEEE 802.11协议中引入自己的修改/扩展,例如信标帧中的新字段。
    2. 在INET模型中,AP在 staList 地图要在本地计算相关站点的当前数量,可以使用以下代码:

      STAList::const_iterator it; int assocSta = 0; for (it = staList.begin(); it != staList.end(); ++it) { if (it->second.status == ASSOCIATED) assocSta++; }

    如果您想要修改标准信标帧,首先,您必须假设您想要在信标帧中添加新字段的确切位置,例如,在哪个现有字段之后,以及该字段的大小。然后:

    • 添加新文件(例如 int noOfAssociatedStas; )在课堂上 Ieee80211BeaconFrameBody 在文件中 Ieee80211MgmtFrames.msg 和正确的长度 Ieee80211BeaconFrame 释义
    • 在里面 Ieee80211Serializer.cc 之后 else if (dynamic_cast<const Ieee80211BeaconFrame *>(pkt)) 添加新字段的序列化,例如:

      unsigned int numSta = Frame->getBody().getNoOfAssociatedStas(); b.writeByte(numSta); // assuming that the new field is 1 byte length

    • 在里面 Iee80211串行器cc 在里面 deserialize 添加新字段的反序列化,在 case 0x80: //ST_BEACON 例如:
      unsigned int numSta = b.readByte();

    请注意,添加新文件的位置(第二个项目符号)必须与读取文件的位置完全匹配(第三个)。