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));
}
lan
はNodeContainer
クラスのオブジェクト、swNode
はPtr<Node>
のオブジェクトである.
そしてswNode
内にある複数のNetDeviceをブリッジできるようにするためにはBridgeHelper
を利用する.
BridgeHelper switchHelper;
switchHelper.Install(swNode,swDevs);
これによりNode内のNetDevice間でのブリッジができるようになった.
BridgeHelperを利用する際には,インストールするノードにIPアドレスが割り振られていないのが前提条件にあるので注意
他にもAP作成時にもこのBridgeHelperは利用する.