CN105471725B - 穿越自治系统的路由方法和装置 - Google Patents
穿越自治系统的路由方法和装置 Download PDFInfo
- Publication number
- CN105471725B CN105471725B CN201410381280.5A CN201410381280A CN105471725B CN 105471725 B CN105471725 B CN 105471725B CN 201410381280 A CN201410381280 A CN 201410381280A CN 105471725 B CN105471725 B CN 105471725B
- Authority
- CN
- China
- Prior art keywords
- neighbours
- tunnel
- address
- ibgp
- bgp
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/033—Topology update or discovery by updating distance vector protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种穿越自治系统的路由方法,应用在运行BGP的边界设备上,所述方法包括:接收IBGP邻居的通告,其中包括所述IBGP邻居在建立邻居时使用的地址;以本设备建立邻居时使用的地址为本端地址,以所述IBGP邻居建立邻居时使用的地址为对端地址建立隧道;对所述IBGP邻居发布的BGP路由,以所述隧道的本端接口为出接口进行路由迭代。通过本公开的技术方案,避免了路由黑洞,同时不会影响AS内其他设备和IGP的性能。
Description
技术领域
本公开涉及网络通信技术领域,尤其涉及一种穿越自治系统的路由方法和装置。
背景技术
出于管理和扩展的目的,因特网可以被分割成许多不同的AS(AutonomousSystem,自治系统)。换句话说,因特网是由AS汇集而成的。AS是拥有同一选路策略,属于同一技术管理部门的一组路由设备。
路由选择协议可以被分成IGP(Interior Gateway Protocols,内部网关协议)和EGP(Exterior Gateway Protocols,外部网关协议)两种。IGP是在一个AS内部使用的路由协议,用来完成数据报文在AS内部的路由选择。IGP只作用于AS内部,而对其他AS一无所知。EGP是在多个AS之间使用的路由协议,主要用来完成数据报文在AS间的路由选择,或者说,确定数据报文要经过哪些AS才能到达目的地址。EGP作用于各AS之间,它只了解AS的整体结构,而不了解各个AS内部的拓扑结构。
一个AS中,通常在所有的路由设备上运行IGP,同时在与其他AS连接的边界设备上运行EGP协议。这样,对于转发路径需要穿越某个AS的数据报文,在AS之间要通过EGP进行路由,而在AS内部要通过IGP进行路由。在这种情况下,当报文通过AS内部时,由于报文的目的地址是其他AS的地址,只运行IGP的路由器可能因报文的目的地址不可达而将其丢弃,形成路由黑洞。
发明内容
有鉴于此,本公开提供一种穿越AS的路由方法,应用在运行BGP的边界设备上,所述方法包括:
接收IBGP邻居的通告,其中包括所述IBGP邻居在建立邻居时使用的地址;
以本设备建立邻居时使用的地址为本端地址,以所述IBGP邻居建立邻居时使用的地址为对端地址建立隧道;
对所述IBGP邻居发布的BGP路由,以所述隧道的本端接口为出接口进行路由迭代。
本公开还提供了一种穿越AS的路由装置,应用在运行BGP的边界设备上,所述装置包括:
通告接收单元,用于接收IBGP邻居的通告,其中包括所述IBGP邻居在建立邻居时使用的地址;
隧道建立单元,用于以本设备建立邻居时使用的地址为本端地址,以所述IBGP邻居建立邻居时使用的地址为对端地址建立隧道;
路由迭代单元,用于对所述IBGP邻居发布的BGP路由,以所述隧道的本端接口为出接口进行路由迭代。
由以上技术方案可见,本公开的实施例以边界设备在建立IBGP邻居时使用的地址来建立隧道,并以该隧道的本端接口为出接口进行BGP路由迭代,使得穿越AS的数据报文在AS内部转发时通过隧道来进行,这些数据报文以AS内部的地址进行封装,以AS内部的IGP来路由,从而避免了路由黑洞;同时不会增加AS内不运行BGP的其他设备的负担,也不会影响AS内IGP的性能。
附图说明
图1是一个例子中多个AS的组网结构图;
图2是一个例子中AS中边界设备的硬件架构示意图;
图3是一个例子中边界设备上穿越AS的路由方法的流程图;
图4是一个例子中BGP Open报文中自动隧道能力TLV(Type-Length-Value,类型-长度-值)的结构图;
图5是一个例子中边界设备发送BGP Open报文的流程图;
图6是一个例子中边界设备对从IBGP邻居接收的BGP Open报文的处理流程图;
图7是一个例子中BGP Route-refresh报文中本地地址TLV的结构图;
图8是一个例子中边界设备发送BGP Route-refresh报文的流程图;
图9是一个例子中边界设备对从IBGP邻居接收的BGP Route-refresh报文的处理流程图;
图10是一个例子中边界设备创建隧道并进行连通性检查的流程图;
图11是一个例子中边界设备删除GRE隧道的流程图;
图12是一个例子中边界设备对来自IBGP邻居的路由进行迭代的流程图;
图13是一个例子中边界设备上穿越AS的路由装置的逻辑结构图。
具体实施方式
BGP(Border Gateway Protocol,边界网关协议)是一种既可以用于不同AS之间,又可以用于同一AS内部的动态EGP协议。当BGP运行于同一AS内部时,称为IBGP(InternalBGP,内部边界网关协议);当BGP运行于不同AS之间时,称为EBGP(External BGP,外部边界网关协议)。BGP协议因其稳定性、可以处理大量路由的特点,在运营商的网络中得到了广泛的应用,同时在一些大型的企业网中也普遍使用BGP来传递路由。
根据BGP协议,在一个AS域中采用IBGP邻居来传递路由。但是由于BGP配置复杂,通常的使用场景是,在AS与其他AS连接的边界设备上配置BGP,在AS内的若干个边界设备之间通过建立非直连IBGP邻居来进行BGP路由的通告。而在AS内部,主要还是依靠IGP,如EIGRP(Enhanced Interior Gateway Routing Protocol,增强内部网关路由线路协议)、OSPF(Open Shortest Path First,开放式最短路径优先)、ISIS(Intermediate System toIntermediate System Intra-Domain Routing Exchange Protocol,中间系统到中间系统的域内路由信息交换协议)等协议来进行数据报文的转发。
以图1所示的包括多个AS的组网结构为例,AS 110的边界设备111与AS 120的边界设备121、AS 120的边界设备122与AS 130的边界设备131为EBGP邻居(Peer,也称为对等体);而边界设备121与边界设备122为IBGP邻居。在AS 120内部,路由设备123和路由设备124上不运行BGP协议,通过在AS 120内部的4个设备上运行IGP,边界设备121和边界设备122之间具有两条冗余的转发路径。
现有技术中,一种尝试解决路由黑洞问题的方法是BGP和IGP同步的方案,即将BGP路由引入到IGP路由表中。运行BGP的边界设备需要把IBGP路由加入路由表。在运行BGP的边界设备将该IBGP路由发布给EBGP邻居之前,会先检查IGP路由表。只有在IGP路由表已经引入了这条IBGP路由时,运行BGP的边界设备才会将该IBGP路由发布给EBGP邻居,以使EBGP邻居利用该IBGP路由转发数据报文,使数据报文穿越AS。采用这种方案,IGP路由表中将包括所有的BGP路由,例如图1中的路由设备123和路由设备124的IGP路由表中也要包括到AS110和到AS 130的路由,这会导致IGP的性能下降,尤其是收敛速度会受到较大影响;并且,由于AS内部不同设备的性能不同,路由计算速度的差异仍然可能导致短时的路由黑洞。
另一种尝试解决路由黑洞问题的方法是在AS内部采用标签转发的方案,在AS内运行IGP和LDP(Label Distribution Protocol,标签分发协议LDP),对路由根据下一跳来分配标签,数据报文通过边界设备进入AS时打上对应的标签,在AS内部根据标签进行转发。采用这种方案,AS内的所有路由设备必须支持MPLS(Multi-Protocol Label Switching,多协议标签交换)转发并运行LDP协议,对设备的要求较高,并且这些设备需要进行较复杂的配置,对网络管理员的要求也较高;并且,当IGP和LDP收敛速度不同步的情况发生时,也可能出现短时的路由黑洞现象。
在本申请公开的一个例子中,运行在AS边界设备上的一种路由控制逻辑可以用来避免路由黑洞的形成,并且既不会影响IGP的性能,也不会增加网络管理员的工作负担。在这个例子中,AS中运行BGP的边界设备与同一个AS内运行BGP的至少一个其他边界设备互为IBGP邻居,每个边界设备均可以运行该路由控制逻辑。请参考图2,边界设备(BorderDevice)20可以包括处理器(Processor)211、内存(Memory)212、非易失性存储器(Non-volatile storage)213以及网络接口(Network interface)214,这些硬件通过总线(Internal bus)215相互连接。在这个例子中,处理器211将路由管理逻辑(Control Logicfor Routing)从非易失性存储器213中读取到内存212中运行,其运行流程如图3所示。
步骤301:接收IBGP邻居的通告,其中包括所述IBGP邻居在建立邻居时使用的地址。IBGP邻居在发送的通告中,将其在建立邻居时使用的地址通知本端的边界设备。
步骤302:以本设备建立邻居时使用的地址为本端地址,以所述IBGP邻居建立邻居时使用的地址为对端地址建立隧道。
本例中,对建立隧道时采用何种隧道协议没有限制,例如可以建立GRE(GenericRouting Encapsulation,通用路由封装协议)隧道、IPSEC(Internet Protocol Security,互联网协议安全性)隧道等。本例中,对建立单向还是双向隧道也没有限制。
步骤303:对所述IBGP邻居发布的BGP路由,以所述隧道的本端接口为出接口进行路由迭代。
对隧道对端的IBGP邻居发布的BGP路由,在进行路由迭代时,如果下一跳是IBGP邻居,则以所建立隧道的本端接口为出接口。
在把以隧道的本端接口为出接口的路由下发到本设备的转发平台后,对根据BGP路由从本端设备进入AS、从隧道对端IBGP邻居离开AS的数据报文,本端设备对该数据报文做封装,封装后数据报文外层的源地址是本端设备的地址、目的地址是对端IBGP邻居的地址。这两个地址都是AS内部的地址,这样,AS内部的路由设备根据IGP就可以计算出的封装后数据报文从本端设备到对端设备的转发路径,换言之,所建立的隧道在AS内的转发路径由AS运行的IGP确定。当对端的边界设备收到封装后的数据报文后,对报文进行解,再根据BGP路由进行转发。
可见,使用AS的内部地址封装穿越AS的数据报文后,数据报文在AS内部通过IGP完成穿越。AS外部的BGP路由决定了封装该数据报文的源地址和目的地址,而与数据报文在AS内部的转发无关。这样,即使IGP与BGP的收敛速度不匹配,也不会形成路由黑洞。AS内部不运行BGP的路由设备不需要了解BGP路由,也不需要为了避免路由黑洞而运行其他协议(如LDP),不会增加这些路由设备的负担,也不会影响IGP的性能。自动生成隧道的过程和自动进行的路由迭代过程也不会增加网络管理员的工作量。
需要说明的是,如果步骤302中建立的是双向隧道,则对端设备可以直接利用该隧道来对本端设备发布的路由进行路由迭代。如果建立的是单向隧道,则对端设备可以利用在建立隧道时得知的本端设备的地址,来发起建立到本端设备的单向隧道。也就是说,只要有一端的边界设备向对端的IBGP邻居发送通告,告知对端边界设备其在建立邻居时使用的地址,就可以在两个边界设备之间建立隧道。
还有,本端或对端的边界设备在建立邻居时可以使用物理接口的地址,也可以使用虚拟接口的地址。使用物理接口的地址建立邻居关系,当物理接口发生故障时可能会导致邻居关系中断。而采用虚拟接口建立邻居关系,则可以利用AS内的冗余链路来达到更高的可用性,例如,可以用loopback(环回)接口的地址来建立邻居。
在这个例子中,本端设备可以主动向对端IBGP邻居发送通告,在通告中携带本设备在建立邻居时使用的地址。
在一些具体的组网结构中,可能存在有的边界设备不支持本例中路由控制逻辑的情况。针对这种情况,可以在向发送通告前,与IBGP邻居进行能力协商,来确认其具有自动建立隧道并利用隧道进行BGP路由迭代的功能。如果IBGP邻居不具有这项功能,则本设备不能利用本例中的控制逻辑来处理该IBGP邻居发布的BGP路由。具体的能力协商过程可以通过扩展所采用的BGP协议来进行,也可以通过自定义格式的报文来进行。
在这个例子中,可以对所建立的隧道进行状态维护,以便在隧道发生故障时及时修改BGP路由。一种可行的方式是,周期性对所建立的隧道进行连通性检查,例如,向对端邻居发送心跳报文,看是否收到对端邻居返回的确认报文来得知隧道的状态;如果连通性检查失败,则不再以该隧道的本端接口为出接口进行路由迭代,并且删除本设备转发平台上该隧道对应的转发路径。
在本申请公开的另一个例子中,一个AS中包括若干个运行BGP的边界设备,这些边界设备之间利用loopback接口建立IBGP邻居,并且和其他AS的边界设备建立EBGP邻居。AS中还包括若干个不运行BGP的IGP路由设备,这些IGP路由设备和本AS中的边界设备通过运行IGP来实现AS内部的报文转发。本例中的路由控制逻辑运行在至少一个边界设备上。
边界设备在非易失性存储器中维护一张隧道信息表,其结构如表1所示。在边界设备上配置BGP邻居后,利用自动获得的IBGP邻居信息,在隧道信息表中新增一条记录,该记录中的其他信息暂缺。
表1
边界设备上配置BGP邻居后,会与IBGP邻居交互BGP Open报文来进行参数协商。本例中,在BGP Open报文中增加一个可选的自动隧道能力TLV(Type-Length-Value,类型-长度-值)结构,供IBGP邻居之间进行自动隧道能力(即支持本例中的路由控制逻辑)协商。该TLV结构可以如图4所示,其中,Capability Code(能力编码)字段在边界设备为某个预定值;Capability Length(能力长度)字段的值为0,表示本TLV中的Capability Value(能力值)字段的长度为0。当两台边界设备建立IBGP邻居时,如果边界设备具备自动隧道能力,其发送的Open报文中会带有该自动隧道能力TLV;否则其发送的Open报文中将不包括该自动隧道能力TLV。
在边界设备上,发送Open报文的流程可以如图5所示:
步骤501,启动建立IBGP邻居的流程,读取配置的IBGP邻居;
步骤502:判断本设备是否启用了自动隧道能力,如果启用则执行步骤503,未启用则执行步骤504;
步骤503:生成包括自动隧道能力TLV的Open报文,转步骤505;
步骤504:生成不包括自动隧道能力TLV的Open报文;
步骤505:向IBGP邻居发送所生成的Open报文。
在边界设备上,接收来自IBGP邻居的Open报文后,处理流程课可以如图6所示:
步骤601:接收IBGP邻居的Open报文;
步骤602:判断该Open报文中是否包括自动隧道能力TLV,如果包括,继续执行步骤603,否则继续运行BGP协议的原有流程;
步骤603:判断本设备是否启用了自动隧道能力,如果启用则执行步骤604,否则继续运行BGP协议的原有流程;
步骤604:本设备与IBGP邻居的自动隧道能力协商成功。
在与IBGP邻居的自动隧道能力协商成功后,边界设备向IBGP邻居发送通告,告知IBGP邻居本设备在建立邻居时使用的IP地址;同样,也接收来自IBGP邻居的通告,从中得到IBGP邻居在建立邻居时使用的IP地址。边界设备将本设备和IBGP邻居在建立邻居时使用的IP地址保存到隧道信息表中该IBGP邻居的记录中。
本例中可以将BGP Route-refresh报文作为发送给IBGP邻居的通告,在其中增加一个新的本地地址TLV结构,用于发布本设备建立邻居使用的IP地址。增加的本地地址TLV可以具有图7所示的结构,其中,Route-address(路由地址)字段用来携带之前发送过的路由信息,Length(长度)字段用来携带IP地址属性长度,IP Address(IP地址)字段用来携带本设备建立邻居使用的IP地址。
在边界设备上,向IBGP邻居发送Route-refresh报文的流程可以如图8所示:
步骤801,IBGP邻居建立;
步骤802:判断与IBGP邻居的自动隧道能力协商是否成功,如果成功则执行步骤803,否则执行步骤804;
步骤803:生成包括本地地址TLV的Route-refresh报文,转步骤805;
步骤804:生成不包括本地地址TLV的Route-refresh报文;
步骤805:发送所生成的Route-refresh报文。
在边界设备上,接收来自IBGP邻居的Route-refresh报文后,处理流程课可以如图9所示:
步骤901:接收IBGP邻居的Route-refresh报文;
步骤902:判断与该IBGP邻居的自动隧道能力协商是否成功,如果成功,继续执行步骤903,否则继续运行BGP协议的原有流程;
步骤903:判断接收的Route-refresh报文中是否包括本地地址TLV,如果包括则执行步骤904,否则继续运行BGP协议的原有流程;
步骤904:提取Route-refresh报文的本地地址TLV中携带的IP地址,作为建立邻居时对端使用的IP地址保存到该IBGP邻居的隧道信息表记录中。
在得到IBGP邻居建立邻居时使用的IP地址后,边界设备以隧道信息表中该IBGP邻居的记录中建立邻居时本地使用的IP地址为源地址,以建立邻居时对端使用的IP地址为目的地址创建虚拟GRE隧道,创建成功后将隧道名称和隧道状态写入隧道信息表的记录。所创建的虚拟GRE隧道不需要配置另外的隧道接口,而是可以直接下发到边界设备的转发平面用来进行数据报文的转发。
为了保证GRE隧道双向互通,可以为所创建的虚拟GRE隧道启动GRE keepalive功能,通过在GRE隧道周期性发送报文,来检查隧道的双向连通性,并根据连通性检查的结果维护隧道信息表中的隧道状态。当GRE隧道通过连通性检查时,设置隧道状态为UP(有效),否则设置为Down(失效)。
对状态为UP的GRE隧道,BGP协议在进行路由迭代时以GRE隧道的本端接口为出接口。对状态为Down的GRE隧道,启动定时器并继续进行周期性的连通性检查,如果在定时器到时前连通性检查通过,则修改GRE隧道的状态;如果定时器到时仍不能通过连通性检查,则认为连通性检查失败,BGP协议不再以该隧道的本端接口为出接口进行路由迭代,并且删除转发平台上该GRE隧道对应的转发路径。GRE隧道可能因其在AS内的当前转发路径发生故障,在按照IGP生成其他转发路径前而暂时失效,因此定时器的时间可以参考AS内的转发速率、IGP的收敛速度来确定,例如,可以是30秒。
边界设备创建隧道并进行连通性检查的流程如图10所示:
步骤1001:边界设备以隧道信息表中建立邻居时本地使用的IP地址为源地址,以建立邻居时对端使用的IP地址为目的地址创建与某个IBGP邻居间的GRE隧道;
步骤1002:判断隧道创建是否成功,如果成功执行步骤1003;否则本流程结束;
步骤1003:更新隧道信息表中该IBGP邻居对应的表项中的隧道名称,并将隧道状态置为UP;
步骤1004:判断GRE隧道的连通性检查是否通过,如果通过则等待下一周期的连通性检查,即再次执行步骤1004;如果未通过则执行步骤1005;
步骤1005:将隧道信息表中该GRE隧道状态置为Down;启动定时器,并继续进行连通性检查;
步骤1006:判断连通性检查在定时器到时前是否通过,如果通过,执行步骤1007,否则执行步骤1008;
步骤1007:将隧道状态置为UP,转步骤1004;
步骤1008:删除隧道信息表中该GRE隧道对应的表项,并删除该GRE隧道。
当对端的IBGP邻居发生故障或者其建立邻居的IP地址发生变化时,边界设备删除隧道信息表中该IBGP邻居的记录,并且删除转发平台上与该IBGP邻居建立的GRE隧道对应的转发路径。
边界设备删除GRE隧道的流程如图11所示:
步骤1101:得知IBGP邻居发生故障或其建立邻居的IP地址发生变化;
步骤1102:判断是否与该IBGP邻居建立过GRE隧道,如果是,执行步骤1103,否则本流程结束;
步骤1103:删除隧道信息表中的该GRE隧道对应的表项,删除转发平台上该GRE隧道对应的转发路径。
在与IBGP邻居建立GRE隧道后,边界设备收到来自IBGP邻居的路由时,对可以迭代生效的BGP路由,检查该路由是来自哪个IBGP邻居;然后查找本设备的隧道信息表,如果存在与该IBGP邻居的GRE隧道并且其状态为UP,则如果该BGP路由的下一跳为GRE隧道对端的IBGP邻居,则将该BGP路由的出接口迭代到GRE隧道上,并且将这条路由下发到转发平面来指导数据报文的转发。对来自EBGP邻居的路由,边界设备仍采用BGP协议的原有迭代流程。
对来自IBGP邻居的路由进行迭代的流程可以如图12所示:
步骤1201:接收来自IBGP邻居的BGP路由;
步骤1202:判断该BGP路由是否可以迭代生效,如果是,执行步骤1203,否则本流程结束;
步骤1203:判断与该IBGP邻居间是否建立了GRE隧道并且所建立GER隧道的状态为UP,如果是,执行步骤1204,否则继续运行BGP协议的原有流程;
步骤1204:以该GRE隧道的本端接口为出接口对来自该IBGP邻居的BGP路由进行迭代。
与上述流程实现对应,本公开还提供了穿越自治系统的路由装置,应用在运行BGP的边界设备上,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,可以通过图2中的处理器211将路由控制逻辑读取到内存212中运行而形成。
图13所示为本公开一个例子中的一种穿越AS的路由装置,应用在运行BGP的边界设备上,所述装置包括通告接收单元1310、隧道建立单元1320和路由迭代单元1330,其中:通告接收单元1310用于接收IBGP邻居的通告,其中包括所述IBGP邻居在建立邻居时使用的地址;隧道建立单元1320用于以本设备建立邻居时使用的地址为本端地址,以所述IBGP邻居建立邻居时使用的地址为对端地址建立隧道;路由迭代单元1330用于对所述IBGP邻居发布的BGP路由,以所述隧道的本端接口为出接口进行路由迭代。
在一个例子中,所述装置还包括通告发送单元,用于向IBGP邻居发送通告,其中携带本设备在建立邻居时使用的地址。
所述通告可以是BGP Route-refresh报文。
在一个例子中,所述装置还可以包括连通性检查单元和连通性失败处理单元,其中:连通性检查单元用于周期性对所述隧道进行连通性检查;连通性失败处理单元用于在连通性检查失败时,不再以所述隧道的本端接口为出接口进行路由迭代,删除所述隧道。
所述在建立邻居时使用的地址可以是loopback接口的地址。
以上所述仅为本公开的较佳例子而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在相应权利要求的保护的范围之内。
Claims (11)
1.一种穿越自治系统AS的路由方法,应用在运行边界网关协议BGP的边界设备上,其特征在于,所述方法包括:
接收内部边界网关协议IBGP邻居的通告,其中包括所述IBGP邻居在建立邻居时使用的地址;
以本设备建立邻居时使用的地址为本端地址,以所述IBGP邻居建立邻居时使用的地址为对端地址建立隧道;
对所述IBGP邻居发布的BGP路由,以所述隧道的本端接口为出接口进行路由迭代。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:向IBGP邻居发送通告,其中携带本设备在建立邻居时使用的地址。
3.根据权利要求1所述的方法,其特征在于:所述通告包括BGP Route-refresh报文。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
周期性对所述隧道进行连通性检查;
如果连通性检查失败,不再以所述隧道的本端接口为出接口进行路由迭代,删除所述隧道。
5.根据权利要求1所述的方法,其特征在于:所述在建立邻居时使用的地址包括环回loopback接口的地址。
6.根据权利要求1所述的方法,其特征在于:所述隧道在AS内的转发路径根据AS运行的内部网关协议IGP确定。
7.一种穿越自治系统AS的路由装置,应用在运行边界网关协议BGP的边界设备上,其特征在于,所述装置包括:
通告接收单元,用于接收内部边界网关协议IBGP邻居的通告,其中包括所述IBGP邻居在建立邻居时使用的地址;
隧道建立单元,用于以本设备建立邻居时使用的地址为本端地址,以所述IBGP邻居建立邻居时使用的地址为对端地址建立隧道;
路由迭代单元,用于对所述IBGP邻居发布的BGP路由,以所述隧道的本端接口为出接口进行路由迭代。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:通告发送单元,用于向IBGP邻居发送通告,其中携带本设备在建立邻居时使用的地址。
9.根据权利要求7所述的装置,其特征在于:所述通告包括BGP Route-refresh报文。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
连通性检查单元,用于周期性对所述隧道进行连通性检查;
连通性失败处理单元,用于在连通性检查失败时,不再以所述隧道的本端接口为出接口进行路由迭代,删除所述隧道。
11.根据权利要求7所述的装置,其特征在于:所述在建立邻居时使用的地址包括环回loopback接口的地址。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410381280.5A CN105471725B (zh) | 2014-08-05 | 2014-08-05 | 穿越自治系统的路由方法和装置 |
US15/502,122 US20170230198A1 (en) | 2014-08-05 | 2015-08-05 | Tunnel Between Interior Border Gateway Protocol Neighbors |
PCT/CN2015/086117 WO2016019866A1 (en) | 2014-08-05 | 2015-08-05 | Tunnel between interior border gateway protocol neighbors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410381280.5A CN105471725B (zh) | 2014-08-05 | 2014-08-05 | 穿越自治系统的路由方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471725A CN105471725A (zh) | 2016-04-06 |
CN105471725B true CN105471725B (zh) | 2019-01-22 |
Family
ID=55263160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410381280.5A Active CN105471725B (zh) | 2014-08-05 | 2014-08-05 | 穿越自治系统的路由方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170230198A1 (zh) |
CN (1) | CN105471725B (zh) |
WO (1) | WO2016019866A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9985867B2 (en) * | 2015-12-11 | 2018-05-29 | Cisco Technology, Inc. | Optimizing EVPN for data centers with redundant top-of-rack deployments |
US20170257310A1 (en) | 2016-03-02 | 2017-09-07 | Cisco Technology, Inc. | Network service header (nsh) relaying of serviceability of a service function |
CN110557317B (zh) * | 2018-06-01 | 2022-05-13 | 华为技术有限公司 | 管理虚拟专用网络的方法和设备 |
US10791004B2 (en) | 2018-10-29 | 2020-09-29 | Cisco Technology, Inc. | Methods and apparatus for use in network overlay fabrics to facilitate external network connectivity including access to extranet shared services |
CN111600797B (zh) * | 2019-02-21 | 2022-12-30 | 华为技术有限公司 | 一种数据传输方法、节点以及系统 |
US11563600B2 (en) * | 2019-07-31 | 2023-01-24 | Palo Alto Networks, Inc. | Dynamic establishment and termination of VPN tunnels between spokes |
CN112688871B (zh) * | 2019-10-18 | 2023-07-25 | 阿尔格布鲁控股有限公司 | 使用客户专用隧道的外部自治系统中的路由控制 |
EP3941006B1 (en) * | 2020-07-16 | 2022-10-26 | Anapaya Systems AG | System and method for carrying and optimizing internet traffic over a source-selected path routing network |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001245A (zh) * | 2006-01-10 | 2007-07-18 | 华为技术有限公司 | 一种边界网关协议中更新信息的验证方法 |
CN101005500A (zh) * | 2006-12-31 | 2007-07-25 | 中国科学院计算技术研究所 | 一种基于自治系统关系的边界网关协议路由策略验证方法 |
CN101009629A (zh) * | 2007-01-26 | 2007-08-01 | 成都迈普产业集团有限公司 | 虚拟专用网动态连接方法 |
CN101026563A (zh) * | 2007-02-07 | 2007-08-29 | 华为技术有限公司 | 一种获得路由开销的方法、装置及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4231766B2 (ja) * | 2003-10-24 | 2009-03-04 | 株式会社日立コミュニケーションテクノロジー | As間の経路制御を行う通信装置および通信方法。 |
US7978708B2 (en) * | 2004-12-29 | 2011-07-12 | Cisco Technology, Inc. | Automatic route tagging of BGP next-hop routes in IGP |
CN101247322A (zh) * | 2007-02-14 | 2008-08-20 | 华为技术有限公司 | 一种进行自治系统间路径计算的方法及网络设备 |
US7751405B1 (en) * | 2007-09-26 | 2010-07-06 | Juniper Networks, Inc. | Automatic configuration of label switched path tunnels using BGP attributes |
CN101631072B (zh) * | 2008-07-17 | 2012-04-04 | 华为技术有限公司 | 一种伪线建立方法、装置和系统 |
US20100014531A1 (en) * | 2008-07-18 | 2010-01-21 | Alcatel Lucent | Establishing pseudowires in packet switching networks |
CN101394361B (zh) * | 2008-11-10 | 2011-07-27 | 杭州华三通信技术有限公司 | 报文传输方法、设备和系统 |
-
2014
- 2014-08-05 CN CN201410381280.5A patent/CN105471725B/zh active Active
-
2015
- 2015-08-05 WO PCT/CN2015/086117 patent/WO2016019866A1/en active Application Filing
- 2015-08-05 US US15/502,122 patent/US20170230198A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001245A (zh) * | 2006-01-10 | 2007-07-18 | 华为技术有限公司 | 一种边界网关协议中更新信息的验证方法 |
CN101005500A (zh) * | 2006-12-31 | 2007-07-25 | 中国科学院计算技术研究所 | 一种基于自治系统关系的边界网关协议路由策略验证方法 |
CN101009629A (zh) * | 2007-01-26 | 2007-08-01 | 成都迈普产业集团有限公司 | 虚拟专用网动态连接方法 |
WO2008092351A1 (fr) * | 2007-01-26 | 2008-08-07 | Maipu Communication Technology Co., Ltd. | Procédé de liaison dynamique de réseau privé virtuel |
CN101026563A (zh) * | 2007-02-07 | 2007-08-29 | 华为技术有限公司 | 一种获得路由开销的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20170230198A1 (en) | 2017-08-10 |
CN105471725A (zh) | 2016-04-06 |
WO2016019866A1 (en) | 2016-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105471725B (zh) | 穿越自治系统的路由方法和装置 | |
US11038634B2 (en) | Control for BFD return path | |
CN111886833B (zh) | 重定向控制信道消息的方法和用于实现该方法的设备 | |
US10868756B2 (en) | Explicit control of aggregation links via IS-IS | |
EP3304812B1 (en) | Method and system for resynchronization of forwarding states in a network forwarding device | |
US10225169B2 (en) | Method and apparatus for autonomously relaying statistics to a network controller in a software-defined networking network | |
CN110945837B (zh) | 优化sdn中的服务节点监视 | |
EP3437269B1 (en) | Efficient method to aggregate changes and to produce border gateway protocol link-state (bgp-ls) content from intermediate system to intermediate system (is-is) link-state database | |
CN112262549B (zh) | 用于sdn控制器集群的稳健的节点故障检测机制 | |
JP2017537547A (ja) | ステートレスなネットワークにおけるステートフルなロードバランシング | |
WO2019161936A1 (en) | Network slicing with smart contracts | |
US20150326469A1 (en) | Oam aided explicit path report via igp | |
JP2017529713A (ja) | コンピュータネットワークパケットフローコントローラ | |
CN105765946A (zh) | 支持数据网络中的服务链接的方法和系统 | |
CN108604997B (zh) | 用于对差异化服务编码点(dscp)和显式拥塞通知(ecn)的监视进行配置的控制平面的方法和设备 | |
CN108604999B (zh) | 用于监视差异化服务编码点(dscp)和显式拥塞通知(ecn)的数据平面方法和设备 | |
CN106105114B (zh) | 多归属is-is前缀的更好替换路径 | |
CN106789638A (zh) | 一种处理路由的方法及网络设备 | |
Salazar-Chacón et al. | Segment-Routing Analysis: Proof-of-Concept Emulation in IPv4 and IPv6 Service Provider Infrastructures | |
WO2021077972A1 (zh) | 转发报文的方法、装置及存储介质 | |
OA18142A (en) | Control for bidirectional forwarding detection return path |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |