一种自治系统环路组网中发送更新报文的方法和装置制造方法

文档序号:7815341阅读:189来源:国知局
一种自治系统环路组网中发送更新报文的方法和装置制造方法
【专利摘要】本发明实施方式提出一种自治系统(AS)环路组网中发送更新报文的方法和装置。AS环路组网包括第一路由器和第二路由器,第二路由器位于第一AS。该方法包括:第一路由器接收第二路由器发送的第二路由器的环回能力值;第一路由器确定向第二路由器待发送的边界网关协议(BGP)更新报文携带的AS路径属性所包含的第一AS的序列号的个数;当第一路由器确定AS路径属性所包含的第一AS的序列号的个数不大于第二路由器的环回能力值时,向第二路由器发送BGP更新报文。本发明实施方式根据接收端发送来的环回能力值决定是否向接收端发送更新报文,可以有效减少更新报文的收发工作量,提高路由器的CPU与链路带宽的利用率。
【专利说明】一种自治系统环路组网中发送更新报文的方法和装置

【技术领域】
[0001] 本发明实施方式属于网络通信【技术领域】,特别是一种自治系统(Autonomous System,AS)环路组网中发送更新报文的方法和装置。

【背景技术】
[0002] 边界网关协议(Border Gateway Protocol,BGP)是一种既可以用于不同AS之间, 还可以用于同一 AS内部的动态路由协议。AS是拥有同一选路策略,属于同一技术管理部门 的一组路由器。当BGP运行于同一 AS内部时,称为内部BGP(IBGP,Internal BGP);当BGP 运行于不同AS之间时,称为外部BGP(EBGP,External BGP)。BGP定义了用于在对等体之间 交换路由信息的更新(Update)报文。一条更新报文可以发布具有相同路径属性的多条可 达路由,也可以同时撤销多条不可达路由。
[0003] 目前在AS环路组网下,发送端向接收端发送更新报文,而并不关注接收端是否丢 弃更新报文。当接收端接收到更新报文之后,自行判断是否丢弃更新报文。
[0004] 因此,发送端可能会向接收端发送被接收端丢弃的更新报文,这就浪费了链路带 宽、CPU使用率等系统资源,而且降低了系统性能。


【发明内容】

[0005] 本发明实施方式提出一种AS环路组网中发送更新报文的方法和装置,以节约系 统资源。
[0006] 本发明实施方式的技术方案如下:
[0007] 本发明实施方式的一方面,提供了一种AS环路组网中发送更新报文的方法。AS环 路组网包括第一路由器和第二路由器,第二路由器位于第一 AS,该方法包括:
[0008] 第一路由器接收第二路由器发送的所述第二路由器的环回能力值;
[0009] 第一路由器确定向第二路由器待发送的BGP更新报文携带的路由信息的AS路径 属性所包含的第一 AS的序列号的个数;
[0010] 当第一路由器确定所述AS路径属性所包含的第一 AS的序列号的个数不大于所述 第二路由器的环回能力值时,向所述第二路由器发送所述BGP更新报文。
[0011] 本发明实施方式的一方面,提供了一种AS环路组网中发送更新报文的装置。所述 AS环路组网包括第一路由器和第二路由器,第二路由器位于第一 AS,所述装置应用于第一 路由器,包括:
[0012] 环回能力值接收模块,用于接收第二路由器发送的所述第二路由器的环回能力 值;
[0013] 个数确定模块,用于确定向第二路由器待发送的边界网关协议BGP更新报文携带 的路由信息的AS路径属性所包含的第一 AS的序列号的个数;
[0014] 更新报文发送模块,用于当确定所述AS路径属性所包含的第一 AS的序列号的个 数不大于所述第二路由器的环回能力值时,向所述第二路由器发送所述BGP更新报文。
[0015] 由此可见,本发明实施方式根据接收端发送来的环回能力值决定是否向接收端发 送更新报文,可以有效减少更新报文的收发工作量,提高路由器的CPU和链路带宽的利用 率。在大邻居大路由的情形下,本发明实施方式的优点尤为明显。

