处理电路上执行的方法、网络设备及存储介质与流程

未命名 07-27 阅读:237 评论:0

处理电路上执行的方法、网络设备及存储介质
1.本技术要求于2022年1月17日提交的美国专利申请号17/577,340的权益,该申请的全部内容通过引用结合在此。
技术领域
2.本公开总体上涉及计算机网络,并且更具体地,涉及在计算机网络内路由分组。


背景技术:

3.计算机网络是可以交换数据和共享资源的互连计算设备的集合。示例性计算设备包括在开放系统互连(osi)参考模型的第2层(即,数据链路层)内操作的路由器、交换机和其他第2层(l2)网络设备,以及在osi参考模型的第3层(即,网络层)内操作的第3层(l3)网络设备。计算机网络内的网络设备通常包括为网络设备提供控制平面功能的控制单元和用于路由或交换数据单元的转发组件。
4.计算设备可以建立“网络会话”(本文中也被称为“会话”)以实现计算机网络上的设备之间的通信。会话可以是双向的,因为会话包括在第一设备与第二设备之间在两个方向上行进的分组。例如,会话包括来自第一设备并且去往第二设备的正向分组流以及来自第二设备并且去往第一设备的反向分组流。会话的正向分组流和反向分组流相互关联,因为正向分组流的源地址和源端口与反向分组流的目的地地址和目的地端口相同,并且正向分组流的目的地地址和目的地端口与反向分组流的源地址和源端口相同。为了建立会话,计算设备可以使用一个或多个通信会话协议,包括传输控制协议(tcp)、传输层安全(tls)、用户数据报协议(udp)、互联网控制消息协议(icmp)等。


技术实现要素:

