ns3

ns3におけるL2スイッチの作り方まとめ

ns3では明示的にスイッチノードが用意されているわけではないので、ノードと CSMAの組み合わせによってスイッチを作り上げる必要がある.その方法のメモ.

方法

スイッチを作成するためにはノード同士を1対1でつなぐリンクを接続ホストの数だけ作成することになる.
具体的には以下のコードのようになる.

for (uint32_t i = 0;i<lan1.GetN();i++){
  NetDeviceContainer link = csmaHelper.Install(NodeContainer(lan.Get(i),swNode));
  swDevs.Add(link.Get(1));
}

lanNodeContainerクラスのオブジェクト、swNodePtr<Node>のオブジェクトである.

そしてswNode内にある複数のNetDeviceをブリッジできるようにするためにはBridgeHelperを利用する.

 BridgeHelper switchHelper;
 switchHelper.Install(swNode,swDevs);

これによりNode内のNetDevice間でのブリッジができるようになった.

BridgeHelperを利用する際には,インストールするノードにIPアドレスが割り振られていないのが前提条件にあるので注意

他にもAP作成時にもこのBridgeHelperは利用する.