使用InternetStackHelper给在ns3中创建的节点安装网络协议栈,默认是使用哪个路由协议呢?
查看ns3的src/internet/helper/InternetStackHelper.cc文件,发现默认初始函数如下:
void
InternetStackHelper::Initialize ()
{
SetTcp ("ns3::TcpL4Protocol");
Ipv4StaticRoutingHelper staticRouting;
Ipv4GlobalRoutingHelper globalRouting;
Ipv4ListRoutingHelper listRouting;
Ipv6ListRoutingHelper listRoutingv6;
Ipv6StaticRoutingHelper staticRoutingv6;
listRouting.Add (staticRouting, 0);//staticrouting的优先级为0
listRouting.Add (globalRouting, -10);//globalrouting的优先级为-10
listRoutingv6.Add (staticRoutingv6, 0);
SetRoutingHelper (listRouting);
SetRoutingHelper (listRoutingv6);
}
我们看到默认情况下优先使用的是静态路由协议。