Skip to content

Patching old version of ns2 for installing DCCP Protocol

The DCCP Patching proceedure

This is a simple procedure but it may consume few minutes / few weeks or even few months for an average student/scholar.
Note: dccp is not readily available in ns2 versions < ns2.35.

If you can install ns2.35, then there is no need to install dccp patch – ns2.35 contains dccp by default.
The following is the procedure for installing the dccp patch on ns2.31. (it may be a very hard procedure – if you are having bad luck)

1. Install a working version of ns-2.31 (for this follow the previously given ns2.28 installation procedure)
2. Test its good working (ns and nam – because we will need them to check the example tcl)
3. unzip the file dccp-ns2.31.zip under ns-allinone-2.31ns-2.31
4. After that, there will be a file “ns-linux-2.31.patch” under ns-allinone-2.31ns-2.31
5. Run the following command in Linux/Cygwin terminal
# patch -p1 < ns-linux-2.31.patch
The above command will create a directory dccp under the folder “ns-allinone-2.31ns-2.31”. Further, it will do modifications to some other important files in the ns2 directory tree.

Make sure that “ns-allinone-2.31ns-2.31Makefile” contains the following lines under the section “OBJ_CC = “

wpan/p802_15_4trace.o wpan/p802_15_4transac.o
dccp/dccp_sb.o
dccp/dccp_opt.o
dccp/dccp_ackv.o
dccp/dccp_packets.o
dccp/dccp.o
dccp/dccp_tcplike.o
dccp/dccp_tfrc.o
$(OBJ_STL)

6. After this, you have to recompile ns2 again as follows :

#make clean
# make
# make install (“make install” is not necessary if you are editing .bash_profile as per my previous ns2.28 installation instructions
– of course, you have to include the paths in .bash_profile according to your ns2.31 version )

7. testing the successful installation of dccp :

unzip the dccp-wireless.zip file (this is the original TCL file from the dccp project page)

# ns dccp-wireless.tcl

It should not raise any errors. At the end of the simulation, it will create simple.tr and simple.nam

you may visualize the simulated, simple network as follows:

# nam simple.nam

This is a very very simple procedure that will consume only a few minutes.

But, sometimes, for a scholar/student, the first two steps may consume several weeks or months by showing a lot of errors.

If you can not able to  install dccp on ns2.31, then you have to install ns2.35 (preferably on Linux – because, installing ns2.35 under Cygwin is somewhat more complex than the installation of dccp itself)

The following output shows a typical comparison of performance :
dccp

Leave a Reply

WhatsApp Discuss Through WhatsApp