【专利附图】

【附图说明】
[0016] 图1为AS环路组网中BGP邻居关系的不范性不意图;
[0017] 图2为根据本发明一实施方式的AS环路组网中发送更新报文的方法流程图。
[0018] 图3为图1所示AS环路组网中发送更新报文的方法示范性流程图。
[0019] 图4为根据本发明一实施方式的AS环路组网中发送更新报文的装置结构图。

【具体实施方式】
[0020] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步 的详细描述。
[0021] 图1为AS环路组网中BGP邻居关系的不范性不意图。
[0022] 在图1中,第一路由器、第二路由器和第三路由器之间建立有BGP邻居关系。第二 路由器和第三路由器都属于AS 100,第一路由器属于AS 200。第一路由器、第二路由器和 第三路由器构成环路组网。
[0023] 在现有技术中,第一路由器自行构建更新报文或从第三路由器接收到更新报文之 后,直接向第二路由器发送更新报文,而并不关注第二路由器是否会丢弃更新报文。第二路 由器自行判断是否丢弃更新报文。比如:当在第三路由器上引入一条路由信息时,第三路由 器向第一路由器发布携带AS路径(AS-path)属性的更新报文,此时,AS路径属性包含第三 路由器所属的AS的序列号AS100。第一路由器向第二路由器转发该更新报文,此时,更新报 文携带的AS路径属性包含第三路由器所属的AS的序列号AS 100和第一路由器所属的AS 的序列号AS 200。如果在第二路由器上未配置AS环回能力,由于第二路由器所属的AS的 序列号为AS 100,即第二路由器接收到的更新报文携带的AS路径属性包含与第二路由器 所属的AS的序列号相同的AS的序列号,则第二路由器丢弃该更新报文。
[0024] 由此可见,第一路由器会向第二路由器发送被第二路由器丢弃的更新报文,这就 浪费了链路带宽和CPU使用率,降低了系统性能。
[0025] 在本发明实施方式中,根据更新报文接收端发送过来的环回能力值决定是否向接 收端发送更新报文,从而有效减少更新报文的传输,节约链路带宽和CPU使用率。
[0026] 图2为根据本发明一实施方式的AS环路组网中发送更新报文的方法流程图。该 AS环路组网包括第一路由器和第二路由器,第二路由器位于第一 AS。
[0027] 如图2所示,该方法包括:
[0028] 步骤201 :第一路由器接收第二路由器发送的第二路由器的环回能力值。
[0029] 环回能力是指本端路由器处理对端路由器发送的携带AS路径属性的更新报文的 能力。环回能力值是对本端路由器环回能力的数值量化,当本端路由器接收到的更新报文 携带的AS路径属性所包含的本端路由器所属的AS的序列号的数量大于环回能力值时,本 端路由器不处理该更新报文,丢弃该更新报文。
[0030] 在一个实施方式中,第二路由器可以在打开(Open)报文中增加格式为类型-长 度-值(TLV)三元组的可选参数,以在Open报文中携带第二路由器的环回能力值。该TLV三 元组包括参数类型(Parm. Type)、参数长度(Parm. Length)和参数值(Parameter Value)。
[0031] 示范性地,该TLV三元组的字段格式如下:
[0032] ..
[0033] Parm. Type|Parm. Length|Parameter Value(variable)
[0034] +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...
[0035] 其中:
[0036] Parm. Type :用于标明可选参数的类型;值为10,占1个字节;
[0037] Parm. Length :用于标明 Parameter Value 的长度,占 1 个字节;
[0038] Parameter Value :用于标明环回能力值,取值范围为0到10,长度是可变的。
[0039] 以上详细描述了 TLV三元组的字段格式,本领域技术人员可以意识到,这种描述 仅是示范性的,并不能对本发明实施方式的保护范围进行限定。
[0040] 第一路由器从第二路由器接收到Open报文之后,如果可以从Open报文中解析出 该TLV三元组,表示第二路由器支持通知环回能力值,否则表示第二路由器不支持通知环 回能力值。第一路由器可以进一步从该TLV三元组中获取Parameter Value,即第二路由器 的环回能力值。
[0041] 步骤202 :第一路由器确定向第二路由器待发送的BGP更新报文携带的AS路径属 性所包含的第一 AS的序列号的个数。
[0042] 第一路由器向第二路由器待发送的BGP更新报文既可以是第一路由器自行组装 的BGP更新报文,也可以是第一路由器从其他路由器接收的BGP更新报文。而且,第一路由 器既可以位于第一 AS,也可以位于不同于第一 AS的其他AS。
[0043] 步骤203 :当第一路由器确定AS路径属性所包含的第一 AS的序列号的个数不大 于第二路由器的环回能力值时,向第二路由器发送BGP更新报文。
[0044] 当待发送的BGP更新报文携带的AS路径属性所包含的第一 AS的序列号的个数不 大于第二路由器的环回能力值时,第一路由器判定向第二路由器发送包含该AS路径属性 的BGP更新报文。
[0045] 当第一路由器位于不同于第一 AS的其他AS时,第一路由器在向第二路由器发送 待发送的BGP更新报文时,在待发送的BGP更新报文携带的AS路径属性中添加一个第一路 由器所属的AS的序列号。比如,假定第二路由器所处的第一 AS具体为AS 100,第一路由器 位于AS 200,则第一路由器在向第二路由器待发送的BGP更新报文携带的AS路径属性中, 增加一个AS 200。
[0046] 当第一路由器位于第一 AS(即第一路由器和第二路由器位于相同的AS)时,第一 路由器在向第二路由器发送待发送的BGP更新报文时,在待发送的BGP更新报文携带的AS 路径属性中不添加第一 AS的序列号。比如,假定第二路由器所处的第一 AS具体为AS 100, 第一路由器同样位于AS 100,则第一路由器在向第二路由器待发送的BGP更新报文携带的 AS路径属性中,不增加 AS 100。
[0047] 如,假设步骤201中第一路由器从第二路由器接收到的第二路由器的环回能力 值为3 ;步骤202中第一路由器从其他路由器接收BGP更新报文,将该BGP更新报文作为待 发送的BGP更新报文并确定该待发送的BGP更新报文携带的AS路径属性所包含的第一 AS 的序列号的个数为2 ;在步骤203中第一路由器判定向第二路由器发送该待发送的BGP更 新报文,其中当第一路由器位于第一 AS时,第一路由器在待发送的BGP更新报文携带的AS 路径属性中不添加第一 AS的序列号,当第一路由器位于不同于第一 AS的其他AS时,第一 路由器在待发送的BGP更新报文携带的AS路径属性中添加一个第一路由器所属的AS的序 列号。
[0048] 再比如,假设步骤201中第一路由器从第二路由器接收到的第二路由器的环回能 力值为3,步骤202中第一路由器自行组装待发送的BGP更新报文,而且确定待发送的BGP 更新报文携带的AS路径属性所包含的第一 AS的序列号的个数为2 ;在步骤203中第一路 由器判定向第二路由器发送该待发送的BGP更新报文,其中当第一路由器位于第一 AS时, 第一路由器在待发送的BGP更新报文携带的AS路径属性中不添加第一 AS的序列号,当第 一路由器位于不同于第一 AS的其他AS时,第一路由器在待发送的BGP更新报文携带的AS 路径属性中添加一个第一路由器所属的AS的序列号。
[0049] 在一个实施方式中,当AS路径属性所包含的第一 AS的序列号的个数大于第二路 由器的环回能力值时,第一路由器判定不向第二路由器发送携带该AS路径属性的BGP更新 报文。
[0050] 如,假设步骤201中第一路由器从第二路由器接收到的第二路由器的环回能力 值为2,步骤202中第一路由器从其他路由器接收到BGP更新报文,将该BGP更新报文作为 待发送的BGP报文并确定待发送的BGP更新报文携带的AS路径属性所包含的第一 AS的序 列号的个数为3 ;因此步骤203中第一路由器判定不向第二路由器发送该待发送的BGP更 新报文。
[0051] 再比如,假设步骤201中第一路由器从第二路由器接收到的第二路由器的环回能 力值为2,步骤202中第一路由器自行组装待发送的BGP更新报文,而且确定待发送的BGP 更新报文携带的AS路径属性所包含的第一 AS的序列号的个数为3 ;因此步骤203中第一 路由器判定不向第二路由器发送包含该AS路径属性的BGP更新报文。
[0052] 在一个实施方式中,该方法进一步包括:
[0053] 当第二路由器的环回能力值发生更新时,第一路由器从第二路由器接收第二路由 器的更新后的环回能力值,而且第一路由器利用第二路由器的更新后的环回能力值更新本 地保存的第二路由器的环回能力值。
[0054] 在一个实施方式中,当第二路由器的环回能力值发生更新时,断开第一路由器与 第二路由器之间的BGP邻居,而且第二路由器利用BGP邻居重新建立过程中的Open报文将 第二路由器的更新后的环回能力值发送到第一路由器。然而,这种处理方式需要断开并重 建邻居,对系统性能有不利影响。
[0055] 优选地,当第二路由器的环回能力值发生更新时,第一路由器从第二路由器接收 携带有第二路由器的更新后的环回能力值的路由更新(Route-refresh)报文。进一步地, 该第二路由器的更新后的环回能力值携带在Route-refresh报文的保留域中。第一路由 器从Route-refresh报文的保留域中提取出第二路由器的更新后的环回能力值,并利用第 二路由器的更新后的环回能力值更新本地保存的第二路由器的环回能力值。因此,通过 Route-refresh报文,既可以将第二路由器的更新后的环回能力值发送到第一路由器,还无 需断开并重建邻居。
[0056] Route-refresh报文通常用于要求对等体重新发送指定地址族的路由信息。 Route-refresh报文的字段格式如下:
[0057]
[0058] 其中:

