发明内容
本发明的目的是克服现有技术不能解决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.Inborder switch ID.In port ID.Out border switch ID.Out port ID;
(2)对于目的自治域,新路由的通告形式为IP prefix:AS number.In borderswitch ID.In port ID.End border switch ID.End port ID;
其中,IP prefix表示IP的前缀;AS number表示自治域号;In border switch ID表示通告到达自治域的交换机ID;In port ID表示入边界交换机的连接端口号;Outborder 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.Inborder switch ID.In port ID.Out border switch ID.Out port ID;
(2)对于目的自治域,新路由的通告形式为IP prefix:AS number.In borderswitch ID.In port ID.End border switch ID.End port ID;
其中,IP prefix表示IP的前缀;AS number表示自治域号;In border switch ID表示通告到达自治域的交换机ID;In port ID表示入边界交换机的连接端口号;Outborder switch ID表示要转发报文的自治域交换机ID,Out port ID表示出边界交换机的出端口号;End border switch ID表示终点边界交换机ID;End port ID表示终点边界交换机的出端口号。
本发明的有益效果是:本发明的消除域间路由不一致路径的控制方法及系统,能够有效消除自治域间路由路径不一致的问题,对每个广域网络的自治域内部署路由监视器,使得当前自治域的上游自治域能够为发出的数据流设置转发规则,从而解决域间路由不一致问题,通过下游的自治域根据上游的数据流构造新路由,新路由既考虑到新路由对自治域的自治性影响,又可以保证新路由不会引发大的路由震荡,能够更好的反映域间路由关系,具有良好的应用前景。
具体实施方式
下面将结合说明书附图,对本发明作进一步的说明。
本发明的消除域间路由不一致路径的控制方法,能够有效消除自治域间路由路径不一致的问题,对每个广域网络的自治域内部署路由监视器,使得当前自治域的上游自治域能够为发出的数据流设置转发规则,从而解决域间路由不一致问题,如图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.Inborder switch ID.In port ID.Out border switch ID.Out port ID;
(2)对于目的自治域,新路由的通告形式为IP prefix:AS number.In borderswitch 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;Endport ID(EPT)表示终点边界交换机的出端口号;
根据本发明的消除域间路由不一致路径的控制方法的系统,用于承载本发明方法的运行,包括
数据接收模块,用于获取上游自治域的入口或出口交换机的消息;
新路由构建模块,用于在自治域内,为所述消息构建新路由,并将该新路由反馈给上游自治域;
流表项产生模块,根据上游自治域查看所述新路由,产生与该新路由相应的流表项;
流表项下发模块,将所述流表项下发至新路由中出现的交换机中,以锁定域间路由路径。
本发明在计算网络广域自治域内部署路由监视器,实现数据接收模块、新路由构建模块、流表项下发模块的功能。
综上所述,本发明的消除域间路由不一致路径的控制方法及系统,能够有效消除自治域间路由路径不一致的问题,对每个广域网络的自治域内部署路由监视器,使得当前自治域的上游自治域能够为发出的数据流设置转发规则,从而解决域间路由不一致问题,通过下游的自治域根据上游的数据流构造新路由,新路由既考虑到新路由对自治域的自治性影响,又可以保证新路由不会引发大的路由震荡,能够更好的反映域间路由关系,具有良好的应用前景。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。