How are you doing, beautiful people?
This is how your network packets look like
Take a look at this:

Pretty cool, right?
The metadata in your packets
But hey, there's more to your packets than just data. You also have metadata, which usually consists of a header and other information about the packet.
Let me show you:
So your packet has a header, and other metadata about it. This can be super important for the network to know what to do with your packet.
Another example of packet structure
Check out this packet structure:

As you can see, the metadata is separate from the actual data being transmitted. This allows for more information to be sent along with the packet itself.
ns-3 packet metadata
To dive deeper into the metadata of your packets, check out the ns-3::PacketMetadata Class Reference:

The ns-3 library has a handy class for working with packet metadata, which can make it easier to handle and manipulate your packets.
Another example of packet structure with metadata
Here's another example of packet structure with metadata:

Again, notice how the metadata is separate from the actual data being transmitted. This is important for making sure that the network can properly handle your packets.
ns-3 packet metadata class reference
Let's dive even deeper into packet metadata with the ns-3::PacketMetadata Class Reference:

This class is specifically designed for working with packet metadata in ns-3, and can be incredibly useful for debugging and understanding the network traffic.
Packet structure with metadata and data
Here is one more example of packet structure with metadata and data:

Again, you can see that the metadata and data are distinct entities within the packet itself.
General metadata set
If you want to get really deep into packet metadata, take a look at this subset of the General package of the proposed metadata-set:

This represents just a small portion of the available metadata that can be included with your packets. This information can be used by routers and other network devices to determine the most efficient paths for your packets to take.
Conclusion
As you can see, packets are more than just data being transmitted over the network. They also contain metadata, which can be incredibly useful for ensuring that your packets get to their destination as quickly and efficiently as possible.
By understanding the structure of packets and the metadata that can be included with them, you can gain a deeper understanding of how networks operate and how to optimize your own network traffic.