关于Packet类的详解和成员函数的介绍:https://www.nsnam.org/docs/release/3.12/doxygen/classns3_1_1_packet.html#details
以下为部分翻译:
Detailed Description
network packets
每个网络包包含一个字节缓冲区,一组字节标签(bytes tags),一组数据包标签(packet tags)和元数据(metadata)。
1、字节缓冲区以序列化内容的形式存储着一个数据包的头和尾。 这些头部的序列化表示被期待和实际网络数据包的位数匹配(尽管没有强制您这样做),这意味着包缓冲区的内容相当于真实数据包的内容。(注:也就是说,字节缓冲区里存储的是packet的头部和尾部)
2、元数据描述了在字节缓冲区中序列化的头部和尾部的类型。 默认情况下,元数据的维护是可选的和禁用的。 要启用它,您必须调用Packet:: EnablePrinting,这将允许您从Packet :: Print和Packet :: Print获取非空输出。如果您只想启用检查元数据,并且不需要任何打印功能,您可以调用Packet :: EnableChecking:其运行时代价低于Packet ::EnablePrinting。
3、该标签集包含不能存储在数据包字节缓冲区中的