[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ns] TCP implementation problem



Dear users,
I am an older user of ns2 and till now I never simulated the transport layer. Now, I need to do it. So I have used a FTP Traffic source on TCP agent attached to a node and have connected it to a TCPSink attached to another node. The two nodes are tied by a classic no-loss duplex link. Once the simulation ran , I have seen that the TCP sender get into slow start several times and so doesn't use all link bandwidth. Obviously, this behavior is due to timeout expiration. I find out that this phenomena is related to the ns2 TCP implementation, because the TCP agent sends all the cwnd allowed segments AT THE SAME TIME towards the IP layer that, consequently, buffer them (on link object). 
This implies :
 
i) the possibility of loss for buffer space absence;
ii) timeout expiration because the TCP timers are wrong started before the real transmission.
 
According to me, for a TCP connection over a DEDICATED link there isn't timeout expiration or segments loss. As a matter of fact, the TCP sends a segment towards the layer interface and waits for a  successfully return from the terminal IP layer before to sends the next segment (RFC791 section 3.3). The terminal IP layer have a small transmission buffer and sends the successfully return only if there is enough buffer space. This inter-layers signaling is not simulated in ns2 and so we have the consequences previously outlined.
 
Is it right that attach a TCP to a node in ns2 is like to have a terminal connected to the node with an infinite bandwidth ?
 
If it is true, can somebody tell me how to simulate a TCP terminal connected to a node with limited bandwidth ?
 
Thank in advance.
 
 
---------------------------------------
 Andrea Detti                                          
 Dip. Ingegneria Elettronica
 Universita' di Roma "Tor Vergata"
 Via di Tor Vergata 110, 00133 Roma, Italy                              
 Tel.: +39-06-7259-7447
 Fax : +39-06-7259-7435
 Mobile: +39-338-2932697
 email: [email protected]
---------------------------------------