12.07.2015 Views

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Agent/TCP set cwnd_ 0Agent/TCP set awnd_ 0Agent/TCP set ssthresh_ 0Agent/TCP set rtt_ 0Agent/TCP set srtt_ 0Agent/TCP set rttvar_ 0Agent/TCP set backoff_ 0Agent/TCP set maxseq_ 0;# congestion window (packets);# averaged cwnd (experimental);# slow-st<strong>at</strong> threshold (packets);# rtt sample;# smoothed (averaged) rtt;# mean devi<strong>at</strong>ion of rtt samples;# current RTO backoff factor;# max (packet) seq number sentFor many simul<strong>at</strong>io<strong>ns</strong>, few of the configur<strong>at</strong>ion parameters are likely to require modific<strong>at</strong>ion. <strong>The</strong> more commonly modifiedparameters include: window_ <strong>and</strong> packetSize_. <strong>The</strong> first of these bounds the window TCP uses, <strong>and</strong> is co<strong>ns</strong>idered toplay the role of the receiver’s advertised window in real-world TCP (although it remai<strong>ns</strong> co<strong>ns</strong>tant). <strong>The</strong> packet size essentiallyfunctio<strong>ns</strong> like the MSS size in real-world TCP. Changes to these parameters can have a profound effect on the behavior ofTCP. Generally, those TCPs with larger packet sizes, bigger windows, <strong>and</strong> smaller round trip times (a result of the topology<strong>and</strong> congestion) are more agressive in acquiring network b<strong>and</strong>width.34.1.5 Other One-Way TCP SendersReno TCP <strong>The</strong> Reno TCP agent is very similar to the Tahoe TCP agent, except it also includes fast recovery, where thecurrent congestion window is “infl<strong>at</strong>ed” by the number of duplic<strong>at</strong>e ACKs the TCP sender has received before receiving anew ACK. A “new ACK” refers to any ACK with a value higher than the higest seen so far. In addition, the Reno TCP agentdoes not return to slow-start during a fast retra<strong>ns</strong>mit. R<strong>at</strong>her, it reduces sets the congestion window to half the current window<strong>and</strong> resets ssthresh_ to m<strong>at</strong>ch this value.Newreno TCP This agent is based on the Reno TCP agent, but which modifies the action taken when receiving new ACKS.In order to exit fast recovery, the sender must receive an ACK for the highest sequence number sent. Thus, new “partialACKs” (those which represent new ACKs but do not represent an ACK for all outst<strong>and</strong>ing d<strong>at</strong>a) do not defl<strong>at</strong>e the window(<strong>and</strong> possibly lead to a stall, characteristic of Reno).Vegas TCPThis agent implements “Vegas” TCP ([4, 5]). It was contributed by Ted Kuo.Sack TCP This agent implements selective repe<strong>at</strong>, based on selective ACKs provided by the receiver. It follows the ACKscheme described in [23], <strong>and</strong> was developed with M<strong>at</strong>t M<strong>at</strong>his <strong>and</strong> Jamshid Mahdavi.Fack TCP This agent implements “forward ACK” TCP, a modific<strong>at</strong>ion of Sack TCP described in [22].34.2 TCP Receivers (sinks)<strong>The</strong> TCP senders described above represent one-way d<strong>at</strong>a senders. <strong>The</strong>y must peer with a “TCP sink” object.291

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!