一种消除域间路由不一致路径的控制方法及系统与流程

文档序号:18453330发布日期:2019-08-17 01:25阅读:347来源:国知局
一种消除域间路由不一致路径的控制方法及系统与流程

本发明涉及计算机网络技术领域,具体涉及一种消除域间路由不一致路径的控制方法。



背景技术:

近年来,研究人员提出的一种新的网络架构,软件定义网络(Software-Defined Networking,SDN)。SDN是将网络配置平面从嵌入式结点中独立出来,以开放软件模式的控制平面替代了传统基于系统嵌入的控制平面,由软件驱动的中央控制结点来自动化控制整个网络。相比于传统的网络架构,以软件的形式向网络中引入新的方法变得更为简单,同时,在成千上万的设备之间进行相应配置的修改和操作也变得更加简单。

在广域高性能计算网络中,自治系统间信息的传递由一条选定的路径进行,而路径的选择过程就称为域间路由。边界网关协议(BGP)是目前广域高性能计算网络中公认的域间路由协议。由于其简单而具有弹性,BGP在很长一段时间内被广泛使用且运作良好。然而,在BGP的广泛应用中,其简单性往往会带来一些严重的问题,虽然BGP协议支持自治域级别上的控制路由策略,每个自治域(AS)从它不同的邻居发布的路由通告中学习到达某个特定前缀的可选路由,并应用自己的路由策略选择一条用于数据转发的最佳路径后通告给它的邻居,然而,BGP并没有任何机制来确保通告的路由路径和最后的数据转发路径是一致的。

研究人员提出了路由鉴定机制能够查出路由器发现路由通告和实际转发路径之间的不一致性的情况;也有研究人员采用源自治域不断更新自己本地的路由选择策略以避免包含恶意节点的路由。但是,以上的工作都只关注于路径不一致问题的安全性检测,但对源自治域发现路径不一致问题时,如何解决该问题并没有涉及到。



技术实现要素:

本发明的目的是克服现有技术不能解决BGP协议中域间路由通告和实际转发路径之间不一致性的问题。本发明的消除域间路由不一致路径的控制方法及系统,能够有效消除自治域间路由路径不一致的问题,在每个广域网络的自治域内部署路由监视器,使得当前自治域的上游自治域能够为发出的数据流设置转发规则,从而解决域间路由不一致问题,能够更好的反映域间路由关系,具有良好的应用前景。

为了达到上述目的,本发明所采用的技术方案是:

一种消除域间路由不一致路径的控制方法,该方法的步骤包括,

获取上游自治域的入口或出口交换机的消息;

在自治域内,为所述消息构建新路由,并将该新路由反馈给上游自治域;

上游自治域查看所述新路由,产生与该新路由相应的流表项;

将所述流表项下发至新路由中出现的交换机中,以锁定域间路由路径。

前述的一种消除域间路由不一致路径的控制方法,在计算网络广域自治域内部署路由监视器,以便实现接收来自上游自治域的入口或出口交换机的消息、构建及反馈新路由、接收流表项并下发到新路由中出现的交换机中。

前述的一种消除域间路由不一致路径的控制方法,在自治域内为所述消息构建新路由是基于Dijkstra算法实现的。

前述的一种消除域间路由不一致路径的控制方法,在自治域内为所述消息构建新路由是基于Dijkstra算法实现,包括以下步骤,

根据来自上游自治域的入口或出口交换机的消息,找出一条现有路由P=(v0,v1,...,vk),k≥1,现有路由P表示从入边界交换机v0到终点边界交换机vk的路由,采用S={v0,v1,...,vk-1}来表示现有路由P中除了终点边界交换机vk外的所有交换机的节点集合;

构建自治域内的无向图G,其中G=(V,E),V=V1,V2,...,Vn表示无向图G中的节点集合,E=e1,e2,…,em表示图G中的边集合;

根据自治域内的无向图G,进行优化得到新无向图Gτ,Gτ=(Vτ,Eτ),其中,Vτ表示优化后剩下的节点集合;Eτ表示优化后剩下的边集合;

根据新无向图Gτ,利用Dijkstra算法找到从节点s到新无向图Gτ中其他节点之间的最短路径,直到得到达到终点边界交换机的最短路径,并根据最短路径,得到对应的新路由。

前述的一种消除域间路由不一致路径的控制方法,根据来自上游自治域的入口或出口交换机的消息,找出一条现有路由P=(v0,v1,...,vk),k≥1,包括以下步骤,

从来自上游自治域的入口或出口交换机的消息中读取通告到达自治域的交换机ID、入边界交换机的连接端口号、终点边界交换机ID、终点边界交换机的出端口号;

根据读取内容,找出一条现有路由P=(v0,v1,…,vk),k≥1。

前述的一种消除域间路由不一致路径的控制方法,根据自治域内的无向图G,进行优化得到新无向图Gτ,包括以下步骤,

将无向图G中点的节点集合V中将除了入边界交换机和终点边界交换机外的所有边界交换机都去除掉;将无向图G中边的边集合E中与除掉的所有边界交换机相关的边集合都去除掉,形成新节点集合和新边集合;

将节点集合S当做是一个单独的节点s,若在得到的新节点集合中有节点同时与节点s中的两个或多个点有边,且从集合S中从v0到vk-1列出此类点,在得到的新边集合内只保留和集合S中列出的最后一个点相连的边;

采用Vτ表示优化后剩下的节点集合;Eτ表示优化后剩下的边集合,构成新无向图Gτ,Gτ=(Vτ,Eτ)。

前述的一种消除域间路由不一致路径的控制方法,所述新路由的通告包括以下两种形式:

(1)对于源自治域和中间自治域,新路由的通告形式为IP prefix:AS number.In border switch ID.In port ID.Out border switch ID.Out port ID;

(2)对于目的自治域,新路由的通告形式为IP prefix:AS number.In border switch ID.In port ID.End border switch ID.End port ID;

其中,IP prefix表示IP的前缀;AS number表示自治域号;In border switch ID表示通告到达自治域的交换机ID;In port ID表示入边界交换机的连接端口号;Out border switch ID表示要转发报文的自治域交换机ID,Out port ID表示出边界交换机的出端口号;End border switch ID表示终点边界交换机ID;End port ID表示终点边界交换机的出端口号。

一种消除域间路由不一致路径的控制系统,包括

数据接收模块,用于获取上游自治域的入口或出口交换机的消息;

新路由构建模块,用于在自治域内,为所述消息构建新路由,并将该新路由反馈给上游自治域;

流表项产生模块,根据上游自治域查看所述新路由,产生与该新路由相应的流表项;

流表项下发模块,将所述流表项下发至新路由中出现的交换机中,以锁定域间路由路径。

前述的一种消除域间路由不一致路径的控制系统,在计算网络广域自治域内部署路由监视器,实现数据接收模块、新路由构建模块、流表项下发模块的功能。

前述的一种消除域间路由不一致路径的控制系统,新路由构建模块,在自治域内为所述消息构建新路由是基于Dijkstra算法实现的。

前述的一种消除域间路由不一致路径的控制系统,在自治域内为所述消息构建新路由是基于Dijkstra算法实现,包括以下步骤,

根据来自上游自治域的入口或出口交换机的消息,找出一条现有路由P=(v0,v1,…,vk),k≥1,现有路由P表示从入边界交换机v0到终点边界交换机vk的路由,采用S={v0,v1,…,vk-1}来表示现有路由P中除了终点边界交换机vk外的所有交换机的节点集合;

构建自治域内的无向图G,其中G=(V,E),V=V1,V2,…,Vn表示无向图G中的节点集合,E=e1,e2,…,em表示图G中的边集合;

根据自治域内的无向图G,进行优化得到新无向图Gτ,Gτ=(Vτ,Eτ),其中,Vτ表示优化后剩下的节点集合;Eτ表示优化后剩下的边集合;

根据新无向图Gτ,利用Dijkstra算法找到从节点s到新无向图Gτ中其他节点之间的最短路径,直到得到达到终点边界交换机的最短路径,并根据最短路径,得到对应的新路由。

前述的一种消除域间路由不一致路径的控制系统,根据来自上游自治域的入口或出口交换机的消息,找出一条现有路由P=(v0,v1,…,vk),k≥1,包括以下步骤,

从来自上游自治域的入口或出口交换机的消息中读取通告到达自治域的交换机ID、入边界交换机的连接端口号、终点边界交换机ID、终点边界交换机的出端口号;

根据读取内容,找出一条现有路由P=(v0,v1,…,vk),k≥1。

