In the previous post, I showed you how to create a “trace file” in NS2. In this post, I will show you the interpretation of an NS2 trace file.
Example of trace files :-
When using trace-all in NS2, a trace string is created in a trace file. The trace file would look like this.
Trace file format :-
The format of a trace string is shown below:
where 12 fields of the trace string are as follows.
1. Type Identifier:
• “+”: a packet enque event
• “-”: a packet deque event
• “r”: a packet reception event
• “d”: a packet drop (e.g., sent to dropHead_) event
• “c”: a packet collision at the MAC level
2. Time: at which the packet tracing string is created .
3-4. Source Node and Destination Node: denote the IDs of the source and the destination nodes of the tracing object.
5. Packet Name: Name of the packet type
6. Packet Size: Size of the packet in bytes.
7. Flags: A 7-digit flag string
• “-”: disable
• 1st = “E”: ECN (Explicit Congestion Notification) echo is enabled.
• 2nd = “P”: the priority in the IP header is enabled.
• 3rd : Not in use
• 4th = “A”: Congestion action
• 5th = “E”: Congestion has occurred.
• 6th = “F”: The TCP fast start is used.
• 7th = “N”: Explicit Congestion Notification (ECN) is on.
8. Flow ID
9-10. Source Address and Destination Address: the format of these two fields is “a.b”, where “a” is the address and “b” is the port.
11. Sequence Number
12. Packet Unique ID