【权利要求】
1. 一种自治系统AS环路组网中发送更新报文的方法,其特征在于,所述AS环路组网包 括第一路由器和第二路由器,第二路由器位于第一 AS,该方法包括: 第一路由器接收第二路由器发送的所述第二路由器的环回能力值; 第一路由器确定向第二路由器待发送的边界网关协议BGP更新报文携带的AS路径属 性所包含的第一 AS的序列号的个数; 当第一路由器确定所述AS路径属性所包含的第一 AS的序列号的个数不大于所述第二 路由器的环回能力值时,向所述第二路由器发送所述BGP更新报文。
2. 根据权利要求1所述的方法,其特征在于,还包括: 当第二路由器的环回能力值发生更新时,第一路由器接收第二路由器发送的第二路由 器的更新后的环回能力值; 第一路由器利用所述第二路由器的更新后的环回能力值更新本地的第二路由器的环 回能力值。
3. 根据权利要求2所述的方法,其特征在于,还包括: 当第二路由器的更新后的环回能力值大于第二路由器的更新前的环回能力值时,第一 路由器通过查询BGP路由表确定未向第二路由器发送的AS路径属性; 针对每一条未向第二路由器发送的AS路径属性,第一路由器确定该未向第二路由器 发送的AS路径属性所包含的第一 AS的序列号的个数; 当第一路由器确定该未向第二路由器发送的AS路径属性所包含的第一 AS的序列号的 个数不大于所述第二路由器的更新后的环回能力值时,向所述第二路由器发送携带该未向 第二路由器发送的AS路径属性的BGP更新报文。
4. 根据权利要求2所述的方法,其特征在于,还包括: 当第二路由器的更新后的环回能力值小于第二路由器的更新前的环回能力值时,第一 路由器通过查询BGP路由表确定已向第二路由器发送的AS路径属性; 针对每一条已向第二路由器发送的AS路径属性,第一路由器确定该已向第二路由器 发送的AS路径属性所包含的第一 AS的序列号的个数; 当第一路由器确定该已向第二路由器发送的AS路径属性所包含的第一 AS的序列号的 个数大于所述第二路由器的更新后的环回能力值时,向第二路由器发送撤销报文,所述撤 销报文携带该已向第二路由器发送的AS路径属性所对应的路由的路由前缀,以使第二路 由器基于所述路由前缀删除所述已向第二路由器发送的AS路径属性所对应的路由。
5. 根据权利要求1所述的方法,其特征在于,所述第一路由器接收第二路由器发送的 所述第二路由器的环回能力值包括:第一路由器接收第二路由器发送的携带所述第二路由 器环回能力值的打开Open报文。
6. 根据权利要求2所述的方法,其特征在于,所述第一路由器接收第二路由器发送的 第二路由器的更新后的环回能力值包括:第一路由器接收第二路由器发送的携带所述第二 路由器的更新后的环回能力值的路由更新Route-refresh报文。
7. -种自治系统AS环路组网中发送更新报文的装置,其特征在于,所述AS环路组网包 括第一路由器和第二路由器,第二路由器位于第一 AS,所述装置应用于第一路由器,包括: 环回能力值接收模块,用于接收第二路由器发送的所述第二路由器的环回能力值; 个数确定模块,用于确定向第二路由器待发送的边界网关协议BGP更新报文携带的AS 路径属性所包含的第一 AS的序列号的个数; 更新报文发送模块,用于当确定所述AS路径属性所包含的第一 AS的序列号的个数不 大于所述第二路由器的环回能力值时,向所述第二路由器发送所述BGP更新报文。
8. 根据权利要求7所述的装置,其特征在于,还包括: 更新环回能力值接收模块,用于当第二路由器的环回能力值发生更新时,接收第二路 由器发送的第二路由器的更新后的环回能力值; 更新模块,用于利用所述第二路由器的更新后的环回能力值更新本地的第二路由器的 环回能力值。
9. 根据权利要求8所述的装置,其特征在于,还包括: 未发送路径属性确定模块,用于当第二路由器的更新后的环回能力值大于第二路由器 的更新前的环回能力值时,通过查询BGP路由表确定未向第二路由器发送的AS路径属性; 而且 个数确定模块,还用于针对每一条未向第二路由器发送的AS路径属性,确定该未向第 二路由器发送的AS路径属性所包含的第一 AS的序列号的个数; 更新报文发送模块,还用于当确定所述未向第二路由器发送的AS路径属性所包含的 第一 AS的序列号的个数不大于所述第二路由器的更新后的环回能力值时,向所述第二路 由器发送携带该未向第二路由器发送的AS路径属性的BGP更新报文。
10. 根据权利要求8所述的装置,其特征在于,还包括: 已发送路径属性确定模块,用于当第二路由器的更新后的环回能力值小于第二路由器 的更新前的环回能力值时,通过查询BGP路由表确定已向第二路由器发送的AS路径属性; 而且 个数确定模块,还用于针对每一条已向第二路由器发送的AS路径属性,确定该已向第 二路由器发送的AS路径属性所包含的第一 AS的序列号的个数; 更新报文发送模块,还用于当确定该已向第二路由器发送的AS路径属性所包含的第 一 AS的序列号的个数大于所述第二路由器的更新后的环回能力值时,向第二路由器发送 撤销报文,所述撤销报文携带该已向第二路由器发送的AS路径属性所对应的路由的路由 前缀,以使第二路由器基于所述路由前缀删除所述已向第二路由器发送的AS路径属性所 对应的路由。
【文档编号】H04L12/701GK104243303SQ201410497736
【公开日】2014年12月24日 申请日期:2014年9月25日 优先权日:2014年9月25日
【发明者】刘永奎 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1