一种路由更新的方法和装置的制造方法

文档序号:9828111阅读:406来源:国知局
一种路由更新的方法和装置的制造方法
【技术领域】
[0001]本发明涉及边界网关协议(Border Gateway Protocol,BGP)技术领域,特别是一种路由更新的方法和装置。
【背景技术】
[0002]BGP是一种既可以用于不同自治系统(Autonomous System,AS)之间,又可以用于同一AS内部的动态路由协议。与开放式最短路径优先(Open Shortest Path First,0SPF)、路由信息协议(Routing Informat1n Protocol,RIP)等内部网关协议(Inter1r GatewayProtocol, IGP)不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最佳路由。两个AS中利用BGP交换信息的路由器被称为边界网关(Border Gateway)或边界路由器(Border Router)。
[0003]在BGP中,更新(Update)报文用于在对等体之间交换路由信息。Update报文可以发布具有相同路径属性的多条可达路由,也可以同时撤销多条不可达路由。
[0004]在现有技术中,BGP邻居会逐一地向对端发送Update报文以进行路由更新。然而,随着网络的规模的不断扩大,BGP邻居和路由信息日益增多,通过这样的方式传输Update报文会占用大量网络带宽和CPU资源,极限情况下甚至可能导致网络和设备不可用。

【发明内容】

