本申请涉及一种面向工业无线Mesh网络的拥塞控制方法及装置,属于Mesh网络控制领域。
背景技术:
无线Mesh网络是一种动态自组织、自我配置的具有路由和转发功能的多跳无线网络,具有大容量、高速率、覆盖范围广等特性,成为适合于大面积开放区域的无线区域网络技术,因此近年来得到了学术界和工业界越来越多的关注。
mesh网络业务汇聚于Mesh路由器/网关,容易造成局部网络拥塞,使得部分节点负载过重,其余节点却没有业务,即网络容量分配不均衡,严重影响网络的通信性能,针对此现象,可以通过检测Mesh网络的拥塞状况,然后根据检测结果对Mesh网络的路由进行控制。
现有技术中,可以采用端到端的拥塞控制方式,如图1所示,在图中的网络中有两条数据流S1-A-B-C-D1和S3-A-B-F-D2,当A-B段链路出现拥塞时,通过降低源节点的发送速率来解决拥塞问题,但是在整个的网络环境下只有A-B段链路可能会出现拥塞,通过降低源节点的发送速率来解决拥塞问题会大大降低网络的资源利用率。
现有技术中还可以采用逐跳的节点队列管理方案进行拥塞控制,如图2所示,若假设有第一数据流S1-A-B-C-F-D和第二数据流S3-A-B-E-F-D,第一数据流比第二数据流的优先级高,但第二数据流也有时延保障要求。这时,如果在链路A-B出给第一数据流以较高的优先级,在F-D处也给其较高优先级。假设第一数据流的时延保障要求为3ms,第二数据流的时延保障要求为5ms,在这种模式下传输可能会得到第一数据流的端到端时延为1ms,第二数据流的端到端时延为6ms,从而造成资源的浪费,且无法保证网络传输的整体时延。
技术实现要素:
根据本申请的一个方面,提供了一种面向工业无线Mesh网络的拥塞控制方法,该方法根据计算的发送速率发送数据包,对数据包端到端的传输提供了时延保障,而且提高了网络资源利用率。
一种面向工业无线Mesh网络的拥塞控制方法,包括:
对经过每条链路的数据包以所述链路的指定概率进行标记,得到数据包经过所有链路的概率ms(t);
当发送节点确认目的节点每收到未标记的数据包时,将数据包的发送窗口增大第一预设值,当发送节点确认目的节点每收到标记的数据包时,将数据包的发送窗口减小第二预设值;
根据所述ms(t)、所述第一预设值和所述第二预设值计算t时刻发送窗口的平均改变值,根据所述平均改变值计算数据包在t+1时刻的发送速率。
其中,所述第一预设值为1/TD,TD表示稳定状态下链路的响应时间,TD=ws(t)/xs(t),其中ws(t)表示t时刻数据包发送窗口的大小,xs(t)为t时刻数据包的传输速率;所述第二预设值为ws(t)/2TD。
根据所述ms(t)、所述第一预设值和所述第二预设值计算t时刻发送窗口的平均改变值,根据所述平均改变值计算数据包在t+1时刻的发送速率,具体为:
设Δws(t)为t时刻发送窗口的平均改变值,
设xs(t+1)为t+1时刻数据包的发送速率,
进一步地,还包括:
计算t时刻数据包的接收时延方差;
根据t时刻时延方差和t-1时刻时延方差变化判断Mesh网络是否出现拥塞。
所述根据t时刻时延方差和t-1时刻时延方差变化判断Mesh网络是否出现拥塞,具体为:
当判断t时刻时延方差与t-1时刻时延方差的变化大于预设阈值时,确定Mesh网络出现拥塞。
根据本申请的又一个方面,提供了一种面向工业无线Mesh网络的拥塞控制装置,包括:标记模块、调整模块、第一计算模块和第二计算模块;
标记模块,用于对经过每条链路的数据包以所述链路的指定概率进行标记,得到数据包经过所有链路的概率ms(t);
调整模块,用于确认目的节点每收到未标记的数据包时,将数据包的发送窗口增大第一预设值,还用于确认目的节点每收到标记的数据包时,将数据包的发送窗口减小第二预设值;
第一计算模块,用于根据所述ms(t)、所述第一预设值和所述第二预设值计算t时刻发送窗口的平均改变值;
第二计算模块,用于根据所述第一计算模块计算的平均改变值计算数据包在t+1时刻的发送速率。
所述第一预设值为1/TD,TD表示稳定状态下链路的响应时间,TD=ws(t)/xs(t),其中ws(t)表示t时刻数据包发送窗口的大小,xs(t)为t时刻数据包的传输速率;所述第二预设值为ws(t)/2TD。
具体地,设Δws(t)为t时刻发送窗口的平均改变值,所述第一计算模块计算的
具体地,设xs(t+1)为t+1时刻数据包的发送速率,所述第二计算模块计算的
进一步地,还包括:
第三计算模块,用于计算t时刻数据包的接收时延方差;
判断模块,用于根据第三计算模块计算的t时刻时延方差和t-1时刻时延方差变化判断Mesh网络是否出现拥塞。
所述判断模块具体用于当判断t时刻时延方差与t-1时刻时延方差的变化大于预设阈值时,确定Mesh网络出现拥塞。
本申请能产生的有益效果包括:
本申请通过对经过链路的数据包以该链路的指定概率进行标记,当发送节点确认目的节点每收到未标记的数据包时,增大数据包的发送窗口,当发送节点确认目的节点每收到标记的数据包时,减小数据包的发送窗口,然后计算t时刻发送窗口的平均改变值,根据该平均改变值计算数据包在t+1时刻的发送速率,不仅对数据包端到端的传输提供了时延保障,而且根据网络实际情况调整发送速率,灵活性好,提高了网络资源利用率。
附图说明
图1为现有技术中采用端到端的拥塞控制方式示意图;
图2为现有技术中采用逐跳的节点队列管理方式进行拥塞控制示意图;
图3为本发明实施例提供的一种面向工业无线Mesh网络的拥塞控制方法流程示意图;
图4为本发明实施例提供的一种面向工业无线Mesh网络的拥塞控制装置结构示意图。
具体实施方式
下面结合实施例详述本申请,但本申请并不局限于这些实施例。
实施例1
参见图3,本发明实施例提供了一种面向工业无线Mesh网络的拥塞控制方法,该方法包括:
301、对经过每条链路的数据包以该链路的指定概率进行标记,得到数据包经过所有链路的概率;
具体地,设ml(t)是t时刻链路l的指定概率,ms(t)是数据包经过所有链路的概率,则ms(t)可以看作是数据包经过的所有链路Ls的概率之和,即数据包经过所有链路的概率也可以称为数据包端到端的概率。
例如,设t时刻链路l的指定概率为70%,则在t时刻经过链路l的数据包中有70%的数据包被标记,30%的数据包未被标记。
302、当发送节点确认目的节点每收到未标记的数据包时,将数据包的发送窗口增大第一预设值,当发送节点确认目的节点每收到标记的数据包时,将数据包的发送窗口减小第二预设值;
其中,第一预设值具体可以是1/TD,TD表示稳定状态下链路的响应时间,TD=ws(t)/xs(t),其中ws(t)表示t时刻数据包发送窗口的大小,xs(t)为t时刻数据包的传输速率;第二预设值具体可以是ws(t)/2TD。
目的节点会收到很多数据包,有的数据包有标记,有的数据包没有标识,目的节点每次收到有标记的数据包,就会给发送节点反馈其收到一个有标记的数据包的消息,因此发送节点将数据包的发送窗口增加一点;目的节点每次收到没有标记的数据包,就会给发送节点反馈其收到一个没有标记的数据包的消息,因此发送节点将数据包的发送窗口减小一点。
303、根据ms(t)、第一预设值和第二预设值计算t时刻发送窗口的平均改变值,然后根据平均改变值计算数据包在t+1时刻的发送速率。
具体地,设Δws(t)为t时刻发送窗口大小的平均改变值,
设xs(t+1)为t+1时刻数据包的发送速率,
本发明实施例可以在Mesh网络出现拥塞时,对数据包的发送速率进行调整,因此在调整数据包的发送速率之前,本发明实施例还可以包括:
计算t时刻数据包的接收时延方差;
根据t时刻时延方差和t-1时刻时延方差变化判断Mesh网络是否出现拥塞。
具体地,当判断t时刻时延方差与t-1时刻时延方差的变化大于预设阈值时,确定Mesh网络出现拥塞。
Mesh网络中,有时会出现数据包丢失情况,数据包丢失的原因较多,但主要是网络拥塞丢包和链路错误丢包,当网络出现链路错误而引起数据包丢失时,时延方差不会出现较大幅度的变化,而当网络由于拥塞而引起数据包丢失时,时延方差会有大幅变动,因此可以通过时延方差的变化来判断Mesh网络是否出现拥塞。
本发明实施例通过对经过链路的数据包以该链路的指定概率进行标记,当发送节点确认目的节点每收到未标记的数据包时,增大数据包的发送窗口,当发送节点确认目的节点每收到标记的数据包时,减小数据包的发送窗口,然后计算t时刻发送窗口的平均改变值,根据该平均改变值计算数据包在t+1时刻的发送速率,不仅对数据包端到端的传输提供了时延保障,而且根据网络实际情况调整发送速率,灵活性好,提高了网络资源利用率。
参见图4,本发明实施例提供了一种面向工业无线Mesh网络的拥塞控制装置,该装置包括:标记模块401、调整模块402、第一计算模块403和第二计算模块404;
标记模块401,用于对经过每条链路的数据包以该链路的指定概率进行标记,得到数据包经过所有链路的概率ms(t);
具体地,设ml(t)是t时刻链路l的指定概率,ms(t)是数据包经过所有链路的概率,则ms(t)可以看作是数据包经过的所有链路Ls的概率之和,即数据包经过所有链路的概率也可以称为数据包端到端的概率。
调整模块402,用于确认目的节点每收到未标记的数据包时,将数据包的发送窗口增大第一预设值,还用于确认目的节点每收到标记的数据包时,将数据包的发送窗口减小第二预设值;
其中,第一预设值具体可以是1/TD,TD表示稳定状态下链路的响应时间,TD=ws(t)/xs(t),其中ws(t)表示t时刻数据包发送窗口的大小,xs(t)为t时刻数据包的传输速率;所述第二预设值具体可以是ws(t)/2TD。
第一计算模块403,用于根据ms(t)、第一预设值和第二预设值计算t时刻发送窗口的平均改变值;
具体地,设Δws(t)为t时刻发送窗口的平均改变值,则第一计算模块403计算的
第二计算模块404,用于根据第一计算模块403计算的平均改变值计算数据包在t+1时刻的发送速率。
设xs(t+1)为t+1时刻数据包的发送速率,第二计算模块404计算的
进一步地,本发明实施例还可以包括:第三计算模块和判断模块;
第三计算模块,用于计算t时刻数据包的接收时延方差;
判断模块,用于根据第三计算模块计算的t时刻时延方差和t-1时刻时延方差变化判断Mesh网络是否出现拥塞。
具体地,判断模块判断t时刻时延方差与t-1时刻时延方差的变化大于预设阈值时,确定Mesh网络出现拥塞。
本发明实施例通过对经过链路的数据包以该链路的指定概率进行标记,当发送节点确认目的节点每收到未标记的数据包时,增大数据包的发送窗口,当发送节点确认目的节点每收到标记的数据包时,减小数据包的发送窗口,然后计算t时刻发送窗口的平均改变值,根据该平均改变值计算数据包在t+1时刻的发送速率,不仅对数据包端到端的传输提供了时延保障,而且根据网络实际情况调整发送速率,灵活性好,提高了网络资源利用率。
以上所述,仅是本申请的几个实施例,并非对本申请做任何形式的限制,虽然本申请以较佳实施例揭示如上,然而并非用以限制本申请,任何熟悉本专业的技术人员,在不脱离本申请技术方案的范围内,利用上述揭示的技术内容做出些许的变动或修饰均等同于等效实施案例,均属于技术方案范围内。