一种通过统计和控制节点状态选择路由的方法 技术领域 发明涉及一种通过统计和控制节点状态选择路由的方法,属通信技术领域。
背景技术 随着近些年多种Internet应用的出现,尤其是实时多媒体业务的发展,对网络提出了更高、更广泛的服务质量(Quality of Service)要求,以下简称QoS要求。这些要求包括带宽、延时、延时抖动、丢包率等。在尽力而为的网络上,仅通过增加网络资源(例如:带宽)不足以支持QoS性能要求。因为这样不能够避免业务突发期的延时抖动。即使是在一个负载相当轻的网络中,传送延时的变化都可能对实时应用造成不好的影响。另外,也不能从根本上消除拥塞瓶颈。为了能够提供业务所需要的服务,必须引入适当的QoS机制,给网络增加一些“智能”,使之能够根据业务可以容忍的延时、抖动和丢包率的严格要求和可获得的网络资源,为业务提供确定地或者统计的端到端服务质量保证,并且为网络资源的有效利用提供保证。
根据控制范围,QoS机制可以分为单节点控制和多节点的控制。单节点的控制主要包括:接入控制和调度控制。多节点的控制包括拥塞控制和路由控制。在QoS控制机制中,路由控制涉及到整个网络的状态变化,影响整网性能,在保证服务质量中起着关键作用。
QoS路由中,节点进行路由选择需要依据业务提供的QoS需求和可获得的网络资源。而可获得的网络资源信息是以网络状态信息为载体发送的,因此,QoS路由能否成功满足业务对服务质量的要求、保障网络资源的高效利用,取决于网络状态信息是否准确。网络状态信息的准确性取决于网络节点的网络状态信息传输处理机制能否及时、准确地发布反映节点状态变化的信息。在实际网络中,在状态信息获取和发送过程中存在传输和处理延时,准确地发布反映节点状态变化的信息是很难做到的。当路由节点使用错误的状态信息为业务选路或转发业务时,将可能会严重影响业务的传输成功率,导致网络资源有效利用率下降。这种由状态信息不准确引起网络资源有效利用率下降,可以归结为两类情况:
1、错误的业务拒接:当业务请求到达时,由于接入节点当时所获得的链路状态信息不准确,认为不存在满足该业务要求的路径,而事实上存在这样的路径,同时,业务也不能降低自身的服务要求,那么接入节点将错误地拒绝该业务请求。这种情况的发生将导致业务接入率下降,以致降低了网络资源有效利用率。
2、业务的传输失败:当某个业务被接入到网络后,由于所参考的链路状态信息不够准确,引起错误的接入判断或者不合适的路径选择,导致网络无法按照事先约定的服务质量要求将业务传送到目的地(如业务的丢包率过高,延时太大等等)。那么,该业务传输失败,导致网络资源的有效利用率下降。
从上面的分析可以看出,节点状态信息的不准确性是网络的固有特性,它严重影响了QoS路由的实现,制约了QoS网络的发展。到目前为止,大量的研究都局限于寻找更好的路由选择方法和网络状态信息更新机制,以削弱节点的状态信息的不准确造成的不利影响,而没有从提高状态信息的可靠性方面进行研究。
发明内容 本发明的目的是提出一种通过统计和控制节点状态选择路由的方法,节点根据对自身状态周期统计的结果,对相邻节点的资源管理进行反馈控制,以提高节点状态的稳定性,增大节点状态平均维持时间,提高节点状态信息的可靠性。
本发明提出通过统计和控制节点状态选择路由的方法,包括以下步骤:
1、数据包到达本节点后,区分该数据包的类型,若为业务数据包,则提取数据包的服务质量要求和目的地址;若为信令包,则执行相应信令;
2、以T1为周期监测并统计节点的状态,更新本节点状态数据库;
3、当本节点的上述状态的均值、方差或概率分布变化达到一定值时,触发本节点状态信息向全网中可达节点发送;
4、本节点根据接收到的网络中可达节点的最新状态信息,更新本节点状态数据库和路由表;
5、根据本节点状态数据库的内容,进行本节点状态稳定性判断,若节点状态的变化超出了节点状态稳定性要求,则将节点状态的改变信息反馈至相邻节点,调整相邻节点的输出;
6、根据上述业务数据包的服务质量要求和目的地址、以及本节点状态数据库和路由表的内容,选择路径并进行业务调度。
上述方法中执行的信令包括Hello信令、业务请求信令、反馈控制信令以及状态更新信令中的任何一种。
上述方法中的节点状态包括输入输出速率、队列长度、队列延时或丢包率中的任何一种。
上述方法中触发本节点发送状态信息的判断依据为:连续N个T1周期内,本节点状态的均值、方差或概率分布与本节点通告给全网中可达节点的相应状态信息不相同时,即触发本节点状态信息发送,其中N为正整数,且N≥3。
上述方法中节点状态稳定性要求为:在本T1周期内到达的业务速率小于或等于两个量之和,所述的两个量分别为本周期输出速率的(1-α)倍和输出链路物理带宽的α倍,其中α为小于或等于1的正数。
上述方法中调整相邻节点的输出方法的过程包括:相邻节点收到反馈信息后,将下一个T1周期内,与本节点相连的输出端口的输出速率改为当前监测统计周期输出速率的β倍;若相邻节点没有收到反馈信息,则将下一个T1周期内,与本节点相连的输出端口的输出速率改为两个量之和,所述的两个量分别是本周期输出速率的(1-α)倍和输出链路物理带宽的α倍,其中α和β分别为小于或等于1的正数。
上述方法中选择路径的过程,包括以下步骤:
(1)本节点根据业务服务质量要求和业务的目的地址,从本节点的路由表中选择满足业务带宽要求的具有最大可用带宽的路径;选择路径的方法为:根据计算得到的路径可用带宽,选择最大可用带宽的路径,若存在多条满足业务要求且具有最大可用带宽的路径,则随机选择其中的一条;若不存在满足业务要求的路径,则丢弃业务数据包;
(2)以T1为周期,记录上述所选择路径上接入的总业务速率;
(3)以T1为周期计算所选路径的可用带宽,并更新本节点路由表,其中计算所选路径的可用带宽的方法为:上一周期本节点的路由表中所选路径的可用带宽,减去上一周期该所选路径上接入的总业务速率的α倍,其中α为小于或等于1的正数。
本发明提出的通过统计和控制节点状态选择路由的方法,具有以下优点:
1、在QoS网络中引入了控制机制,增加了节点状态的稳定性,提高了节点状态信息的可靠性。
2、仅在相邻节点间采用反馈控制,对全网的稳定性不会造成影响。
3、在发布的状态信息中增加了方差和分布参数等概率信息,使路由算法能更全面了解全网节点的工作状态。为QoS路由的成功奠定基础。
4、在业务接入节点,配合反馈控制机制,根据已接入的业务,计算路径可用带宽,增加了路由选择结果的可靠性,提高了业务沿所选路径传输的成功率。
【附图说明】
图1是本发明方法的流程框图。
【具体实施方式】
本发明提出的通过统计和控制节点状态选择路由的方法,其流程框图如图1所示,数据包到达本节点后,区分该数据包的类型,若为业务数据包,则提取数据包的服务质量要求和目的地址;若为信令包,则执行相应信令;以T1为周期监测并统计节点的状态,更新本节点状态数据库;当本节点的上述状态的均值、方差或概率分布变化达到一定值时,触发本节点状态信息向全网中可达节点发送;本节点根据接收到的网络中可达节点的最新状态信息,更新本节点状态数据库和路由表;根据本节点状态数据库的内容,进行本节点状态稳定性判断,若节点状态的变化超出了节点状态稳定性要求,则将节点状态的改变信息反馈至相邻节点,调整相邻节点的输出;根据上述业务数据包的服务质量要求和目的地址、以及本节点状态数据库和路由表的内容,选择路径并进行业务调度。
如上所述,数据包到达本节点后,区分该数据包的类型,若为业务数据包,则提取数据包的服务质量要求和目的地址;若为信令包,则执行相应信令;其中执行的信令包括Hello信令、业务请求信令、反馈控制信令以及状态更新信令中的任何一种,它们的主要含义分别为:
(1)Hello信令,即本节点向相邻节点发送关于本节点存在的信息,相邻节点接收到Hello信令后更新其状态数据库和路由表。
(2)业务请求信令为:一个新业务发出的请求网络接入的信令。其内容包括:该业务的服务质量要求和目的地址。
(3)反馈控制信令为:节点对相邻节点的输出速率进行调整的指示。
(4)状态更新信令为:向网络中可达节点发送节点状态信息,接收到该状态信息的节点更新本节点状态数据库和路由表。
以T1为周期监测并统计节点的状态,更新本节点状态数据库。其中,统计的节点状态包括输入输出速率、队列长度、队列延时或丢包率中的任何一种。
当本节点的上述状态的均值、方差或分布变化达到一定值时,触发本节点状态信息向全网中可达节点发送;触发本节点发送状态信息的判断依据为连续N个T1周期内,本节点状态的均值、方差或分布与本节点通告给全网中可达节点的状态信息不同时,即触发本节点状态信息发送,其中N为正整数,且N≥3。
本节点根据接收到的网络中可达节点的最新状态信息,更新本节点状态数据库和路由表;根据本节点状态数据库的内容,进行本节点状态稳定性判断,若节点状态的变化超出了节点状态稳定性要求,则将节点状态的改变信息反馈至相邻节点,调整相邻节点的输出;
本发明中,本节点状态稳定性判断是以T1为周期进行的。上述方法中,节点状态稳定性要求为:在本T1周期内到达的业务速率小于或等于两个量之和,所述的两个量分别为本周期输出速率的(1-α)倍和输出链路物理带宽的α倍,其中α为小于或等于1的正数,即
Rk≤maxRk=Rk-1+α(C-Rk-1)
其中,Rk表示第k个周期中本节点的任意一个端口的输出速率,C表示该输出端口的物理带宽,α为小于或等于1的正数。
本发明中,本节点将节点状态的改变信息反馈至相邻节点,调整相邻节点的输出方法为:
(1)如果在第k个周期中向相邻节点发送了反馈控制信令,则在此第k个周期中,收到反馈控制信令的相邻节点就将与本节点相连的输出端口的输出速率调整为当前监测统计周期输出速率的β倍,即
Rk=β·Rk-1
其中,β为小于或等于1的正数
(2)如果在第k个周期中没有向相邻节点发送反馈控制信令,则在此第k个周期中,相邻节点就将与本节点相连的输出端口的输出速率调整为与本节点相连的输出端口的输出速率改为两个量之和,所述的两个量分别是本周期输出速率的(1-α)倍和输出链路物理带宽的α倍,其中α为小于或等于1的正数,即
Rk=Rk-1+α(C-Rk-1)
根据上述业务数据包的服务质量要求和目的地址、以及本节点状态数据库和路由表的内容,选择路径并进行业务调度。其中,路由选择包括两部分内容:一是根据业务请求信令中业务的服务质量要求和目的地址、本节点状态数据库和路由表的内容为业务选择路径。如果存在满足业务要求的路径,就接入业务,否则就拒接业务,并将选路结果通过接入信令通告给业务。因此在实施步骤中,这部分还包括接入控制功能。一是根据业务数据包中业务的服务质量要求和目的地址、本节点状态数据库和路由表的内容为业务选择路径。如果存在满足业务要求的路径,就接入业务,否则就丢弃业务数据包。
本方法中选择路径的过程包括以下步骤:
(1)本节点根据业务服务质量要求和业务的目的地址,从本节点的路由表中选择满足业务带宽要求的具有最大可用带宽的路径;
(2)以T1为周期,记录上述所选择路径上接入的总业务速率;
(3)以T1为周期计算所选路径的可用带宽,并更新本节点路由表。
其中,第k个T1周期中计算所选路径的可用带宽Bk的方法为:上一周期本节点的路由表中所选路径的可用带宽Bk,减去上一周期该所选路径上接入的总业务速率rk的α倍,其中α为小于或等于1的正数,即
Bk=Bk-1-α·rk-1