Dear reader,
For my graduation project I have to
design network device hardware. Before I start creating a VHDL model for
this, I first want to test and verify some parameters in a simplified
network model. I have not much experience in networking and network
simulators as well. I found this NS3 to be a modular network
simulator which I think can create my system. Only I need some help with
this, because I am not comfortable in programming in C++. The
simplified system I want to simulate can be found in the attachment. I
will explain the concept:
Node 1
Node
1 will have to act as an TCP-source which will sent an inifinite amount
of data to Node 2 over an ethernet link. I want to control the
following paramters:
- TCP parameters:
- Congestion control algorithm
- Recovery algorithm
- TCP-options (like SACK, Timestamp, Wscale)
- Sending datarate
- Ethernet link parameters
Node 2
The second node will have 2 applications running.
- Application 1 will act as a TCP Sink and receive all the packets from node 2 and Acknowledge them.
- Application 2 will send all packets received from node 1 to node 3. (Linktype doesn't matter)
Node 3
The third node will have also 2 applications running:
- Application 1 will receive all the packets coming from node 2 and store them in a buffer
- Application
2 will act as an TCP source which will send all the data from the
buffer to node 4 using TCP. For this TCP source I want to adjust the
following parameters.
- Recovery Algorithm
- TCP-Options (SACK, Timestamp, Wscale)
- Buffersize of node 3
Node 4
This node will solely act as a TCP-sink, only receiving packets from node 3 and acknowledge them.
I don't know how to create an node such as node 2 or 3. Is there somebody who can help me?
Also when I run a simple Server-Client simulation with a datarate of 100Mbps it takes almost 25 (!!) minutes to run. See the "test-tahoe.cc" file. Is this normal to take so long to finish?