CN115225562A - 路由更新方法、装置及系统 - Google Patents
路由更新方法、装置及系统 Download PDFInfo
- Publication number
- CN115225562A CN115225562A CN202110405448.1A CN202110405448A CN115225562A CN 115225562 A CN115225562 A CN 115225562A CN 202110405448 A CN202110405448 A CN 202110405448A CN 115225562 A CN115225562 A CN 115225562A
- Authority
- CN
- China
- Prior art keywords
- network device
- routes
- route
- module
- sent
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 230000005540 biological transmission Effects 0.000 claims abstract description 130
- 238000012790 confirmation Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 9
- 238000012545 processing Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000032683 aging Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 1
- 101100288236 Arabidopsis thaliana KRP4 gene Proteins 0.000 description 1
- 101100433979 Bos taurus TNK2 gene Proteins 0.000 description 1
- 101000928956 Homo sapiens Activated CDC42 kinase 1 Proteins 0.000 description 1
- 101100385394 Zea mays ACK2 gene Proteins 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- 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/24—Multipath
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种路由更新方法、装置及系统,属于通信技术领域。在本申请提供的方案中,第一网络设备能够通过并行传输的方式向第二网络设备发送多条第一路由,并可以在确定第二网络设备接收到该多条第一路由后再发送结束指示。由此,可以确保并行传输场景下,该结束指示不会提前于第一路由到达第二网络设备,从而可以避免第二网络设备提前老化路由表中未被更新的路由而导致的业务流中断的问题。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种路由更新方法、装置及系统。
背景技术
边界网关协议(border gateway protocol,BGP)是一种用于自治系统(autonomous system,AS)之间的动态路由协议。两个网络设备建立BGP连接后,可以通过BGP更新(update)消息互相通告BGP路由。其中,存在BGP连接关系的一对网络设备可以互为对等体(peer)。
在网络设备平滑重启(graceful restart,GR)后,或者修改了针对某个对等体的路由接收策略后,需要网络设备的对等体重新向该网络设备通告BGP路由。对等体在发送完待通告的BGP路由后,还需向网络设备发送结束指示。网络设备可以基于其对等体重新通告的BGP路由更新路由表,并可以在接收到该结束指示后,将路由表中除该对等体重新通告的BGP路由之外的其他路由删除,即网络设备可以基于该结束指示老化路由表中未被更新的BGP路由。
但是,若对等体采用多路并行的方式发送多条待通告的BGP路由和结束指示,则可能导致结束指示提前于部分BGP路由到达网络设备。相应的,网络设备在基于该结束指示老化路由表时,可能会将部分还未接收到的BGP路由删除,进而导致部分业务流中断。
发明内容
本申请提供了一种路由更新方法、装置及系统,可以解决相关技术中的网络设备提前接收或提前处理结束指示而导致部分路由被删除,进而导致业务流中断的技术问题。
一方面,提供了一种路由更新方法,该方法可以应用于第一网络设备;该方法包括:采用并行传输的方式向第二网络设备发送多条第一路由,以及在确定第二网络设备接收到该多条第一路由后,再向该第二网络设备发送结束指示;其中,该多条第一路由用于供第二网络设备更新路由表,该结束指示用于指示该多条第一路由已发送完成。
基于本申请提供的方法,可以确保并行传输场景下,该结束指示不会提前于第一路由到达第二网络设备,从而可以避免第二网络设备基于结束指示提前老化路由表中未被更新的路由而导致的业务流中断的问题。
可选地,第一网络设备确定该第二网络设备接收到该多条第一路由的过程包括:基于第二网络设备发送的针对第一路由的确认消息,确定第二网络设备接收到该多条第一路由。
第二网络设备接收到第一路由后可以向第一网络设备反馈确认消息,第一网络设备进而可以基于接收到的确认消息,准确地确定第二网络设备是否已接收到所有第一路由。
可选地,该第一网络设备中可以包括路由模块和传输模块,该路由模块运行有路由协议,该传输模块运行有传输协议;在一种可能的实现方式中,第一网络设备在向第二网络设备发送结束指示之前,该方法还可以包括:该路由模块将多条第一路由和该结束指示发送至传输模块,该路由模块为传输模块配置传输标记,该传输标记用于指示该传输模块在确定第二网络设备接收到多条第一路由后,再向该第二网络设备发送该结束指示。
基于上述实现方式,路由模块仅需为传输模块配置传输标记即可,而无需控制该结束指示的发送时序,从而可以有效简化该路由模块的操作。
在另一种可能的实现方式中,第一网络设备在向第二网络设备发送结束指示之前,该方法还可以包括:路由模块将多条第一路由发送至传输模块,该路由模块在基于该传输模块提供的通知消息确定第二网络设备接收到该多条第一路由之后,再向传输模块发送结束指示。
基于上述实现方式,传输模块发送路由模块提供的路由和结束指示即可,而无需控制该结束指示的发送时序,从而可以有效简化该传输模块的操作。
可选地,第一网络设备在向第二网络设备发送结束指示之前,该方法还可以包括:在获取到第二路由后,若确定该第二路由所属数据流中的数据已发送完成,则向第二网络设备发送该第二路由;其中,该第二路由为用于更新任一该第一路由的路由,或者,该第二路由为该第一网络设备在发送该多条第一路由之后学习到的路由。
在传输多条第一路由的过程中,若第一网络设备获取到第二路由,则可以及时将该第二路由发送至第二网络设备,而不必等待所有对账路由发送完毕,以便第二网络设备能够及时采用该第二路由更新路由表,以确保与第二路由相关的业务流能够正常转发。
可选地,第一网络设备采用并行传输的方式向第二网络设备发送多条第一路由的过程可以包括:基于第二网络设备发送的路由更新消息,采用并行传输的方式向第二网络设备发送多条第一路由;或者,在与第二网络设备断开连接并重新建立连接之后,采用并行传输的方式向该第二网络设备发送多条第一路由。
其中,该路由更新消息可以是第二网络设备在修改了针对第一网络设备的路由接收策略后发送的。并且,第二网络设备在需要平滑重启时,可以先断开与第一网络设备的连接,并可以在平滑重启完成后重新与第一网络设备建立连接。
可选地,第一网络设备采用并行传输的方式向第二网络设备发送多条第一路由的过程可以包括:通过第一网络设备与第二网络设备之间的多条路径,并行发送多条第一路由;或者,通过该第一网络设备与第二网络设备之间的一条路径,并行发送多条数据流,每条数据流包括至少一条第一路由。
本申请提供的方案不仅可以应用于两个网络设备之间具有多条路径的场景,也可以应用于两个网络设备之间通过一条路径并行发送多条数据流的场景。由此可知,本申请方案的兼容性较好,能够灵活应用于不同场景。
可选地,该第一网络设备与第二网络设备之间的多条路径可以是基于快速UDP网络连接(quick UDP internet connection,QUIC)协议建立的。其中,UDP是指用户数据包协议(user datagram protocol)。
QUIC协议是一种基于UDP的低时延的互联网传输层协议,该QUIC协议能够处理更多的连接,且还具有高安全性和低延迟等优势。
另一方面,提供了一种路由更新方法,应用于第二网络设备,该方法包括:接收第一网络设备采用并行传输的方式发送的多条第一路由,接收该第一网络设备发送的第一结束指示,在采用该多条第一路由更新路由表之后,基于该第一结束指示删除路由表中除该多条第一路由之外的路由,其中,该第一结束指示是该第一网络设备在确定该第二网络设备已接收到该多条第一路由后发送的。
由于第二网络设备在接收到多条第一路由后才会接收到第一结束指示,且第二网络设备可以在采用多条第一路由更新路由表之后,再基于该第一结束指示老化路由表中未被更新的路由,因此可以避免因提前处理结束指示而导致部分路由被误删除,进而导致部分业务流中断的问题。
可选地,该方法还可以包括:在接收到第一路由后,向第一网络设备发送针对该第一路由的确认消息,以便于第一网络设备确定第二网络设备已接收到该第一路由。
可选地,在接收第一网络设备发送的结束指示之前,该方法还可以包括:接收第一网络设备发送的第二路由,并采用该第二路由更新该路由表;该第二路由是第一网络设备在确定第二路由所属数据流中的数据已发送完成后发送的;该第二路由为用于更新任一第一路由的路由,或者,该第二路由为第一网络设备在发送该多条第一路由之后学习到的路由。
第二网络设备接收到第二路由后,可以直接采用该第二路由更新路由表,而无需等待结束指示,由此可以确保第二路由相关的业务流能够正常转发。
可选地,在接收第一网络设备采用并行传输的方式发送的多条第一路由之前,该方法还可以包括:在更新针对第一网络设备的路由接收策略之后,向第一网络设备发送路由更新消息,该路由更新消息用于指示第一网络设备发送该多条第一路由;相应的,基于第一结束指示删除路由表中除多条第一路由之外的路由的过程可以包括:基于该第一结束指示,删除路由表中除该多条第一路由之外的目标路由,该目标路由为在发送该路由更新消息之前从第一网络设备学习到的路由。
对于第二网络设备更新路由接收策略的场景,第二网络设备可以在采用多条第一路由更新路由表后,基于结束指示对路由表中从第一网络设备学习到的目标路由进行老化,而无需老化从其他邻居网络设备学习到的路由,以避免影响其他路由相关的业务流的正常转发。
可选地,该方法还可以包括:在断开与多个邻居网络设备的连接并重启路由协议之后,重新与该多个邻居网络设备建立连接,该多个邻居网络设备包括第一网络设备和第三网络设备;接收第三网络设备采用并行传输的方式发送的多条第三路由,并接收该第三网络设备发送的第二结束指示,该第二结束指示是第三网络设备在确定第二网络设备已接收到该多条第三路由后发送的;相应的,第二网络设备在采用多条第一路由更新路由表之后,基于第一结束指示删除路由表中除多条第一路由之外的路由的过程可以包括:在采用多条第一路由和多条第三路由更新路由表之后,基于该第一结束指示和第二结束指示,删除路由表中除多条第一路由和多条第三路由之外的路由。
对于第二网络设备重启其路由协议的场景,由于第二网络设备会先与其多个邻居网络设备均断开连接,然后再重新建立连接,因此需要该多个邻居网络设备均重新通告路由。相应的,在该场景中,第二网络设备可以在接收到多个邻居网络设备发送的结束指示后再老化其路由表中未更新的路由。
可选地,该第一网络设备发送的路由和第三网络设备发送的路由可以均属于目标地址族,则第二网络设备基于该第一结束指示和第二结束指示,删除路由表中除多条第一路由之外的路由的过程可以包括:基于该第一结束指示和第二结束指示,删除路由表中除多条第一路由和多条第三路由之外的属于该目标地址族的路由。
第二网络设备以地址族为粒度老化路由表,可以在确保可靠老化路由表中未更新的路由的前提下,有效提高路由表的刷新效率。
又一方面,提供了一种第一网络设备,该第一网络设备可以包括至少一个模块,该至少一个模块可以用于实现上述方面所提供的应用于第一网络设备的路由更新方法。
再一方面,提供了一种第二网络设备,该第二网络设备可以包括至少一个模块,该至少一个模块可以用于实现上述方面所提供的应用于第二网络设备的路由更新方法。
再一方面,提供了一种网络设备,该网络设备可以包括:存储器,处理器及存储在该存储器上并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现如上述任一方面所提供的路由更新方法。
再一方面,提供了一种网络设备,该网络设备可以包括:主控板和接口板,该接口板可以用于实现上述方面所提供的应用于第一网络设备的路由更新方法,或者,可以用于实现上述方面提供的应用于第二网络设备的路由更新方法。
再一方面,提供了一种网络设备,该网络设备可以为路由更新系统中的第一网络设备,该网络设备包括:主控板和接口板。主控板包括:第一处理器和第一存储器。接口板包括:第二处理器、第二存储器和接口卡。主控板和接口板耦合。
第二存储器可以用于存储程序代码,第二处理器用于调用第二存储器中的程序代码,触发接口卡执行如下操作:采用并行传输的方式向第二网络设备发送多条第一路由,在确定第二网络设备接收到该多条第一路由后,向该第二网络设备发送结束指示;其中,该多条第一路由用于供第二网络设备更新路由表,该结束指示用于指示该多条第一路由已发送完成。
再一方面,提供了一种网络设备,该网络设备可以为路由更新系统中的第二网络设备,该网络设备包括:主控板和接口板。主控板包括:第一处理器和第一存储器。接口板包括:第二处理器、第二存储器和接口卡。主控板和接口板耦合。
第二存储器可以用于存储程序代码,第二处理器用于调用第二存储器中的程序代码,触发接口卡执行如下操作:接收第一网络设备采用并行传输的方式发送的多条第一路由,接收该第一网络设备发送的第一结束指示;
第一存储器可以用于存储程序代码,第一处理器用于调用第一存储器中的程序代码,触发接口卡执行如下操作:在采用该多条第一路由更新路由表之后,基于该第一结束指示删除路由表中除该多条第一路由之外的路由,其中,该第一结束指示是该第一网络设备在确定该第二网络设备已接收到该多条第一路由后发送的。
再一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令由处理器执行以实现如上述任一方面所提供的路由更新方法。
再一方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如上述任一方面所提供的路由更新方法。
再一方面,提供了一种路由更新系统,该系统可以包括:如上述方面提供的第一网络设备,以及如上述方面提供的第二网络设备。
综上所述,本申请提供了一种路由更新方法、设备及系统,在本申请提供的方案中,第一网络设备能够通过并行传输的方式向第二网络设备发送多条第一路由,并可以在确定第二网络设备接收到该多条第一路由后再发送结束指示。由此,可以确保并行传输场景下,该结束指示不会提前于第一路由到达第二网络设备,从而可以避免第二网络设备提前老化路由表中未被更新的路由而导致的业务流中断的问题。
并且,由于第二网络设备可以在采用多条第一路由更新路由表之后,再基于第一结束指示老化路由表中未被更新的路由,因此可以进一步避免因提前处理结束指示而导致的业务流中断的问题。
附图说明
图1是本申请实施例提供的一种路由更新方法所应用的通信系统的结构示意图;
图2是一种结束指示提前于待通告的路由到达第二网络设备的示意图;
图3是本申请实施例提供的一种路由更新方法的流程图;
图4是本申请实施例提供的另一种路由更新方法的流程图;
图5是本申请实施例提供的一种第一网络设备发送第二路由的示意图;
图6是本申请实施例提供的一种第一网络设备发送结束指示的示意图;
图7是本申请实施例提供的一种第一网络设备和第三网络设备发送结束指示的示意图;
图8是本申请实施例提供的一种第一网络设备的结构示意图;
图9是本申请实施例提供的一种第二网络设备的结构示意图;
图10是本申请实施例提供的一种网络设备的结构示意图;
图11是本申请实施例提供的另一种网络设备的结构示意图。
具体实施方式
下面结合附图详细介绍本申请实施例提供的路由更新方法、装置及系统。
图1是本申请实施例提供的一种路由更新方法所应用的通信系统的结构示意图。如图1所示,该系统包括多个网络设备,该多个网络设备可以属于不同的AS,也可以属于相同的AS。例如,图1中示出了四个网络设备,其中网络设备01、网络设备02和网络设备03属于AS1,网络设备04属于AS2。可以理解的是,该系统中的网络设备均可以是路由器或交换机等具备数据转发功能的设备。
在本申请实施例中,同一个AS中的各个网络设备相互连接,并可以运行相同的内部网关协议(interior gateway protocol,IGP)。该IGP可以为中间系统到中间系统(intermediate system to intermediate system,ISIS)协议,或者开放式最短路径优先(open shortest path first,OSPF)。不同AS之间的网络设备的连接则可以使用外部路由协议。当然,同一AS内的网络设备也可以使用该外部路由协议连接。其中,该外部路由协议可以为BGP,通过BGP可以实现不同AS之间的网络设备的路由可达。该通信系统中,存在BGP连接关系的一对网络设备可以互为对等体,也可以称为邻居(neighbor)。并且,同一AS内存在BGP连接关系的一对网络设备可以互为内部BGP(internal BGP,IBGP)对等体,属于不同AS且存在BGP连接关系的一对网络设备可以互为外部BGP(external BGP,EBGP)对等体。
BGP使用如下四种类型的消息:
1、开放(open)消息:open消息是网络设备之间建立传输控制协议(transmissioncontrol protocol,TCP)连接后发送的第一个消息,该消息用于建立BGP对等体之间的连接关系。
2、保活(keepalive)消息:网络设备会周期性地向对等体发出keepalive消息,用来保持连接的有效性。
3、更新(update)消息:update消息用于在对等体之间交换路由信息,该update消息既可以发布可达路由信息,也可以撤销不可达路由信息。
4、通知(notification)消息:当网络设备检测到错误状态时,会向对等体发出notification消息,之后BGP连接会立即中断。
在一种可能的场景中,系统中的网络设备在进行平滑重启(例如重启BGP)时,为了确保业务流的正常转发,并不会清除其转发面的转发表项。网络设备在平滑重启完成后,需要其对等体重新通告BGP路由(例如通告BGP优选路由),以便网络设备能够同步在平滑重启阶段发生变化的路由。对等体完成所有BGP路由的通告后,还需向网络设备发送路由信息库(routing information base,RIB)结束(end of RIB,EOR)消息。网络设备可以基于接收到的BGP路由更新其路由表,进而再基于更新后的路由表更新转发面的转发表项。并且,网络设备可以在接收到EOR消息后,将该路由表中除在该结束指示之前接收到的其对等体重新通告的BGP路由之外的其他路由删除,即网络设备可以老化路由表中未被更新的路由。
示例的,假设网络设备的路由表中包括从其对等体学习到的四条BGP路由,该四条BGP路由的地址前缀分别为1.1.1.1、2.2.2.2、3.3.3.3和4.4.4.4。该网络设备在平滑重启后接收到了其对等体通告的三条BGP路由,该三条BGP路由的地址前缀分别为1.1.1.1、2.2.2.2和3.3.3.3。则该网络设备可以更新路由表中地址前缀为1.1.1.1、2.2.2.2和3.3.3.3的BGP路由,并可以在接收到其对等体发送的EOR消息后,将路由表中地址前缀为4.4.4.4的BGP路由删除。
在另一种可能的场景中,系统中的某个网络设备在修改了其针对某个对等体的路由接收策略后,会向该对等体发送路由更新(route refresh)消息。接收到该路由更新消息的对等体会重新向网络设备通过其BGP路由,并且在所有BGP路由均通告完成后,还需向网络设备发送路由更新结束(end of route refresh,EORR)消息。网络设备可以基于接收到的BGP路由更新路由表,进而再基于更新后的路由表更新转发面的转发表项。并且,网络设备可以在接收到该EORR消息后,将该路由表包括的从该对等体学习到的路由中,除在该路由更新消息和EORR消息之间接收到的BGP路由之外的其他路由(即未被更新的路由)均老化掉。
其中,关于平滑重启和EOR消息的相关描述可以参考编号为4724的请求评论(request for comments,RFC)文档。关于EORR的相关描述可以参考编号为7313的RFC文档。
在本申请实施例中,建立BGP连接的两个网络设备之间可以包括多条路径,该多条路径可以并行传输BGP路由。相应的,在上述两种可能的场景中,对等体在通过多条路径发送完成待通告的BGP路由后,可以通过其中一条路径发送EOR消息或EORR消息。
但是,若用于传输某条BGP路由的路径出现拥塞,则可能导致EOR消息或EORR消息提前于该条BGP路由到达网络设备。该网络设备在基于该结束指示老化路由表中未被更新的路由时,会将还未接收到的该条BGP路由删除,进而导致业务流的中断。
示例的,参考图2,假设网络设备02平滑重启后,网络设备01采用多路并行的方式向第二网络设备02传输地址前缀分别为1.1.1.1、2.2.2.2和3.3.3.3的BGP路由。并且,该网络设备01在发送完该三条BGP路由后,通过用于传输地址前缀为2.2.2.2的BGP路由的路径传输EOR消息。若用于传输地址前缀为1.1.1.1的BGP路由的路径出现拥塞或者传输速率较慢,则会导致该EOR消息提前于该地址前缀为1.1.1.1的BGP路由到达网络设备02。相应的,该网络设备02在接收到EOR消息之后,可以更新路由表中地址前缀为2.2.2.2和3.3.3.3的BGP路由,并可以在接收到EOR消息后,将该地址前缀为1.1.1.1和4.4.4.4的BGP路由均删除。并且,该网络设备02后续接收到地址前缀为1.1.1.1的BGP路由后,才会再次在路由表中更新该地址前缀为1.1.1.1的BGP路由。由此,会导致目的地址为1.1.1.1的业务流中断一段时间。
本申请实施例提供了一种路由更新方法,该方法可以确保并行传输场景下,诸如EOR消息和EORR消息的结束指示能够晚于待通告的路由到达网络设备,进而可以避免网络设备提前老化路由表中未被更新的路由而导致的业务流中断的问题。该路由更新方法可以应用于如图1或图2所示的系统中,该系统至少可以包括第一网络设备和第二网络设备,该两个网络设备可以属于同一AS,也可以属于不同的AS。并且,该两个网络设备之间基于外部路由协议建立连接。参考图3,本申请实施例提供的路由更新方法可以包括:
步骤101、第一网络设备采用并行传输的方式向第二网络设备发送多条第一路由。
在本申请实施例中,第一网络设备若确定需要重新向第二网络设备通告其本地的路由,则可以采用并行传输的方式向第二网络设备发送多条第一路由,该多条第一路由用于供第二网络设备更新其路由表。其中,该多条第一路由为第一网络设备中待通告的路由,例如可以为第一网络设备中的优选路由。并且,该多条第一路由也可以称为对账路由。
可选地,第一网络设备与第二网络设备之间可以建立有多条路径,第一网络设备可以通过该多条路径并行传输多条第一路由。或者,第一网络设备与第二网络设备之间可以建立有一条路径,第一网络设备可以通过该一条路径并行传输多条数据流(stream),其中每条数据流包括至少一条第一路由,由此实现该多条第一路由的并行传输。
步骤102、第一网络设备在确定第二网络设备接收到该多条第一路由后,向该第二网络设备发送结束指示。
第一网络设备在发送多条第一路由后,可以基于第二网络设备反馈的确认消息确定第二网络设备是否接收到该多条第一路由。第一网络设备若确定第二网络设备已经接收到该多条第一路由,则可以向该第二网络设备发送结束指示,该结束指示用于指示该多条第一路由已发送完成。
步骤103、第二网络设备采用该多条第一路由更新路由表之后,基于该结束指示将该路由表中除该多条第一路由之外的路由删除。
第二网络设备在接收到第一网络设备发送的第一路由后,即可采用该第一路由更新其路由表。并且,第二网络设备在接收到第一网络设备发送的结束指示后,可以确定第一网络设备已发送完待通告的第一路由。因此,第二网络设备若确定已采用多条第一路由更新完成路由表,则可以基于该结束指示删除该路由表中除该多条第一路由之外的路由,即老化该路由表中未被更新的路由。
可以理解的是,若第二网络设备能够并行处理接收到的第一路由和结束指示,则也可能导致由于提前处理该结束指示而导致部分还未处理的第一路由被误删除。而在本申请实施例中,由于第二网络设备可以在处理完成多条第一路由之后,再处理该结束指示,因此可以有效避免因提前处理结束指示而导致部分路由被误删除的问题。
综上所述,本申请实施例提供了一种路由更新方法,第一网络设备能够通过并行传输的方式向第二网络设备发送多条第一路由,并可以在确定第二网络设备接收到该多条第一路由后再发送结束指示。由此,可以确保并行传输场景下,该结束指示不会提前于第一路由到达第二网络设备,从而可以避免第二网络设备基于结束指示提前老化路由表中未被更新的路由而导致的业务流中断的问题。
并且,由于第二网络设备可以在采用多条第一路由更新路由表之后,再基于第一结束指示老化路由表中未被更新的路由,因此可以进一步避免因提前处理结束指示而导致的业务流中断的问题。
图4是本申请实施例提供的另一种路由更新方法的流程图,该方法可以应用于如图1或图2所示的系统中,该系统至少可以包括第一网络设备和第二网络设备,该两个网络设备可以属于同一AS,也可以属于不同的AS,且该两个网络设备之间基于外部路由协议(例如BGP)建立连接。参考图4,本申请实施例提供的路由更新方法可以包括:
步骤201、第一网络设备采用并行传输的方式向第二网络设备发送多条第一路由。
在本申请实施例中,第一网络设备若确定需要重新向第二网络设备通告其本地的路由,则可以采用并行传输的方式向第二网络设备发送多条第一路由。其中,该多条第一路由为第一网络设备中待通告的路由,例如可以为第一网络设备中的优选路由。
对于该外部路由协议为BGP的场景,该第一网络设备可以通过update消息(也可以称为update报文)向第二网络设备通告第一路由。其中,每条第一路由可以携带在一个update消息中,且一个update消息可以携带一条或多条第一路由。
作为一种可能的示例,第一网络设备与第二网络设备之间可以建立有多条路径,第一网络设备可以通过该多条路径并行传输多条第一路由。其中,该多条路径可以是基于QUIC协议建立的;或者,该多条路径可以是基于TCP(或UDP)建立的,即第一网络设备和第二网络设备之间可以建立多个TCP(或UDP)连接;又或者,该多条路径可以是基于BGP建立的,即该第一网络设备和第二网络设备之间可以建立多个BGP连接。
可以理解的是,在该示例中,第一网络设备与第二网络设备之间的每条路径可以传输一条数据流,也可以并行传输多条数据流,本申请实施例对此不做限定。
作为另一种可能的示例,第一网络设备与第二网络设备之间可以建立有一条路径,第一网络设备可以通过该一条路径并行传输多条数据流,其中每条数据流包括至少一条第一路由,由此实现该多条第一路由的并行传输。
示例的,参考图5,假设第一网络设备01与第二网络设备02之间基于QUIC协议建立有三条路径。若第一网络设备01中待通告的三条优选路由(即第一路由)的地址前缀分别为1.1.1.1、2.2.2.2和3.3.3.3,则该第一网络设备01可以通过该三条路径并行传输该三条优选路由。
在一种可能的场景中,第二网络设备可以在更新了针对该第一网络设备的路由接收策略后,向第一网络设备发送路由更新消息。第一网络设备可以基于该路由更新消息的指示,采用并行传输的方式向该第二网络设备发送多条第一路由。
在另一种可能的场景中,第一网络设备可以在第二网络设备通过平滑重启的方式重启路由协议后,采用并行传输的方式向该第二网络设备发送多条第一路由。可以理解的是,第二网络设备在平滑重启之前会断开与各个邻居网络设备(包括第一网络设备)的连接,并可以在平滑重启后重新与各个邻居网络设备建立连接。因此,第一网络设备可以在检测到与该第二网络设备断开连接并重新建立连接之后,确定该第二网络设备已完成平滑重启,进而即可采用并行传输的方式向该第二网络设备发送多条第一路由。
步骤202、第二网络设备在接收到第一路由后,向第一网络设备发送针对该第一路由的确认消息。
在本申请实施例中,第二网络设备在接收到第一网络设备发送的第一路由后,可以向第一网络设备发送针对该第一路由的确认消息,以便第一网络设备确定第二网络设备已接收到第一路由。
可选地,第二网络设备可以在接收到第一网络设备发送的一个或多个报文(例如update报文)后,向第一网络设备反馈一个确认消息,该确认消息用于指示第二网络设备已接收到该一个或多个报文。其中,该每个报文可以携带有一个或多个第一路由。
可以理解的是,该第一网络设备和第二网络设备之间基于诸如BGP的外部路由协议建立有连接,该外部路由协议所采用的传输层协议可以为TCP、QUIC协议或者UDP等。第二网络设备在基于TCP、QUIC协议或UDP接收到第一网络设备传输的数据后,均可以向第一网络设备反馈确认(acknowledgement,ACK)消息。
步骤203、第二网络设备采用第一路由更新路由表。
第二网络设备在接收到第一网络设备发送的每条第一路由后,可以采用该第一路由更新路由表。
示例的,参考图5,假设第二网络设备02接收到了第一网络设备01发送的地址前缀为1.1.1.1的第一路由,则可以对其路由表中地址前缀为1.1.1.1的路由进行更新。
步骤204、第一网络设备获取到第二路由后,若确定该第二路由所属数据流中的数据已发送完成,则向第二网络设备发送该第二路由。
在该多条第一路由传输的过程中,若第一网络设备获取到第二路由,则可以先确定该第二路由所属的数据流。若第一网络设备确定该第二路由所属的数据流中的数据已发送完成,则可以直接向第二网络设备发送该第二路由,例如可以通过update消息通告该第二路由。其中,该第二路由可以为用于更新(例如撤销或更改属性)任一第一路由的路由,或者,该第二路由可以为第一网络设备在发送该多条第一路由之后学习到的新的路由。
示例的,参考图5,假设第一网络设备01在发送地址前缀分别为1.1.1.1、2.2.2.2和3.3.3.3的第一路由后,又学习到了地址前缀为5.5.5.5的第二路由,且该第二路由所属的数据流与地址前缀为1.1.1.1的第一路由所属的数据流相同。则第一网络设备01可以在确定第二路由所属数据流中的数据已发送完成后,通过用于传输该地址前缀为1.1.1.1的第一路由的路径,向第二网络设备02发送该地址前缀为5.5.5.5的第二路由。
在本申请实施例中,第一网络设备在获取到第二路由,并确定该第二路由所属的数据流中的数据已发送完成后,可以直接发送该第二路由,而无需等待结束指示的发送。由此,可以确保该第二网络设备能够及时采用第二路由更新路由表,进而确保与第二路由相关的业务流能够正常转发。
示例的,如图5所示,第一网络设备01在确定地址前缀为5.5.5.5的第二路由所属的数据流中的数据已发送完成时,若地址前缀为2.2.2.2和3.3.3.3的第一路由还未到达第二网络设备02,则第一网络设备01也无需等待该两条第一路由传输完成,而是可以直接发送该地址前缀为5.5.5.5的第二路由。
步骤205、第二网络设备采用该第二路由更新路由表。
第二网络设备在接收第一网络设备传输的第一路由的过程中,若接收到了该第一网络设备发送的第二路由,则可以直接基于该第二路由更新路由表,而无需等待该第一网络设备发送的结束指示。
示例的,参考图5,假设第二网络设备02在接收到地址前缀为1.1.1.1的第一路由之后,又接收到了地址前缀为5.5.5.5的第二路由,则第二网络设备02可以直接更新路由表中地址前缀为5.5.5.5的路由。
步骤206、第一网络设备在确定第二网络设备接收到该多条第一路由后,向该第二网络设备发送结束指示。
第一网络设备在发送多条第一路由后,可以基于第二网络设备反馈的确认消息确定第二网络设备是否接收到该多条第一路由。若第一网络设备确定该第二网络设备已经接收到该多条第一路由,则可以向该第二网络设备发送结束指示。该结束指示用于指示该多条第一路由已发送完成。
示例的,参考图5和图6,假设第一网络设备01待通告的三条第一路由的地址前缀分别为1.1.1.1、2.2.2.2和3.3.3.3,该三条第一路由分别通过第一报文、第二报文和第三报文发送至第二网络设备02。则如图6所示,第一网络设备01可以在接收到第二网络设备02发送的针对第一报文的确认消息ACK1,针对第二报文的确认消息ACK2,以及针对第三报文的确认消息ACK3之后,向第二网络设备02发送结束指示。例如,若第一网络设备和第二网络设备之间基于BGP建立连接,则该结束指示可以为EOR消息或EORR消息。若该两个网络设备之间基于BGP以外的其他路由协议建立连接,则该结束指示可以为其他路由协议中定义的类似消息。
可以理解的是,对于该第二网络设备修改了针对第一网络设备的路由接收策略,并向第一网络设备发送路由更新消息的场景,该结束指示可以为EORR消息。对于第二网络设备平滑重启的场景,该结束指示可以为EOR消息。
可选地,该第一网络设备可以包括路由模块和传输模块,该路由模块运行有路由协议,该传输模块运行有传输协议。其中,该路由协议可以为BGP,该传输协议可以为TCP、UDP或QUIC协议等。
作为一种可能的示例,路由模块在确定需要向第二网络设备通告多条第一路由后,可以先将该多条第一路由和结束指示发送至传输模块,并可以为该传输模块配置传输标记。该传输标记可以用于指示传输模块在确定第二网络设备接收到多条第一路由后,再向第二网络设备发送该结束指示。
相应的,该传输模块可以基于该传输标记的指示,采用并行传输的方式向第二网络设备发送多条第一路由,并可以在确定第二网络设备接收到多条第一路由后,再向第二网络设备发送该结束指示。
基于上文描述可知,路由模块仅需向传输模块传输待通告的多条第一路由以及结束指示,并为该传输模块配置传输标记即可,而无需控制第一路由和结束指示的发送时序。也即是,在该示例中,可以由传输模块基于该传输标记来控制结束指示的发送时序,以实现第一路由和结束指示的保序传输。
可以理解的是,该传输模块可以提供函数接口,路由模块可以通过调用该函数接口以向传输模块传输携带有路由或结束指示的报文。其中,该函数接口具有多个接口参数,该多个接口参数可以包括报文的指针,以及相关标记等。路由模块可以在调用该函数接口以向传输模块传输携带有结束指示的报文时,在该函数接口的接口参数中配置该传输标记。
还可以理解的是,在该示例中,路由模块若获取到第二路由,则可以直接将该第二路由发送至传输模块。该传输模块若确定该第二路由所属数据流中的数据已发送完成,则可以发送该第二路由。
作为另一种可能的示例,路由模块在确定需要向第二网络设备通告多条第一路由后,可以先将该多条第一路由发送至传输模块。传输模块进而可以采用并行传输的方式向第二网络设备发送多条第一路由,且该传输模块可以接收第二网络设备发送的针对第一路由的确认消息。之后,路由模块可以在基于传输模块提供的通知消息确定该第二网络设备已接收到该多条第一路由之后,再向该传输模块发送结束指示,传输模块进而再向第二网络设备发送该结束指示。
基于上文描述可知,传输模块仅需向第二网络设备发送路由模块传输的报文(包括第一路由和结束指示),并提供通知消息即可,而无需控制结束指示的发送时序。也即是,在该示例中,可以由路由模块基于获取到的通知消息来控制结束指示的发送时序。
可以理解的是,在该示例中,传输模块可以主动向路由模块发送通知消息。或者,传输模块可以提供消息接口,路由模块可以通过查询该消息接口以获取通知消息。其中,该通知消息可以用于指示该第二网络设备是否已接收到该多条第一路由。
还可以理解的是,在该示例中,路由模块若获取到第二路由,则可以先确定该第二路由所属数据流中的数据是否已发送完成。例如,路由模块可以基于获取到的通知消息确定该第二路由所属数据流中的数据是否已发送完成。若路由模块确定该第二路由所属数据流中的数据已经发生完成,则可以向传输模块发送该第二路由,传输模块进而可以向第二网络设备发送该第二路由。
步骤207、第二网络设备在采用多条第一路由更新完路由表之后,基于结束指示删除路由表中除第一路由之外的路由。
第二网络设备在接收到第一网络设备发送的结束指示后,可以确定第一网络设备已发送完待通告的多条第一路由。相应的,第二网络设备若确定已采用该多条第一路由更新完路由表,则可以基于该结束指示删除路由表中除第一路由之外的路由。也即是,第二网络设备可以在确定已处理完多条第一路由后,再基于该结束指示老化路由表中未被更新的路由。
可以理解的是,该第二网络设备可以包括多个处理器,该多个处理器可以并行处理路由和结束指示。在该并行处理的场景中,第二网络设备无需限定该多条第一路由的处理顺序,但需要确保多条第一路由均处理完成之后,再处理该结束指示。
一方面,对于第二网络设备修改了针对第一网络设备的路由接收策略的场景,第二网络设备在基于该结束指示老化路由表中未被更新的路由时,可以仅老化该路由表中除该多条第一路由之外的目标路由。该目标路由为在发送该路由更新消息之前从第一网络设备学习到的路由。也即是,在该场景中,第二网络设备可以仅老化从第一网络设备学习到的,且未被更新的路由。若路由表中未被更新的某条路由是从其他邻居网络设备学习到的,则第二网络设备也无需老化该条路由。
示例的,假设第二网络设备在修改针对第一网络设备的路由接收策略之前,其路由表中包括从第一网络设备学习到的四条路由,该四条路由的地址前缀分别为1.1.1.1、2.2.2.2、3.3.3.3和4.4.4.4,且该路由表还包括从其他邻居网络设备学习到的地址前缀为6.6.6.6的路由。若第二网络设备在发送路由更新消息到接收结束指示之间的时间段内,从第一网络设备接收到了三条第一路由,该三条第一路由的地址前缀分别为1.1.1.1、2.2.2.2和3.3.3.3。则第二网络设备可以更新路由表中地址前缀为1.1.1.1、2.2.2.2和3.3.3.3的路由,并可以在接收到结束指示之后,删除地址前缀为4.4.4.4的路由,且无需删除该地址前缀为6.6.6.6的路由。
另一方面,对于该第二网络设备平滑重启的场景,第二网络设备需要先断开与多个邻居网络设备的连接再重启其路由协议,并在路由协议重启完成之后,再重新与该多个邻居网络设备建立连接。可以理解的是,该多个邻居网络设备可以包括第一网络设备,且还可以包括除第一网络设备之外的第三网络设备。
在该场景中,第三网络设备也可以在检测到与第二网络设备断开连接并重新建立连接之后,执行上述步骤101和步骤102(或步骤201和步骤206)所示的方法。相应的,第二网络设备还可以接收到第三网络设备采用并行传输的方式发送的多条第三路由,并接收该第三网络设备发送的结束指示。为了便于区分,下文将第一网络设备发送的结束指示称为第一结束指示,并将第三网络设备发送的结束指示称为第二结束指示。其中,该第二结束指示是第三网络设备在确定第二网络设备已接收到该多条第三路由后发送的。相应的,第二网络设备可以在采用该多条第一路由和多条第三路由更新路由表之后,基于该第一结束指示和第二结束指示,删除路由表中除该多条第一路由和多条第三路由之外的路由。
作为该场景的一种可能的示例,第二网络设备可以在接收到所有邻居网络设备(包括第一网络设备和第三网络设备)发送的结束指示之后,再老化路由表中除所有邻居网络设备重新通告的路由之外的路由,即老化该路由表中未被更新的路由。
作为该场景的另一种可能的示例,由于不同邻居网络设备通告的路由可能属于不同的地址族,因此该第二网络设备还能够以地址族为粒度老化路由表。也即是,第二网络设备在接收到用于通告某一地址族的路由的各个邻居网络设备发送的结束指示后,即可老化路由表中属于该地址族且未被更新的路由,而无需老化路由表中其他地址族的路由,相应的,也无需等待其他邻居网络设备发送的结束指示。
基于上述方式,可以在确保可靠老化路由表中未更新的路由的前提下,有效提高路由表的刷新效率。
假设第二网络设备的各个邻居网络设备中,第一网络设备发送的路由和第三网络设备发送的路由均属于目标地址族。则如图7所示,第二网络设备02可以在接收到该第一网络设备01发送的第一结束指示(例如EOR1),以及该第三网络设备03发送的第二结束指示(例如EOR2)之后,删除路由表中除该多条第一路由和多条第三路由之外的属于该目标地址族的路由。
其中,路由表中的路由所属的地址族可以包括下述地址族中的至少一种:互联网通信协议第四版(Internet protocol version 4,IPv4)地址族、互联网通信协议第六版(Internet protocol version 6,IPv6)地址族和虚拟专用网络(virtual privatenetwork,VPN)地址族等。
可以理解的是,对于第二网络设备在接收到结束指示之前已采用第二路由更新路由表的场景,第二网络设备在基于该结束指示老化路由表时,可以忽略该第二路由,即无需老化该第二路由。例如,第二网络设备可以基于第二路由的时间戳晚于每条第一路由的时间戳,和/或,基于第二路由的序列号大于每条第一路由的序列号,确定无需老化该第二路由。当然,第二网络设备也可以基于其他方式确定无需老化该第二路由,本申请实施例对此不做限定。
还可以理解的是,第二网络设备在基于第一路由或第二路由更新路由表之后,以及在基于结束指示老化路由表中未被更新的路由之后,均可以基于变化后的路由表更新其转发面的转发表项。
还可以理解的是,本申请实施例提供的路由更新方法的各步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如,上述步骤204和步骤205可以根据情况删除。或者,上述步骤204和步骤205可以在步骤203之前执行。又或者,上述步骤203可以在步骤202之前执行。
综上所述,本申请实施例提供了一种路由更新方法,第一网络设备能够通过并行传输的方式向第二网络设备发送多条第一路由,并可以在确定第二网络设备接收到该多条第一路由后再发送结束指示。由此,可以确保并行传输场景下,该结束指示不会提前于第一路由到达第二网络设备,从而可以避免第二网络设备提前老化路由表中未被更新的路由而导致的业务流中断的问题。
并且,由于第二网络设备可以在采用多条第一路由更新路由表之后,再基于第一结束指示老化路由表中未被更新的路由,因此可以进一步避免因提前处理结束指示而导致的业务流中断的问题。
图8是本申请实施例提供的一种第一网络设备的结构示意图,该第一网络设备可以应用于路由更新系统,例如可以应用于如图1,以及图5至图7任一所示的系统中。并且,该第一网络设备可以实现上述图3或图4所示实施例中由第一网络设备执行的步骤。参考图8,该第一网络设备包括:
发送模块301,用于采用并行传输的方式向第二网络设备发送多条第一路由,以及在确定该第二网络设备接收到该多条第一路由后,向该第二网络设备发送结束指示;其中,该多条第一路由用于供第二网络设备更新路由表,该结束指示用于指示该多条第一路由已发送完成。
该发送模块301的功能实现可以参考上述方法实施例中步骤101和步骤102,或者步骤201和步骤206的相关描述。
可选地,继续参考图8,该第一网络设备还可以包括:
确定模块302,用于基于第二网络设备发送的针对第一路由的确认消息,确定第二网络设备接收到该多条第一路由。
可选地,如图8所示,该第一网络设备还可以包括路由模块303和传输模块304,该路由模块303运行有路由协议,该传输模块304运行有传输协议。
作为一种可能的实现方式,该路由模块303可以用于将该多条第一路由和结束指示发送至该传输模块304,以及为该传输模块304配置传输标记,该传输标记用于指示传输模块304在确定第二网络设备接收到该多条第一路由后,再向第二网络设备发送该结束指示。
作为另一种可能的实现方式,该路由模块303可以用于将该多条第一路由发送至传输模块304,以及在基于传输模块304提供的通知消息确定第二网络设备接收到该多条第一路由之后,再向传输模块304发送结束指示。
可选地,该发送模块301,还可以用于在向第二网络设备发送结束指示之前,若确定第二路由所属数据流中的数据已发送完成,则向第二网络设备发送第二路由;其中,该第二路由为用于更新任一第一路由的路由,或者,该第二路由为第一网络设备在发送该多条第一路由之后学习到的路由。
该发送模块301的功能实现还可以参考上述方法实施例中步骤204中的相关描述。
可选地,该发送模块301可以用于:基于该第二网络设备发送的路由更新消息,采用并行传输的方式向该第二网络设备发送多条第一路由;或者,在与该第二网络设备断开连接并重新建立连接之后,采用并行传输的方式向该第二网络设备发送多条第一路由。
可选地,该发送模块301可以用于:通过该第一网络设备与该第二网络设备之间的多条路径,并行发送多条第一路由;或者,通过该第一网络设备与该第二网络设备之间的一条路径,并行发送多条数据流,每条数据流包括至少一条第一路由。
可选地,该第一网络设备与该第二网络设备之间的多条路径可以基于QUIC协议建立。
综上所述,本申请实施例提供了一种第一网络设备,该第一网络设备能够通过并行传输的方式向第二网络设备发送多条第一路由,并可以在确定第二网络设备接收到该多条第一路由后再发送结束指示。由此,可以确保并行传输场景下,该结束指示不会提前于第一路由到达第二网络设备,从而可以避免第二网络设备提前老化路由表中未被更新的路由而导致的业务流中断的问题。
图9是本申请实施例提供的一种第二网络设备的结构示意图,该第二网络设备可以应用于路由更新系统,例如可以应用于如图1,以及图5至图7任一所示的系统中。并且,该第二网络设备可以实现上述图3或图4所示实施例中由第二网络设备执行的步骤。参考图9,该第二网络设备包括:
接收模块401,用于接收第一网络设备采用并行传输的方式发送的多条第一路由,以及接收该第一网络设备发送的第一结束指示,该第一结束指示是该第一网络设备在确定该第二网络设备已接收到该多条第一路由后发送的。
该接收模块401的功能实现可以参考上述方法实施例中步骤101和步骤102,或者步骤201和步骤206的相关描述。
更新模块402,用于在采用该多条第一路由更新路由表之后,基于该第一结束指示,删除路由表中除该多条第一路由之外的路由。该更新模块402的功能实现可以参考上述方法实施例中步骤103或步骤207的相关描述。
可选地,如图9所示,该第二网络设备还可以包括:
第一发送模块403,用于在接收到第一路由后,向该第一网络设备发送针对该第一路由的确认消息。
该第一发送模块403的功能实现可以参考上述方法实施例中步骤202的相关描述。
可选地,该接收模块401,还可以用于在接收第一网络设备发送的结束指示之前,接收该第一网络设备发送的第二路由,该第二路由是第一网络设备在确定该第二路由所属数据流中的数据已发送完成后发送的;该第二路由为用于更新任一第一路由的路由,或者,该第二路由为该第一网络设备在发送该多条第一路由之后学习到的路由;
该接收模块401的功能实现还可以参考上述方法实施例中步骤204的相关描述。
该更新模块402,还可以用于采用该第二路由更新路由表。该更新模块402的功能实现还可以参考上述方法实施例中步骤205的相关描述。
可选地,继续参考图9,该第二网络设备还可以包括:第二发送模块404。
该第二发送模块404,用于在接收模块401接收该多条第一路由之前,并在更新针对该第一网络设备的路由接收策略之后,向该第一网络设备发送路由更新消息,该路由更新消息用于指示该第一网络设备发送该多条第一路由。
该第二发送模块404的功能实现可以参考上述方法实施例中步骤201的相关描述。
该更新模块402,可以用于基于该第一结束指示,删除路由表中除该多条第一路由之外的目标路由,该目标路由为在发送该路由更新消息之前从该第一网络设备学习到的路由。
可选地,继续参考图9,该第二网络设备还可以包括:连接模块405。
该连接模块405,用于在断开与多个邻居网络设备的连接并重启路由协议之后,重新与该多个邻居网络设备建立连接,该多个邻居网络设备包括该第一网络设备和第三网络设备。
该连接模块405的功能实现可以参考上述方法实施例中步骤201的相关描述。
该接收模块401,还可以用于接收该第三网络设备采用并行传输的方式发送的多条第三路由,以及接收该第三网络设备发送的第二结束指示,该第二结束指示是该第三网络设备在确定该第二网络设备已接收到该多条第三路由后发送的。
该接收模块401的功能实现还可以参考上述方法实施例中步骤207的相关描述。
该更新模块402,可以用于在采用多条第一路由和多条第三路由更新路由表之后,基于该第一结束指示和第二结束指示,删除路由表中除多条第一路由和多条第三路由之外的路由。
可选地,该第一网络设备发送的路由和该第三网络设备发送的路由均属于目标地址族;该更新模块402,可以用于基于该第一结束指示和第二结束指示,删除路由表中除多条第一路由和多条第三路由之外的属于目标地址族的路由。
综上所述,本申请实施例提供了一种第二网络设备,该第二网络设备在接收到第一网络设备发送的多条第一路由之后,才会接收到该第一网络设备发送的结束指示,且该第二网络设备可以在采用该多条第一路由更新路由表之后,再基于该第一结束指示老化路由表中未被更新的路由。由此,可以避免因提前处理结束指示而导致部分路由被误删除,进而导致部分业务流中断的问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上文描述的第一网络设备、第二网络设备以及各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应理解的是,本申请实施例提供的第一网络设备和第二网络设备还可以用专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现上述方法实施例提供的路由更新方法,当通过软件实现上述方法实施例提供的路由更新方法时,该第一网络设备和第二网络设备中的各个模块也可以为软件模块。
图10是本申请实施例提供的一种网络设备的结构示意图,该网络设备可以应用于如图1,以及图5至图7任一所示的系统,且可以为上述附图所示系统中的任一网络设备。并且,该网络设备可以实现上述方法实施例中由第一网络设备或第二网络设备执行的步骤。如图10所示,该网络设备可以包括:处理器501、存储器502、网络接口503和总线504。其中,总线504用于连接处理器501、存储器502和网络接口503。通过网络接口503(可以是有线或者无线)可以实现与其他设备之间的通信连接。存储器502中存储有计算机程序,该计算机程序用于实现各种应用功能。当图10所示的网络设备中的各个模块采取软件模块的方式实现时,这些软件模块对应的程序可以存储在网络设备的存储器502中。
应理解,在本申请实施例中,处理器501可以是CPU,该处理器501还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、GPU或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
总线504除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线504。
在本申请实施例中,该网络设备中的处理器501可以用于采用并行传输的方式向第二网络设备发送多条第一路由,以及在确定该第二网络设备接收到该多条第一路由后,向该第二网络设备发送结束指示,该多条第一路由用于供第二网络设备更新路由表,该结束指示用于指示该多条第一路由已发送完成。该处理器501的详细处理过程可以参考上述方法实施例。例如,可以参考图3所示实施例中的步骤101和步骤102的详细描述,或者可以参考图4所示实施例中步骤201、步骤204和步骤206的详细描述,这里不再赘述。
或者,该网络设备中的处理器501可以用于通过网络接口接收第一网络设备采用并行传输的方式发送的多条第一路由,接收该第一网络设备发送的第一结束指示,以及在采用该多条第一路由更新路由表之后,基于该第一结束指示删除路由表中除该多条第一路由之外的路由;其中,该第一结束指示是第一网络设备在确定第二网络设备已接收到该多条第一路由后发送的。该处理器501的详细处理过程可以参考上述方法实施例。例如,可以参考图3所示实施例中的步骤103的详细描述,或者可以参考图4所示实施例中步骤202、步骤203、步骤205和步骤207的详细描述,这里不再赘述。
图11是本申请实施例提供的另一种网络设备的结构示意图,该网络设备可以应用于如图1,以及图5至图7任一所示的系统,且可以为上述附图所示系统中的任一网络设备。并且,该网络设备可以实现上述方法实施例中由第一网络设备或第二网络设备执行的步骤。如图11所示,该网络设备可以包括:主控板601和至少一个接口板(接口板也称为线卡或业务板),例如图11中示出了接口板602和接口板603。多个接口板的情况下可以包括交换网板604,该交换网板604用于完成各接口板之间的数据交换。
主控板601用于完成系统管理、设备维护、协议处理等功能。接口板602和603用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现报文的转发。主控板601上主要有3类功能单元:系统管理控制单元、系统时钟单元和系统维护单元。主控板601、接口板602以及接口板603之间通过系统总线与系统背板相连实现互通。接口板602上包括一个或多个中央处理器6021。中央处理器6021用于对接口板602进行控制管理,并与主控板601上的中央处理器6011进行通信,以及用于报文的转发处理。接口板602上的转发表项存储器6024用于存储转发表项,中央处理器6021可以通过查找转发表项存储器6024中存储的转发表项进行报文的转发。
该接口板602包括的一个或多个物理接口卡6023用于接收上一跳节点发送的报文,并根据中央处理器6021的指示向下一跳节点发送处理后的报文。具体实现过程这里不再逐一赘述。所述中央处理器6021的具体功能这里同样不再逐一赘述。
可以理解的是,该第一网络设备中的发送模块301可以位于接口板602中,确定模块302和路由模块303可以位于主控板601中,传输模块304可以位于接口板602中,或者可以位于主控板601中。第二网络设备中的接收模块401、第一发送模块403和第二发送模块404均可以位于接口板602中,更新模块402可以位于主控板601中,连接模块405的一部分位于主控板601中,另一部分位于接口板602中,即主控板601和接口板602可以共同实现该连接模块405的功能。
还可以理解,如图11所示,网络设备中可以包括多个接口板,采用分布式的转发机制,这种机制下,接口板603的结构与接口板602的结构基本相同,且接口板603上的操作与接口板602的操作基本相似,为了简洁,不再赘述。此外,可以理解的是,图11中的接口板602中的中央处理器6021和/或网络处理器6022可以是专用硬件或芯片,如可以采用专用集成电路来实现上述功能,这种实现方式即为通常所说的转发面采用专用硬件或芯片处理的方式。在另外的实施方式中,所述中央处理器6021和/或网络处理器6022也可以采用通用的处理器,如通用的CPU来实现以上描述的功能。
此外应理解的是,主控板601可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,该设备的数据处理能力越强,提供的接口板越多。多块接口板的情况下,该多块接口板之间可以通过一块或多块交换网板通信,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,该设备包括多块接口板,可以通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
具体的实施例中,存储器6012和存储器6024可以是只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。接口板602中的存储器6024可以是独立存在,并通过通信总线与中央处理器6021相连接;或者,存储器6024也可以和中央处理器6021集成在一起。主控板601中的存储器6012可以是独立存在,并通过通信总线与中央处理器6011相连接;或者,存储器6012也可以和中央处理器6011集成在一起。
存储器6024用于存储程序代码,并由中央处理器6021来控制执行,存储器6012用于存储程序代码,并由中央处理器6011来控制执行。该中央处理器6021和中央处理器6011可以通过执行程序代码来实现上述实施例所提供的应用于第一网络设备或第二网络设备的路由更新方法。其中,存储器6024和存储器6012存储的程序代码中可以包括一个或多个软件模块。这一个或多个软件模块可以为上述图8或图9所示实施例中提供的功能模块。
具体实施例中,该物理接口卡6023,可以是使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令由处理器执行以实现上述方法实施例提供的由第一网络设备执行的路由更新方法,或者由第二网络设备执行的路由更新方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述方法实施例提供的由第一网络设备执行的路由更新方法,或者由第二网络设备执行的路由更新方法。
本申请实施例还提供了一种芯片,该芯片可以用于实现上述方法实施例提供的由第一网络设备或第二网络设备执行的路由更新方法。
本申请实施例还提供了一种路由更新系统,如图1,以及图5至图7所示,该路由更新系统包括:第一网络设备01和第二网络设备02。其中,该第一网络设备的结构可以参考图8、图10或图11,该第二网络设备02的结构可以参考图9、图10或图11。
可选地,参考图6,该系统还可以包括第三网络设备03,该第三网络设备03作为第二网络设备02的邻居网络设备,也可以实现上述方法实施例中由第一网络设备01执行的步骤。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个节点是指两个或两个以上的节点。本文中术语“系统”和“网络”经常可互换使用。在本文中提及的“和/或”,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述,仅为本申请的可选实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (30)
1.一种路由更新方法,其特征在于,应用于第一网络设备;所述方法包括:
采用并行传输的方式向第二网络设备发送多条第一路由,所述多条第一路由用于供所述第二网络设备更新路由表;
在确定所述第二网络设备接收到所述多条第一路由后,向所述第二网络设备发送结束指示,所述结束指示用于指示所述多条第一路由已发送完成。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第二网络设备接收到所述多条第一路由,包括:
基于所述第二网络设备发送的针对所述第一路由的确认消息,确定所述第二网络设备接收到所述多条第一路由。
3.根据权利要求1或2所述的方法,其特征在于,所述第一网络设备包括路由模块和传输模块,所述路由模块运行有路由协议,所述传输模块运行有传输协议;在向所述第二网络设备发送结束指示之前,所述方法还包括:
所述路由模块将所述多条第一路由和所述结束指示发送至所述传输模块;
所述路由模块为所述传输模块配置传输标记,所述传输标记用于指示所述传输模块在确定所述第二网络设备接收到所述多条第一路由后,再向所述第二网络设备发送所述结束指示。
4.根据权利要求1或2所述的方法,其特征在于,所述第一网络设备包括路由模块和传输模块,所述路由模块运行有路由协议,所述传输模块运行有传输协议;在向所述第二网络设备发送结束指示之前,所述方法还包括:
所述路由模块将所述多条第一路由发送至所述传输模块;
所述路由模块在基于所述传输模块提供的通知消息确定所述第二网络设备接收到所述多条第一路由之后,再向所述传输模块发送所述结束指示。
5.根据权利要求1至4任一所述的方法,其特征在于,在向所述第二网络设备发送结束指示之前,所述方法还包括:
若确定第二路由所属数据流中的数据已发送完成,则向所述第二网络设备发送所述第二路由;
其中,所述第二路由为用于更新任一所述第一路由的路由,或者,所述第二路由为所述第一网络设备在发送所述多条第一路由之后学习到的路由。
6.根据权利要求1至5任一所述的方法,其特征在于,所述采用并行传输的方式向第二网络设备发送多条第一路由,包括:
基于所述第二网络设备发送的路由更新消息,采用并行传输的方式向所述第二网络设备发送多条第一路由;
或者,在与所述第二网络设备断开连接并重新建立连接之后,采用并行传输的方式向所述第二网络设备发送多条第一路由。
7.根据权利要求1至6任一所述的方法,其特征在于,所述采用并行传输的方式向第二网络设备发送多条第一路由,包括:
通过所述第一网络设备与所述第二网络设备之间的多条路径,并行发送多条第一路由;
或者,通过所述第一网络设备与所述第二网络设备之间的一条路径,并行发送多条数据流,每条所述数据流包括至少一条第一路由。
8.根据权利要求7所述的方法,其特征在于,所述第一网络设备与所述第二网络设备之间的多条路径基于快速用户数据包协议网络连接QUIC协议建立。
9.一种路由更新方法,其特征在于,应用于第二网络设备;所述方法包括:
接收第一网络设备采用并行传输的方式发送的多条第一路由;
接收所述第一网络设备发送的第一结束指示,所述第一结束指示是所述第一网络设备在确定所述第二网络设备已接收到所述多条第一路由后发送的;
在采用所述多条第一路由更新路由表之后,基于所述第一结束指示,删除所述路由表中除所述多条第一路由之外的路由。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在接收到所述第一路由后,向所述第一网络设备发送针对所述第一路由的确认消息。
11.根据权利要求9或10所述的方法,其特征在于,在接收所述第一网络设备发送的结束指示之前,所述方法还包括:
接收所述第一网络设备发送的第二路由,所述第二路由是所述第一网络设备在确定所述第二路由所属数据流中的数据已发送完成后发送的;所述第二路由为用于更新任一所述第一路由的路由,或者,所述第二路由为所述第一网络设备在发送所述多条第一路由之后学习到的路由;
采用所述第二路由更新所述路由表。
12.根据权利要求9至11任一所述的方法,其特征在于,在所述接收第一网络设备采用并行传输的方式发送的多条第一路由之前,所述方法还包括:
在更新针对所述第一网络设备的路由接收策略之后,向所述第一网络设备发送路由更新消息,所述路由更新消息用于指示所述第一网络设备发送所述多条第一路由;
所述基于所述第一结束指示,删除所述路由表中除所述多条第一路由之外的路由,包括:
基于所述第一结束指示,删除所述路由表中除所述多条第一路由之外的目标路由,所述目标路由为在发送所述路由更新消息之前从所述第一网络设备学习到的路由。
13.根据权利要求9至11任一所述的方法,其特征在于,所述方法还包括:
在断开与多个邻居网络设备的连接并重启路由协议之后,重新与所述多个邻居网络设备建立连接,所述多个邻居网络设备包括所述第一网络设备和第三网络设备;
接收所述第三网络设备采用并行传输的方式发送的多条第三路由;
接收所述第三网络设备发送的第二结束指示,所述第二结束指示是所述第三网络设备在确定所述第二网络设备已接收到所述多条第三路由后发送的;
所述在采用所述多条第一路由更新路由表之后,基于所述第一结束指示,删除所述路由表中除所述多条第一路由之外的路由,包括:
在采用所述多条第一路由和所述多条第三路由更新路由表之后,基于所述第一结束指示和所述第二结束指示,删除所述路由表中除所述多条第一路由和所述多条第三路由之外的路由。
14.根据权利要求13所述的方法,其特征在于,所述第一网络设备发送的路由和所述第三网络设备发送的路由均属于目标地址族;
所述基于所述第一结束指示和所述第二结束指示,删除所述路由表中除所述多条第一路由和所述多条第三路由之外的路由,包括:
基于所述第一结束指示和所述第二结束指示,删除所述路由表中除所述多条第一路由和所述多条第三路由之外的属于所述目标地址族的路由。
15.一种第一网络设备,其特征在于,所述第一网络设备包括:发送模块;
所述发送模块,用于采用并行传输的方式向第二网络设备发送多条第一路由,以及在确定所述第二网络设备接收到所述多条第一路由后,向所述第二网络设备发送结束指示;
其中,所述多条第一路由用于供所述第二网络设备更新路由表,所述结束指示用于指示所述多条第一路由已发送完成。
16.根据权利要求15所述的第一网络设备,其特征在于,所述第一网络设备还包括:
确定模块,用于基于所述第二网络设备发送的针对所述第一路由的确认消息,确定所述第二网络设备接收到所述多条第一路由。
17.根据权利要求15或16所述的第一网络设备,其特征在于,所述第一网络设备还包括路由模块和传输模块,所述路由模块运行有路由协议,所述传输模块运行有传输协议;
所述路由模块,用于将所述多条第一路由和所述结束指示发送至所述传输模块,以及为所述传输模块配置传输标记,所述传输标记用于指示所述传输模块在确定所述第二网络设备接收到所述多条第一路由后,再向所述第二网络设备发送所述结束指示。
18.根据权利要求15或16所述的第一网络设备,其特征在于,所述第一网络设备还包括路由模块和传输模块,所述路由模块运行有路由协议,所述传输模块运行有传输协议;
所述路由模块,用于将所述多条第一路由发送至所述传输模块,以及在基于所述传输模块提供的通知消息确定所述第二网络设备接收到所述多条第一路由之后,再向所述传输模块发送所述结束指示。
19.根据权利要求15至18任一所述的第一网络设备,其特征在于,所述发送模块,还用于:
在向所述第二网络设备发送结束指示之前,若确定第二路由所属数据流中的数据已发送完成,则向所述第二网络设备发送所述第二路由;
其中,所述第二路由为用于更新任一所述第一路由的路由,或者,所述第二路由为所述第一网络设备在发送所述多条第一路由之后学习到的路由。
20.根据权利要求15至19任一所述的第一网络设备,其特征在于,所述发送模块,用于:
基于所述第二网络设备发送的路由更新消息,采用并行传输的方式向所述第二网络设备发送多条第一路由;
或者,在与所述第二网络设备断开连接并重新建立连接之后,采用并行传输的方式向所述第二网络设备发送多条第一路由。
21.根据权利要求15至20任一所述的第一网络设备,其特征在于,所述发送模块,用于:
通过所述第一网络设备与所述第二网络设备之间的多条路径,并行发送多条第一路由;
或者,通过所述第一网络设备与所述第二网络设备之间的一条路径,并行发送多条数据流,每条所述数据流包括至少一条第一路由。
22.根据权利要求21所述的第一网络设备,其特征在于,所述第一网络设备与所述第二网络设备之间的多条路径基于快速用户数据包协议网络连接QUIC协议建立。
23.一种第二网络设备,其特征在于,所述第二网络设备包括:
接收模块,用于接收第一网络设备采用并行传输的方式发送的多条第一路由,以及接收所述第一网络设备发送的第一结束指示,所述第一结束指示是所述第一网络设备在确定所述第二网络设备已接收到所述多条第一路由后发送的;
更新模块,用于在采用所述多条第一路由更新路由表之后,基于所述第一结束指示,删除所述路由表中除所述多条第一路由之外的路由。
24.根据权利要求23所述的第二网络设备,其特征在于,所述第二网络设备还包括:
第一发送模块,用于在接收到所述第一路由后,向所述第一网络设备发送针对所述第一路由的确认消息。
25.根据权利要求23或24所述的第二网络设备,其特征在于,
所述接收模块,还用于在接收所述第一网络设备发送的结束指示之前,接收所述第一网络设备发送的第二路由,所述第二路由是所述第一网络设备在确定所述第二路由所属数据流中的数据已发送完成后发送的;所述第二路由为用于更新任一所述第一路由的路由,或者,所述第二路由为所述第一网络设备在发送所述多条第一路由之后学习到的路由;
所述更新模块,还用于采用所述第二路由更新所述路由表。
26.根据权利要求23至25任一所述的第二网络设备,其特征在于,所述第二网络设备还包括:第二发送模块;
所述第二发送模块,用于在所述接收模块接收所述多条第一路由之前,并在更新针对所述第一网络设备的路由接收策略之后,向所述第一网络设备发送路由更新消息,所述路由更新消息用于指示所述第一网络设备发送所述多条第一路由;
所述更新模块,用于基于所述第一结束指示,删除所述路由表中除所述多条第一路由之外的目标路由,所述目标路由为在发送所述路由更新消息之前从所述第一网络设备学习到的路由。
27.根据权利要求23至25任一所述的第二网络设备,其特征在于,所述第二网络设备还包括:连接模块;
所述连接模块,用于在断开与多个邻居网络设备的连接并重启路由协议之后,重新与所述多个邻居网络设备建立连接,所述多个邻居网络设备包括所述第一网络设备和第三网络设备;
所述接收模块,还用于接收所述第三网络设备采用并行传输的方式发送的多条第三路由,以及接收所述第三网络设备发送的第二结束指示,所述第二结束指示是所述第三网络设备在确定所述第二网络设备已接收到所述多条第三路由后发送的;
所述更新模块,用于在采用所述多条第一路由和所述多条第三路由更新路由表之后,基于所述第一结束指示和所述第二结束指示,删除所述路由表中除所述多条第一路由和所述多条第三路由之外的路由。
28.根据权利要求27所述的第二网络设备,其特征在于,所述第一网络设备发送的路由和所述第三网络设备发送的路由均属于目标地址族;所述更新模块,用于:
基于所述第一结束指示和所述第二结束指示,删除所述路由表中除所述多条第一路由和所述多条第三路由之外的属于所述目标地址族的路由。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,所述指令由处理器执行以实现如权利要求1至14任一所述的方法。
30.一种路由更新系统,其特征在于,所述系统包括:如权利要求15至22任一所述的第一网络设备,以及如权利要求23至28任一所述的第二网络设备。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110405448.1A CN115225562A (zh) | 2021-04-15 | 2021-04-15 | 路由更新方法、装置及系统 |
PCT/CN2022/083043 WO2022218132A1 (zh) | 2021-04-15 | 2022-03-25 | 路由更新方法、装置及系统 |
EP22787361.9A EP4307621A1 (en) | 2021-04-15 | 2022-03-25 | Route update method, apparatus and system |
US18/486,275 US20240039829A1 (en) | 2021-04-15 | 2023-10-13 | Route refresh method, apparatus, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110405448.1A CN115225562A (zh) | 2021-04-15 | 2021-04-15 | 路由更新方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115225562A true CN115225562A (zh) | 2022-10-21 |
Family
ID=83605368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110405448.1A Pending CN115225562A (zh) | 2021-04-15 | 2021-04-15 | 路由更新方法、装置及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240039829A1 (zh) |
EP (1) | EP4307621A1 (zh) |
CN (1) | CN115225562A (zh) |
WO (1) | WO2022218132A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471940B (zh) * | 2007-12-28 | 2012-09-05 | 华为技术有限公司 | 一种边界网关协议路由同步的方法、系统及装置 |
CN101764737B (zh) * | 2008-12-25 | 2012-11-21 | 华为技术有限公司 | 基于边界网关协议的路由老化方法、装置和路由器 |
CN102571425B (zh) * | 2011-12-28 | 2014-09-17 | 杭州华三通信技术有限公司 | 一种边界网关协议平滑重启方法和装置 |
US10104167B2 (en) * | 2015-09-28 | 2018-10-16 | Verizon Patent And Licensing Inc. | Networking functions in a micro-services architecture |
CN110086578B (zh) * | 2018-01-25 | 2021-06-01 | 华为技术有限公司 | 数据传输方法、装置和系统 |
US11916840B2 (en) * | 2019-02-15 | 2024-02-27 | Qualcomm Incorporated | Methods and apparatus for transport protocol ACK aggregation |
-
2021
- 2021-04-15 CN CN202110405448.1A patent/CN115225562A/zh active Pending
-
2022
- 2022-03-25 WO PCT/CN2022/083043 patent/WO2022218132A1/zh active Application Filing
- 2022-03-25 EP EP22787361.9A patent/EP4307621A1/en active Pending
-
2023
- 2023-10-13 US US18/486,275 patent/US20240039829A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4307621A1 (en) | 2024-01-17 |
WO2022218132A1 (zh) | 2022-10-20 |
US20240039829A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7532631B2 (en) | Method and apparatus for accelerating border gateway protocol convergence | |
US7508772B1 (en) | Partial graceful restart for border gateway protocol (BGP) | |
US7957306B2 (en) | Providing reachability information in a routing domain of an external destination address in a data communications network | |
JP4711411B2 (ja) | SoftRouterプロトコルのフェイルオーバー | |
US8902766B2 (en) | Method and apparatus to improve LDP convergence using hierarchical label stacking | |
US8913485B2 (en) | Open shortest path first (OSPF) nonstop routing (NSR) with link derivation | |
US7940649B2 (en) | Techniques for graceful restart in a multi-process operating system | |
WO2009067865A2 (en) | Method, router, line card and active master card for realizng a link state database synchronization | |
JP2006135970A (ja) | SoftRouter動的バインディング・プロトコル | |
TW201134151A (en) | RSVP-TE graceful restart under fast re-route conditions | |
US8238309B1 (en) | Stateful home agent recovery protocol (SHARP) | |
EP2571211A2 (en) | OSPF NSR with delayed neighbor synchronization | |
WO2021109997A1 (zh) | 分段路由隧道的防断纤方法、装置,入口节点及存储介质 | |
EP2575306B1 (en) | Ospf nonstop routing synchronization nack | |
EP2575304B1 (en) | OSPF nonstop routing (NSR) synchronization reduction | |
CN115225562A (zh) | 路由更新方法、装置及系统 | |
US20220400075A1 (en) | Failure detection and mitigation in an mc-lag environment | |
CN113014481B (zh) | 传输链路状态通告的方法、装置、设备及存储介质 | |
US20240243998A1 (en) | Output state synchronization for border gateway protocol (bgp) processes | |
US20230403228A1 (en) | Method and network element for network redundancy | |
WO2021233168A1 (zh) | 一种报文发送的方法和装置 | |
US20240243997A1 (en) | Synchronization for border gateway protocol (bgp) processes |
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 |