或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0028] 以下结合附图描述根据本发明实施例的支持可信度分级的路由计算方法。
[0029] 图1是根据本发明一个实施例的支持可信度分级的路由计算方法的流程图。如图1 所示,根据本发明一个实施例的支持可信度分级的路由计算方法,包括以下步骤:
[0030] 步骤S1:对各网络节点和连接链路的可信安全属性进行等级值划分和初始化,以 分别得到各网络节点和连接链路的可信等级值,其中,可信等级值为大于或等于〇的整数。
[0031] 具体地说,不同的网络用户基于自身的真实身份和权限具有不同的可信安全属 性,同样,各网络节点在可信机制检验下也具有不同的可信安全属性,这些可信安全属性可 以被提取并进行可信等级值C(Credit)的划分。可信等级值C的取值范围是大于或等于0的 整数,当C值越大表明可信级别越高,当C值等于0定义为不可信级别。
[0032] 在本发明的一个实施例中,连接链路为直接相邻网络节点之间的链路,各连接链 路的可信等级值分别由该连接链路对应两个端节点的可信安全属性来确定,并将两个端节 点中可信等级值较小的值作为该连接链路的可信等级值。需要说明的是,在全网可信等级 值初始化过程中,不支持可信安全属性的网络角色(包括网络用户、网络节点、连接链路等) 其可信等级值标识为〇。
[0033] 步骤S2:路由计算方法与网络路由协议聚合,并基于链路状态协议发现具有可信 安全属性的邻居,并建立可信邻接关系,并向所有形成可信邻接关系的网络节点发送可信 等级值通告,例如记作CA。具体地,CA通告用于标识网络节点自身C值、相连所有可信邻居C 值以及到邻居之间链路的link-C值。该CA数据单元与链路状态信息LSA进行叠加,例如形成 三元组(网络节点ID[C值]、邻居ID[C值]及链路花销Cost [ 1 ink-C值]),其中(网络节点ID、 邻居ID、链路花销Cost)保持链路状态信息LSA的原始含义不变。
[0034]步骤S3:形成可信邻接关系的网络节点接收可信等级值通告CA(即三元组数据单 元),并将可信等级值通告存储在具有可信安全属性的链路状态数据库中,并以洪泛方式将 可信等级值通告CA转发扩散至全网中支持可信安全属性的网络节点。其中,如果所有工作 正常,那么各网络节点都会形成同样的具有可信安全属性的链路状态数据库,则支持可信 安全属性的网络节点对具有可信安全属性的链路状态数据库进行同步后,可以得到一个全 网可信拓扑,例如记作T,全网可信拓扑T的具体示例例如下表1所示。
[0036]表1
[0037]步骤S4:根据可信度分级路由计算方法计算一个网络节点到其它各网络节点在不 同可信度参考值?条件下的可信最佳路径。
[0038]在本发明的一个实施例中,以某一个网络节点Ra为例对可信度分级路由计算方法 进行描述,具体包括:
[0039]在网络节点中以Ra为起始点选取不同的目的点,并判断起始点到目的点之间是否 存在安全交付路径。具体地,如果能够找到连接起始点Ra和某一目的点的路径,并且满足路 径上各链路可信等级值link-C均不低于该路径的可信度参考值〇,则判定起始点Ra到该目 的点之间存在安全交付路径,其中,〇>〇。需要说明的是,路径的可信度参考值〇可以按实 际需求自定义,也可以取起始点和目的点两者中较低的可信等级值。
[0040]如果起始点Ra到某一目的点之间存在安全交付路径,则从所有连接起始点Ra和该 目的点的安全交付路径中获取交付代价总和最小的安全交付路径,并将交付代价总和最小 的安全交付路径作为可信最佳路径。其中,该可信最佳路径的目标是同样满足用户期望可 信等级值link-C的情况下尽可能保障链路花销Cost较低,或者同样链路花销Cost的情况下 尽可能保证网络可信等级值1 ink-C较高。
[0041 ]其中,例如通过如下公式得到最小交付代价总和:
[0043]其中,link-C表示连接起始点到目的点的某一条路径Path上各链路的可信等级 值,Cost表示该路径Path上各链路花销
表示该路径上各链路的交付代价,
表示该路径Path上所有链路的交付代价总和。
[0044] 在本发明的一个实施例中,S4进一步包括:
[0045] S41:扫描一个网络节点Ra及其它各网络节点可信等级值C的不同取值,将小于或 等于网络节点Ra的可信等级值CRA的所有取值记入集合Z=!cp,,其中,_〇,集合Z用于表示网 络节点Ra可能支持的所有路径可信度参考值范围。
[0046] S42:在集合Z中提取一项未处理的路径可信度参考值.并根据明对全网可信拓扑 T进行预处理,并得到预处理结果拓扑T(q>〇,预处理结果只91)的具体示例例如下表2所示,其 中,在表2所示的预处理结果拓扑T(q>〇示例中,假设网络节点R E的可信等级值CRE = 0。其中, 预处理的过程例如为:执行链路花销Cost和链路可信等级值1 ink-C二元参数比值结果向下 取整计算得到邻接链路关系相应交付代价
其中,在全网可信拓扑T中的链路花销 Cost的值为%(即不可达)以及链路可信等级值link-C值低于可信度参考值唞(即不支持刺 级别安全交付,包括link-C = 0)情况下,将预处理结果直接置为
[0048] 表 2
[0049] S43:根据预处理结果拓扑T((p小采用最小交付代价求解方法计算网络节点Ra与其 它各网络节点之间最小交付代价E和以Ra为起始点的可信最佳路径结果Path,并记录对应 可信度参考值取的相关路径结果。
[0050] S44:判断集合Z中是否存在参考值$未被处理,如果存在,则跳转至步骤S42继续处 理,否则,计算完毕,并输出最终的网络节点Ra到其它各网络节点在不同可信度参考值〇条 件下的可信最佳路径,具体示例如下表3所示,其中,在表3所示的网络节点Ra不同可信度参 考值〇条件下的最佳路径结果示例中,假设网络节点Re的可信等级值C RE = 0。进一步地,如 果网络节点Ra与另一个网络节点之间在可信度参考值取条件下不存在安全交付路径,也就 是可彳目最佳路径求解失败,则将可彳目度参考值救条件下网络节点Ra与该网络节点之间最小 交付代价E置为~,且网络节点Ra到该网络节点的可信最佳路径结果Path置为空~。
[0052] 表 3
[0053] 其中,计算网络节点Ra与其它各网络节点之间最小交付代价E的具体求解过程如 下:
[0054] a.将网络节点Ra加入已选节点集N,将其它网络节点加入待选节点集Nother,初始化 网络节点Ra到其它各网络节点的路径结果估计情况为安全交付不可达,并将最小交付代价 E分别置为〇〇。
[0055] b.根据预处理拓扑1(91)中的可信连接关系以及现有路径结果估计情况,在待选节 点集中寻找与网络节点Ra之间交付代价最小
的节点Rx,其中节 点Rx到节点Ra的路径结果估计只允许途径已选节点集N中的已选节点;然后记录<RA、Rx>的最 小交付代价E<ra、rx>,对应更新Ra和Rx的路径结果估计,并将网络节点Rx加入已选节点集N,需 要说明的是,如果尝试待选节点集中剩余节点与Ra之间最小交付代价E均为~,就将剩 余节点全部加入已选节点集N。
[0056] c.依次判断待选节点集Nothra?中其余节点允许途径最新节点集N条件下,到Ra的路 径结果估计是否发生变化,如果路径结果估计从不可达变为可达或者最小交付代价E减小 (即路径结果估计变优),则更新对应节点间估计结果。需要说的是,如果存在一个节点与Ra 之间最小交付代价E条件下有多条路径,则选择路径途径节点数少的一条,如果路径途径节 点数也相同,则选择单纯路径代价和最小的一条。 Path
[0057] d .判断待选节点集Nother是否为空,如果不为空,则跳转至步骤b继续执行,否则,求 解完毕,并输出在可信度参考值呢条件下网络节点Ra与其它各网络节点之间最小交付代价 E和以Ra为起始点的最佳路径结果Path。
[0058] 步骤S5:网络节点各自基于可信度分级路由计算方法获得路径结果,并根据路径 结果生成可信路由表,其中,可信路由表例如包含可以安全交付的所有目的地址、到达每个 目的地址所要经过的可信下一跳地址以及输出接口等信息。
[0059] 步骤S6:判断全网可信拓扑是否发生变化,如果全网可信拓扑发生变化,例如某网 络角色可信等级值变化等,则发生变化的位置向外发送新的可信等级值通告CA,以促使全 网进行具有可信安全属性的链路状态数据库的更新,并跳转至步骤S3继续执行,以实现可 {目路由表重算。
[0060] 基于本发明上述实施例的支持可信度分级的路由计算方法,网络节点能够生成一 张可信路由表,为到达的数据分组提供路由决策转发服务。对于现有网络架构,具有可信分 级服务需求的网络用户,可以将服务需求转化为路径可信度参考值〇这一参数并嵌入数据 分组头部,当网络节点收到数据分组时