学习一下ns中的第一个演示样例脚本。first.py。这个演示样例模拟一个Echo服务和client之间的通信。
1.1 导入所须要的库
ns3的每个模块都有一个相应的用C++开发的dll。在python下也有一个相应的模块,使用前必须先导入所须要的模块:
import ns.applications
import ns.core
import ns.internet
import ns.network
import ns.point_to_point
import ns.netanim
1.2 创建节点
NS3中的一个节点代表一台能够加入诸如协议栈,应用以及外设卡等等东西的计算机。
在first.py中使用以下的python语句能够创建我们须要的节点:
nodes= ns.network.NodeContainer()
nodes.Create(2)
这里的NodeContainer提供了一种简便的方式来创建、管理和使用不论什么节点对象,我们用这些节点来运行模拟器。
1.3 构建拓扑
上面的脚本中只创建了所须要的两个节点,但他们所代表的节点什么都没有做。构建拓扑的下一步是把我们的节点连接到一个网络中。
我们所支持的最简单的网络形式是一个在两个节点之间单独的point-to-point连接。我们在此会构建一个此类连接。
pointToPoint= ns.point_to_point.PointToPointHelper()
pointToPoint.SetDeviceAttribute("DataRate",ns.core.StringValue("5Mbps"))
pointToPoint.SetChannelAttribute("Delay",ns.core.StringValue("2ms"))
devices= pointToPoint.Install(nodes)
这里的DataRate和Delay是这个点对点连接的两个属性。
在Install之后能够得到一个NetDeviceContainer对象。