前述的一种消除域间路由不一致路径的控制系统,根据自治域内的无向图G,进行优化得到新无向图Gτ,包括以下步骤,

将无向图G中点的节点集合V中将除了入边界交换机和终点边界交换机外的所有边界交换机都去除掉;将无向图G中边的边集合E中与除掉的所有边界交换机相关的边集合都去除掉,形成新节点集合和新边集合;

将节点集合S当做是一个单独的节点s,若在得到的新节点集合中有节点同时与节点s中的两个或多个点有边,且从集合S中从v0到vk-1列出此类点,在得到的新边集合内只保留和集合S中列出的最后一个点相连的边;

采用Vτ表示优化后剩下的节点集合;Eτ表示优化后剩下的边集合,构成新无向图Gτ,Gτ=(Vτ,Eτ)。

前述的一种消除域间路由不一致路径的控制系统,所述新路由的通告包括以下两种形式:

(1)对于源自治域和中间自治域,新路由的通告形式为IP prefix:AS number.In border switch ID.In port ID.Out border switch ID.Out port ID;

(2)对于目的自治域,新路由的通告形式为IP prefix:AS number.In border switch ID.In port ID.End border switch ID.End port ID;

其中,IP prefix表示IP的前缀;AS number表示自治域号;In border switch ID表示通告到达自治域的交换机ID;In port ID表示入边界交换机的连接端口号;Out border switch ID表示要转发报文的自治域交换机ID,Out port ID表示出边界交换机的出端口号;End border switch ID表示终点边界交换机ID;End port ID表示终点边界交换机的出端口号。

本发明的有益效果是:本发明的消除域间路由不一致路径的控制方法及系统,能够有效消除自治域间路由路径不一致的问题,对每个广域网络的自治域内部署路由监视器,使得当前自治域的上游自治域能够为发出的数据流设置转发规则,从而解决域间路由不一致问题,通过下游的自治域根据上游的数据流构造新路由,新路由既考虑到新路由对自治域的自治性影响,又可以保证新路由不会引发大的路由震荡,能够更好的反映域间路由关系,具有良好的应用前景。

附图说明

图1是本发明的消除域间路由不一致路径的控制方法的流程图;

图2是本发明的消除域间路由不一致路径的控制方法的数据流向图;

图3是本发明的消除域间路由不一致路径的控制系统的系统框图。

具体实施方式

下面将结合说明书附图,对本发明作进一步的说明。

本发明的消除域间路由不一致路径的控制方法,能够有效消除自治域间路由路径不一致的问题,对每个广域网络的自治域内部署路由监视器,使得当前自治域的上游自治域能够为发出的数据流设置转发规则,从而解决域间路由不一致问题,如图1及图2所示,包括以下步骤,

获取上游自治域的入口或出口交换机的消息;

在自治域内,为所述消息构建新路由,并将该新路由反馈给上游自治域;

上游自治域查看所述新路由,产生与该新路由相应的流表项;

将所述流表项下发至新路由中出现的交换机中,以锁定域间路由路径;

本发明的可以在在计算网络广域自治域内部署路由监视器(RouteVisor),以便实现接收来自上游自治域的入口或出口交换机的消息、构建及反馈新路由、接收流表项并下发到新路由中出现的交换机中。

在自治域内为该消息构建新路由,包括以下步骤,

根据来自上游自治域的入口或出口交换机的消息,读取通告到达自治域的交换机ID、入边界交换机的连接端口号、终点边界交换机ID、终点边界交换机的出端口号;找出一条现有路由P=(v0,v1,...,vk),k≥1,现有路由P表示从入边界交换机v0到终点边界交换机vk的路由,采用S={v0,v1,...,vk-1}来表示现有路由P中除了终点边界交换机vk外的所有交换机的节点集合;

构建自治域内的无向图G,其中G=(V,E),V=V1,V2,...,Vn表示无向图G中的节点集合,E=e1,e2,...,em表示图G中的边集合;

根据自治域内的无向图G,进行优化得到新无向图Gτ,Gτ=(Vτ,Eτ),其中,Vτ表示优化后剩下的节点集合;Eτ表示优化后剩下的边集合,优化过程为,

将无向图G中点的节点集合V中将除了入边界交换机和终点边界交换机外的所有边界交换机都去除掉;将无向图G中边的边集合E中与除掉的所有边界交换机相关的边集合都去除掉,形成新节点集合和新边集合;