[0005]有鉴于此,本发明提出一种路由更新的方法和装置,从而降低对资源的利用。
[0006]本发明实施方式的技术方案如下:
[0007]根据本发明实施方式的一方面,提出一种路由更新的方法,该方法应用于BGP路由器,该方法包括:
[0008]确定需要更新相同的路由信息的BGP邻居,将所确定的BGP邻居加入BGP邻居组;
[0009]以组播方式对所述BGP邻居组中的BGP邻居进行路由更新。
[0010]优选地,在确定需要更新相同的路由信息的BGP邻居之前,该方法还包括:
[0011]通过Open报文与BGP邻居协商组播接收能力,并将协商成功的BGP邻居确定为具有组播接收能力的BGP邻居;
[0012]所述确定需要更新相同的路由信息的BGP邻居包括:从具有组播接收能力的BGP邻居中,确定需要更新相同的路由信息的BGP邻居。
[0013]优选地,在所述通过Open报文与BGP邻居协商组播接收能力之后,所述方法还包括:
[0014]将协商失败的BGP邻居确定为不具有组播接收能力的BGP邻居;
[0015]以单播方式对所述不具有组播接收能力的BGP邻居进行路由更新。
[0016]优选地,所述将所确定的BGP邻居加入BGP邻居组包括:
[0017]为所述BGP邻居组分配组播地址;
[0018]向所述所确定的BGP邻居发送所述组播地址,从而由存储有到达所述BGP路由器的组播路由的BGP邻居加入所述BGP邻居组。
[0019]优选地,该方法还包括:
[0020]以单播方式对不加入所述BGP邻居组的BGP邻居进行路由更新。
[0021]优选地,所述向所确定的BGP邻居发送组播地址包括:
[0022]将所述组播地址携带在Refresh报文中,并向所述所确定的BGP邻居发送所述Refresh 报文。
[0023]优选地,所述以组播方式对所述BGP邻居组中的BGP邻居进行路由更新包括:
[0024]为每条更新报文分配不同的序列号;
[0025]以组播方式分别向所述BGP邻居组中的BGP邻居发送每条更新报文;
[0026]该方法还包括:
[0027]接收所述BGP邻居组中的BGP邻居发送的回复报文,所述回复报文携带有与所述更新报文相对应的序列号;
[0028]根据未接收到的序列号,确定所述BGP邻居组中的BGP邻居未接收到的更新报文;
[0029]以组播方式向所述BGP邻居重新发送所述未接收到的更新报文。
[0030]根据本发明实施方式的另一方面,提出一种路由更新的装置,该方法应用于BGP路由器,该装置包括:
[0031 ] 分组模块,用于确定需要更新相同的路由信息的BGP邻居,将所确定的BGP邻居加入BGP邻居组;
[0032]路由更新模块,用于以组播方式对所述BGP邻居组中的BGP邻居进行路由更新。
[0033]优选地,还包括:
[0034]协商模块,用于在分组模块确定需要更新相同的路由信息的BGP邻居之前,通过Open报文与BGP邻居协商组播接收能力,并将协商成功的BGP邻居确定为具有组播接收能力的BGP邻居;
[0035]分组模块,用于从具有组播接收能力的BGP邻居中,确定需要更新相同的路由信息的BGP邻居。
[0036]优选地,协商模块,还用于将协商失败的BGP邻居确定为不具有组播接收能力的BGP邻居;该装置还包括:
[0037]单播发送模块,用于以单播方式对所述不具有组播接收能力的BGP邻居进行路由更新。
[0038]优选地,分组模块,用于为所述BGP邻居组分配组播地址;向所述所确定的BGP邻居发送所述组播地址,从而由存储有到达所述BGP路由器的组播路由的BGP邻居加入所述BGP邻居组。
[0039]优选地,还包括:
[0040]单播发送模块,用于以单播方式对不加入所述BGP邻居组的BGP邻居进行路由更新。
[0041]优选地,分组模块,用于将所述组播地址携带在Refresh报文中,并向所述所确定的BGP邻居发送所述Refresh报文。
[0042]优选地,路由更新模块,用于为每条更新报文分配不同的序列号;以组播方式分别向所述BGP邻居组中的BGP邻居发送每条更新报文;接收所述BGP邻居组中的BGP邻居发送的回复报文,所述回复报文携带有与所述更新报文相对应的序列号;根据未接收到的序列号,确定所述BGP邻居组中的BGP邻居未接收到的更新报文;以组播方式向所述BGP邻居重新发送所述未接收到的更新报文。
[0043]在本发明实施方式中,确定需要更新相同的路由信息的BGP邻居,将所确定的BGP邻居加入BGP邻居组;以组播方式对BGP邻居组中的BGP邻居进行路由更新。由此可见,BGP路由器通过组播方式对BGP邻居进行路由更新,从而降低对资源的利用。
【附图说明】
[0044]图1为根据本发明的路由更新的方法流程图;
[0045]图2为根据本发明的路由更新的第一示范性组网系统示意图;
[0046]图3为根据本发明的路由更新的第二示范性组网系统示意图;
[0047]图4为根据本发明的路由更新的第三示范性组网系统示意图;
[0048]图5为根据本发明的路由更新的装置结构图。
【具体实施方式】
[0049]为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
[0050]针对现有技术中作为更新报文发送设备的BGP路由器通过逐一向BGP邻居发送更新报文导致资源压力增加的技术缺陷,在本发明实施方式中,BGP路由器通过组播方式向BGP邻居发送更新报文以进行路由更新,从而降低对资源的利用。
[0051]图1为根据本发明的路由更新的方法流程图,该方法应用于作为更新报文发送设备的BGP路由器。
[0052]如图1所示,该方法包括:
[0053]步骤101:BGP路由器确定需要更新相同的路由信息的BGP邻居,将所确定的BGP邻居加入BGP邻居组。
[0054]在这里,BGP路由器从自身的所有BGP邻居中,确定出需要更新相同的路由信息的BGP邻居,并将所确定的需要更新相同路由信息的BGP邻居加入到一个共同的BGP邻居组。
[0055]在一个实施方式中,在BGP路由器确定需要更新相同的路由信息的BGP邻居之前,该方法还包括:通过打开(Open)报文与BGP邻居协商组播接收能力,并将协商成功的BGP邻居确定为具有组播接收能力的BGP邻居;步骤101中BGP路由器确定需要更新相同的路由信息的BGP邻居包括:BGP路由器从具有组播接收能力的BGP邻居中,确定需要更新相同的路由信息的BGP邻居。优选地,BGP路由器进一步将协商失败的BGP邻居确定为不具有组播接收能力的BGP邻居。
[0056]在一个实施方式中,BGP路由器首先为BGP邻居组分配组播地址;并向所确定的需要更新相同路由信息的BGP邻居分别发送组播地址。BGP邻居接收到组播地址之后,分别判断自身是否存储有到达BGP路由器的组播路由。自身存储有到达BGP路由器的组播路由的BGP邻居,加入BGP邻居组。自身没有存储到达BGP路由器的组播路由的BGP邻居,不加入BGP邻居组。优选地,BGP路由器将组播地址携带在刷新(Refresh)报文中,并向所
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1