整个仿真的目的是为了进一步研究生成结果,其中NS3提供的Tracing系统就是为了这个目的而定制的。
(1)NS3 tracing系统的基本目标是:
1.对于基本的任务,tracing系统允许用户为常用的tracing发送端生产标准的tracing,并且可以定制哪些对象生成tracing。
2.中间的用户必须能够拓展tracing系统来修改生成的输出格式,或者在不修改仿真器核心的情况下,插入新的tracing发送端。
3.高级用户可以修改仿真器核心来增加新的tracing发送端和接收端。
NS3 tracing系统是建立在独立的tracing发送端和接收端概念上,并且有统一的机制来连接发送端和接收端。Trace发送端可以在仿真过程中产生信号事件,并且提供有关数据访问通道。例如,一个trace发送端可以提供一个数据包被一个网络设备接收的时间,并且根据接收端的要求提供此数据包的内容。
Trace发送端自身是没用的,必须和接收端提供的有用信息代码段“相连”。Trace接收端是trace发送端提供的事件和时间的使用者。例如,可以创建一个可以输出数据包有用信息的trace接收端(当连接到之前例子中的trace发送端)。
这种发送端和接收端明确分工的基本原理是允许用户将已有的发送端与新类型的接收端相连,而不需要编辑和重新编译仿真器的核心。因此,上面的例子中,用户可以在他的脚本中定义一个新的tracing接收端,并且可以将其与与仿真核心中第一的tracing接收端相连。
NS3提供两种tracing机制:ASCII码tracing和pcap级别的tracing。
(1.1)ASCII码Tracing
NS3提供了封装底层tracing系统的helper功能,用来提供配置简单数据包的更多细节。如果你使用了这个功能&