将节点集合S当做是一个单独的节点s,若在得到的新节点集合中有节点同时与节点s中的两个或多个点有边,且从集合S中从v0到vk-1列出此类点,在得到的新边集合内只保留和集合S中列出的最后一个点相连的边;

采用Vτ表示优化后剩下的节点集合;Eτ表示优化后剩下的边集合,构成新无向图Gτ,Gτ=(Vτ,Eτ)

根据新无向图Gτ,利用Dijkstra算法找到从节点s到新无向图Gτ中其他节点之间的最短路径,直到得到达到终点边界交换机的最短路径,并根据最短路径,得到对应的新路由。

本发明在自治域内为该消息构建新路由,是基于Dijkstra算法(迪杰斯特拉算法)实现的,一个具体实例,包括以下步骤,

(1),路由监视器从来自上游自治域的入口或出口交换机的消息中读取通告到达自治域(AS)的交换机ID、入边界交换机的连接端口号、终点边界交换机ID、终点边界交换机的出端口号,并找出一条现有路由P=(v0,v1,...,vk),k≥1,现有路由P表示从入边界交换机v0到终点边界交换机vk的路由;

(2),采用S={v0,v1,...,vk-1}来表示现有路由P中除了终点边界交换机vk外的所有交换机的节点集合;

(3),构建自治域内的无向图G,其中G=(V,E),V=V1,V2,...,Vn表示无向图G中的节点集合,E=e1,e2,...,em表示图G中的边集合;

(4),将无向图G中点的节点集合V中将除了入边界交换机和终点边界交换机外的所有边界交换机都去除掉;将无向图G中边的边集合E中与除掉的所有边界交换机相关的边集合都去除掉,形成新节点集合和新边集合;

(5),将步骤(2)的节点集合S当做是一个单独的节点s,若在步骤(4)得到的新节点集合中有节点同时与节点s中的两个或多个点有边,且从集合S中从v0到vk-1列出此类点,在步骤(4)得到的新边集合内只保留和集合S中列出的最后一个点相连的边;

(6),采用Vτ表示步骤(5)优化后剩下的节点集合;Eτ表示步骤(5)优化后剩下的边集合,构成新无向图Gτ,Gτ=(Vτ,Eτ);

(7),根据新无向图Gτ,利用Dijkstra算法找到从节点s到新无向图Gτ中其他节点之间的最短路径,直到得到达到终点边界交换机的最短路径,并根据最短路径,得到对应的新路由,

所述新路由的通告包括以下两种形式:

(1)对于源自治域和中间自治域,新路由的通告形式为IP prefix:AS number.In border switch ID.In port ID.Out border switch ID.Out port ID;

(2)对于目的自治域,新路由的通告形式为IP prefix:AS number.In border switch ID.In port ID.End border switch ID.End port ID;

其中,IP prefix表示IP的前缀;AS number表示自治域号;In border switch ID(IBS)表示通告到达自治域的交换机ID;In port ID(IPT)表示入边界交换机的连接端口号;Out border switch ID(OBS)表示要转发报文的自治域交换机ID,Out port ID(OPT)表示出边界交换机的出端口号;End border switch ID(EBS)表示终点边界交换机ID;End port ID(EPT)表示终点边界交换机的出端口号;

根据本发明的消除域间路由不一致路径的控制方法的系统,用于承载本发明方法的运行,包括

数据接收模块,用于获取上游自治域的入口或出口交换机的消息;

新路由构建模块,用于在自治域内,为所述消息构建新路由,并将该新路由反馈给上游自治域;

流表项产生模块,根据上游自治域查看所述新路由,产生与该新路由相应的流表项;

流表项下发模块,将所述流表项下发至新路由中出现的交换机中,以锁定域间路由路径。

本发明在计算网络广域自治域内部署路由监视器,实现数据接收模块、新路由构建模块、流表项下发模块的功能。

综上所述,本发明的消除域间路由不一致路径的控制方法及系统,能够有效消除自治域间路由路径不一致的问题,对每个广域网络的自治域内部署路由监视器,使得当前自治域的上游自治域能够为发出的数据流设置转发规则,从而解决域间路由不一致问题,通过下游的自治域根据上游的数据流构造新路由,新路由既考虑到新路由对自治域的自治性影响,又可以保证新路由不会引发大的路由震荡,能够更好的反映域间路由关系,具有良好的应用前景。

以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1