我想知道如何在实现 hwmp 的网状拓扑中打印数据包的路由。我不是指整个路由表,而是数据包为了到达目的地而经过的中间节点。
提前致谢,
玛丽
我不确定在哪里,但是您必须能够通过日志文件跟踪数据包!另一方面,如果您对hops 的数量感兴趣,您可以从 FlowMonitor(timeForwarded 指标)中获取它。
如何?
AvrgHopCount= 1 + (flowmon.timesForwarded/flowmon.rxPackets)
您可以使用以下方法打印路由表:
Ipv4GlobalRoutingHelper globalRouting;
Ptr<OutputStreamWrapper> routingStream = Create<OutputStreamWrapper> ("result/leapstar2.routes", std::ios::out);
globalRouting.PrintRoutingTableAllAt (Seconds(0.1), routingStream );
你可以这样做:
YansWifiPhyHelper wifiPhy = YansWifiPhyHelper::Default ();
....
....
....
....
AsciiTraceHelper ascii;
wifiPhy.EnableAsciiAll (ascii.CreateFileStream ("wifi-simple-adhoc-grid.tr"));
这将创建一个名为 的跟踪文件wifi-simple-adhoc-grid.tr
,您可以对其进行分析以确定每个数据包的路由。参见示例examples/wireless/wifi-simple-adhoc-grid.cc