5.总体上,本公开描述用于在通信会话的活跃节点丢失的情况下使用基于会话的路由使会话状态信息与会话控制器同步以促使无缝故障转移的技术。多个会话中的每个会话包括在源客户端设备与目的地客户端设备之间的正向分组流和反向分组流。被配置成提供基于会话的路由(例如,由瞻博网络公司提供的安全向量路由(svr))的路由器(例如,节点)可以接收会话的初始(“第一”)分组,并且仅修改会话的初始分组以包括指定描述会话状态的信息(例如,初始分组的5元组和关于分组所做出的改变的信息)的元数据,以用信号通知其他路由器关于会话的信息并且使用会话状态信息来执行有会话状态的路由。路由器还可以对修改后的分组的报头执行网络地址转换(nat)以确保修改后的分组(其也可被包括在元数据中)。通过使用基于会话的路由,可以在不使用隧道的情况下安全地传送会话的分组,从而通过避免在隧道端点处执行封装和解封装的需要而节省相当大的网络资源。
6.根据本公开中描述的技术,路由器充分利用基于会话的路由来将每个会话的会话状态信息(例如,分组的5元组和元数据)发送到会话控制器,该会话控制器作为网络的会话状态信息的集中的源/宿操作,使得会话控制器可将活跃节点的会话的会话状态信息同步到备用节点,以便在活跃节点发生故障的情况下,会话无缝地故障转移到备用节点。例如,
使用基于会话的路由,活跃节点可以在会话的初始分组中向会话控制器发送会话的会话状态信息。会话控制器可以响应于确定活跃节点已发生故障而选择分配给发生故障的活跃节点的备用节点。响应于选择备用节点,会话控制器可以将发生故障的活跃节点的会话状态信息与备用节点同步,使得备用节点可以具有发生故障的活跃节点的会话状态信息并恢复会话。
7.本公开的技术可以对计算机联网的计算机相关领域提供具有实际应用的特定改进。例如,该技术可以减少同步会话状态信息进行故障转移所需的开销和资源。例如,传统的解决方案使路由器对之间的会话状态信息同步,这导致数百万(可能数千万)会话的大量数据交换。传统的解决方案可以实施明文通信信道或安全协议(诸如,ipsec或macsec)以用于会话状态信息的同步;然而,信道/协议建立过程可能消耗相当大的资源容量(例如,处理器周期)和/或需要额外的报头信息,从而导致用于同步会话状态信息的额外开销。取代使用通道/协议建立过程在路由器之间同步会话状态信息,会话控制器可以充分利用基于会话的路由机制来安全地同步会话状态信息,这避开了隧道的使用,从而通过避免在隧道端点处执行封装和解封装的需要来节省相当大的网络资源。此外,当实现基于会话的路由时,仅会话的初始“第一”分组包括来自包含元数据的开销,而会话的后续分组不包括开销。另外,不同于n:1或1:1的传统的解决方案,通过实施本发明的技术,会话控制器可以在包括m:n的任何冗余水平下提供对会话故障转移的支持。
8.在一个示例中,本公开描述了一种在网络的会话控制器的处理电路上执行的方法,该方法包括:从网络的多个路由器中的第一路由器接收第一客户端设备与第二客户端设备之间的会话的会话状态信息,其中,会话状态信息包括指定会话的属性的元数据;确定第一路由器已发生故障;响应于确定第一路由器已发生故障,选择网络的第二路由器作为第一路由器的备用路由器;并且将会话的会话状态信息同步到第二路由器。
9.在另一示例中,本公开描述了一种作为网络的会话控制器操作的网络设备,该网络设备包括:处理电路;以及存储器,存储器包括指令,该指令在由处理电路执行时使处理电路:从网络的多个路由器中的第一路由器接收第一客户端设备与第二客户端设备之间的会话的会话状态信息,其中,会话状态信息包括指定会话的属性的元数据;确定第一路由器已发生故障;响应于确定第一路由器已发生故障,选择网络的第二路由器作为第一路由器的备用路由器;将会话的会话状态信息同步到第二路由器。
10.在另一示例中,本公开描述了一种包括程序指令的非暂时性计算机可读存储介质,该程序指令被配置为使处理电路:从网络的多个路由器中的第一路由器接收第一客户端设备与第二客户端设备之间的会话的会话状态信息,其中,会话状态信息包括指定会话的属性的元数据;确定第一路由器已发生故障;响应于确定第一路由器已发生故障,选择网络的第二路由器作为第一路由器的备用路由器;并且将会话的会话状态信息同步到第二路由器。
11.在以下附图和描述中阐述了本公开的技术的一个或多个示例的细节。这些技术的其他特征、目的和优点将从说明书和附图以及从权利要求中显而易见。
附图说明
12.图1是示出根据本公开的技术的示例性计算机网络系统的框图。
13.图2是示出根据本公开的技术的示例性计算设备的框图。
14.图3是示出根据本公开的技术的计算机网络系统的示例实现的框图。
15.图4是示出根据本公开的技术的示例性操作的流程图。
16.图5是示出根据本公开的技术的示例性第二操作的流程图。
17.贯穿附图和说明书,相同的参考符号指代相同的元件。
具体实施方式
18.本公开描述了一种网络设备,该网络设备作为会话控制器操作以在活跃节点与备用节点之间同步会话状态信息以实现本文所述的高可用性。高可用性(ha)是指系统/网络在指定的时间段内并且在达成协议的操作性能水平(例如,最大正常运行时间)下连续操作而未失败的能力。为了实现会话的高可用性,会话状态信息在活跃路由器或主路由器与备用路由器或次要路由器之间同步。在活跃路由器发生故障的情况下,备用路由器承担正向分组流的责任,而无需在转发流量之前重新建立会话。通过利用会话控制器将发生故障的活跃路由器的会话状态信息传播到备用路由器,在备用路由器达到能够处理和转发会话的分组的状态之前很少或没有时间流逝。在该时间段期间,在活跃路由器发生故障时,没有活跃会话被排队也没有丢失。
19.图1是示出根据本公开的技术的示例性计算机网络系统2的框图。在图1的示例中,计算机网络系统2包括被配置为提供到不同的客户网络140a-140b(被统称为“客户网络140”)的广域网(wan)连接的服务提供商网络150a-150d(被统称为“服务提供商网络150”)。服务提供商网络150的路由器110a-110i(被统称为“路由器110”)为与客户网络140相关联的客户端设备100a-100n(被统称为“客户端设备100”)和客户端设备102a-102n(被统称为“客户端设备102”)提供对服务提供商网络150的访问。在一些示例中,客户网络140是企业网络。客户端设备100、102和/或路由器110可以与通信链路16a-16g(被统称为链路“16”)通信,该通信链路可以是以太网、atm或任何其他合适的网络连接。
20.路由器110在图1的示例中被示为路由器。然而,本公开的技术可使用任何网络设备(例如,交换机、路由器、网关或可以发送和接收网络流量的其他合适的网络设备)来实施。例如,客户网络140可以是用于企业的地理上分离的站点的网络。每个客户网络140可以包括附加的客户设备,诸如,一个或多个非边缘交换机、路由器、集线器、网关、安全设备(诸如,防火墙、入侵检测和/或入侵防护设备)、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动设备(诸如,蜂窝电话或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器或图1中未描述的其他路由器。图1所示的计算机网络系统2的配置仅仅是示例。例如,计算机网络系统2可包括任意数量的客户网络140。尽管如此,为了便于描述,在图1中仅示出了客户网络140a-140b。
21.路由器110根据由这种设备实现的路由协议来执行将网络流量引导到计算机网络系统2的设备/从该计算机网络系统的设备引导网络流量的操作。这可包括基于会话的路由方案(如下文进一步描述的),其中,路由器确定分组流的会话并且根据会话信息来引导分组流。路由器可以执行附加功能,诸如,针对会话(至少部分地针对被确定为与会话相关联的每个分组)生成指标。另外,针对每个确定的会话,路由器确定与该会话相关联的应用。在一些示例中,路由器选择一网络路径以用于转发与会话(该会话与应用相关联)相关联的至
少一个分组。
22.服务提供商网络150表示由一个或多个服务提供商拥有和操作的一个或多个可公开访问的计算机网络。尽管计算机网络系统2在图1的示例中被示出为包括多个互连的服务提供商网络150,但是在其他示例中,计算机网络系统2可替代地包括提供客户网络140之间的连接的单个服务提供商网络。服务提供商通常是大型电信实体或公司。每个服务提供商网络150通常是大型l3计算机网络。每个服务提供商网络150是l3网络,在这个意义上,其固有地支持如在osi模型中描述的l3操作。普通的l3操作包括根据l3协议(例如,互联网协议(ip))执行的那些操作。l3在osi模型中也被称为“网络层”,并且贯穿本公开,术语l3可以与短语“网络层”互换使用。
23.虽然未示出,但是每个服务提供商网络150可以耦接到由其他提供商管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如,互联网)的一部分。因此,客户网络140可被视为互联网的边缘网络。每个服务提供商网络150可为客户网络140内的计算设备(诸如,客户端设备100和102)提供对互联网的访问,并且可允许客户网络140内的计算设备彼此通信。
24.尽管为便于解释而未示出附加路由器,但应理解,系统2可包括附加网络和/或计算设备,诸如一个或多个附加交换机、路由器、集线器、网关、安全设备(诸如防火墙、入侵检测和/或入侵防护设备)、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动设备(诸如,蜂窝电话或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器或其他路由器。此外,尽管系统2的元件被示出为直接耦接,但应理解,可沿着任一个网络链路16包含一个或多个额外网络元件,使得系统2的网络元件不直接耦接。
25.每个服务提供商网络150通常为客户网络140提供多个住宅和商业服务,包括住宅和商业类数据服务(其通常被称为“互联网服务”,因为这些数据服务允许访问被称为互联网的公共可访问网络的集合)、住宅和商业类电话和/或语音服务、以及住宅和商业类电视服务。
26.在一些示例中,网络服务示例可将一个或多个网络服务应用于客户端设备100、102的流量。每个网络服务示例可以是例如由服务器的处理电路执行的虚拟机示例化的虚拟化网络服务。在一些示例中,网络服务示例是向客户端设备100、102的流量提供有状态防火墙服务的多个防火墙示例。在一些示例中,网络服务示例是向客户端设备100、102的流量提供深度分组检测服务的多个深度分组检测示例。
27.会话控制器160收集计算机网络系统2的网络流量的会话状态信息。在一些示例中,会话控制器160可使用与多对路由器110之间的通信会话相对应的各种数据,以在节点故障的情况下提供会话的故障转移,如下文进一步描述的。
28.基于会话的路由
29.在一些示例中,路由器110可实现有状态的、基于会话的路由方案,该方案使得每个路由器110能够独立地执行路径选择和流量工程。基于会话的路由的使用可使得路由器110能够避开使用集中控制器(诸如,软件定义网络(sdn)控制器)来执行路径选择和流量工程。以这种方式,对于sdn控制器的使用是不可行的大型网络,路由器110可以是更有效和可扩展的。此外,基于会话的路由的使用可使得路由器110能够避开使用隧道,从而通过避免在隧道端点处执行封装和解封装的需要而节省相当大的网络资源。在一些示例中,路由器
110将基于会话的路由实现为由瞻博网络公司提供的安全向量路由(svr)。
30.在图1的示例中,系统2的客户端设备100a与客户端设备102a建立会话40。路由器110通过在客户端设备100a与客户端设备102a之间传输网络流量来促进会话40的建立。在一些示例中,客户端设备100a可以被认为是“源设备”并且客户端设备102a可以被认为是“目的地设备”,因为客户端设备100a发起客户端设备100a与客户端设备102a之间的会话40,例如,客户端设备100a是会话的正向分组流的分组的“源”,而客户端设备102a是会话的正向分组流的分组的“目的地”。通过本公开,客户端设备100a可以被称为“源设备”并且客户端设备102a可以被称为“目的地设备”。会话40包括来自客户端设备100a并且去往客户端设备102a的正向分组流以及来自客户端设备102a并且去往客户端设备100a的反向分组流。用于会话40的正向分组流遍历第一路径,该第一路径包括例如客户端设备100a,一个或多个路由器110a-110i,以及客户端设备102a。如以下更详细描述的,路由器110使得能够跨服务提供商网络150在客户网络140a与客户网络140b之间交换流量。
31.客户端设备100a(例如,源设备)可以根据包括以太网、tcp、ip或udp的一个或多个l1-l4通信协议的栈与客户端设备102a(例如,目的地设备)建立会话40。如以下更详细描述的,客户网络140a可以形成第一网络并且客户网络140b可以形成第二网络。路由器110操作以用于跨服务提供商网络150将客户网络140a扩展到客户网络140b。以此方式,客户网络140a和客户网络140b可以像它们都是同一网络的一部分一样操作,即使客户网络140a和客户网络140b可能在逻辑上彼此隔离并且在地理上彼此分离。此外,路由器110可操作以使得在客户网络140a和客户网络140b之间的服务提供商网络150的存在对客户端设备100、102是透明的。
32.在一些示例中,路由器110可根据一个或多个通信会话协议(包括tcp或udp等)跨服务提供商网络150扩展会话40。例如,为了根据tcp建立会话40使得可根据tcp交换数据,路由器110a和路由器110b进行三次握手(three-way handshake)。路由器110a向路由器110b发送包括“syn”标志的第一分组。路由器110b通过利用包括“syn-ack”标志的第二分组响应路由器110a来确认第一分组的接收。路由器110a通过利用包括“ack”标志的第三分组响应路由器110b来确认第二分组的接收。在发送第三分组之后,根据tcp建立会话40,并且路由器110a、110b可经由会话40彼此交换数据(例如,通过交换客户端设备100a和客户端设备102a的分组)。关于tcp的另外的示例信息在可在https://tools.ietf.org/html/rfc793中获得的1981年9月的“transmission control protocol,”request for comments(rfc)793,internet engineering task force(ietf),中描述,其全部内容通过引证结合于此。
33.udp是无连接协议,因为路由器110a在传输数据之前不验证路由器110b是否能够接收数据。为了根据udp建立会话40,路由器110a向路由器110b发送第一分组。在由路由器110a接收到来自路由器110b的任何分组时,会话40可被视为根据udp“建立”,这意味着路由器110b成功地接收到来自路由器110a的第一分组,作出响应,并且路由器110a能够接收来自路由器110b的响应。关于udp的另外的示例信息在可在https://tools.ietf.org/html/rfc768中获得的1980年8月的“user datagram protocol,”rfc 768,ietf,其全部内容通过引证结合于此。
34.在图1的示例中,当路由器110a接收到来自客户端设备100a并且去往客户端设备102a的正向分组流的分组时,路由器110a确定该分组是否属于新会话(例如,是会话40的“第一”分组或“领先”分组)。在一些示例中,路由器110a确定包括在第一分组中的信息(例如,源地址、源端口、目的地地址、目的地端口、和协议)是否匹配会话表中的条目。
35.如果不存在这样的条目,则路由器110a确定该分组属于新会话,并且在会话表中创建条目。例如,如果分组属于新会话,路由器110a可以生成会话40的会话标识符。会话标识符可以包括原始分组的5元组数据集(例如,客户端设备100a的源地址和源端口、客户端设备102a的目的地地址和目的地端口、以及第一分组的协议)、租户信息和/或服务信息。路由器110a可以使用会话标识符来将后续分组识别为属于同一会话。
36.在一些示例中,路由器110执行会话40的有状态路由。例如,路由器110可顺序地并沿着相同转发网络路径转发会话40的正向分组流的每个分组。如本文所描述的,“相同”正向路径可以表示在发起分组的设备与分组去往的设备之间形成分段或至少部分的相同路由器110(并且不一定是在发起分组的设备与分组去往的设备之间的整个网络路径)。另外,路由器110顺序地并沿着相同的返回网络路径转发会话40的返回流的每个分组。会话40的正向分组流的转发网络路径和会话40的返回分组流的返回网络路径可以是相同的路径,也可以是不同的路径。通过确保流的每个分组被顺序地并沿着相同的路径转发,路由器110在每个路由器110处维持整个流的状态,由此使得能够使用有状态分组服务,诸如,深度分组检查(dpi)或有状态防火墙服务。
37.在图1的示例中,可以通过一个或多个中间路由器110b-110h从入口路由器110a到出口路由器110i建立有状态路由会话。在该示例中,路由器110a确定第一分组是未修改的分组并且是新会话40的第一分组。路由器110a修改第一分组以包括元数据(例如,作为分组的类型、长度、值(tlv))以用信号通知关于会话的信息,诸如,会话标识符(例如,从客户端设备100a接收的分组的原始源地址、源端口、目的地地址、目的地端口和/或协议)、与对分组做出的改变相关联的信息、和/或其他控制参数(例如,租户和/或策略信息),并且在本文中可以被称为“会话上下文”。路由器110a可通过替换修改后的第一分组的报头以指定下一跳路由器来执行网络地址转换。例如,路由器110a可替换修改后的第一分组的报头以指定作为路由器110a的地址的源地址、作为路由器110a将修改后的第一分组朝向客户端设备102a转发所经由的端口的源端口、作为路由器110a将第一分组转发到的下一跳的地址(例如,路由器110b的地址)的目的地地址、以及作为路由器110a将第一分组转发到的下一跳的端口(例如,路由器110b的端口)的目的地端口。此外,路由器110a存储会话40的会话标识符和会话40的所选择的下一跳(例如,路由器110b)的指示,使得在接收到会话40的后续分组时,路由器110a可将后续分组识别为属于同一会话40并沿着与第一分组相同的路径转发后续分组,而无需修改后续分组以包括元数据。
38.路由器110a将修改后的第一分组转发到路由器110b。中间路由器110b接收修改后的第一分组并确定修改后的第一分组是否包括指定会话标识符的元数据。响应于确定修改后的第一分组包括指定会话标识符的元数据,中间路由器110b确定路由器110b不是入口设备,使得路由器110b不附接指定会话信息的元数据。
39.如以上关于路由器110a所描述的,路由器110b通过确定第一分组的源地址、源端口、目的地地址、目的地端口和协议是否匹配会话表中的条目来确定分组是否属于新会话(例如,是会话的“第一”分组或“领先”分组)。如果不存在这样的条目,路由器110b确定分组属于新会话并在会话表中创建条目。例如,如果分组属于新会话,路由器110b生成该会话的
会话标识符。路由器110b用来识别第一分组的会话的会话标识符可不同于路由器110a用来识别第一分组的相同会话的会话标识符,因为每个路由器110a、110b使用第一分组的报头源地址、源端口、目的地地址和目的地端口来生成会话标识符,并且当每个路由器110沿着正向路径转发第一分组时,该报头信息可被每个前一路由器110修改。此外,每个路由器110可以存储该报头信息以识别前一路由器110(或“路径点”)和下一路由器110(或“路径点”),使得每个路由器110可为会话的每个后续分组重构相同的正向路径和反向路径。
40.路由器110b替换修改后的第一分组的报头以指定作为路由器110b的地址的源地址,作为路由器110b将修改后的第一分组转发给客户端设备102a所经由的端口的源端口,作为路由器110b将第一分组所转发给的下一跳的地址的目的地地址(例如,沿第一路径的用于会话40的路由器110c的地址),以及作为路由器110b将第一分组转发给的下一跳的端口的目的地端口(例如,路由器110c的端口)。路由器110b将修改后的第一分组转发到路由器110c。此外,路由器110b存储会话40的会话标识符,使得在接收到会话40的后续分组时,路由器110b可将后续分组标识为属于同一会话40并沿着与第一分组相同的路径转发后续分组。
41.随后的中间路由器110c-110h以与路由器110a类似的方式处理修改后的第一分组,使得路由器110沿着与第一分组相同的路径转发会话的后续分组。另外,每个路由器110存储会话的会话标识符,会话标识符可包括沿网络路径的前一路由器110以及下一(跳)路由器110的标识符。因此,每个路由器110可使用会话标识符来沿着相同的网络路径转发会话的分组流的分组。
42.可将会话的正向分组流的分组转发至分组流的目的地的路由器110是出口或“终点”路由器。在前述示例中,路由器110i是终点路由器,因为路由器110i可将分组转发到客户端设备102a。路由器110i接收修改后的第一分组,该第一分组包括指定会话标识符(例如,原始源地址、源端口、目的地地址和目的地端口)的元数据。路由器110i通过确定修改后的第一分组的元数据中指定的目的地源地址和目的地源端口与路由器110i(例如,客户端设备102a)可到达的目的地相对应,来将修改后的第一分组识别为去往终止于路由器110i的服务。路由器110i通过从修改后的第一分组移除元数据并使用元数据修改第一分组的报头以指定原始源地址、源端口、目的地地址和目的地端口,来恢复原始第一分组。路由器110i将恢复的第一分组转发到客户端设备102a。基于会话的路由的使用因此可以形成由路径“分段”(例如,每个路径点之间的端到端路由向量)互连的一系列路径点(例如,路由器110)。
43.关于基于会话的路由和svr的其他信息描述于在2017年8月8日发布的名称为“computer network packet flow controller”的美国专利号9,729,439;以及在2017年8月8日发布的名称为“network device and method for processing a session using a packet signature”的美国专利号9,729,682;2017年9月12日发布的名称为“network packet flow controller with extended session management”的美国专利号9,762,485;以及2021年10月1日在https://datatracker.ietf.org/doc/draft-menon-svr处可获得的“secure vector routing(svr)”,internet draft,network working group,ietf,每个申请的全部内容通过引用并入本文。
44.会话控制器
45.总体上,本公开描述会话控制器(例如,会话控制器160)用以促进客户端设备之间的网络流量的通信会话的高可用性的技术。例如,会话控制器160可管理网络中所有活跃路由器的会话状态信息。
46.作为一个示例,路由器110a可以接收会话40的初始分组,并且响应于确定该分组属于新会话(例如,通过确定其会话表中不存在该会话的条目并且在会话表中创建条目),将会话状态信息(例如,分组的5元组和元数据)发送到会话控制器160。路由器110a使用基于会话的路由来向会话控制器160发送会话40的会话状态信息,会话控制器160作为网络2的会话状态信息的集中的源/宿,使得会话控制器160可以将路由器110a(会话40的“活跃路由器110a”)的会话40的会话状态信息同步到备用节点,诸如,路由器110b(会话40的“备用路由器110b”),以便在活跃节点(路由器110a)发生故障的情况下,会话40无缝地故障转移(failover)到备用节点。例如,使用基于会话的路由,路由器110a可以向会话控制器160发送会话的初始分组中的会话40的会话状态信息,会话控制器160反过来存储会话状态信息。
47.会话控制器160可以响应于确定活跃路由器110a已发生故障,选择路由器110b作为活跃路由器110a的备用路由器。为了实现到路由器110b的切换,会话控制器160可改变路由策略并将该改变传播到其他路由器(例如,同一集群中的对等路由器)。在路由器110a发生故障时,路由器110b可能已预先被确定选为备用路由器。通过在故障之前同步会话40的会话状态信息来预先配置路由器110b以操作为路由器110a的备用路由器。会话控制器160可避免执行会话状态信息的故障后同步。以这种方式,路由器110b在路由器110a发生故障时已准备好恢复会话40。通过这样做,会话控制器160将会话40切换到路由器110b的延迟减少到小量。
48.作为预先配置路由器110b的替代方案,在确定路由器110a发生故障后,会话控制器160可以通过动态地识别路由器110b(例如,作为最佳可用路由器)来选择该路由器110b作为备用路由器。在一个示例中,在确定路由器110a的原始预选备用路由器也发生故障后,会话控制器160可以选择路由器110b。这种情况可能发生在路由器110的整个集群发生故障时,提示会话控制器160从附近的集群选择备用路由器。响应于选择路由器110b作为路由器110a的新备用路由器(响应于原始预选备用路由器的故障),会话控制器160可将会话状态信息从发生故障的活跃路由器(路由器110a)同步到路由器110b,使得路由器110b可重新开始会话40。
49.设备/系统可在网络上被配置为称为控制器(诸如,会话控制器160)的网络元件(例如,网络设备),通过实践上述技术,该网络元件使得能够实现客户端设备之间的活跃-备用节点对之间的无缝故障转移。在该控制器中,硬件/软件可操作为被配置为维持网络的会话状态信息的一致副本的组件。在作为活跃节点操作的客户端设备进行故障转移的情况下,会话控制器可以将另一客户端设备建立为新的活跃节点和到达/来自该新的活跃节点的新路径,恢复通过客户端设备的分组通信。因此,本公开展示了将技术和设备/系统结合到本文描述的网络中可赋予客户端设备及其用户许多优点和益处。
50.会话控制器160可接收不同组的信息并更新会话状态信息。会话状态信息的一个示例实施方式可以是数据表(该数据表是数据结构),该数据表被称为会话控制协议表(scp表)。一个或多个信息集合跨活跃和备用对的路由器110同步。待同步的第一会话状态信息集合包括接收到的分组的报头中的5元组和/或基于5元组的会话标识符。待同步的第二信
息集合包括每个会话的元数据。元数据可包括原始5元组数据集和/或基于原始5元组的原始会话标识符。会话控制器160可使用元数据跨端点之间的路径中的所有路由器110来合并会话状态。
51.在一些示例中,待同步的会话状态信息还包括会话的分组的序列号。例如,如果路由器110的两个或更多个活跃节点实施tcp会话,那么会话控制器160可使路由器110的两个或更多个活跃节点的相应备用节点之间的注册状态同步。注册状态可指示tcp会话的状态,例如,tcp会话是否已建立或其是否仍然等待确认。注册状态可将注册的tcp会话与在该时间点仅tcp syn分组到达但没有发送tcp ack分组的那些会话区分开。在涉及基于会话的路由的网络2的一些示例中,与会话控制器160同步序列号可能是不必要的,例如,在tcp的情况下。通过包括用于同步tcp会话状态的元数据,会话控制器160可在没有任何tcp序列号的情况下确定注册状态。如果接收方路由器不能返回元数据,则尚未与发起路由器建立tcp会话。
52.使元数据同步的另一优点是,当元数据经由会话控制器160传输到路由器110的上述备用节点时,如果路由器110的相应活跃节点进行故障转移,路由器110的备用节点也不需要针对该元数据进行协商。例如,路由器110为新会话执行“元数据握手”,以在路由器110(例如,对等路由器)之间交换新会话的元数据,在该“元数据握手”中,每个路由器110确认从其对应的路由器接收到元数据。在一个示例交换中,发起路由器(例如,路由器110a)将元数据包括在其发送给接收方路由器的所有分组中,直到其从接收方路由器接收到具有元数据的反向分组,然后,接收方路由器继续将元数据发送给发起路由器,直到接收方路由器接收到不存在元数据的分组。分组中不存在元数据指示从对应方接收到该元数据。通过将发生故障的活跃节点的会话的会话状态信息同步到备用节点,备用节点不再需要对会话进行元数据握手。
53.类似于路由器110,会话控制器160可将最近的路由和转发信息与网络2中的其他网络设备同步。在网络2中,诸如路由器110的网络设备例如可通过虚拟路由反射器(vrr)使最近的路由和转发信息在彼此之间同步。除了路由和转发信息之外,虚拟路由反射器还可便于分发流量工程信息。在一个示例中,会话控制器160可使用vrr来确定两个路由器110之间的最佳可用路由和/或指定为活跃路由器110的备用节点的最佳可用路由器110。
54.图2是示出根据本公开的技术的示例性计算设备200的框图。总体上,计算设备200可以是图1的路由器110中的一个的示例实现。图2示出了服务器或其他计算设备200的具体示例,该服务器或其他计算设备200包括各种硬件/软件组件,诸如用于执行包括任一个或多个应用222的各种程序的处理电路202。可以在其他示例中使用计算设备200的其他示例。
55.尽管为了举例说明在图2中被示为独立的计算设备200,但是根据本公开的技术操作的计算设备可以是包括一个或多个处理器的任何组件或系统或用于执行软件指令的其他合适的计算环境,并且例如不必包括图2中所示的一个或多个元件(例如,通信单元206,并且在一些示例中,诸如存储设备208的组件可以不与其他组件共置或位于与其他组件相同的机箱中)。在一些示例中,计算设备200可被实现为虚拟化网络功能(vnf)。在一些示例中,计算设备200的一个或多个方面可以作为一个或多个容器运行、或者作为使用例如virtio和sriov网络虚拟化技术的网络功能虚拟化(nfv)平台的虚拟机内的一个或多个应用运行,或者在裸机服务器上运行。在一些示例中,计算设备200是物理网络设备,诸如,交
换机、路由器、网关或发送和接收网络流量的其他设备。
56.如在图2的示例中所示,计算设备200包括处理电路202、一个或多个输入设备204、一个或多个通信单元206、一个或多个输出设备212、一个或多个存储设备208以及一个或多个用户接口(ui)设备210。在一个示例中,计算设备200还包括可由计算设备200执行的一个或多个应用222和操作系统216。组件202、204、206、208、210和212中的每一个被(物理地、通信地和/或操作地)耦接以用于组件间通信。在一些示例中,通信信道214可以包括系统总线、网络连接、进程间通信数据结构或用于传送数据的任何其他方法。作为一个示例,组件202、204、206、208、210和212可以由一个或多个通信信道214耦接。
57.在一个示例中,处理电路202被配置为实现为在计算设备200内执行的功能和/或处理指令。在一些示例中,处理电路202包括一个或多个基于硬件的处理器。例如,处理电路202可以处理存储在存储设备208中的指令。处理电路202的示例可包括微处理器、控制器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)以及等效离散或集成逻辑电路中的任一者或多者。
58.一个或多个存储设备208可被配置为在操作期间在计算设备200内存储信息。在一些示例中,存储设备208被描述为计算机可读存储介质。在一些示例中,存储设备208是临时存储器,意味着存储设备208的主要目的不是长期存储。在一些示例中,存储设备208被描述为易失性存储器,意味着当计算机关闭时,存储设备208不维持存储的内容。易失性存储器的示例包括随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)和其他形式的易失性存储器。在一些示例中,存储设备208用于存储由处理电路202执行的程序指令。在一个示例中,存储设备208由在计算设备200上运行的软件或应用用于在程序执行期间临时存储信息。
59.在一些示例中,存储设备208还包括一个或多个计算机可读存储介质。存储设备208可被配置为存储比易失性存储器更大量的信息。存储设备208可进一步配置用于信息的长期存储。在一些示例中,存储设备208包括非易失性存储元件。这样的非易失性存储元件的示例包括磁性硬盘、光盘、软盘、闪速存储器、或以电可编程存储器(eprom)或电可擦可编程(eeprom)存储器的形式。
60.在一些示例中,计算设备200还包括一个或多个通信单元206。在一个示例中,计算设备200利用通信单元206经由一个或多个网络(诸如,一个或多个有线/无线/移动网络)与外部设备通信。通信单元206可包括网络接口,诸如,以太网卡、光收发器、射频收发器或可发送和接收信息的任何其他类型的设备。这样的网络接口的其他示例可以包括3g和wi-fi无线电。在一些示例中,通信单元206可以包括多个高速网络接口卡。在一些示例中,计算设备200使用通信单元206与外部设备通信。例如,计算设备200使用通信单元206经由该通信单元206连接成的图1的链路16来与图1的其他路由器110和/或客户端设备100通信。
61.在一个示例中,计算设备200还包括一个或多个用户接口设备210。在一些示例中,用户接口设备210被配置为接收用户通过触觉、音频或视频反馈的输入。用户接口设备210的示例包括存在敏感显示器、鼠标、键盘、语音响应系统、相机、麦克风或用于检测来自用户的命令的任何其他类型的设备。在一些示例中,存在敏感显示器包括触敏屏幕。在一些示例中,诸如服务提供商网络150的管理员的用户可以输入计算设备200的配置数据。
62.一个或多个输出设备212也可包括在计算设备200中。在一些示例中,输出设备212
被配置为使用触觉、音频或视频刺激向用户提供输出。在一个示例中,输出设备212包括存在敏感显示器、声卡、视频图形适配器卡或用于将信号转换成人类或机器可理解的适当形式的任何其他类型的设备。输出设备212的附加示例包括扬声器、阴极射线管(crt)监视器、液晶显示器(lcd)、或能够向用户生成可理解的输出的任何其他类型的设备。
63.计算设备200可以包括操作系统216。在一些示例中,操作系统216控制计算设备200的组件的操作。例如,在一个示例中,操作系统216促进一个或多个应用222与处理电路202、通信单元206、存储设备208、输入设备204、用户接口设备210和输出设备212的通信。应用222还可包括可由计算设备200执行的程序指令和/或数据。
64.如本文所描述的,计算设备200可以在网络设备的网络中操作。路由器是网络设备的示例,并且操作路由组件或路由引擎以根据路由协议操作。计算设备200可以生成路由信息242并使用路由协议守护进程(rpd)244和协议246来管理其在类似于路由器的网络内的一致性。
65.rpd 244可执行软件指令以实现一个或多个协议246,该协议246可包括路由协议,其在由rpd 244控制时可组合以作为网络设备(诸如,上述路由器)的路由组件操作。在一些示例中,协议246可以被称为控制平面联网协议。例如,协议246可包括互联网组管理协议(igmp)221和/或边界网关协议(bgp)220(用于与其他路由设备交换路由信息并用于更新路由信息库(rib))、多协议标签交换(mpls)协议215和其他路由协议。协议246可还包括一个或多个通信会话协议,诸如,tcp、udp、tls或icmp。
66.协议246还可以包括一个或多个网络监控协议(诸如,双向转发检测(bfd)或实时性能监控(rpm)),以用于例如通过生成指示一个或多个网络设备中的故障的信息来跟踪和监控跨上述网络的会话流量。当计算设备200操作网络的会话控制器时,监控组件250可根据所生成的信息确定哪个路由器发生故障、以及哪个备用路由器用于故障转移来自故障路由器的至少一个会话。如本文对于一些示例所描述的,响应于检测到故障路由器,监控组件250可执行会话状态同步并触发路由更新(例如,在对等路由器之间)以激活备用路由器以进行会话通信。
67.每个路由定义网络上的两个位置之间的路径。路由协议通常定义哪些路由器沿着路径通过网络中继分组流,并且更具体地,哪些路由器将分组流中继到下一跳。关于转发分组,来自路由器的“下一跳”通常是指沿着给定路由的相邻设备。当接收到传入分组时,路由器检查分组内的信息以识别该分组的目的地。基于目的地,路由器根据转发信息转发分组。当两个路由器最初连接时,路由器交换路由信息以生成最新的转发信息,并且然后继续经由路由协议通信以逐步更新路由信息242,并且进而根据更新的路由信息中指示的网络拓扑的变化更新它们的转发信息。例如,路由器可发送更新消息以通告新的可用路由或不再可用的路由。
68.在一些网络中,包括路由器和/或会话控制器的网络设备维持对等路由会话并且根据路由协议交换传送路由信息的消息。这些消息可通告新路由,并且在一些示例中,通告用于重新定向来自故障路由器的流量的替代路由。例如,响应于确定发生故障的路由器,根据路由协议分发这些消息可实现到备用路由器的故障转移。计算设备200可被配置为在确定路由器发生故障之后触发作为路由更新的这些消息的分发。
69.计算设备200可以传送消息以通告和撤销用于到达网络2内的目的地的路由。在网
络拓扑改变的情况下,诸如,链路故障或路由器中的一个故障,计算设备200可以传送路由消息(例如,路由通告)以将受影响的路由通知给其他网络设备。响应于路由消息,其他网络设备为流经它们的会话选择到达网络内的目的地的新路由。类似于路由器,计算设备200可以用反映对备用路由器中的新路由的选择的新路由信息来更新路由信息242。(例如,单独地)检测到改变的任何路由器可以发出路由消息(例如,路由通告)将受影响的路由通知给其他路由器(例如,对等路由器)。这些路由消息可以来自计算设备200,或者可以基于会话元数据的故障转移策略。
70.在一些示例中,计算设备200可以被配置为作为网络中的会话控制器(例如,图1的会话控制器160)来操作。计算设备200可以包括监控组件250以执行会话控制器的各种功能。在一个示例中,网络的其他网络设备(诸如,路由器)为每个新会话生成会话标识符并且将该会话标识符存储在本地会话数据中。活跃路由器可随后使用存储在本地会话数据中的会话标识符来将后续分组识别为属于同一会话。活跃路由器可向计算设备200传输对本地会话数据的每次更新,以供监控组件250继续修改会话状态信息260,并随后将修改后的会话状态信息260同步/发送到一个或多个备用路由器。具有经更新的本地会话数据允许备用路由器在活跃路由器处维持一个或多个会话的(复制的)会话状态。
71.会话状态信息260存储用于识别会话并确定它们各自的会话状态的信息。在一些示例中,会话状态信息260采用会话控制表的形式。例如,会话状态信息260包括指定会话标识符和会话元数据的一个或多个条目。在一些示例中,会话标识符映射到两个路由器之间的连接,其中一个路由器是分组流中的前一个路由器,并且另一个路由器是当前路由器。会话标识符可以与包括报头信息的属性的5元组数据集相对应,该5元组数据集包括前一路由器的地址和端口、当前路由器的地址和端口、以及协议。在一些示例中,会话元数据映射两个客户端设备之间的路径,并且涉及包括前一路由器和当前路由器的多个路由器。会话元数据可以对应于与会话的正向分组流和/或反向分组流相关联的源地址、源端口、目的地地址、目的地端口或协议中的一个或多个。
72.响应于确定第一路由器发生故障并且不能作为活跃路由器操作,监控组件250选择第二路由器作为备用路由器。在热切换(hot-switchover)示例中,监控组件250在确定第一路由器故障之前使用会话状态信息260来将会话状态与第二路由器同步。监控组件250可随后在活跃路由器故障的情况下使流量重新定向到备用路由器。在暖切换(warm-switchover)示例中,监控组件250在检测到活跃路由器的故障之后动态地选择新的备用路由器。监控组件250响应于确定活跃节点故障,将会话状态信息260同步到新的备用路由器,并且随后,使所有或一些会话流量重新定向到新的备用路由器。
73.例如,会话状态信息260包括各自指定网络2中的特定路由器的会话状态信息的一个或多个条目。可根据数据库系统布置会话状态信息260,其中,“会话上下文”可被配置为用于识别一个或多个条目中的每个条目的索引。“会话上下文”可以指描述特定路由器处的会话的属性的组合,并且可以包括会话标识符和会话元数据。会话元数据确保通过相同的相应路由器序列的正向路径和/或反向路径。这允许计算设备200识别整个网络中的会话的整个正向路径或反向路径,并且通过一系列路由器跟踪每个分组流,其中,每个路由器可计算同一会话的单个会话标识符。因此,会话状态可以指最近的“会话上下文”,其可以包含会话的正向路径或反向路径中的某一跳的标识和会话的路径标识的元数据。这两者都可以由
被配置成实现路由协议的路由组件生成。
74.对于每个条目,会话状态信息的示例数据集包括上述会话上下文和多个其他属性。例如,属性可以是包括源地址、源端口、目的地地址、目的地端口和协议(例如,路由协议)的信息的集合。本文描述的5元组数据集可以用作信息的集合。作为选项,一些数据集属性标识符与服务、应用、特定路由器、某一会话的正向路径或反向路径相关联的会话。
75.如本文所描述的,与网络设备接收到的分组相关联的每个会话拥有由网络设备生成的允许路径标识一致性的元数据(即,会话元数据)。例如,使用端口的到服务器的tls会话可包括附接到相关联的分组(该分组指示从客户端证书学习的sni和主机名)的元数据。元数据中的主机名可基于dns匹配主机名。tls会话可进一步基于与会话相关联的端口号被分类为https。会话元数据的另一示例可以是会话号和其他注册数据。
76.另外,元数据基于与分组相关联的服务(例如,应用服务)来标识一个或多个策略,一个或多个策略包括与会话相关联的网络流量的路径故障转移策略、路由策略、和/或诸如此类。网络设备向每一传入分组应用故障转移策略,该故障转移策略对应于与分组相关联的会话。如在该故障转移策略(和/或路由策略)下所指引的,网络设备可在将一网络设备预先配置/预先确定为备用路由器之后(例如通过向预先配置/预先确定的网络设备发送/同步会话状态信息260),执行故障路由器到任何备用路由器的暖切换(例如,作为正向路径或反向路径中的下一跳或下一路由器)。在另一策略中,网络设备可在故障之后(例如,通过在故障之后与网络设备发送/同步会话状态信息260)执行到备用路由器的热切换。
77.在一些示例中,路由器(或另一网络设备)可向计算机200下载和/或从计算机200上传各种数据(例如,通过查询/请求、查询/请求响应或应用/服务功能),其中,会话上下文的一个或多个属性与所接收的分组相关联。例如,路由器可基于路由器的源地址、源端口、目的地地址、目的地端口或协议与由分组元数据指定的源地址、源端口、目的地地址、目的地端口或协议的对应关系来确定作为中间路由器的新会话和角色。路由器可通过5元组数据集计算新的会话标识符,并在消息数据的自动化通信中提交该新的会话标识符。这可以由路由组件完成(自动地),该路由组件根据路由协议编程,以例如在元数据和/或其他会话状态信息的提交中传送消息数据。在另一示例中,路由组件可响应于来自计算设备200的查询/请求而传送消息数据。路由组件可传输根据各种消息类型中的任一个格式化的消息数据。在一个示例中,将json文档提供给计算机设备200以用于分析。在一些示例中,路由组件针对每个会话传输不同的json文档,所描述的不同的json文档包括会话状态信息的一个或多个数据集。进而,监控组件250在将json文档转换成另一格式(例如,诸如,从json导出的格式)以便传输到另一网络元件(诸如,预先配置的备用路由器)之前,收集json文档中的多个会话中的每个会话的会话状态更新。
78.由大型网络中的网络设备交换的路由信息242在由于临时振荡(即,在路由信息内发生的变化,直到其收敛以反映当前网络拓扑)导致网络故障之后可能需要很长一段时间来收敛到稳定状态。路由信息242内的这些振荡通常被称为“摆动”,并且可能引起显著的问题,包括网络连接的间歇性丢失和增加的分组丢失和延迟。监控组件250可基于会话状态信息260来确定路由信息242何时收敛于一状态。
79.为了促进收敛,监控组件250可取决于哪个(些)路由协议246影响分组流来从一个或多个源访问会话的元数据。在svr中,被称为元数据握手的机制被配置为确保在网络设备
(例如,对等体)之间接收和处理会话元数据。支持svr路径(例如,对等路径)的路由器将每个分组流的会话元数据插入到第一分组中,但不插入到任何后续分组中。会话元数据可以包括每个路由器从第一分组中提取的原始或全局会话标识符。会话控制器可在合并与各个会话标识符相对应的会话数据时使用全局会话标识符并收敛会话状态信息260。这样,可实现不间断路由和平稳切换。
80.图3是示出根据本公开的技术的计算机网络系统300的示例实现方式的框图。
81.在图3所示的示例中,计算机网络系统300包括被布置成合适的拓扑的多个网络设备(被称为路由器):计算机网络系统300的一部分包括:端点用户设备az1,by2和cx4;端点用户设备az1和by2的对等路由器r1和r2;属于同一集群c1的路由器a和a’;属于同一集群c2的路由器a1和a1’;以及属于同一集群c3的路由器b和b’(未示出)。会话控制器350选择路由器a、a1和b作为活跃路由器,并将路由器a’,a1’和b’配置为计算机网络系统的活跃-备用路由器对中这些路由器各自的备用路由器。会话控制器350通过维持属于存储在表360中的这些节点中的每个节点的相关数据的副本来管理描述活跃节点的有状态会话的信息(例如,其一致性)。响应于确定计算机网络系统的路由器故障,会话控制器350更新故障路由器的对等路由器和备用路由器的对等路由器中的路由信息,以使得流量被定向到备用路由器。
82.表360包括特定会话的会话状态信息的数据集,每个数据集指定计算机网络系统300中的会话流量的活跃路由器的属性,该数据集包括识别以下项的属性:会话流量的活跃路由器的集群、备用路由器(如果预先确定的话)、用户信息、会话标识符、会话元数据和/或与当前会话状态相对应的其他数据。表360可以将路径信息(例如,正向路径或反向路径的5元组数据集)和用于路由会话流量的其他细节存储在会话元数据列中。应注意,表360可配置会话元数据列以将任何数量的策略存储在会话元数据列中,该策略包括安全策略(例如,加密方案和其他加密细节)、故障转移策略等。表360可包括用于指示针对会话的路径的特定部分(例如,分段)的会话标识符的列。会话标识符对于将分组流转发到下一跳的节点是唯一的。根据一个示例,将会话标识符与会话元数据中的5元组数据集组合以形成表360的索引允许会话控制器350跟踪由路由协议确定的用于会话流量的路径。在一些示例中,备用路由器是响应于检测到故障(与预先配置相反)来确定的,并且可不包括在表360中。
83.在表360的不同示例中,会话状态信息包括用于路由协议的合适的属性。对于128t路由器,元数据可包括:(1)将是会话标识符的5元组信息。
84.在路由器发生故障的情况下,会话控制器350选择备用路由器以从故障路由器用于切换/故障转移,并在备用路由器处恢复会话。会话控制器350检测到每个会话的故障(即,会话“掉线”),并且故障由会话的一个路由器引起,会话控制器350可以通过网络传播指示一个或多个替代路由的路由消息,以避免故障的路由器并继续转发会话的分组流。
85.会话控制器350可使一个或多个路由器更新其内部路由和转发信息以反映故障,基于更新的路由和转发信息进行路由解析,以选择一个或多个替代路由中合适的一个,基于所选择的路由更新其转发信息,并发送一个或多个更新消息以向其他路由器通知不再可用的路由,并且替代路由避开故障路由器。反过来,其他路由器更新其内部的路由和转发信息,并向其对等体发送更新消息。该过程继续,并且更新信息向外传播直到其到达网络内的所有的路由器。作为替代方案,会话控制器350可使vrr 362在一个或多个路由器处触发对路由和转发信息的更新,使得路由器可被配置为通过由一个或多个替代路由定向的新识别
的备用路由器转发会话流量。
86.会话控制器350可以在确定路由器发生故障之前或响应于确定路由器发生故障而将存储在表360中的会话状态信息的一部分(例如,子集)与一个或多个路由器同步。会话控制器350可响应于确定路由器发生故障而将一个或多个路由器预先配置为可选备用路由器。在另一示例中,响应于确定路由器发生故障,一个或多个路由器可预先确定被选为备用路由器。会话控制器350可以响应于确定路由器发生故障而选择一个或多个路由器,然后将会话状态信息发送/同步到一个或多个路由器。
87.用一个例子来说明,会话控制器350可以将路由器a处的会话的会话状态信息存储在表360中,该路由器a包括例如路由器a的集群(例如,“c1”)、路由器a的备用节点(例如,路由器a’)、发起会话流量的用户端点设备(例如,“az1”)、在路由器a处针对会话(例如,ab)的(例如,分段)标识符、指定针对会话的路径信息的元数据(例如,“az1cx4”)。在该示例中,路径信息包括“az1cx4”以表示会话的原始5元组数据集。在由端点用户设备az1发送至入口路由器的分组流中使用原始的5元组数据集。在图3所示的示例中,表360可在元数据(列)中存储其他属性,诸如,nat信息和/或诸如此类。由“az1cx4”表示的原始5元组数据集引用会话的正向路径;在路由器b的会话元数据列中,表360提供“cx4az1”以表示用于引用对应的反向路径的原始5元组数据集。作为反向路径上的节点,集群c3中的路由器b可操作以将数据从目的地端点设备“cx4”转发到路由器a以用于最终递送到源端点用户设备az1。
88.会话控制器350可以根据如图3所示的表360将会话状态信息同步到路由器a’(路由器a的备用路由器)。路由器a’被配置为维持多个会话的相应会话状态的副本以准备进行故障转移。一旦在路由器a处检测到故障,在延迟微不足道的情况下,会话控制器350可以允许路由器a的会话流量经由路由器a’继续。对于端点用户设备az1与cx4之间的示例会话,如果路由器a发生故障,假设路由器a’可以预先配置有会话状态信息,和/或预先被确定选为备用路由器,则会话控制器350可以在确定路由器a发生故障之前,将所有路由器a的会话状态信息同步到备用路由器a’。会话控制器350可以触发在会话的路径信息(例如,反向路径或正向路径)中指示的其他路由器处的路由信息更新。其他路由器可以是路由器a的对等路由器(诸如,路由器r1和路由器b)、以及路由器a’的对等路由器(可与用于路由器a的对等路由器相同)。
89.存在会话控制器350触发路由更新以包括会话的新的/替代路由的多种技术。通常,新的/替代路由包括备用路由器,例如,作为会话的正向路径或反向路径中的部分(例如,路径点或链路),以实现将会话流量重新定向到目的地用户端点设备cx4,同时避免先前/当前活跃的路由器或当前离线/故障路由器。在一个示例中,除了路由器a和a’之外的路由器可以修改路由和转发信息的信息库,使得新的/替代路由包括备用路由器(路由器a’)作为新的活跃路由器以恢复发生故障的路由器(路由器a)的至少一个会话。在路由器a为会话的分组的下一跳的任何给定路由器中,该示例路由器可以更新路由和转发信息以将备用路由器(路由器a’)指示为新的下一跳,替代将路由器a指示为会话的下一跳的路由和转发信息,并随后继续用路由器a’的地址和端口来生成未来分组报头的属性。如果路由器a’不是示例路由器的对等体,则示例路由器不能将路由器a’用作会话的新的下一跳,在这种情况下,路由器移除将路由器a指示为前一下一跳的路由和转发信息。在示例路由器是沿着路径的路由器a的下一跳的情况下,示例路由器可以更新路由信息和转发信息以用本地会话
数据中的备用路由器(路由器a’)替换路由器a,然后,基于新的报头信息计算新的会话标识符。如果路由器a’不是该路由器的对等体,则不能从路由器a’向路由器转发会话的分组,在这种情况下,路由器移除指示路由器a为路径的前一中间路由器的路由和转发信息。
90.路由器a’有多种方式来处理来自路由器a的故障转移。在一个示例中,路由器a’可通过用先前会话状态信息开始新会话,随后在会话控制器350处收敛会话状态信息来恢复示例会话。在收敛期间,会话控制器350可以从路由器接收指示它们合并了新的会话信息和新的路由信息的消息数据。在另一示例中,如果路由器a’是用于活跃路由器a的预先确定的/预先配置的备用路由器,则路由器a’例如可通过表360中的会话状态信息的(例如,周期性的)同步来知晓路由器a中存在的当前会话。当上述示例会话从路由器a移动时,路由器a’不限于从开头恢复示例会话;相反,路由器a’可从会话状态在路由器a处发生节点故障后最后关闭的位置恢复示例会话。在会话转换之后,路由器a’可无缝地继续该示例会话的业务。接收消息数据可以提示会话控制器350将新会话状态信息添加到表360以替换先前会话状态信息和/或更新表360中的先前会话状态信息以反映示例会话的最新会话状态。
91.在为(例如,故障的)路由器a选择备用路由器时,会话控制器350不限于相同或不同的集群。在一些示例中,路由器a1可作为用于恢复来自路由器a的一个或多个会话的备用路由器来操作。例如,端点用户设备az1和cx4之间的会话的网络流量可以通过路由器r1与r2之间的连接380(例如,mpls连接)从集群c1的路由器a迁移到集群c2的路由器a1。在表360中,会话控制器350修改路由器a的对应条目以用路由器a1的标识替换该路由器的标识,使得路由器a1’为路由器a1处的任何会话保持备用路由器,并继续接收指示对会话状态的更新的信息。响应于路由器a处的故障,端点用户设备az1与cx4之间的会话可以在路由器a1处恢复。响应于路由器a1处的后续故障,可以在路由器a1’处恢复上述会话和端点用户设备by2与cx4之间的会话。
92.请注意,在上述描述中,由于各种原因,可以选择任意路由器作为备用路由器。假设路由器a1’在集群c2中并且包括在最短路径中,路由器a1’仍然可以是路由器a1上的端点用户设备by2与cx4之间的会话的备用路由器。在另一示例中,路由器a1’可以被选为用户by2与cx4之间的会话的备用路由器,因为路由器a1’在会话迁移之前保留会话状态信息。如果路由器a1’由于某种原因不可用,会话控制器350选择替代备用路由器,诸如,路由器a。因此,响应于路由器a处的故障,会话可在路由器a或路由器a1’处恢复。
93.根据其他示例,路由器a可以故障转移到计算机网络系统300中的另一集群中的路由器。可以使用关于计算机网络系统的路由器的多个指标来选择合适的路由器。
94.图4是示出根据本公开的技术的示例性操作的流程图。为了方便起见,参照图1和图2描述了图4。
95.如图4的示例中所描述的,会话控制器160具有针对跨网络的路由器的会话信息(例如,图2的会话状态信息260)(400)。会话控制器将会话信息存储在表中,并且当会话状态改变时,更新该表以包括新的会话信息。表中记录的会话状态可以指示会话的正向路径或反向路径。会话控制器160可使用会话信息来识别会话的正向路径或反向路径的每个活跃路由器的备用路由器(410)。会话控制器160可以组合每个所识别的备用路由器以将预先被选择为网络的备用路由器的替代节点汇编成列表。应注意,虽然图4参照上述“备用路由器”使用“替代节点”,但是本公开描述的“备用路由器”可与“替代节点”互换。会话控制器
160可提取替代节点列表的会话/元数据信息(420),并且将会话/元数据信息同步到与预期的活跃路由器相同的集群内的每个替代节点(430)。
96.会话控制器160可以识别网络中的活跃路由器中的一个的节点故障(440)。例如,会话控制器160可以使用双向转发检测(bfd)、实时性能监控(rtp)或其他协议来监控整个网络中的活跃路由器的状态。响应于检测到节点故障,会话控制器160例如通过执行查找存储有会话/元数据信息的表(例如,图3的表360)和替代节点列表(450)来检查替代节点以用作备用路由器。
97.在一些示例中,替代节点是预先确定的(例如,预先配置的),并且会话控制器160可以在故障之前将活跃路由器的会话状态信息同步到替代节点。以此方式,响应于确定存在可用作备用路由器的至少一个预定替代节点(450中为是),会话控制器160可通过触发路由更新以将网络流量重新定向到替代节点(热切换)来故障转移来自发生故障的活跃路由器的至少一个会话(460)。
98.基于确定网络中的可用路由器均不是故障活跃路由器的预定替代节点(450中为否),会话控制器可触发搜索合适的备用节点(470)。在完成搜索和识别故障节点的合适的备用节点后,会话控制器160可以将会话状态信息同步到该备用节点并且更新路由策略以将流量重新定向到该备用节点(暖切换)(480)。在一些示例中,会话控制器160可以从在确定活跃路由器发生故障时动态地识别的替代节点的列表中选择一备用路由器。动态地识别的替代节点的列表在节点故障之前不是预先确定的(例如,尚未在表360中指定),并且可以在确定每个预先配置的替代节点也故障时被编辑。为了完成故障转移,会话控制器收敛会话状态信息的活跃会话(490)。
99.为了在整个网络中的节点处保持一致的会话状态,会话控制器可以连续地或者在整个网络操作中的特定时间点执行会话状态同步的过程。在一个示例中,会话控制器维持会话状态信息的最新副本,并且(例如,周期性地)将最近改变(从前一次分发起)分发(例如,经由l2连接)到其他路由器以使得那些路由器能够在故障转移的情况下担任其作为备用路由器的角色。
100.在一个示例中,会话控制器通过将会话上下文的相应数据集和路由元数据同步到作为同一集群内的预定替代节点的路由器,来确保网络内的同一集群的路由器具有一致的会话状态(490)。在一个示例中,会话控制器可以将上下文数据和元数据与同一集群的其他路由器同步。
101.图5是示出根据本公开的技术的示例性第二操作的流程图。为了方便起见,参照图1和图2描述了图5。在该示例中,计算设备200可以整体或作为医疗系统2的一部分执行第二操作,其中,一个或多个路由器110和会话控制器160是组件。
102.如图5所示,作为本文描述的会话控制器进行操作的计算设备200可以通过执行无缝故障转移来执行在网络2中提供高可用性的方法。计算设备200可以在从网络2中的网络设备接收到多个消息时开始方法500,并且生成具有会话状态信息260的会话控制表(502)。在一个示例中,计算设备200的处理电路执行逻辑(例如,程序代码),该逻辑可操作以针对网络中的分组流的每个会话生成会话状态信息。网络2的网络设备包括多个路由器和多个客户端设备、以及作为图1的会话控制器160的示例实施方式的计算设备200。
103.计算设备200可以通过确定活跃路由器的备用路由器并且更新会话状态信息
(504)来继续方法500。该选择可以在任何故障转移之前或者在检测到故障转移时进行。在故障转移之前,计算设备200可以基于多个指标选择第二路由器作为第一路由器的备用路由器。
104.如本文所述,路由器110中的一个或多个备用路由器使用复制的会话元数据和报头信息在来自在路由器110中的一个上运行的主路由器的故障转移(例如,平稳切换)之后提供不间断路由。即,用于经由主路由器与通信会话相关联的套接字的数据被实时地透明地复制到会话控制器160(并且在一些情况下,复制到备用节点)。次要路由引擎构建和维持备用套接字,以便在与其他网络设备通信时模仿主节点当前使用的(连接的)套接字。
105.计算设备200可以继续使会话状态信息与备用路由器同步以配置每个备用路由器,从而在故障转移的情况下复制/重启会话状态(506)。响应于从第一路由器接收对会话状态信息的更新,使更新与第二路由器处的会话状态信息同步,以将最新会话状态维持为一致。在一些示例中,计算设备200可以将包括第一路由器的经更新的会话状态的消息数据传送给第二路由器,该第二路由器可以使用该经更新的会话状态来维持包括第一路由器的最新会话状态的会话状态信息的一致性。计算设备200可以传送包括在第一路由器处的新会话的会话上下文(例如,会话标识符和元数据)的消息数据,第二路由器使用该会话上下文将新会话的条目添加到包括第一路由器的最新会话状态的会话状态信息。
106.新会话的会话上下文包括第一分组的元数据和新会话的正向路径或反向路径的第一路由器的标识符。新会话的第一分组的元数据包括安全向量路由(svr)元数据。新会话的第一分组的元数据可以包括第一客户端设备的地址和端口、第二客户端设备的地址和端口、以及路由协议。针对新会话的正向路径或反向路径的第一路由器的标识符可包括5元组数据集,该5元组数据集包括前一网络设备的地址和端口、下一网络设备的地址和端口、以及路由协议。
107.响应于网络的第一路由器处的故障转移,计算设备200选择第二路由器作为第一路由器的备用路由器(508)。计算设备200可从预先确定/预先配置的备用路由器中选择第二路由器。在另一示例中,计算设备200可选择第二路由器作为新的备用路由器,代替预先确定的/预先配置的备用路由器中的任一个。计算设备可以修改会话状态信息以移除第一路由器并且将第二路由器插入标识第一客户端设备和第二客户端设备之间的会话的正向路径或反向路径中的第一路由器的每个条目中。
108.计算设备200可以执行逻辑,该逻辑包括监控组件250,监控组件250用于基于第一路由器的最新会话状态来配置第二路由器以恢复会话。第一路由器的最新会话状态可包括一组或多组信息,其中,第一信息集合包括正向路径和/或反向路径的会话元数据,其中,第二信息集合包括在第一路由器处的会话表的会话标识符,其中,第三信息集合包括最后确认的分组的序列号。
109.第二路由器可以基于在故障转移之前或响应于故障转移从会话控制器接收的会话状态信息,来生成最新的会话状态。第二路由器从会话控制器提供的会话状态信息生成最新的会话状态。因此,其他路由器(例如,对等路由器)可以通过第二路由器路由正向路径或反向路径的分组流。计算设备200可以基于修改后的会话状态信息或在任何故障转移之前的会话状态信息来传送指示第二路由器恢复会话的消息数据。
110.计算设备200可以广播经更新的路由和转发信息的消息以通过第二路由器重新定
向流量(510)。在一些示例中,计算设备200将指示第一客户端设备与第二客户端设备之间的正向路径或反向路径中的替代路由的消息数据经由第二路由器传送到第一路由器以及第二路由器中的至少一个的至少一个对等路由器。在一些示例中,计算设备200向会话的正向路径或反向路径中的每个对等路由器传送指示该对等路由器的路由组件更新路由和转发信息的消息数据。更新路由和转发信息导致路由组件将会话的分组流重新定向到第二路由器。作为示例,路由器可以在其自身之间传播对同一集群的路由器之间的路由和转发信息的更新。更新可以包括第二路由器的地址和端口,用以替换与经由第一路由器的路由相对应的任何条目中的第一路由器的地址和端口,或者用于添加与经由第二路由器的新路由相对应的条目。
111.计算设备200可以接收对多个会话中的每个会话的会话状态的更新(512)。这些更新可以是来自重新定向的会话流量的路径中的路由器的消息。当会话的分组流通过这些路由器继续进行时,可以修改相应的会话状态以实现路径标识。
112.为了促进收敛,计算设备200可以访问来自一个或多个源的会话的元数据,这取决于哪个(哪些)路由协议246影响分组流。在svr中,被称为元数据握手的机制被配置为确保在网络设备(例如,对等体)之间接收和处理会话元数据。支持svr路径(例如,对等路径)的路由器将每个分组流的会话元数据插入到第一分组中,但不插入到任何后续分组中。会话元数据可以包括每个路由器从第一分组中提取的原始或全局会话标识符。会话控制器可在合并与各个会话标识符相对应的会话数据时使用全局会话标识符并收敛会话状态信息260。这样,可实现不间断路由和平稳切换。
113.会话元数据的上述全局会话标识符可以表示ip分组的原始“5元组”,包括源ip、源端口、目的地ip、目的地端口和协议。可选地,5元组数据集可被扩展为包括一个或多个附加属性。附加属性的示例包括诸如mac地址或vlan标签的第2层信息。
114.安全向量包含用于在数据路由器之间认证和传送网络意图的应用层元数据。元数据是可扩展的,并且可用于跨网络边界安全地传输包括路由和转发信息、安全策略和质量策略的信息。安全向量路由(svr)描述了与特定会话相关的网络意图,并且以元数据的形式与路由对等体共享该意图。对等路由器的意图借助于cookie来传递,cookie通常被称为第一分组元数据,第一分组元数据被放置在针对对等体的第一分组上。安全向量路由在每个路由器上是会话感知的并且基于意图建立双向流(正向流和反向流)。一旦建立会话,就不为后续分组发送cookie。元数据必须直接插入到l4报头之后的现有分组中,即使所产生的分组大小的增加将导致分组需要分段。元数据必须在新会话(tcp或udp双向流)的第一个分组中,以在路径选择或安全方面起到任何作用。元数据可以在任何后续分组中发送,以改变/更新联网意图。元数据被插入到分组的有效载荷部分中以确保其使得元数据通过网络不变。尽管调整tcp序列号不是必要的,但必须相应地调整分组长度和校验和。
115.svr对等体之间可能具有许多不同的可能路径。每个路径必须被找到,并且在发送元数据之前应知晓其服务状态。诸如bfd(rfc 5580)的技术可用于确定路径可用性。上述对等体之间的各个路径中的每一个称为“对等路径”。安全向量路由总是在对等体之间被定义和使用,并且可以支持跨多条路径的会话弹性。
116.图4和图5中示出的操作的顺序和流程是示例。在根据本公开的其他示例中,可以考虑更多或更少类型的会话状态信息。另外,在一些示例中,处理电路可以执行或不执行如
由用户(例如,经由计算设备200)定向的任何设备的方法、图4和图5的操作、或本文所描述的任何技术。例如,客户端设备的用户或网络的管理员可以(例如,使用wi-fi或蜂窝服务)打开或关闭路由协议的功能或本地(例如,使用在计算设备上提供的应用或使用外部控制器)打开或关闭路由协议的功能。
117.本公开中描述的技术可至少部分以硬件、软件、固件或其任何组合来实施。例如,所描述的技术的各个方面可以在一个或多个处理器内实现,包括一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、或任何其他等效的集成或离散逻辑电路、以及这些组件的任何组合。术语“处理器”或“处理电路”通常可指任何前述逻辑电路(单独或与其他逻辑电路组合),或任何其他等效电路。包括硬件的控制单元还可执行一种或多种本公开的技术。
118.此类硬件、软件和固件可在同一设备内或在单独设备内实施以支持本公开中描述的各种操作和功能。此外,所描述的单元、模块或组件中的任一个可以一起或单独实现为分立但可互操作的逻辑设备。将不同特征描述为模块或单元旨在突出不同功能方面,并且不一定暗示这些模块或单元必须通过单独的硬件或软件组件来实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件组件来执行,或集成在共同的或单独的硬件或软件组件内。
119.本公开中描述的技术还可在包含指令的计算机可读介质(例如,计算机可读存储介质)中实施或编码。嵌入或编码在计算机可读存储介质中的指令可在例如指令被执行时使得可编程处理器或其他处理器执行方法。计算机可读存储介质可包括随机存取存储器(ram)、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪速存储器闪存、硬盘、cd-rom、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读介质。

技术特征:
1.一种网络的会话控制器的处理电路上执行的方法,包括:从所述网络的多个路由器中的第一路由器接收第一客户端设备与第二客户端设备之间的会话的会话状态信息,其中,所述会话状态信息包括指定所述会话的属性的元数据;确定所述第一路由器已发生故障;响应于确定所述第一路由器已发生故障,选择所述网络的第二路由器作为所述第一路由器的备用路由器;并且将所述会话的所述会话状态信息同步到所述第二路由器。2.根据权利要求1所述的方法,其中,所述会话状态信息包括会话标识符。3.根据权利要求2所述的方法,其中,所述会话标识符与5元组数据集相对应,所述5元组数据集包括前一网络设备的地址和端口、下一网络设备的地址和端口、以及路由协议。4.根据权利要求1所述的方法,其中,选择所述网络的所述第二路由器作为所述第一路由器的所述备用路由器还包括:在确定所述第一路由器已发生故障之前,将所述第二路由器预先配置为所述第一路由器的所述备用路由器;并且响应于确定所述第一路由器已发生故障,而触发路由更新,以将流量重新定向到所述第二路由器。5.根据权利要求4所述的方法,其中,将所述第二路由器预先配置为所述备用路由器还包括:在确定所述第一路由器已发生故障之前,将所述会话状态信息同步到所述备用路由器。6.根据权利要求1至5中任一项所述的方法,其中,选择所述网络的所述第二路由器作为所述第一路由器的所述备用路由器还包括:响应于确定所述第一路由器已发生故障,将所述会话状态信息同步到所述第二路由器;并且触发路由更新,以将流量重新定向到所述第二路由器。7.根据权利要求1至5中任一项所述的方法,其中,选择所述网络的所述第二路由器作为所述第一路由器的所述备用路由器还包括:基于多个指标来选择所述第二路由器作为所述第一路由器的所述备用路由器。8.根据权利要求1至5中任一项所述的方法,其中,所述元数据的一个或多个所述属性包括所述第一客户端设备的地址和端口、所述第二客户端设备的地址和端口、以及路由协议,其中,所述第一客户端设备和所述第二客户端设备识别所述会话的正向路径或反向路径。9.根据权利要求1至5中任一项所述的方法,其中,选择所述网络的所述第二路由器作为所述第一路由器的所述备用路由器还包括:在同一集群的路由器当中传播路由和转发信息的更新,其中,所述更新包括所述第二路由器的地址和端口,以用于在与经由所述第一路由器的路由相对应的任何条目中替换所述第一路由器的地址和端口、或者用于添加与经由所述第二路由器的新路由相对应的条目。10.根据权利要求1至5中任一项所述的方法,其中,选择所述网络的所述第二路由器作
为所述第一路由器的所述备用路由器还包括:向所述会话的正向路径或反向路径中的每个对等路由器传送消息数据,所述消息数据指示所述对等路由器的路由组件更新路由和转发信息,其中,更新所述路由和转发信息使所述路由组件将所述会话的分组流重新定向到所述第二路由器。11.根据权利要求1至5中任一项所述的方法,还包括:在所述第一客户端设备与所述第二客户端设备之间的正向路径或反向路径中,经由所述第二路由器,向所述第一路由器或所述第二路由器中的至少一个对等路由器传送指示替代路由的消息数据。12.一种网络设备,用作网络的会话控制器,所述网络设备包括:处理电路;以及存储器,包括指令,所述指令在由所述处理电路执行时使所述处理电路:从所述网络的多个路由器中的第一路由器接收第一客户端设备与第二客户端设备之间的会话的会话状态信息,其中,所述会话状态信息包括指定所述会话的属性的元数据;确定所述第一路由器已发生故障;响应于确定所述第一路由器已发生故障,选择所述网络的第二路由器作为所述第一路由器的备用路由器;将所述会话的所述会话状态信息同步到所述第二路由器。13.根据权利要求12所述的网络设备,其中,一个或多个所述属性包括所述第一客户端设备的地址和端口、所述第二客户端设备的地址和端口、以及路由协议,其中,所述第一客户端设备和所述第二客户端设备标识所述会话的正向路径或反向路径。14.根据权利要求12所述的网络设备,其中,所述会话状态信息包括与5元组数据集相对应的会话标识符,所述5元组数据集包括前一网络设备的地址和端口、下一网络设备的地址和端口、以及路由协议。15.根据权利要求12所述的网络设备,其中,为了选择所述网络的所述第二路由器作为所述第一路由器的所述备用路由器,所述处理电路进一步被配置为:在确定所述第一路由器已发生故障之前,将所述第二路由器预先配置为所述第一路由器的所述备用路由器;并且响应于确定所述第一路由器已发生故障,触发路由更新,以将流量重新定向到所述第二路由器。16.根据权利要求15所述的网络设备,其中,为了将所述第二路由器预先配置为所述备用路由器,所述处理电路进一步被配置为:在确定所述第一路由器已发生故障之前,将所述会话状态信息同步到所述备用路由器。17.根据权利要求12至16中任一项所述的网络设备,其中,为了选择所述网络的所述第二路由器作为所述第一路由器的所述备用路由器,所述处理电路进一步被配置为:响应于确定所述第一路由器已发生故障,将所述会话状态信息同步到所述第二路由器;并且触发路由更新,以将流量重新定向到所述第二路由器。18.根据权利要求12至16中任一项所述的网络设备,其中,所述处理电路进一步被配置
为:在所述第一客户端设备与所述第二客户端设备之间的正向路径或反向路径中,经由所述第二路由器,向所述第一路由器或所述第二路由器中的至少一个对等路由器传送指示替代路由的消息数据。19.根据权利要求12至16中任一项所述的网络设备,其中,为了选择所述网络的所述第二路由器作为所述第一路由器的所述备用路由器,所述处理电路进一步被配置为:向所述会话的正向路径或反向路径中的每个对等路由器传送消息数据,所述消息数据指示所述对等路由器的路由组件更新路由和转发信息,其中,更新所述路由和转发信息使所述路由组件将所述会话的分组流重新定向到所述第二路由器。20.一种计算机可读存储介质,编码有指令,所述指令用于使一个或多个可编程处理器执行根据权利要求1至11中任一项所述的方法。

技术总结
公开了一种处理电路上执行的方法、网络设备及存储介质,用于管理客户端设备之间的网络流量的通信会话和使用最新的会话状态来实现路由器之间的无缝故障转移。一种示例技术可使每个备用路由器准备好在发生故障转移时恢复活跃路由器的会话,并且使网络流量重新定向,以完成到备用路由器的故障转移。在热切换示例中,被称为会话控制器的网络设备在发生故障之前将会话状态信息同步到备用路由器,并且然后响应于活跃路由器发生故障,使网络流量重新定向到备用路由器。在暖切换示例中,同一会话控制器在检测到活跃路由器发生故障之后动态地选择备用路由器,将会话状态信息同步到备用路由器,并触发路由更新,使网络流量重新定向到备用路由器。备用路由器。备用路由器。


技术研发人员:赫马钱德兰
受保护的技术使用者:瞻博网络公司
技术研发日:2022.08.01
技术公布日:2023/7/26
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