主权项 |
1.一种基于负载多变的路由器间隔式拥塞控制方法,其特征在于包括有如下步骤:步骤1):初始化预设w<sub>q</sub>、p<sub>max</sub>、min<sub>low</sub>、min<sub>high</sub>、max<sub>low</sub>、max<sub>high</sub>、count、q<sub>avg</sub>;且count=-1、q<sub>avg</sub>=0;其中,w<sub>q</sub>为计算平均队长时所用的权值;p<sub>max</sub>为最大丢弃概率;最小阈值为区间(min<sub>low</sub>,min<sub>high</sub>),即min<sub>low</sub>为最小阈值的下界,min<sub>high</sub>为最小阈值的上界;最大阈值为区间(max<sub>low</sub>,max<sub>high</sub>),即max<sub>low</sub>为最大阈值的下界,max<sub>high</sub>为最大阈值的上界;count代表连续成功传输的分组数;q<sub>avg</sub>代表平均队长;步骤2):在路由器建立一个基于间隔式随机早期检测方法的控制器;步骤3):等待新分组的到来;当新分组到来时,如果此时队列为空,则执行步骤4);否则执行步骤5);步骤4):m=f(time-q_time),其中,m代表空队列持续的时间;计算平均队长:q<sub>avg</sub>=(1-w<sub>q</sub>)<sup>m</sup>×q<sub>avg</sub>;并将队列为空的起始时间q_time设为当前时间time,即q_time=time;步骤5):计算平均队长q<sub>avg</sub>:q<sub>avg</sub>=(1-w<sub>q</sub>)q<sub>avg</sub>+w<sub>q</sub>×q;其中,q为当前队长;步骤6):由q<sub>avg</sub>计算丢包率p<sub>a</sub>;如果q<sub>avg</sub>≤min<sub>low</sub>,转去步骤7);如果q<sub>avg</sub>≥max<sub>high</sub>,转去步骤8);否则转去步骤9);步骤7):数据包入列,p<sub>a</sub>=0,count=0,转到步骤14);步骤8):丢弃数据包,p<sub>a</sub>=1,count=-1,转到步骤14);步骤9):如果max<sub>low</sub>≤q<sub>avg</sub><max<sub>high</sub>,转去步骤10);如果min<sub>high</sub>≤q<sub>avg</sub><max<sub>low</sub>,转去步骤11);如果min<sub>low</sub><q<sub>avg</sub><min<sub>high</sub>,转去步骤12);步骤10):<maths num="0001"><![CDATA[<math><mrow><msub><mi>p</mi><mi>b</mi></msub><mo>=</mo><mn>0.5</mn><mo>+</mo><mfrac><msub><mi>p</mi><mi>max</mi></msub><mn>4</mn></mfrac><mrow><mo>(</mo><mfrac><mrow><msub><mi>q</mi><mi>avg</mi></msub><mo>-</mo><msub><mi>min</mi><mi>low</mi></msub></mrow><mrow><msub><mi>max</mi><mi>high</mi></msub><mo>-</mo><msub><mi>min</mi><mi>low</mi></msub></mrow></mfrac><mo>+</mo><mfrac><mrow><msub><mi>q</mi><mi>avg</mi></msub><mo>-</mo><msub><mi>min</mi><mi>high</mi></msub></mrow><mrow><msub><mi>max</mi><mi>high</mi></msub><mo>-</mo><msub><mi>min</mi><mi>high</mi></msub></mrow></mfrac><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>转到步骤13);其中,p<sub>b</sub>为临时丢弃概率;步骤11):<maths num="0002"><![CDATA[<math><mrow><msub><mi>p</mi><mi>b</mi></msub><mo>=</mo><mfrac><msub><mi>p</mi><mi>max</mi></msub><mn>4</mn></mfrac><mrow><mo>(</mo><mfrac><mrow><msub><mi>q</mi><mi>avg</mi></msub><mo>-</mo><msub><mi>min</mi><mi>low</mi></msub></mrow><mrow><msub><mi>max</mi><mi>high</mi></msub><mo>-</mo><msub><mi>min</mi><mi>low</mi></msub></mrow></mfrac><mo>+</mo><mfrac><mrow><msub><mi>q</mi><mi>avg</mi></msub><mo>-</mo><msub><mi>min</mi><mi>high</mi></msub></mrow><mrow><msub><mi>max</mi><mi>high</mi></msub><mo>-</mo><msub><mi>min</mi><mi>high</mi></msub></mrow></mfrac><mo>+</mo><mfrac><mrow><msub><mi>q</mi><mi>avg</mi></msub><mo>-</mo><msub><mi>min</mi><mi>high</mi></msub></mrow><mrow><msub><mi>max</mi><mi>low</mi></msub><mo>-</mo><msub><mi>min</mi><mi>high</mi></msub></mrow></mfrac><mo>+</mo><mfrac><mrow><msub><mi>q</mi><mi>avg</mi></msub><mo>-</mo><msub><mi>min</mi><mi>low</mi></msub></mrow><mrow><msub><mi>max</mi><mi>low</mi></msub><mo>-</mo><msub><mi>min</mi><mi>los</mi></msub></mrow></mfrac><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>转到步骤13);步骤12):<maths num="0003"><![CDATA[<math><mrow><msub><mi>p</mi><mi>b</mi></msub><mo>=</mo><mfrac><msub><mi>p</mi><mi>max</mi></msub><mn>4</mn></mfrac><mrow><mo>(</mo><mfrac><mrow><msub><mi>q</mi><mi>avg</mi></msub><mo>-</mo><msub><mi>min</mi><mi>low</mi></msub></mrow><mrow><msub><mi>max</mi><mi>low</mi></msub><mo>-</mo><msub><mi>min</mi><mi>low</mi></msub></mrow></mfrac><mo>+</mo><mfrac><mrow><msub><mi>q</mi><mi>avg</mi></msub><mo>-</mo><msub><mi>min</mi><mi>low</mi></msub></mrow><mrow><msub><mi>max</mi><mi>high</mi></msub><mo>-</mo><msub><mi>min</mi><mi>low</mi></msub></mrow></mfrac><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>转到步骤13);步骤13):<img file="FSB00000903220300024.GIF" wi="406" he="121" />以p<sub>a</sub>标记数据包,然后count++即count=count+1;步骤14):转至步骤3),重复执行步骤3)到13),直至结束。 |