数据包 Packet
一个NS数据包包含一个报头的堆栈头文件和一个可选的数据空间(见 Figure 12)。"Simple Simulation Example"小节中简要提到, 数据包的报头格式被初始化在创建模拟对象Simulator object后, 所有已注册(或可能用到)的报头,比如 common header通常被任何需要它的对象使用、IP header、TCP header、RTP header (UDP使用RTP header)和 trace header, 并且每个报头的位移(offset of each header)在堆栈中记录。这样做的意义是无论是否一个特定的报头被使用, 一个由所有已注册的报头组成的堆栈被建立在代理分配一个数据包的时候,这样一个网络对象可以访问在数据包堆栈中的任何报头,并使用相应的offset值来处理。
Figure 12. NS Packet Format