Subject: [tsvwg] Fwd: SCTP Congestion Control

From: ihab jabor <[email-masked]>
Date: Tue, 18 Mar 2014 19:00:45 +0800

My name is Ihab ,
I will be gratitude for you help in  advance, my research focus on
Congestion control of SCTP actually I'm workout develop and optimize the
slow start and congestion avoidance in SCTP.
I've been implemented SCTP through various simulation scenarios then I've
been draw CWND also figure out many performance factors like throughput and
queue size.
I used SCTP RFC 2690 in NS2 which have been implemented by Protocol
Engineering Lab in University of Delaware,
 kindly below the peace of C++ code regarding congestion control SCTP
protocol which fetch from NS2 in addition some question notes.

Slow start::::

   1. {
   2.       spDest->iCwnd += MIN(spDest->iNumNewlyAckedBytes,
   (int)uiMaxDataSize);
   3.       tiCwnd++; // trigger changes for trace to pick up
   4.     }

Congestion avoidance

   1. if(spDest->iPartialBytesAcked >= spDest->iCwnd &&
   2.      spDest->iOutstandingBytes >= spDest->iCwnd )
   3.     {
   4.       DBG_PL(AdjustCwnd, "adjusting cwnd") DBG_PR;
   5.       if(spDest->iCwnd <= spDest->iPartialBytesAcked)
   6.           spDest->iPartialBytesAcked -= spDest->iCwnd;
   7.       else
   8.         spDest->iPartialBytesAcked = 0;
   9.       spDest->iCwnd += uiMaxDataSize;
   10.       tiCwnd++; // trigger changes for trace to pick up
   11.     }

kindly any recommendations or advice ...

---

From: Michael Tuexen <[email-masked]>
Date: Tue, 18 Mar 2014 12:36:34 +0100

On 18 Mar 2014, at 12:00, ihab jabor <[email-masked]> wrote:

> 
> 
> 
> My name is Ihab ,
> I will be gratitude for you help in  advance, my research focus on Congestion control of SCTP actually I'm workout develop and optimize the slow start and congestion avoidance in SCTP.
> I've been implemented SCTP through various simulation scenarios then I've been draw CWND also figure out many performance factors like throughput and queue size.    
> I used SCTP RFC 2690 in NS2 which have been implemented by Protocol Engineering Lab in University of Delaware,
>  kindly below the peace of C++ code regarding congestion control SCTP protocol which fetch from NS2 in addition some question notes.
> 
> Slow start::::
> 	• {
> 	•       spDest->iCwnd += MIN(spDest->iNumNewlyAckedBytes, (int)uiMaxDataSize);
> 	•       tiCwnd++; // trigger changes for trace to pick up
> 	•     }
> Congestion avoidance 
> 
> 	• if(spDest->iPartialBytesAcked >= spDest->iCwnd &&
> 	•      spDest->iOutstandingBytes >= spDest->iCwnd )
> 	•     {
> 	•       DBG_PL(AdjustCwnd, "adjusting cwnd") DBG_PR;
> 	•       if(spDest->iCwnd <= spDest->iPartialBytesAcked)
> 	•           spDest->iPartialBytesAcked -= spDest->iCwnd;
> 	•       else
> 	•         spDest->iPartialBytesAcked = 0;
> 	•       spDest->iCwnd += uiMaxDataSize;
> 	•       tiCwnd++; // trigger changes for trace to pick up
> 	•     }
See my response on [email-masked]...

Best regards
Michael