a packet belonging to a message. The Bundling Protocol ( 5050) [@rfc5050] influenced our data packet header design, but our protocols do not implement the Bundling Protocol. The PacketEpidemic implementation does not have a header for message layer, instead, it uses only packets as the base unit of data with the address identifying source and destination nodes.

Each data packet header contains a Message Identification Number, last hop, packet count, and packet index. The Message Identification Number in Figure \[fig:MsgID\] is a 64-bit unsigned integer derived from the source Node Identification Number and timestamp. The first 16-bits of the Message Identification Number are the source Node Identification Number. The last 48-bits are the message’s generation timestamp in microseconds. The source Node Identification Number used by the packet header is the node number from , which automatically assigns a unique integer to every node in the simulation.

[32]{}\
&\
\

[32]{}\
\
& [ 0 ]{}\
[ 0 ]{} & [ 0 ]{}\
[ 0 ]{}\

The range of scenarios we expect to simulate require a node to generate several messages in a millisecond at most, but will not require generation of more than one message in a microsecond. The timestamp 