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

Re: tcpTick



On Wed, 21 Oct 1998 08:44:43 PDT, Chris wrote: 
>Does anyone know why tcpTick is set to 0.1 in ns-defaults.tcl?  Shouldn't
>it be 0.5 in order to emulate TCP's 500ms timer?
>
>I'd really appreciate it if anyone knows and could tell me.

The main reason is that ns' TCP implementation isn't intended to
exactly match BSD's implementation, instead it's a *model* of TCP
that's been simplified to allow easier extension/experimentation.  The
differences between this model and the real world are described below
in a note from Sally (in response to your question) and also in
existing web pages
<http://www-mash.cs.berkeley.edu/ns/ns-limitations.html> and chapter
17 of ns Notes and Documentation.

   -John Heidemann

    Subject: Re: tcpTick 
    Date: Tue, 20 Oct 1998 17:59:24 PDT
    From: Sally Floyd <[email protected]>
    
    >>Does anyone know why tcpTick is set to 0.1 in ns-defaults.tcl?  Shouldn't
    >>it be 0.5 in order to emulate TCP's 500ms timer?
    
    The default is set to 0.1 because there are TCP implementations
    (e.g., the TCP implementations in some Solaris systems, I believe)
    that allow a 100 ms. clock granularity for TCP.  And my own belief
    (and Van's belief, as far as I know, though I could be wrong)
    is that a 100 ms. clock granularity is preferable to a 500 ms.
    clock granularity.  I don't know of any reason why the 500ms
    clock granularity in many BSD TCP implementations should
    be the default in ns.  But it *is* the kind of information
    about "the model implemented in ns" that should be made more
    clear to users.
    
    The effect of tcpTick on the behavior of the retransmit timers
    is illustrated in the validation tests in "test-all-tcp". 
    - Sally
    
    There is a discussion of the role of tcpTick in ns simulations
    in Appendix B of my 1994 paper in IEEE JSAC on "Dynamics of TCP Traffic
    over ATM Networks".