Bug 67

Summary: separation of TCP and IP headers
Product: ns-3 Reporter: Toby Moncaster <toby.moncaster>
Component: internetAssignee: ns-bugs <ns-bugs>
Status: RESOLVED FIXED    
Severity: enhancement Keywords: feature-request
Priority: P5    
Version: pre-release   
Hardware: PC   
OS: Linux   

Description Toby Moncaster 2007-08-07 10:48:20 UTC
We have been working on writing NS2 models of network-layer congestion control protocols. One of the problems we have encountered is that NS2 doesn't properly separate the functionality of TCP and IP and in particular doesn't correctly separate their headers.

Can I just check whether there is the intention to do thiings differently in NS3? It would be far easier for our simulaiton models if we were able to directly manipulate the IP and TCP headers at the bit level. The nearest NS2 currently seems to get to this is the tcp_flags field in tcp.h It would be good if this approach could be repeated for all the header fields in both TCp and IP
Comment 1 Tom Henderson 2007-08-08 00:08:19 UTC
Toby,
If you want to follow up on this discussion, please send it to ns-developers list.

we do plan to have more faithful representation of transport and IP headers in ns-3.  the packet format is natively serialized for emulation, so you should have access to change whatever fields you want, but typically through a C++ class that provides access methods on the header fields.  Actually, the current code in ns-3-dev for Ipv4 and UDP should show an example of this.

Here is some more on the ns-3 packet design:
http://www.nsnam.org/docs/architecture/node25.html