CN104243303B - 一种自治系统环路组网中发送更新报文的方法和装置 - Google Patents
一种自治系统环路组网中发送更新报文的方法和装置 Download PDFInfo
- Publication number
- CN104243303B CN104243303B CN201410497736.4A CN201410497736A CN104243303B CN 104243303 B CN104243303 B CN 104243303B CN 201410497736 A CN201410497736 A CN 201410497736A CN 104243303 B CN104243303 B CN 104243303B
- Authority
- CN
- China
- Prior art keywords
- router
- loop
- sent
- capability value
- back capability
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施方式提出一种自治系统(AS)环路组网中发送更新报文的方法和装置。AS环路组网包括第一路由器和第二路由器,第二路由器位于第一AS。该方法包括:第一路由器接收第二路由器发送的第二路由器的环回能力值;第一路由器确定向第二路由器待发送的边界网关协议(BGP)更新报文携带的AS路径属性所包含的第一AS的序列号的个数;当第一路由器确定AS路径属性所包含的第一AS的序列号的个数不大于第二路由器的环回能力值时,向第二路由器发送BGP更新报文。本发明实施方式根据接收端发送来的环回能力值决定是否向接收端发送更新报文,可以有效减少更新报文的收发工作量,提高路由器的CPU与链路带宽的利用率。
Description
技术领域
本发明实施方式属于网络通信技术领域,特别是一种自治系统(AutonomousSystem,AS)环路组网中发送更新报文的方法和装置。
背景技术
边界网关协议(Border Gateway Protocol,BGP)是一种既可以用于不同AS之间,还可以用于同一AS内部的动态路由协议。AS是拥有同一选路策略,属于同一技术管理部门的一组路由器。当BGP运行于同一AS内部时,称为内部BGP(IBGP,Internal BGP);当BGP运行于不同AS之间时,称为外部BGP(EBGP,External BGP)。BGP定义了用于在对等体之间交换路由信息的更新(Update)报文。一条更新报文可以发布具有相同路径属性的多条可达路由,也可以同时撤销多条不可达路由。
目前在AS环路组网下,发送端向接收端发送更新报文,而并不关注接收端是否丢弃更新报文。当接收端接收到更新报文之后,自行判断是否丢弃更新报文。
因此,发送端可能会向接收端发送被接收端丢弃的更新报文,这就浪费了链路带宽、CPU使用率等系统资源,而且降低了系统性能。
发明内容
本发明实施方式提出一种AS环路组网中发送更新报文的方法和装置,以节约系统资源。
本发明实施方式的技术方案如下:
本发明实施方式的一方面,提供了一种AS环路组网中发送更新报文的方法。AS环路组网包括第一路由器和第二路由器,第二路由器位于第一AS,该方法包括:
第一路由器接收第二路由器发送的所述第二路由器的环回能力值;
第一路由器确定向第二路由器待发送的BGP更新报文携带的路由信息的AS路径属性所包含的第一AS的序列号的个数;
当第一路由器确定所述AS路径属性所包含的第一AS的序列号的个数不大于所述第二路由器的环回能力值时,向所述第二路由器发送所述BGP更新报文。
本发明实施方式的一方面,提供了一种AS环路组网中发送更新报文的装置。所述AS环路组网包括第一路由器和第二路由器,第二路由器位于第一AS,所述装置应用于第一路由器,包括:
环回能力值接收模块,用于接收第二路由器发送的所述第二路由器的环回能力值;
个数确定模块,用于确定向第二路由器待发送的边界网关协议BGP更新报文携带的路由信息的AS路径属性所包含的第一AS的序列号的个数;
更新报文发送模块,用于当确定所述AS路径属性所包含的第一AS的序列号的个数不大于所述第二路由器的环回能力值时,向所述第二路由器发送所述BGP更新报文。
由此可见,本发明实施方式根据接收端发送来的环回能力值决定是否向接收端发送更新报文,可以有效减少更新报文的收发工作量,提高路由器的CPU和链路带宽的利用率。在大邻居大路由的情形下,本发明实施方式的优点尤为明显。
附图说明
图1为AS环路组网中BGP邻居关系的示范性示意图;
图2为根据本发明一实施方式的AS环路组网中发送更新报文的方法流程图。
图3为图1所示AS环路组网中发送更新报文的方法示范性流程图。
图4为根据本发明一实施方式的AS环路组网中发送更新报文的装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
图1为AS环路组网中BGP邻居关系的示范性示意图。
在图1中,第一路由器、第二路由器和第三路由器之间建立有BGP邻居关系。第二路由器和第三路由器都属于AS 100,第一路由器属于AS 200。第一路由器、第二路由器和第三路由器构成环路组网。
在现有技术中,第一路由器自行构建更新报文或从第三路由器接收到更新报文之后,直接向第二路由器发送更新报文,而并不关注第二路由器是否会丢弃更新报文。第二路由器自行判断是否丢弃更新报文。比如:当在第三路由器上引入一条路由信息时,第三路由器向第一路由器发布携带AS路径(AS-path)属性的更新报文,此时,AS路径属性包含第三路由器所属的AS的序列号AS100。第一路由器向第二路由器转发该更新报文,此时,更新报文携带的AS路径属性包含第三路由器所属的AS的序列号AS 100和第一路由器所属的AS的序列号AS 200。如果在第二路由器上未配置AS环回能力,由于第二路由器所属的AS的序列号为AS 100,即第二路由器接收到的更新报文携带的AS路径属性包含与第二路由器所属的AS的序列号相同的AS的序列号,则第二路由器丢弃该更新报文。
由此可见,第一路由器会向第二路由器发送被第二路由器丢弃的更新报文,这就浪费了链路带宽和CPU使用率,降低了系统性能。
在本发明实施方式中,根据更新报文接收端发送过来的环回能力值决定是否向接收端发送更新报文,从而有效减少更新报文的传输,节约链路带宽和CPU使用率。
图2为根据本发明一实施方式的AS环路组网中发送更新报文的方法流程图。该AS环路组网包括第一路由器和第二路由器,第二路由器位于第一AS。
如图2所示,该方法包括:
步骤201:第一路由器接收第二路由器发送的第二路由器的环回能力值。
环回能力是指本端路由器处理对端路由器发送的携带AS路径属性的更新报文的能力。环回能力值是对本端路由器环回能力的数值量化,当本端路由器接收到的更新报文携带的AS路径属性所包含的本端路由器所属的AS的序列号的数量大于环回能力值时,本端路由器不处理该更新报文,丢弃该更新报文。
在一个实施方式中,第二路由器可以在打开(Open)报文中增加格式为类型-长度-值(TLV)三元组的可选参数,以在Open报文中携带第二路由器的环回能力值。该TLV三元组包括参数类型(Parm.Type)、参数长度(Parm.Length)和参数值(Parameter Value)。
示范性地,该TLV三元组的字段格式如下:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...
|Parm.Type|Parm.Length|Parameter Value(variable)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...
其中:
Parm.Type:用于标明可选参数的类型;值为10,占1个字节;
Parm.Length:用于标明Parameter Value的长度,占1个字节;
Parameter Value:用于标明环回能力值,取值范围为0到10,长度是可变的。
以上详细描述了TLV三元组的字段格式,本领域技术人员可以意识到,这种描述仅是示范性的,并不能对本发明实施方式的保护范围进行限定。
第一路由器从第二路由器接收到Open报文之后,如果可以从Open报文中解析出该TLV三元组,表示第二路由器支持通知环回能力值,否则表示第二路由器不支持通知环回能力值。第一路由器可以进一步从该TLV三元组中获取Parameter Value,即第二路由器的环回能力值。
步骤202:第一路由器确定向第二路由器待发送的BGP更新报文携带的AS路径属性所包含的第一AS的序列号的个数。
第一路由器向第二路由器待发送的BGP更新报文既可以是第一路由器自行组装的BGP更新报文,也可以是第一路由器从其他路由器接收的BGP更新报文。而且,第一路由器既可以位于第一AS,也可以位于不同于第一AS的其他AS。
步骤203:当第一路由器确定AS路径属性所包含的第一AS的序列号的个数不大于第二路由器的环回能力值时,向第二路由器发送BGP更新报文。
当待发送的BGP更新报文携带的AS路径属性所包含的第一AS的序列号的个数不大于第二路由器的环回能力值时,第一路由器判定向第二路由器发送包含该AS路径属性的BGP更新报文。
当第一路由器位于不同于第一AS的其他AS时,第一路由器在向第二路由器发送待发送的BGP更新报文时,在待发送的BGP更新报文携带的AS路径属性中添加一个第一路由器所属的AS的序列号。比如,假定第二路由器所处的第一AS具体为AS 100,第一路由器位于AS200,则第一路由器在向第二路由器待发送的BGP更新报文携带的AS路径属性中,增加一个AS 200。
当第一路由器位于第一AS(即第一路由器和第二路由器位于相同的AS)时,第一路由器在向第二路由器发送待发送的BGP更新报文时,在待发送的BGP更新报文携带的AS路径属性中不添加第一AS的序列号。比如,假定第二路由器所处的第一AS具体为AS 100,第一路由器同样位于AS 100,则第一路由器在向第二路由器待发送的BGP更新报文携带的AS路径属性中,不增加AS 100。
比如,假设步骤201中第一路由器从第二路由器接收到的第二路由器的环回能力值为3;步骤202中第一路由器从其他路由器接收BGP更新报文,将该BGP更新报文作为待发送的BGP更新报文并确定该待发送的BGP更新报文携带的AS路径属性所包含的第一AS的序列号的个数为2;在步骤203中第一路由器判定向第二路由器发送该待发送的BGP更新报文,其中当第一路由器位于第一AS时,第一路由器在待发送的BGP更新报文携带的AS路径属性中不添加第一AS的序列号,当第一路由器位于不同于第一AS的其他AS时,第一路由器在待发送的BGP更新报文携带的AS路径属性中添加一个第一路由器所属的AS的序列号。
再比如,假设步骤201中第一路由器从第二路由器接收到的第二路由器的环回能力值为3,步骤202中第一路由器自行组装待发送的BGP更新报文,而且确定待发送的BGP更新报文携带的AS路径属性所包含的第一AS的序列号的个数为2;在步骤203中第一路由器判定向第二路由器发送该待发送的BGP更新报文,其中当第一路由器位于第一AS时,第一路由器在待发送的BGP更新报文携带的AS路径属性中不添加第一AS的序列号,当第一路由器位于不同于第一AS的其他AS时,第一路由器在待发送的BGP更新报文携带的AS路径属性中添加一个第一路由器所属的AS的序列号。
在一个实施方式中,当AS路径属性所包含的第一AS的序列号的个数大于第二路由器的环回能力值时,第一路由器判定不向第二路由器发送携带该AS路径属性的BGP更新报文。
比如,假设步骤201中第一路由器从第二路由器接收到的第二路由器的环回能力值为2,步骤202中第一路由器从其他路由器接收到BGP更新报文,将该BGP更新报文作为待发送的BGP报文并确定待发送的BGP更新报文携带的AS路径属性所包含的第一AS的序列号的个数为3;因此步骤203中第一路由器判定不向第二路由器发送该待发送的BGP更新报文。
再比如,假设步骤201中第一路由器从第二路由器接收到的第二路由器的环回能力值为2,步骤202中第一路由器自行组装待发送的BGP更新报文,而且确定待发送的BGP更新报文携带的AS路径属性所包含的第一AS的序列号的个数为3;因此步骤203中第一路由器判定不向第二路由器发送包含该AS路径属性的BGP更新报文。
在一个实施方式中,该方法进一步包括:
当第二路由器的环回能力值发生更新时,第一路由器从第二路由器接收第二路由器的更新后的环回能力值,而且第一路由器利用第二路由器的更新后的环回能力值更新本地保存的第二路由器的环回能力值。
在一个实施方式中,当第二路由器的环回能力值发生更新时,断开第一路由器与第二路由器之间的BGP邻居,而且第二路由器利用BGP邻居重新建立过程中的Open报文将第二路由器的更新后的环回能力值发送到第一路由器。然而,这种处理方式需要断开并重建邻居,对系统性能有不利影响。
优选地,当第二路由器的环回能力值发生更新时,第一路由器从第二路由器接收携带有第二路由器的更新后的环回能力值的路由更新(Route-refresh)报文。进一步地,该第二路由器的更新后的环回能力值携带在Route-refresh报文的保留域中。第一路由器从Route-refresh报文的保留域中提取出第二路由器的更新后的环回能力值,并利用第二路由器的更新后的环回能力值更新本地保存的第二路由器的环回能力值。因此,通过Route-refresh报文,既可以将第二路由器的更新后的环回能力值发送到第一路由器,还无需断开并重建邻居。
Route-refresh报文通常用于要求对等体重新发送指定地址族的路由信息。Route-refresh报文的字段格式如下:
其中:
AFI:地址族(16位);
Res.:保留域(8位),通常设置为0;本发明在其中携带更新后的环回能力值;
SAFI:子地址族(8位)。
在本发明实施方式中,将更新后的环回能力值附加在Route-refresh报文的保留域中,而且AFI字段和SAFI字段可以留空。
在一个实施方式中:
当第二路由器的更新后的环回能力值大于第二路由器的更新前的环回能力值时,第一路由器通过查询BGP路由表确定未向第二路由器发送的AS路径属性;针对每一条未向第二路由器发送的AS路径属性,第一路由器确定该未向第二路由器发送的AS路径属性所包含的第一AS的序列号的个数;当第一路由器确定该未向第二路由器发送的AS路径属性所包含的第一AS的序列号的个数不大于第二路由器的更新后的环回能力值时,向第二路由器发送携带该未向第二路由器发送的AS路径属性的BGP更新报文。
比如,假定第二路由器的更新前的环回能力值为3,第一路由器在接收到第二路由器的更新后的环回能力值之前,从处于第一AS的第三路由器接收过携带AS路径属性1的BGP更新报文,其中AS路径属性1所包含的第一AS的序列号的个数为4,第一路由器还从处于第一AS的第三路由器接收过携带AS路径属性2的BGP更新报文,其中AS路径属性2所包含的第一AS的序列号的个数为8。AS路径属性1和AS路径属性2所包含的第一AS的序列号的个数分别大于第二路由器的更新前的环回能力值,因此AS路径属性1和AS路径属性2都没有被发送到第二路由器。在第二路由器的BGP路由表中分别保存未向第二路由器发送的AS路径属性1和AS路径属性2。
当第二路由器的环回能力值发生更新时,第一路由器从第二路由器接收携带有第二路由器的更新后的环回能力值的Route-refresh报文,假定第二路由器的更新后的环回能力值为6。第二路由器的更新后的环回能力值(6)大于第二路由器的更新前的环回能力值(3)。第一路由器查询BGP路由表确定出未向第二路由器发送的AS路径属性包括AS路径属性1和AS路径属性2。此时,AS路径属性1所包含的第一AS的序列号的个数(4)小于第二路由器的更新后的环回能力值(6),因此第一路由器向第二路由器发送携带AS路径属性1的BGP更新报文。而且,由于AS路径属性2所包含的第一AS的序列号的个数(8)仍然大于第二路由器的更新后的环回能力值(6),因此第一路由器仍然不向第二路由器发送携带AS路径属性2的BGP更新报文。
在一个实施方式中:
当第二路由器的更新后的环回能力值小于第二路由器的更新前的环回能力值时,第一路由器通过查询BGP路由表确定已向第二路由器发送的AS路径属性;针对每一条已向第二路由器发送的AS路径属性,第一路由器确定该已向第二路由器发送的AS路径属性所包含的第一AS的序列号的个数;当第一路由器确定该已向第二路由器发送的AS路径属性所包含的第一AS的序列号的个数大于第二路由器的更新后的环回能力值时,向第二路由器发送撤销报文,撤销报文携带该已向第二路由器发送的AS路径属性所对应的路由的路由前缀,以使第二路由器基于该撤销报文中所携带的路由前缀检索出已向第二路由器发送的AS路径属性所对应的路由,而且第二路由器删除该检索出的路由。
比如,假定第二路由器的更新前的环回能力值为8,第一路由器在接收到第二路由器的更新后的环回能力值之前,自行组装过包含AS路径属性3的BGP更新报文及从第三路由器接收过包含AS路径属性4的BGP更新报文,其中AS路径属性3所包含的第一AS的序列号的个数为4,AS路径属性4所包含的第一AS的序列号的个数为7。AS路径属性3和AS路径属性4所包含的第一AS的序列号的个数分别小于第二路由器的更新前的环回能力值,因此AS路径属性3和AS路径属性4分别被发送到第二路由器。在第二路由器的BGP路由表中分别保存已向第二路由器发送的AS路径属性3和AS路径属性4。
当第二路由器的环回能力值发生更新时,第一路由器接收携带有第二路由器的更新后的环回能力值的Route-refresh报文,假定第二路由器的更新后的环回能力值为6。第二路由器的更新后的环回能力值(6)小于第二路由器的更新前的环回能力值(8)。第一路由器查询BGP路由表确定出已向第二路由器发送的AS路径属性包括AS路径属性3和AS路径属性4。此时,AS路径属性3的所包含的第一AS的序列号的个数(4)小于第二路由器的更新后的环回能力值(6),因此第一路由器既不向第二路由器发送携带AS路径属性3的更新报文,也不发送用于删除AS路径属性3的撤销报文。AS路径属性4的所包含的第一AS的序列号的个数(7)大于第二路由器的更新后的环回能力值(6),因此第一路由器向第二路由器发送用于删除AS路径属性4的撤销报文,以使第二路由器基于该撤销报文删除AS路径属性4。
下面结合图1所示AS环路组网中对本发明实施方式进行示范性说明。图3为图1所示AS环路组网中发送更新报文的方法示范性流程图。
在图1中,第一路由器、第二路由器和第三路由器之间建立有BGP邻居。第二路由器和第三路由器都属于AS 100,第一路由器属于AS 200。第一路由器、第二路由器和第三路由器构成环路组网。
如图3所示,该方法包括:
步骤301:第一路由器接收第二路由器发送的第二路由器的环回能力值。
在这里,在BGP邻居建立过程的Open报文交互时,第二路由器向第一路由器发送携带有第二路由器的环回能力值的Open报文。
步骤302:第一路由器从第三路由器接收携带路由信息的BGP更新报文。
其中,路由信息中包括:AS路径属性。比如,当在第三路由器中引入一条静态路由信息3.3.3.3/32时,第三路由器向第一路由器发送携带该静态路由信息3.3.3.3/32的BGP更新报文。
步骤303:第一路由器基于第二路由器的环回能力值与路由信息中的AS路径属性所包含的AS 100的个数的比较结果,确定是否向第二路由器发送BGP更新报文。
其中,当路由信息的AS路径属性所包含的AS 100的个数不大于第二路由器的环回能力值时,第一路由器判定向第二路由器发送携带该路由信息的BGP更新报文;当路由信息的AS路径属性所包含的AS 100的个数大于第二路由器的环回能力值时,第一路由器判定不向第二路由器发送携带该路由信息的BGP更新报文。
比如,假设静态路由信息3.3.3.3/32的AS路径属性所包含的AS 100的个数为3,第二路由器的环回能力值为2,则第一路由器不向第二路由器发送携带静态路由信息3.3.3.3/32的BGP更新报文。
再比如,假设静态路由信息3.3.3.3/32的AS路径属性所包含的AS 100的个数为3,第二路由器的环回能力值为4,则第一路由器向第二路由器发送携带静态路由信息3.3.3.3/32的BGP更新报文,且第一路由器向第二路由器发送携带静态路由信息3.3.3.3/32的BGP更新报文时,在静态路由信息3.3.3.3/32的AS路径属性中添加AS200。
步骤304:当第二路由器的环回能力值发生变化时,第一路由器从第二路由器接收第二路由器的更新后的环回能力值。
在这里,当第二路由器的环回能力值发生变化时,第二路由器向第一路由器发送Route-refresh报文,在该Route-refresh报文的保留域中携带有第二路由器的更新后的环回能力值。第一路由器接收到该Route-refresh报文之后,利用第二路由器的更新后的环回能力值替换本地所保存的第二路由器的更新前的环回能力值。
步骤305:第一路由器判断第二路由器的更新后的环回能力值是否大于第二路由器的更新前的环回能力值,如果是则执行步骤306并结束本流程;如果不是则执行步骤307并结束本流程。
步骤306:第一路由器查询BGP路由表以确定未向第二路由器发送的路由信息,并基于第二路由器的更新后的环回能力值与未向第二路由器发送的路由信息的AS路径属性所包含的AS 100的个数的比较结果,确定是否向第二路由器发送携带未向第二路由器发送的路由信息的BGP更新报文。
在这里,第一路由器查询BGP路由表,从而确定出未向第二路由器发送的路由信息。第一路由器还对第二路由器的更新后的环回能力值与未向第二路由器发送的路由信息的AS路径属性所包含的AS 100的个数进行比较,其中:当未向第二路由器发送的路由信息的AS路径属性所包含的AS 100的个数不大于第二路由器的更新后的环回能力值时,第一路由器向第二路由器发送携带未向第二路由器发送的路由信息的BGP更新报文;当未向第二路由器发送的路由信息的AS路径属性所包含的AS 100的个数大于第二路由器的更新后的环回能力值时,第一路由器不向第二路由器发送携带未向第二路由器发送的路由信息的BGP更新报文。
步骤307:第一路由器查询BGP路由表以确定已向第二路由器发送的路由信息,基于第二路由器的更新后的环回能力值与已向第二路由器发送的路由信息的AS路径属性所包含的AS 100的个数的比较结果,确定是否向第二路由器发送撤销报文。
在这里,第一路由器查询BGP路由表,从而确定出已向第二路由器发送的路由信息。第一路由器还对第二路由器的更新后的环回能力值与已向第二路由器发送的路由信息的AS路径属性所包含的AS 100的个数进行比较,其中:当已向第二路由器发送的路由信息的AS路径属性所包含的AS 100的个数不大于第二路由器的更新后的环回能力值时,不向第二路由器发送撤销报文;当已向第二路由器发送的路由信息的AS路径属性所包含的AS 100的个数大于第二路由器的更新后的环回能力值时,向第二路由器发送撤销报文,撤销报文携带该已向第二路由器发送的AS路径属性所对应的路由的路由前缀3.3.3.3/32,由第二路由器基于路由前缀3.3.3.3/32检索出已向第二路由器发送的AS路径属性所对应的路由,并删除该检索出的路由。
基于上述分析,本发明实施方式还提出了一种AS环路组网中发送更新报文的装置。
图4为根据本发明一实施方式的AS环路组网中发送更新报文的装置400的结构图。AS环路组网包括第一路由器和第二路由器,第二路由器位于第一AS,装置400应用于第一路由器,包括:
环回能力值接收模块401,用于接收第二路由器发送的第二路由器的环回能力值;
个数确定模块402,用于确定向第二路由器待发送的BGP更新报文携带的AS路径属性所包含的第一AS的序列号的个数;
更新报文发送模块403,用于当确定AS路径属性所包含的第一AS的序列号的个数不大于第二路由器的环回能力值时,向第二路由器发送BGP更新报文。
向第二路由器待发送的BGP更新报文既可以是更新报文发送模块403自行组装的BGP更新报文;也可以是更新报文发送模块403从其他路由器接收的BGP更新报文。
当第一路由器位于不同于第一AS的其他AS时,更新报文发送模块403在向第二路由器待发送的BGP更新报文携带的AS路径属性中添加第一路由器所处的AS。
当第一路由器位于第一AS(即第一路由器和第二路由器位于相同的AS)时,更新报文发送模块403不在向第二路由器待发送的BGP更新报文携带的AS路径属性中添加第一AS。
在一个实施方式中,装置400还包括:
更新环回能力值接收模块404,用于当第二路由器的环回能力值发生更新时,接收第二路由器发送的第二路由器的更新后的环回能力值;
更新模块405,用于利用第二路由器的更新后的环回能力值更新本地的第二路由器的环回能力值。
在一个实施方式中,装置400还包括:
未发送路径属性确定模块406,用于当第二路由器的更新后的环回能力值大于第二路由器的更新前的环回能力值时,通过查询BGP路由表确定未向第二路由器发送的AS路径属性;而且
个数确定模块402,还用于针对每一条未向第二路由器发送的AS路径属性,确定该未向第二路由器发送的AS路径属性所包含的第一AS的序列号的个数;
更新报文发送模块403,还用于当确定未向第二路由器发送的AS路径属性所包含的第一AS的序列号的个数不大于第二路由器的更新后的环回能力值时,向第二路由器发送携带该未向第二路由器发送的AS路径属性的BGP更新报文。
在一个实施方式中,装置400还包括:
已发送路径属性确定模块407,用于当第二路由器的更新后的环回能力值小于第二路由器的更新前的环回能力值时,通过查询BGP路由表确定已向第二路由器发送的AS路径属性;而且
个数确定模块402,还用于针对每一条已向第二路由器发送的AS路径属性,确定该已向第二路由器发送的AS路径属性所包含的第一AS的序列号的个数;
更新报文发送模块403,还用于当确定该已向第二路由器发送的AS路径属性所包含的第一AS的序列号的个数大于第二路由器的更新后的环回能力值时,向第二路由器发送撤销报文,撤销报文携带该已向第二路由器发送的AS路径属性所对应的路由的路由前缀,以使第二路由器基于该路由前缀删除已向第二路由器发送的AS路径属性所对应的路由。
可见,不同于现有技术中第一路由器向第二路由器直接发送BGP更新报文,本发明基于第二路由器的环回能力值及待发送的BGP更新报文携带的路由信息的AS路径属性所包含的第一AS(即第二路由器所在的AS)的个数,判断是否向第二路由器发送BGP更新报文。
综上所述,本发明实施方式提出了一种AS环路组网中发送更新报文的方法和装置。AS环路组网包括第一路由器和第二路由器,第二路由器位于第一AS,该方法包括:第一路由器接收第二路由器发送的所述第二路由器的环回能力值;第一路由器确定向第二路由器待发送的BGP更新报文携带的AS路径属性所包含的第一AS的序列号的个数;当第一路由器确定AS路径属性所包含的第一AS的序列号的个数不大于第二路由器的环回能力值时,向第二路由器发送BGP更新报文。由此可见,本发明实施方式根据接收端发送来的环回能力值决定是否向接收端发送更新报文,可以有效减少更新报文的收发工作量,提高路由器的CPU与链路带宽的利用率。
特别地,在大邻居大路由的情形下,本发明实施方式优势尤为明显。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种自治系统AS环路组网中发送更新报文的方法,其特征在于,所述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,所述装置应用于第一路由器,包括:
环回能力值接收模块,用于接收第二路由器发送的所述第二路由器的环回能力值;环回能力值是对本端路由器环回能力的数值量化,而且环回能力是指本端路由器处理对端路由器发送的携带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路径属性所对应的路由。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410497736.4A CN104243303B (zh) | 2014-09-25 | 2014-09-25 | 一种自治系统环路组网中发送更新报文的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410497736.4A CN104243303B (zh) | 2014-09-25 | 2014-09-25 | 一种自治系统环路组网中发送更新报文的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104243303A CN104243303A (zh) | 2014-12-24 |
CN104243303B true CN104243303B (zh) | 2017-08-11 |
Family
ID=52230687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410497736.4A Active CN104243303B (zh) | 2014-09-25 | 2014-09-25 | 一种自治系统环路组网中发送更新报文的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104243303B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9942145B2 (en) * | 2015-07-20 | 2018-04-10 | Cisco Technology, Inc. | Attribute SET_ID in border gateway protocol |
CN107086924B (zh) | 2016-02-16 | 2020-02-14 | 华为技术有限公司 | 一种报文传输方法及装置 |
CN105763468B (zh) * | 2016-03-31 | 2019-04-09 | 新华三技术有限公司 | 一种bgp更新报文的传输方法和装置 |
CN108965120B (zh) * | 2018-06-26 | 2021-03-09 | 新华三技术有限公司合肥分公司 | 路由通告方法、装置、通信设备及存储介质 |
CN113132228A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 一种路径校验方法及相关设备 |
-
2014
- 2014-09-25 CN CN201410497736.4A patent/CN104243303B/zh active Active
Non-Patent Citations (3)
Title |
---|
A Border Gateway Protocol 4 (BGP-4),RFC4271;Y. Rekhter, 等;《IETF》;20060131;全文 * |
Capabilities Advertisement with BGP-4,RFC3392;R. Chandra,等;《IETF》;20021130;全文 * |
RFC5492:Capabilities Advertisement with BGP-4;J. Scudder,等;《IETF》;20090228;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104243303A (zh) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104243303B (zh) | 一种自治系统环路组网中发送更新报文的方法和装置 | |
US7936732B2 (en) | Selecting aggregation nodes in a network | |
US20080304497A1 (en) | Methods of route control in communications network | |
US8009591B2 (en) | Automatic overlapping areas that flood routing information | |
EP2701342A1 (en) | Method and system for implementing elastic network interface and interconnection | |
WO2018032962A1 (zh) | 一种信息同步的方法,装置及系统 | |
CN104247371A (zh) | 以信息为中心的网络中的基于名称的邻居发现和多跳服务发现 | |
CN104468384A (zh) | 一种实现多业务优先级的系统及方法 | |
EP2911355B1 (en) | Method and device for flow path negotiation in link aggregation group | |
CN106487558A (zh) | 一种实现接入设备扩缩容的方法和装置 | |
CN104468351A (zh) | 基于sdn辅助ccn路由的管理方法、ccn转发装置及网络控制器 | |
US20110317710A1 (en) | Enhanced reliability routing protocol | |
CN106487709A (zh) | 一种报文发送方法及系统 | |
US9930608B2 (en) | Method and system for operating a vehicular data network based on a layer-2 periodic frame broadcast, in particular a routing protocol | |
CN103619045B (zh) | 一种低功耗有损网络的路由构建方法及系统 | |
CN105049347A (zh) | 一种基于社会网络任务分发模型的dtn路由方法 | |
CN104639557B (zh) | 一种建立pcep会话的方法、系统及设备 | |
CN105637806A (zh) | 网络拓扑确定方法和装置、集中式网络状态信息存储设备 | |
CN103107942B (zh) | 一种静态路由的跟踪方法和设备 | |
CN102833172B (zh) | 路由处理方法及路由转发设备 | |
CN111327524B (zh) | 流量转发方法、系统、sdn控制器及计算机可读存储介质 | |
Yap et al. | Software-defined networking techniques to improve mobile network connectivity: technical review | |
WO2020107678A1 (zh) | 云网传输路由方法和系统 | |
CN111464441A (zh) | 一种通信方法及装置 | |
CN104104603A (zh) | 一种数据传输链路的建立方法及系统 |
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 | ||
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. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |