Re: Packet size s on CCID3

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

 



Quoting Ian McDonald:
|  I have been discussing the packet size s for CCID3 (TFRC) with my
|  supervisor and also been discussing related issues with Gerrit and I
|  am wondering why we have this?
|  
|  CCID3 is datagram based and the whole point of s is to keep packets at
|  a certain rate per second. In effect provided s is calculated
|  correctly it cancels out of the equation but it becomes more
|  complicated in the code! If it is miscalculated (accidentally or
|  deliberately) it becomes worse because you are either starved or send
|  too much.
|  
|  Why not just calculate a packet rate per second? Or am I missing
|  something obvious?
I think this is confusing, as it mixes implementation issues with the theory.

Theory: 
-------
One cannot remove s since it is part of the underlying model. A good explanation
is in [3, chapter 2].  The throughput equation used for TFRC has the form
                  X  =  s/RTT *  f(loss_rate)
The `s' originates from the TCP throughput equations where it originally meant 
maximum segment size (see [1,2]), which relates to the previous two comments.

Practice:
---------
Both CCID 2 and CCID 3 are for fixed packet sizes (cf sections 5.3 of RFC 4341/2), 
i.e. s is a constant and hence you can indeed normalize the equation by dividing 
both sides of the equation by s.

The problem is that an application may be malicious and alter its sending packet
sizes, rfc3448bis suggests to average such changes out. With regard to the implemen-
tation, it may be good to use a weighted average of the form such as e.g.:
                  s  =  q * len + (1-q) * s
where `len' is either the buffer length at the sender or the size of an incoming
packet at the receiver. 

Gerrit


References:
-----------
[1]          Mathis, Matthew, Jeffrey Semke, Jamshid Mahdavi and Teunis Ott.
             The Macroscopic Behavior of the Congestion Avoidance Algorithm.
             ACM SIGCOMM Computer Communication Review, 27(3):67--82, 7/1997.

[2]          Padhye, J., V. Firoiu, D. Towsley and J. Kurose. Modeling TCP
             Throughput: A Simple Model and its Empirical Validation. ACM
             Computer Communication Review, 28(4):303--314, 1998.
[3]          Widmer, Jörg. Equation-Based Congestion Control. Diploma Thesis,
             University of Mannheim, Germany, 2/2000.



[Index of Archives]     [Linux Kernel Development]     [Linux DCCP]     [IETF Annouce]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [DDR & Rambus]

  Powered by Linux