CN109889445A - 一种基于分布式平台的bgp-lsp实现系统及方法 - Google Patents
一种基于分布式平台的bgp-lsp实现系统及方法 Download PDFInfo
- Publication number
- CN109889445A CN109889445A CN201910040574.4A CN201910040574A CN109889445A CN 109889445 A CN109889445 A CN 109889445A CN 201910040574 A CN201910040574 A CN 201910040574A CN 109889445 A CN109889445 A CN 109889445A
- Authority
- CN
- China
- Prior art keywords
- routing
- bgp
- public network
- label
- router
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于分布式平台的BGP‑LSP实现系统及方法,涉及通信领域,包括路由模块、BGP虚拟私有网络路由管理模块、BGP协议模块和标签管理模块。本发明中的基于分布式平台的BGP‑LSP实现系统能够实现不同自治域之间的连接,并在路由下发阶段将路由发给BVM之后,BVM即反推修改标签后的路由给BGP,使BGP存储了一个前缀路由的两份携带不同标签;在通告阶段,可根据是否需要交换标签选择BVM反推路由或从带标签的公网路由,决定通告那一条路由,解决了NBASE平台标签交换及下一条更改流程与BGP‑LSP功能需求不一致的问题,同时能够较好的提高整个路由过程的效率。
Description
技术领域
本发明涉及数据和IP传输设备等通信技术领域,具体涉及一种基于分布式平台的BGP-LSP实现系统及方法。
背景技术
BGP(Border Gateway Protocol,边界网关协议)是运行于TCP上的一种自治系统的路由协议。BGP系统的主要功能是和其他的BGP系统交换网络可达信息。网络可达信息包括列出的AS(Autonomous System,自治系统)自治域的信息。这些信息有效地构造了AS互联的拓扑图并由此清除了路由环路,同时在AS级别上可实施策略决策。
传统的MPLS VPN技术框架分为两层标签,其内层业务标签由BGP虚拟私有网络路由管理模块进行分配,外层标签由隧道协议LDP(Label Distribution Protocol,标签分发协议),RSVP(Resource Reservation Protocol,资源预留协议)分配,但是其外层隧道协议依赖于IGP路由。如图1所示的组网拓扑中,内层隧道能在PE1和ASBR1之间、PE2和ASBR2之间建立,外层隧道能在ASBR1和ASBR2之间建立,但是无法直接建立PE1和PE2之间的跨域隧道。
由于一个AS自治域内存在多个路由器,每个路由器都进行连接成本高昂,同时链路连接十分复杂,因此,一般不会在每个设备之间建立BGP邻居。
NBASE平台等分布式平台,通过在边界网关协议中配置重分布等方式将RTM(Routing Table Manager,路由表管理模块)的路由引入BGP,由于RTM中路由均为不带标签的路由,因此RTM需要将路由发送给BVM(BGP VPN Manager,BGP虚拟私有网络路由管理模块),BVM向标签管理模块申请标签,并关联到该路由,形成公网的标签路由,然后发送给BGP。
上述过程中,BGP的路由处理分为ADJ-IN,LOC,ADJ-OUT三个阶段,分别对应BGP路由的学习、下发、通告。而BGP-LSP功能的标签交换和下一跳的更改实现是在ADJ-OUT阶段才进行的,因为只有在路由往邻居通告的时候,才能获知路由所要通告的邻居是否使能了send label以及是否需要交换标签。
对于传统平台,BGP标签的申请是由自己决定的,因此标签交换直接在路由通告阶段进行,当判断需要修改标签时,则重新申请标签替换当前路由的标签。
在NBASE这种特定的分布式平台中,BGP在下发阶段才会将路由发送给BVM(BGPVPN Manager,BGP虚拟私有网络路由管理模块),而等到路由通告阶段,已经无法再向BVM发送路由并改变标签。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于分布式平台的BGP-LSP实现系统及方法,解决了基于NBASE平台的BGP模块以及BVM对BGP公网标签路由的引入,存储,以及发送给远端邻居的功能,从而完成了基于NBASE平台的BGP-LSP功能实现。
为达到以上目的,本发明提供一种基于分布式平台的BGP-LSP实现系统,其特征在于,其包括路由模块、BGP虚拟私有网络路由管理模块、BGP协议模块和标签管理模块:
路由模块用于:根据路由策略设置待添加标签的公网路由,转发待添加标签的公网路由至BGP虚拟私有网络路由管理模块;
标签管理模块用于:依据BGP虚拟私有网络路由管理模块的申请生成并分配唯一标签;
BGP虚拟私有网络路由管理模块用于:对接收到的路由添加唯一标签或替换原路由唯一标签,形成本地公网路由并转发至BGP协议模块;
BGP协议模块用于:通过边界网关协议接收邻居路由发送的带标签的公网路由,为带标签的公网路由添加来源标识并转发至BGP虚拟私有网络路由管理模块;以及通过边界网关协议向邻居路由器通告本地公网标签路由。
在上述技术方案的基础上,BGP虚拟私有网络路由管理模块还用于:若接收到的路由为待添加标签路由,则为待添加标签路由添加唯一标签及来源标识,形成本地公网路由并转发至BGP协议模块;若接收到的路由为添加了来源标识的带标签的公网路由,则生成新的唯一标签,并使用新的唯一标签替换该公网路由原有的唯一标签,形成本地公网路由后转发至BGP协议模块。
在上述技术方案的基础上,所述来源标识为路由索引,路由索引用于区分邻居路由和本地路由。
在上述技术方案的基础上,BGP协议模块还用于通过边界网关协议向邻居路由器通告本地公网路由,具体包括以下步骤:
获取本地公网路由的路由索引,使用路由索引判断路由属于邻居路由还是本地路由,若路由为邻居路由则不发送;若路由为本地路由,则BGP协议模块将该路由通过边界网关协议发送给邻居。
在上述技术方案的基础上,根据路由策略设置待添加标签的公网路由具体步骤为:将环回口路由加入到路由策略中。
在上述技术方案的基础上,路由模块为路由表管理模块RTM,路由表管理模块RTM还用于根据添加的路由策略检测所有路由是否为普通公网路由,如果为普通公网路由,则发送至BGP协议模块。
本发明还提供一种基于分布式平台的BGP-LSP实现方法,包括:根据路由策略设置待添加标签的公网路由,为待添加标签路由添加唯一标签,形成本地公网路由并转发;
通过边界网关协议接收邻居路由器发送的带标签的公网路由,为邻居路由器发送的带标签的公网路由添加来源标识;
生成新的唯一标签,并使用新的唯一标签替换该公网路由原有的唯一标签,形成本地公网路由后,根据来源标识通过边界网关协议进行路由通告。
在上述技术方案的基础上,根据路由策略设置待添加标签的公网路由具体为:将本路由器上的需要跨域连接的环回口路由添加到路由策略中。
在上述技术方案的基础上,所述来源标识为路由索引,路由索引用于区分邻居路由和本地路由。
在上述技术方案的基础上,根据来源标识通过边界网关协议进行路由通告包括:获取本地公网路由的路由索引,使用路由索引判断路由属于邻居路由还是本地路由;若路由为邻居路由则不发送;若路由为本地路由,则通过边界网关协议将该路由发送给邻居。
与现有技术相比,本发明的优点在于:
(1)本发明中的基于分布式平台的BGP-LSP实现系统能够实现不同自治域之间的路由连接,在路由下发阶段将路由发给BVM之后,BVM即反推修改标签后的路由给BGP,使BGP存储了一个前缀路由的两份携带不同标签;在通告阶段,可根据是否需要交换标签选择BVM反推路由或从带标签的公网路由,决定通告那一条路由,解决了NBASE平台标签交换及下一条更改流程与BGP-LSP功能需求不一致的问题,同时能够较好的提高整个路由过程的效率。
(2)本发明中的路由模块将本路由器至自治域边界路由器的路由为待添加标签的路由,将本路由器引入公网路由中;标签管理模块负责替换和添加标签;BGP虚拟私有网络路由管理模块负责接受和发送公网的带标签路由,这些模块使得本路由能够顺利且高效的完成其在公网中的路由任务。
(3)本发明BGP虚拟私有网络路由管理模块还能够在接受邻居路由发送的公网路由后为该公网路由添加来源标识,该来源标识为路由索引,用于区分邻居路由和本地路由,在确认路由为邻居路由时候,不再发送给该邻居,从而防止了路由环路,如果不是该邻居发送的路由则发送至该邻居,帮助该邻居路由获取部分公网路由信息。
(4)本发明中路由管理模块为路由管理模块RTM,其根据添加的路由策略检测该路由是否为公网路由,不需要人工查看并指定多条路由,同时在路由需要修改时,路由管理模块RTM能够根据路由策略自动进行修改。
附图说明
图1为现有AS自治域关系结构图;
图2为本发明基于分布式平台的BGP-LSP实现系统的系统架构图;
图3为本发明实施例基于分布式平台的BGP-LSP实现方法的流程示意图;
图4为本发明实施例设置本路由器至其自治域边界路由器的路由为待添加标签路由的流程示意图;
图5为本发明实施例在源路由器、第一边界路由器,目标路由器和第二边界路由器请求邻居路由,并与邻居路由器相互发送本地公网路由的流程示意图。
1-路由模块,2-BGP虚拟私有网络路由管理模块,3-标签管理模块,4-BGP协议模块。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
实施例1
参见图2所示,本发明实施例提供一种基于分布式平台的BGP-LSP实现系统,其包括路由模块1、BGP虚拟私有网络路由管理模块2、标签管理模块3和BGP协议模块4,本实施例使用的分布式平台为NBASE平台,其通过在边界网关协议中配置重分布等方式将RTM(Routing Table Manager,路由表管理模块)的路由引入BGP,由于RTM中路由均为不带标签的路由,因此RTM需要将路由发送给BVM(BGP VPN Manager,BGP虚拟私有网络路由管理模块),BVM向标签管理模块申请标签,并关联到该路由,形成公网的标签路由,然后发送给BGP。
路由模块1用于根据添加的路由策略检测所有路由是否为公网路由,如果为公网路由,转发至BGP协议模块4。
本路由器要和另外一个自治域中的一个路由器相连,即要建立本路由器-本自治域边界路由器-目标自治域的边界路由器-目标路由器的路径。
两个边界路由器之间,即一个自治域边界路由器和另一个自治域边界路由器作为已经加入BGP(Border Gateway Protocol,边界网关协议)的路由器,他们之间的路由已经在公网建立以及通告完成。设这两个自治域分别为第一自治域和第二自治域,那么,只需要分别建立第一自治域中的路由器至该自治域的边界路由器以及第二自治域中的路由器至该自治域的边界路由器的路由即可。
BGP协议模块4用于通过BGP(Border Gateway Protocol,边界网关协议)接收邻居路由发送的带标签的公网路由,为带标签的公网路由添加来源标识并转发至BGP虚拟私有网络路由管理模块;以及通过边界网关协议向邻居路由器通告本地公网路由。
在第一自治域和第二自治域中需要连接的路由器,除了建立本路由器至各自自治域边界路由器的公网路由外,作为加入BGP的路由器,还需要接受以及学习邻居路由。通过BGP协议模块4接受邻居发送的带标签的公网路由,则能够帮助本路由器完成接收邻居路由的任务。
BGP协议模块4还用于为邻居路由发送的带标签的公网路由添加来源标识并转发至BGP虚拟私有网络路由管理模块。
对于第一自治域和第二自治域中加入BGP后的路由器,其受到邻居带标签的路由,并完成学习后,如果再次将邻居发送的路由返还给邻居,则会造成路由环路,进而造成公网崩溃。因此,为了防止路由器重复发送邻居路由,BGP协议模块4在接受邻居路由器发送的带标签的公网路由后,即为该路由添加来源标识。通过来源标识,路由器能够根据来源标识,防止误发邻居路由至邻居路由的来源路由器。
标签管理模块3用于:依据BGP虚拟私有网络路由管理模块的申请生成并分配唯一标签;
BGP虚拟私有网络路由管理模块2用于:对接收到的路由添加唯一标签或替换原路由唯一标签,形成本地公网路由并转发至BGP协议模块;
标签管理模块3作为一个标签池,用来管理全局的标签申请和销毁管理。BGP虚拟私有网络路由管理模块2在公网中管理各个路由的唯一标签,保证每个路由是不重复的,防止路由混淆。即接受了邻居带标签的公网路由后,BGP虚拟私有网络路由管理模块2向标签管理模块3请求新的唯一标签,标签管理模块3生成新的唯一标签,并传递给BGP虚拟私有网络路由管理模块2,BGP虚拟私有网络路由管理模块2替换原有唯一标签形成该路由器的本地公网路由。
BGP协议模块4将本路由器至其自治域边界路由器的路由公告出去。即第一自治域的路由器至边界路由器的路由和第二自治域的路由器至边界路由器的路由向第一自治域的边界路由器和第二自治域边界路由器进行公告。第一自治域的边界路由器和第二自治域边界路由器本来就相互知晓、连通。最终完成本路由器-本自治域边界路由器-目标自治域的边界路由器-目标路由器的路由建立,即实现了第一自治域中的路由器和第二自治域中的路由器跨域连接。
本发明实施例基于分布式平台的BGP-LSP实现系统的实现原理如下:
本发明实施例中,BGP协议模块的路由处理分为ADJ-IN,LOC,ADJ-OUT三个阶段,分别对应BGP路由的学习、下发、通告。NBASE平台在LOC阶段将路由发给BVM之后,BVM随即反推修改标签后的路由给BGP协议模块,BGP协议模块相当于存了一个前缀路由的两份携带不同标签,在ADJ-OUT阶段,如果需要交换标签,就发送BVM反推的路由出去,如果不需要交换标签,就发送从peer学习到的路由。解决了NBASE平台标签交换及下一条更改流程与BGP-LSP功能需求不一致的问题,同时能够较好的提高整个路由过程的效率。
实施例2
如图3所示,在实施例1的基础上,本发明实施例还提供一种基于分布式平台的BGP-LSP实现系统,其在设置本路由器至其边界路由器的路由并添加标签时,具体包括以下步骤:
BGP虚拟私有网络路由管理模块接受路由;
在路由表管理模块RTM添加路由策略,并判断该路由是否为跨域路由;
如果是则发送该路由给标签管理模块,如果不是则按原策略进行;
标签管理模块接收到该路由后,为其制定或替换唯一标签返还给BGP虚拟私有网络路由管理模块。
举例来说,设置第一自治域中的路由器为源路由器,第二自治域中的路由器为目标路由器,则将源路由器上的需要跨域连接目标路由器的环回口路由添加到源路由器的路由策略中;将目标路由器上的需要跨域连接源路由器的环回口路由添加到目标路由器的路由策略中。
因此当路由表管理模块RTM(Routing Table Manager,路由表管理)检测到路由中含有该环回口时,即可确定该路由为跨域路由,需要发送至标签管理模块添加唯一标签,从而形成公网路由,进行路由公告,进而建立本路由器-本自治域边界路由器-目标自治域的边界路由器-目标路由器的路径。
具体来说,RTM根据添加的路由策略检测所有路由是否为公网路由,如果为公网路由,则发送至标签管理模块。RTM根据添加的指定路由策略后,针对的预设的公网路由进行侦测,在侦测到该公网路由后,将其发送至标签管理模块,标签管理模块再对公网路由指定唯一的第一标签。通过为RTM添加预设的路由策略,能够帮助源路由准确的识别公网路由,经过标签路由器为公网路由指定标签后,该源路由器将会存储该带有标签的公网路由,帮助源路由器“学习”了公网路由。同时,通过RTM将本来不带有标签的公网路由路由转送至标签管理模块,并指定或者替换唯一路由,成功将不带有标签的公网路由转换为带有标签的公网路由,使得BGP能够针对对公网标签路由进行传送,从而实现BGP-LSP功能的实现。
实施例3
如图4所示,在实施例1的基础上,本发明实施例还提供一种基于分布式平台的BGP-LSP实现系统,其能够根据路由索引进行判断,并通过BGP协议模块发送公网路由。
具体的,上述来源标识为路由索引。BGP协议模块获取公网路由的路由索引,并根据该路由索引进行判断,如果该公网路由为邻居路由,则不发送该公网路由至对应的邻居路由器,如果该路由为本地路由,则将该本地路由通过BGP协议发送给邻居,进行路由通告。
公网路由上添加路由索引后,通过路由索引能够区分公网路由和本地路由。由于BGP协议模块除了接受源路由器的该公网路由外,还会接受本地自治域发送的路由,BGP协议模块将这些路由都存在自己的路由存储模块中。如果不加以区分,会导致由源路由器发送的公网路由被发送回源路由器,从其他的邻居路由器接受的路由再次被发送回至其他的邻居路由器,源路由器和其他邻居路由器接受路由后,认为带有新标签的路由为新的路由,再次更新自己的路由信息后,又反馈给邻居路由器,并不断重复上述动作,即导致环路。因此需要BGP协议模块以及BGP虚拟私有网络路由管理模块对该公网路由进行检测,如果BGP协议模块在发送公网路由时,带有路由索引,路由器将能够识别其接收各个路由的发送源,不再将接收到的路由返回给原发送端,从而避免环路。
优选的,上述路由索引为一具体的数值,该数值可以称为peer index,其中本地路由器生成的路由peer index为0,经过标签管理模块指定或替换标签的路由peer index不为0。例如:在源ASBR和目标ASBR之间传送公网路由时,BGP虚拟私有网络路由管理模块将该公网路由下发给标签管理模块,该公网路由携带了BGP邻居路由器的peer index,该peerindex不为0,而标签管理模块收到该标签路由之后,将该公网路由的标签替换为唯一的公网标签,并将该公网路由反推回给BGP虚拟私有网络路由管理模块,BGP虚拟私有网络路由管理模块收到该公网路由之后,检验发现该公网路由的peer index不为0,即可以得到该公网路由是BGP虚拟私有网络路由管理模块反推的路由,而不是本地生成的路由,从而使得公网路由与其他路由得以区分开来。在发送的公网路由上携带peer index,能够更好的标识本方法建立的公网路由,并与目标ASBR从其他路由器接收到的路由区分开来。
进一步的,BGP协议模块在路由的peer index不为0的情况下不向源邻居发送该路由。如果路由器将指定标签的路由发回源路由器,而源路由器所指定的标签和之后的标签不同,导致源路由器判断为不一样的路由,再次存储发送回路由器,构成环路。因此,虽然源路由器发送并为路由附上了不同标签,但是其peer index不为0,BGP协议模块不会向源路由器再次发送路由。
实施例4
参见图5所示,本发明实施例提供一种基于分布式平台的BGP-LSP实现方法,其包括以下步骤:
S1:根据路由策略设置待添加标签的公网路由,为待添加标签路由添加唯一标签,形成本地公网路由并转发。
建立跨域路由需要建立各个自治域内的一路由器至边界路由器的路由以及边界路由器之间的路由。设两个自治域分别为第一自治域和第二自治域,则需要建立的总路径图为:本路由器-本自治域边界路由器-目标自治域的边界路由器-目标路由器的路径。
对于边界路由器而言,第一自治域和第二自治域的边界自治域的边界路由器连接已经建立完毕,同时已经知晓/学习该路由;但是各个自治域内需要跨域连接的路由器和其所在自治域内边界路由器的连接并没有建立和通告。
对于需要跨域路由器来说,其本身不是公网中的路由器,不知晓其他公网路由,未加载公网路由的相关模块。此外跨域路由也没有建立和其所在自治域内边界路由器的路由,无法发送其已知的公网路由。
综上所述,对于各个路由器而言首先需要完成路由的建立,才能通过后续的路由器之间的相互路由通告来完成整个跨域路由的建立。而设置本路由器至其自治域边界路由器的路由为待添加路由,并添加上唯一标签后,形成本地公网路由,则即完成了第一自治域内需要跨域的路由器和第一自治域的边界路由器的路由建立,第二自治域内需要跨域的路由器和第二自治域的边界路由的路有建立。在生成该本地公网路由后进行转发,即通告了各个自治域内需要跨域连接路由和该自治域边界路由的连接。
S2:通过BGP接收邻居路由器发送的带标签的公网路由,为邻居路由发送的带标签的公网路由添加来源标识;
在路由器建立路由,并发出路由通告后,对于跨域路由器,需要学习收到的转发路由,对于需要跨域的路由器,同样需要学习邻居发送的路由。在各个路由器知晓邻居路由器之间通往何处后,才可以完成跨域公网路由的建立。因此,路由器需要接受邻居路由器发送的带标签的公网路由。
而由于在通告时候,可能在学习了邻居路由器发送的路由后,再次将邻居的路由发送给邻居,形成通告路由环路。因此在接受了邻居路由器发送的路由后,在该带标签的公网路由上添加来源标识,供路由器区分。
举例来说,通过使能路由器上的IPv4标签地址族,使得BGP协议和IPv4标签建立联系,能够在设有BGP协议模块的路由器上传播公网路由,并通过BGP虚拟私有网络路由管理模块、标签管理模块完成公网路由在设备上的标签生成、添加和替换,即学习存储。
S3:生成新的唯一标签,并使用新的唯一标签替换该公网路由原有的唯一标签,形成本地公网路由后根据来源标识通过BGP进行路由通告。
接收邻居路由发送的路由后,通过使用新唯一标签替换该带标签的公网路由的原唯一标签后,既可存储下来,作为自己的本地公网标签,即完成公网路由的学习,完成了跨域路由的建立。
需要说明的是,添加了来源标识后,可以有几种路由通告方式,如根据来源标识,不再将路由通告给该路由携带的来源标识对应了邻居路由器;也可以邻居路由器根据添加的来源标识,不进行学习。本发明优选根据来源标识进行路由通告,即不再将路由通告给该路由携带的来源标识对应的邻居路由器。
实施例5
本发明实施例还提供一种基于分布式平台的BGP-LSP实现方法,其能够根据来源标识引进行判断,并转发本地公网路由至邻居路由器。
优选的该路由索引用于区分邻居路由和本地路由。
需要说明的是,本申请中所述的本地路由为通过设置得到的从本路由器直接通往其他路由器路由,而不是学习完成后,即替换标签后的公网路由。本路由器直接通往其他路由器的路由为新加入路由器所形成的新路由,是邻居路由器一开始未学习到的,因此发送后,不会形成路由环路。而从邻居路由器学习得到的本地路由一开始为邻居已经知道的,如果重复发送给邻居将会引起路由环路。
进一步的,根据来源标识引进行判断,并通过BGP转发本地公网路由至邻居路由器具体包括:
获取本地公网路由的路由索引,使用路由索引判断路由属于邻居路由还是本地路由;
若路由为邻居路由则不发送;
若路由为本地路由,则通过BGP将该路由发送给邻居。
举例来说,路由索引为一具体的数值,该数值可以称为peer index,其中本地路由器生成的路由peer index为0,经过标签管理模块指定或替换标签的路由peer index不为0。例如:在第一自治域的边界路由器和第二自治域的边界路由器之间传送公网路由时,BGP协议模块将该公网路由下发给BGP虚拟私有网络路由管理模块,该公网路由携带了BGP邻居路由器的peer index,该peer index不为0,而BGP虚拟私有网络路由管理模块收到该标签路由之后,向标签管理模块请求唯一的标签,并将该公网路由的标签替换为唯一的公网标签,随后将该公网路由反推回给BGP协议模块,BGP协议模块收到该公网路由之后,检验发现该公网路由的peer index不为0,即可以得到该公网路由是BGP虚拟私有网络路由管理模块反推的路由,而不是本地生成的路由,从而使得公网路由与其他路由得以区分开来。在发送的公网路由上携带peer index,能够更好的标识本方法建立的公网路由,其他路由器接收到的路由区分开来。
进一步的,BGP协议模块在路由的peer index不为0的情况下不向源邻居发送该路由。如果路由器将指定标签的路由发回源路由器,而源路由器所指定的标签和之后的标签不同,导致源路由器判断为不一样的路由,再次存储发送回路由器,构成环路。因此,虽然源路由器发送并为路由附上了不同标签,但是其peer index不为0,BGP协议模块不会向源路由器再次发送路由。
实施例6
本实施例还提供一种跨域路由方法,用于连通第一自治域的源路由器和第二自治域的目标路由器,第一自治域和第二自治域相连的边界路由器分别为第一边界路由器和第二边界路由器,包括以下步骤:
S1:设置源路由器至第一边界路由器,以及目标路由器至第二边界路由器的路由策略,根据路由策略设置待添加标签的公网路由,为待添加标签的公网路由添加唯一标签,形成本地公网路由并分别通过BGP转发至第一边界路由器和第二边界路由器。
S2:第一边界路由器将其至第二边界路由器的路由通过BGP发送至源路由器,第二边界路由器将其至第一边间路由器的路由通过BGP发送至目标路由器。
S3:源路由器、目标路由器、第一边界路由器、第二边界路由器通过BGP接收邻居路由器发送的带标签的公网路由,为邻居路由发送的待标签的公网路由添加来源标识,并生成新的唯一标签,并使用新的唯一标签替换该公网路由原有的唯一标签,形成本地公网路由后通过BGP转发至邻居路由器。
S4:邻居路由器通过BGP接收转发的本地公网路由,并根据来源标识通过BGP进行路由通告。
举例来说,源路由器引入BGP虚拟私有网络路由管理模块并使能IPv4标签地址族,源路由器将公网路由发送至标签管理模块,公网路由为两个自治域中各个路由器相互连接的路由,标签管理模块为公网路由分配唯一的第一标签,并返回给源路由器的BGP虚拟私有网络路由管理模块供源路由器存储并发送。在使能IPv4标签地址族之后,公网路由上能够通过标签管理模块指定并添加IPv4标签,即设有BGP虚拟私有网络路由管理模块的路由器能够识别并传递公网标签。而为了BGP虚拟私有网络路由管理模块能够传递跨域的路由,需要对该路由打上标签,通过BGP虚拟私有网络路由管理模块,将公网路由发送给标签管理模块,标签管理模块为该路由分配唯一的第一标签后将公网路由返还给BGP虚拟私有网络路由管理模块,BGP虚拟私有网络路由管理模块在收到该公网路由后将其存储在本地IPv4标签的地址族下,经过路由发送给第一自治域的第一自治域的边界路由器。分配唯一的第一标签后,源路由器能够被BGP虚拟私有网络路由管理模块识别并转发,标识除了第一自治域内源路由器的位置。
上述第一自治域的边界路由器和核源路由器处于同一自治域,在第一自治域的边界路由器的BGP协议模块使能了标签地址族,且接受并转发带有第一标签的公网路由后转发给BGP虚拟私有网络路由管理模块、标签管理模块,BGP虚拟私有网络路由管理模块为该带有第一标签的公网路由指定唯一的第二标签,并在使用第二标签替换第一标签后,将公网路由返回给BGP协议模块,供第一自治域的边界路由器存储,BGP协议模块将替换标签后带有第二标签的公网路由发送至第二自治域的第二自治域的边界路由器。公网路由要建立从源路由器至目标路由器的路由,必须要经过第一自治域和第二自治域之间设定的边界路由器,因此,源路由器发送的公网路由必须首先发送至第一自治域的边界路由器,第一自治域的边界路由器接受到公网路由后,转化存储为自己理解的公网路由,即由标签管理模块为该公网路由指定唯一的第二标签,第一自治域的边界路由器保存带有第二标签的公网路由,即在该边界路由器上完成了路由的保存。通过标签路由管理模块分配并使用第二标签来替换第一标签,保证了第一自治域的边界路由器上能够针对该公网路由进行保存学习。
第二自治域的边界路由器位于公网路由目标路由器所处的自治域,且该第二自治域的边界路由器和第一自治域的边界路由器为邻居关系。第二自治域的边界路由器的BGP协议模块接受公网路由后,转发给BGP虚拟私有网络路由管理模块,BGP虚拟私有网络路由管理模块、标签管理模块为该带有第二标签的公网路由指定第二自治域内唯一的第三标签,且使用第三标签,并在使用第三标签替换第二标签后,将公网路由返回给BGP协议模块,供第二自治域的边界路由器存储,并将带有第三标签的公网路由发送至第二自治域的目标路由。公网路由经过第一自治域的边界路由器后要进行跨域,则需要从第一自治域的边界路由器发送至第二自治域的边界路由器,第二自治域的边界路由器接收到第一自治域的边界路由器发送过来的第一自治域的边界路由器已知的路由,这些被发送的路由即完成了跨域传播。而当第二自治域的边界路由器接受到带有第二标签的公网路由后,经过标签路由管理模块分配、替换为第三标签,转化并存储为自己的路由。
本系统通过使能BGP协议模块上的IPv4标签地址族,使得BGP协议模块与IPv4标签建立联系,能够在设有BGP协议模块的路由器上传播公网路由,并通过BGP虚拟私有网络路由管理模块完成公网路由在设备上的学习存储以及传递,最终建立从第一自治域的源路由器至第二自治域的目标路由器的路由路径。
需要说明的是,上述的公网路由为两个自治域中各个路由器的环回口。
还需要说明的是,第一自治域的源路由器包括环回口路由,预设路由策略,在路由策略中加入源路由器的环回口路由,即可实现引入BGP协议模块。其他本领域技术人员通过简单的替换和推理能够将第一自治域的源路由器引入BGP协议模块也包含在内。
优选的,由于在BGP协议模块中地址族(Address Family Information)和子地址族(Sub-Address Family Information)信息中BGP协议扩展和AFI和SAFI值对应关系如下表:
表1、BGP扩展和AFI、SAFI值的对应关系表
BGP扩展 | AFI | SAFI |
IPv4Unicast | 1 | 1 |
IPv4Multicast | 1 | 2 |
IPv4Lable | 1 | 4 |
IPv4VPNV4 | 1 | 128 |
Ipv6Unicast | 2 | 1 |
IPv4MDT | 1 | 66 |
IPv6Multicast | 2 | 2 |
L2vpn | 196 | 128 |
VPLS(rfc4761) | 25 | 65 |
通过将标签地址族的AFI(Address Family Information,地址族信息)设置为1,SAFI(Sub-Address Family Information,子地址族信息)设置为4能够使能IPv4标签地址族。此时BGP公网路由会先被打上公网标签,然后在邻居之间通过ipv4标签地址族进行路由分发,而在BGP的update报文中使用了BGP-4多协议扩展属性,这些标签被放入属性中的NLRI字段。此外,在使用BGP路由协议的网络中,为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设在一个AS内部有n台路由器,那么应该建立的IBGP连接数就为n(n-1)/2。但是当IBGP对等体数目很多时,对网络资源和CPU资源的消耗都很大。因此BGP网络会设置其中一台路由器为RR(Route Reflector,路由反射器),其他路由器作为客户机来解决这一问题。而如果一组BGP路由器通过RR交换路由信息,并且标签通过路由更新进行宣告,那么需要RR也能分发标签,而使能IPv4标签地址族使得RR能够正确识别公网路由,进而避免RR路由器无法识别公网路由导致路由路径建立失败。
本发明不仅局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本发明相同或相近似的技术方案,均在其保护范围之内。
Claims (10)
1.一种基于分布式平台的BGP-LSP实现系统,其特征在于,其包括路由模块、BGP虚拟私有网络路由管理模块、BGP协议模块和标签管理模块:
路由模块用于:根据路由策略设置待添加标签的公网路由,转发待添加标签的公网路由至BGP虚拟私有网络路由管理模块;
标签管理模块用于:依据BGP虚拟私有网络路由管理模块的申请生成并分配唯一标签;
BGP虚拟私有网络路由管理模块用于:对接收到的路由添加唯一标签或替换原路由唯一标签,形成本地公网路由并转发至BGP协议模块;
BGP协议模块用于:通过边界网关协议接收邻居路由发送的带标签的公网路由,为带标签的公网路由添加来源标识并转发至BGP虚拟私有网络路由管理模块;以及通过边界网关协议向邻居路由器通告本地公网标签路由。
2.如权利要求1的基于分布式平台的BGP-LSP实现系统,其特征在于:
BGP虚拟私有网络路由管理模块还用于:若接收到的路由为待添加标签路由,则为待添加标签路由添加唯一标签及来源标识,形成本地公网路由并转发至BGP协议模块;若接收到的路由为添加了来源标识的带标签的公网路由,则生成新的唯一标签,并使用新的唯一标签替换该公网路由原有的唯一标签,形成本地公网路由后转发至BGP协议模块。
3.如权利要求2的基于分布式平台的BGP-LSP实现系统,其特征在于:所述来源标识为路由索引,路由索引用于区分邻居路由和本地路由。
4.如权利要求3的基于分布式平台的BGP-LSP实现系统,其特征在于,BGP协议模块还用于通过边界网关协议向邻居路由器通告本地公网路由,具体包括以下步骤:
获取本地公网路由的路由索引,使用路由索引判断路由属于邻居路由还是本地路由,
若路由为邻居路由则不发送;
若路由为本地路由,则BGP协议模块将该路由通过边界网关协议发送给邻居。
5.如权利要求1的基于分布式平台的BGP-LSP实现系统,其特征在于:根据路由策略设置待添加标签的公网路由具体步骤为:将环回口路由加入到路由策略中。
6.如权利要求5的基于分布式平台的BGP-LSP实现系统,其特征在于:路由模块为路由表管理模块RTM,路由表管理模块RTM还用于根据添加的路由策略检测所有路由是否为普通公网路由,如果为普通公网路由,则发送至BGP协议模块。
7.一种基于分布式平台的BGP-LSP实现方法,其特征在于:
根据路由策略设置待添加标签的公网路由,为待添加标签路由添加唯一标签,形成本地公网路由并转发;
通过边界网关协议接收邻居路由器发送的带标签的公网路由,为邻居路由器发送的带标签的公网路由添加来源标识;
生成新的唯一标签,并使用新的唯一标签替换该公网路由原有的唯一标签,形成本地公网路由后,根据来源标识通过边界网关协议进行路由通告。
8.如权利要求7的基于分布式平台的BGP-LSP实现方法,其特征在于,根据路由策略设置待添加标签的公网路由具体为:
将本路由器上的需要跨域连接的环回口路由添加到路由策略中。
9.如权利要求7的基于分布式平台的BGP-LSP实现方法,其特征在于:
所述来源标识为路由索引,路由索引用于区分邻居路由和本地路由。
10.如权利要求9的基于分布式平台的BGP-LSP实现方法,其特征在于:
根据来源标识通过边界网关协议进行路由通告包括:
获取本地公网路由的路由索引,使用路由索引判断路由属于邻居路由还是本地路由;
若路由为邻居路由则不发送;
若路由为本地路由,则通过边界网关协议将该路由发送给邻居。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910040574.4A CN109889445B (zh) | 2019-01-16 | 2019-01-16 | 一种基于分布式平台的bgp-lsp实现系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910040574.4A CN109889445B (zh) | 2019-01-16 | 2019-01-16 | 一种基于分布式平台的bgp-lsp实现系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109889445A true CN109889445A (zh) | 2019-06-14 |
CN109889445B CN109889445B (zh) | 2021-06-29 |
Family
ID=66926163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910040574.4A Active CN109889445B (zh) | 2019-01-16 | 2019-01-16 | 一种基于分布式平台的bgp-lsp实现系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109889445B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442297A (zh) * | 2022-09-06 | 2022-12-06 | 中电云数智科技有限公司 | 一种基于bgp实现eip智能接入的系统和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130182710A1 (en) * | 2009-12-15 | 2013-07-18 | At&T Intellectual Property I, L.P. | Methods, apparatus and articles of manufacture to manipulate packet routing |
CN105634950A (zh) * | 2014-10-30 | 2016-06-01 | 中兴通讯股份有限公司 | 分配方法、asbr、pe及分配系统 |
CN106549870A (zh) * | 2015-09-16 | 2017-03-29 | 华为技术有限公司 | 分配全局标签的方法、获取全局标签的方法及相关装置 |
CN106789748A (zh) * | 2015-11-23 | 2017-05-31 | 上海贝尔股份有限公司 | 一种分布式接入复用器dam叠加网络系统及其装置 |
CN108989213A (zh) * | 2017-05-31 | 2018-12-11 | 瞻博网络公司 | 使用虚拟节点之间的所选择的结构路径传输lsp设置 |
-
2019
- 2019-01-16 CN CN201910040574.4A patent/CN109889445B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130182710A1 (en) * | 2009-12-15 | 2013-07-18 | At&T Intellectual Property I, L.P. | Methods, apparatus and articles of manufacture to manipulate packet routing |
CN105634950A (zh) * | 2014-10-30 | 2016-06-01 | 中兴通讯股份有限公司 | 分配方法、asbr、pe及分配系统 |
CN106549870A (zh) * | 2015-09-16 | 2017-03-29 | 华为技术有限公司 | 分配全局标签的方法、获取全局标签的方法及相关装置 |
CN106789748A (zh) * | 2015-11-23 | 2017-05-31 | 上海贝尔股份有限公司 | 一种分布式接入复用器dam叠加网络系统及其装置 |
CN108989213A (zh) * | 2017-05-31 | 2018-12-11 | 瞻博网络公司 | 使用虚拟节点之间的所选择的结构路径传输lsp设置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442297A (zh) * | 2022-09-06 | 2022-12-06 | 中电云数智科技有限公司 | 一种基于bgp实现eip智能接入的系统和方法 |
CN115442297B (zh) * | 2022-09-06 | 2023-08-22 | 中电云数智科技有限公司 | 一种基于bgp实现eip智能接入的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109889445B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101455030B (zh) | 动态共享风险节点组(srng)成员发现 | |
CN105634940B (zh) | Sr信息获取方法及建立段路由网络的方法 | |
CN102037685B (zh) | 通过链路状态协议控制的以太网的ip转发 | |
CN104067566B (zh) | 在多区域网络中改进最短路径桥接 | |
CN111147373B (zh) | 实现非灵活算法路由器参与灵活算法路由协议 | |
CN104471899B (zh) | 通过ietf evpn的802.1aq支持 | |
CN101960785B (zh) | 在链路状态协议受控以太网网络上实现vpn | |
CN102150148B (zh) | 层2拓扑中针对单播帧和多播帧的差别化服务 | |
CN103546374B (zh) | 一种边缘二层网络中转发报文的方法和装置 | |
CN100550841C (zh) | 自治系统边界路由器路由发布方法及自治系统边界路由器 | |
CN101047636B (zh) | 端到端伪线仿真虚拟租用线接入虚拟专用网的方法及系统 | |
CN107040469A (zh) | 网络设备及方法 | |
CN106664252A (zh) | 实现业务链接的方法、设备及系统 | |
CN107528779B (zh) | 用于网络的方法、路由器以及存储介质 | |
CN103731349B (zh) | 一种以太网虚拟化互联邻居间报文转发方法和边缘设备 | |
CN106063203A (zh) | 软件定义网络(sdn)特定拓扑信息发现 | |
CN105337870B (zh) | 一种路由发布方法和装置 | |
CN102739501B (zh) | 二三层虚拟私有网络中的报文转发方法和系统 | |
CN104518972A (zh) | 用于链路状态路由协议的动态区域过滤 | |
CN105099846A (zh) | 传输数据报文的方法和供应商边缘设备 | |
CN108156067B (zh) | 一种实现基于以太网虚拟专用网络的方法和系统 | |
CN103326940A (zh) | 在网络中转发报文的方法和运营商边缘设备 | |
EP3598704A1 (en) | Method and apparatus for establishing domain-level topology and network system | |
CN109327374A (zh) | 实现三层vpn网络接入的系统及方法 | |
CN102546419B (zh) | 一种路由方法和装置、分组转发方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |