CN116319981A - 网络设备和操作网络设备的方法 - Google Patents
网络设备和操作网络设备的方法 Download PDFInfo
- Publication number
- CN116319981A CN116319981A CN202210697217.7A CN202210697217A CN116319981A CN 116319981 A CN116319981 A CN 116319981A CN 202210697217 A CN202210697217 A CN 202210697217A CN 116319981 A CN116319981 A CN 116319981A
- Authority
- CN
- China
- Prior art keywords
- document
- network device
- repository
- processors
- service
- 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 32
- 230000008859 change Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 108010029660 Intrinsically Disordered Proteins Proteins 0.000 description 1
- 102100037845 Isocitrate dehydrogenase [NADP], mitochondrial Human genes 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
- H04L12/287—Remote access server, e.g. BRAS
- H04L12/2874—Processing of data for distribution to the subscribers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/024—Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了网络设备和操作网络设备的方法。一种用于以高可用性方式在网络中发布服务信息和拓扑信息的技术。示例设备被配置为创建第一服务和拓扑交换协议(STEP)文档。第一STEP文档包括服务信息和拓扑信息。示例设备被配置为将第一STEP文档发送到第一STEP存储库,以转发到至少一个订阅的网络设备。示例性设备还被配置为将第一STEP文档发送到第二STEP存储库以转发到至少一个订阅的网络设备。
Description
相关申请的交叉引用
本申请要求于2022年3月29日提交的第17/657,037号美国专利申请的优先权,以及要求于2021年12月21日提交的第63/292,114号美国临时专利申请的优先权,每个申请的全部内容通过引用并入本文。
技术领域
本公开总体上涉及计算机网络,更具体地说,涉及计算机网络内的信息分配。
背景技术
计算机网络是可以交换数据和共享资源的互连计算设备的集合。示例计算设备包括在开放系统互连(OSI)参考模型的第2层(即数据链路层)内操作的路由器、交换机和其他第2层(L2)网络设备,以及在OSI参考模型的第3层(即网络层)内操作的第3层(L3)网络设备。计算机网络中的网络设备通常包括为网络设备提供控制平面功能的控制单元,以及用于路由或交换数据单元的转发组件。
计算设备可以建立“网络会话”(在本文中也称为“会话”),以实现计算机网络上的设备之间的通信。会话可以是单向的,因为会话包括仅沿从第一设备到第二设备的一个方向的封包。例如,会话包括源自第一设备且目的地为第二设备的前向封包流。不同的会话可以包括源自第二设备且目的地为第一设备的反向封包流。
或者,会话可以是双向的,因为会话包括沿第一设备和第二设备之间两个方向移动的封包。例如,会话包括源自第一设备且目的地为第二设备的正向封包流和源自第二设备且目的地为第一设备的反向封包流。会话的正向和反向封包流可以彼此相关,因为正向封包流的源地址和源端口可以与反向封包流的目的地地址和目的地端口相同,并且正向封包流的目的地地址和目的地端口可以与反向封包流的源地址和源端口相同。为了建立会话,计算设备可以使用一个或多个通信会话协议,包括传输控制协议(TCP)、传输层安全性(TLS)、用户数据报协议(UDP)、互联网控制消息协议(ICMP)等。
服务和拓扑交换协议(STEP)是一种可用于在网络内交换服务和拓扑信息的协议。诸如路由器之类的网络设备可以经由STEP文档向活动的存储库或代理(例如,备用)STEP存储库发送(例如,发布)服务和拓扑信息。主动和代理STEP存储库可以在它们之间交换STEP文档,以便尝试构建相同的存储库,以用于高可用性冗余的目的。此外,活动的存储库可以向网络设备发送与其他网络设备相关联的由该网络设备订阅的STEP文档。网络设备由此可以获得与其他网络设备相关的服务和拓扑信息。
发明内容
服务和拓扑交换协议(STEP)是一种可用于在网络内交换服务信息和拓扑信息的协议。网络设备(例如基于服务的路由器)可以经由STEP存储库服务器(这里也称为STEP存储库)交换其服务信息和拓扑信息。例如,网络设备可以经由STEP文档向STEP存储库发送(例如,发布)服务和拓扑信息。此STEP存储库可包含由网络中基于服务的路由器发布的所有文档。
为了实现高可用性,网络可包括冗余的STEP存储库。这可包括典型的客户端/服务器架构,该架构允许每个网络设备将其学习/配置的服务信息和拓扑信息发布到STEP存储库。每个网络设备可以订阅其他网络设备发布的STEP文档,以学习整体网络和服务拓扑。传统的高可用性解决方案是跨两个或多个STEP存储库(例如,活动的STEP存储库和一个或多个冗余(例如,备用或代理)STEP存储库)复制STEP存储库。活动的STEP存储库或代理STEP存储库可以在它们之间交换STEP文档,以便尝试构建相同的存储库以实现冗余目的。这些STEP存储库传统上位于网络的不同部分(例如,未并置),因此,STEP存储库之间的连接以及基于会话的路由器和STEP存储库之间的连接并非始终得到保证,这可能会导致在整个网络中发布服务信息和拓扑信息时出现问题。例如,如果第一网络设备与其以其他方式连接的STEP存储库之间的连接丢失,则在连接断开时,该第一网络设备将无法发布任何STEP文档或接收任何STEP文档。这可能会对网络效率产生负面影响,因为第一网络设备不会意识到来自其他网络设备的服务信息和/或拓扑信息的任何变化,并且其他网络设备不会意识到来自第一网络设备的服务信息和/或拓扑信息的任何变化。
总体上,本公开描述了通过活动-活动的STEP存储库配置在网络内交换服务和拓扑信息的技术。该网络可以包括两个以上STEP存储库,每个STEP存储库都可以是活动的。网络设备(例如基于会话的路由器)可以例如以STEP文档的形式向多个STEP存储库发送服务信息和拓扑信息。网络设备还可以从多个STEP存储库接收源自其他网络设备的服务和拓扑信息(例如,以STEP文档的形式),服务和拓扑信息是该网络设备订阅的。以这种方式,如果第一网络设备和第一活动的STEP存储库之间的连接丢失,则服务信息和拓扑信息仍然可以经由另一活动的STEP存储库通过网络发布。
网络设备可以使用接收到的服务信息和拓扑信息来构建或更新服务和拓扑数据库。网络设备可以使用数据库来构建最短路径优先(SPF)路由表,网络设备可以在确定如何通过网络路由会话或封包时使用该表。
本公开的技术可以提供对具有实际应用的计算机网络的计算机相关领域的具体改进。例如,本文公开的技术可以使得即使在网络设备和STEP存储库之间或STEP存储库之间的连接丢失或STEP存储库关闭时,也能够在网络中适当地分发服务信息和拓扑信息,从而在延迟和网络效率方面改进网络流量的路由。
在一个示例中,本公开描述了一种包括一个或多个处理器和耦接到该一个或多个处理器的存储器的设备,该存储器存储的指令在执行时使一个或多个处理器:创建第一服务和拓扑交换协议(STEP)文档,该第一STEP文档包括服务信息和拓扑信息;将第一STEP文档发送到第一STEP存储库,以转发到至少一个订阅的网络设备;以及将第一STEP文档发送到第二STEP存储库以转发到至少一个订阅的网络设备。
在一个示例中,本公开描述了一种方法,包括:由设备的一个或多个处理器创建第一服务和拓扑交换协议(STEP)文档,第一STEP文档包括服务信息和拓扑信息;由设备的一个或多个处理器将第一STEP文档发送到第一STEP存储库,以转发到至少一个订阅的网络设备;以及通过设备的一个或多个处理器将第一STEP文档发送到第二STEP存储库,以转发到至少一个订阅的网络设备。
在另一个示例中,本公开描述了一种存储指令的非瞬态计算机可读存储介质,该指令在被执行时使一个或多个处理器:创建第一服务和拓扑交换协议(STEP)文档,该第一STEP文档包括服务信息和拓扑信息;将第一STEP文档发送到第一STEP存储库,以转发到至少一个订阅的网络设备;以及将第一STEP文档发送到第二STEP存储库以转发到至少一个订阅的网络设备。
本公开技术的一个或多个示例的细节在附图和以下描述中阐述。这些技术的其他特征、目的和优点将从说明书和附图以及权利要求中显而易见。
附图说明
图1是示出根据本公开技术的示例计算机网络的框图。
图2是示出根据本公开技术的示例网络设备的框图。
图3是示出根据本公开技术的示例操作的流程图。
贯穿附图和说明书,相似的参考字符指的是相似元件。
具体实施方式
图1是示出根据本公开技术的示例网络的框图。网络10包括网络设备100、网络设备120、服务和拓扑交换协议(STEP)存储库140和STEP存储库150。STEP存储库140和STEP存储库150可以认为是活动的-活动的,因为STEP存储库140和STEP存储库150都是活动的设备,而不是一个是活动的,另一个是备用或代理设备。在一些示例中,网络设备100和网络设备120可以是基于会话的路由器,例如瞻博网络公司的安全向量路由器。
尽管不一定描述,但网络10可以包括额外的网络设备,例如路由器、交换机、网关、网桥、集线器、服务器、防火墙或其他入侵检测系统(IDS)或入侵预防系统(IDP)、计算设备、计算终端、打印机、其他网络设备或这些设备的组合。网络10可以是公共网络(例如,互联网)、企业网络(例如分支网络)、数据中心网络、服务提供商网络、互联网服务提供商网络或其他类型的网络。在一些示例中,网络10可以是向可耦接到网络设备100或网络设备120的客户端设备(未示出)提供广域网(WAN)连接的网络的集合。
虽然主要描述为基于会话的路由器,但网络设备100和网络设备120可以是任何类型的网络设备,例如交换机、路由器、网关或其他合适的网络设备,它们可以发送和接收网络流量。
在一些示例中,网络10代表由一个或多个服务提供商拥有和运营的一个或多个可公开访问的计算机网络。尽管在图1的示例中,网络10被示为单个网络,但在其他示例中,网络10可替代地包括多个服务提供商网络,其提供网络设备100和网络设备120之间的连接。服务提供商通常是大型电信实体或公司。
在一些示例中,网络设备100和网络设备120可以实现基于会话的状态路由方案,该路由方案使得网络设备100和网络设备120中的每一个能够独立地执行路径选择和流量工程。基于会话的路由的使用可以使网络设备100和网络设备120避免使用集中式控制器,例如软件定义网络(SDN)控制器来执行路径选择和流量工程。以此方式,对于无法使用SDN控制器的大型或分布式网络,诸如网络设备100和网络设备120之类的路由器可以更高效且可扩展的。此外,基于会话的路由的使用可以使网络设备100和网络设备120避免使用隧道,从而通过避免在隧道端点执行封装和解封装来节省大量网络资源。在一些示例中,网络设备100和网络设备120将基于会话的路由实现为安全向量路由(SVR),由瞻博网络公司提供。在一些示例中,网络设备100和网络设备120包括基于会话的路由器,例如基于SVR的以太网(EoSVR)路由器。
在图1的示例中,网络设备100的STEP管理器108和/或STEP管理器110可以创建和保持文档112。文档112可以包括包含与网络设备100有关的服务信息和拓扑信息的STEP文档。此类信息可以包括关于网络设备100已知的服务和相邻网络设备的信息。例如,网络设备100可以从边界网关协议(BGP)路由学习关于相邻网络设备(未示出)或网络设备120的服务、协议和拓扑的信息。网络设备100可以将此类信息编译成STEP文档112的初始STEP文档,并将初始STEP文档发布或发送到STEP存储库140和STEP存储库150。在一些示例中,STEP文档112的初始STEP文档可以包括所有已知的服务信息和拓扑信息。
当网络设备100已知的服务信息和/或拓扑信息改变时,STEP管理器108和/或STEP管理器110可以创建附加STEP文档,并将附加STEP文档发布或发送到STEP存储库140和STEP存储库150。在一些示例中,在STEP文档112的初始文档之后创建的STEP文档可以包括补丁(patch),补丁包括相对于STEP文档112的最后(最近,last)文档的增量或改变,或者相对于STEP文档112的初始STEP文档的增量或改变,例如新服务、服务结束、新发现的相邻设备,或者删除不再连接的相邻设备。在一些示例中,STEP文档112可以采用JavaScript对象表示法(JSON)文档的形式。当创建STEP文档112时,网络设备100可包括序列号、时间戳或其他版本标识符,另一网络设备(例如网络设备120)可使用该序列号、时间戳或其他版本标识符以从网络设备100确定STEP文档112的更近期STEP文档。
STEP管理器108可以与STEP客户端114交互,以启动与STEP存储库140的连接160。连接160可以是双向传输控制协议(TPC)连接。在一些示例中,FlatBuffers可用于通过连接160进行通信。STEP管理器108可以经由STEP客户端114和连接160将STEP文档112发送到STEP存储库140。类似地,STEP管理器110可以与STEP客户端116交互以发起与STEP存储库150的连接162。连接162可以是双向TPC连接。在一些示例中,FlatBuffers可用于通过连接162进行通信。STEP管理器110可以经由STEP客户端116和连接162将STEP文档112发送到STEP存储库150。以这种方式,STEP存储库140和STEP存储库150都可以接收STEP文档112。
STEP客户端114可以从STEP存储库140接收STEP文档,这些文档源自其他网络设备或与其他网络设备相关联,例如,网络设备100经由连接160订阅STEP文档。例如,STEP存储库140可以向STEP客户端114发送STEP存储库140可以从网络设备120接收的STEP文档132。STEP客户端116可以从STEP存储库150接收源自其他网络设备或与其他网络设备相关联的文档,例如,网络设备100订阅该文档。例如,STEP存储库150可以经由连接162向STEP客户端116发送STEP存储库150可以从网络设备120接收的STEP文档132。
STEP客户端114可以将任何接收到的文档从STEP存储库140发送到STEP管理器108,而STEP管理器108又可以将接收到的文档发送到数据库106。STEP客户端116可以将任何接收到的文档从STEP存储库150发送到STEP管理器110,而STEP管理器110又可以将接收到的文档发送到数据库106。例如,STEP管理器108和STEP管理器110可以将接收到的文档保存在数据库106中。数据库106可以使用保存的STEP文档的最新版本构建拓扑。为了确定保存的STEP文档的最新版本,数据库106可以使用与保存的STEP文档相关联的序列号、时间戳或其他版本标识符。在一些示例中,数据库106可以是链路状态数据库(LSDB)。在一些示例中,数据库106可以基于接收到的文档中的信息来构建或更新路由表。例如,如果接收到的STEP文档是第一个接收到的STEP文档,则数据库106可以构建路由表。如果接收到的STEP文档代表相对于先前接收到的STEP文档的增量或改变,则数据库106可以更新路由表。在一些示例中,数据库106可以构建拓扑图118以计算路由。在一些示例中,拓扑图118是LSDB–最短路径优先(SPF)拓扑图。在其他示例中,拓扑图118不是LSDB–SPF拓扑图。在一些示例中,每当发布或接收到新的STEP文档时,数据库106可以更新自身并更新拓扑图118。
路由管理器102可以与STEP管理器代理104交互,以确定如何基于数据库106中的信息路由封包,并通过STEP管理器代理104控制STEP管理器108和STEP管理器110的功能。如图1所示,网络设备100包括两个STEP管理器和两个STEP客户端。这样的STEP管理器和STEP客户端有助于发布和订阅所示的两个STEP存储库(STEP存储库140和STEP存储库150)的STEP文档。在存在附加STEP存储库的示例中,网络设备100可以包括附加STEP管理器和STEP客户端,它们有助于发布和订阅附加STEP存储库的STEP文档。例如,网络设备100可以读取配置信息,并基于配置信息创建STEP管理器108、STEP管理器110、STEP客户端114和STEP客户端116。例如,配置信息可以指示网络10中存在两个活动的(active,有效的)STEP存储库。
类似地,网络设备120的STEP管理器128和/或STEP管理器130可以创建和保持文档132,并将初始STEP文档发布或发送到STEP存储库140和STEP存储库150。文档132可以包括包含与网络设备120有关的服务信息和拓扑信息的STEP文档。此类信息可以包括关于网络设备120已知的服务和相邻网络设备的信息。在一些示例中,文档132的初始文档可以包括所有已知的服务信息和拓扑信息。
当网络设备120已知的服务信息和/或拓扑信息改变时,STEP管理器128和/或STEP管理器130可以创建附加STEP文档,并将附加STEP文档发布或发送到STEP存储库140和STEP存储库150。在一些示例中,在文档132的初始文档之后创建的文档可以包括补丁,该补丁包括相对于文档132的最后文档的增量或改变,或者相对于文档132的初始文档的增量或改变,例如新服务、服务结束、新发现的相邻设备,或者删除不再连接的相邻设备。在一些示例中,文档132可以采用JavaScript对象表示法(JSON)文档的形式。当创建STEP文档132时,网络设备120可包括序列号、时间戳或其他版本标识符,另一网络设备(例如网络设备100)可使用该序列号、时间戳或其他版本标识符从网络设备120确定STEP文档132的最新STEP文档。
STEP管理器128可以与STEP客户端134交互,以启动与STEP存储库140的连接170。连接170可以是双向TPC连接。在一些示例中,FlatBuffers可用于通过连接170进行通信。STEP管理器128可以经由STEP客户端134和连接170将文档132发送到STEP存储库140。STEP管理器130可与STEP客户端136交互以发起与STEP存储库150的连接172。STEP管理器130可以经由STEP客户端136和连接172将文档132发送到STEP存储库150。以这种方式,STEP存储库140和STEP存储库150都可以接收文档132。
STEP客户端134可以从STEP存储库140接收源自其他网络设备或与其他网络设备相关联的文档,例如,网络设备120经由连接170订阅该文档。例如,STEP存储库140可以向STEP客户端134发送STEP存储库140可以从网络设备100接收的STEP文档112。STEP客户端136可以从STEP存储库150接收源自其他网络设备或与之关联的STEP文档,例如,该STEP文档被网络设备120订阅。例如,STEP存储库150可以经由连接172向STEP客户端136发送STEP存储库150可以从网络设备100接收的STEP文档112。
STEP客户端134可以将任何接收到的STEP文档从STEP存储库140发送到STEP管理器128,而STEP管理器128又可以将接收到的STEP文档发送到数据库126。STEP客户端136可以将任何接收到的STEP文档从STEP存储库150发送到STEP管理器130,而STEP管理器130又可以将接收到的STEP文档发送到数据库126。例如,STEP管理器128和STEP管理器130可以将接收到的STEP文档保存在数据库126中。数据库126可以使用保存的文档的最新版本构建拓扑。为了确定保存的STEP文档的最新版本,数据库126可以使用与保存的STEP文档相关联的序列号、时间戳或其他版本标识符。在一些示例中,数据库126可以是LSDB。在一些示例中,数据库126可以基于接收到的STEP文档中的信息来构建或更新路由表。例如,如果接收到的STEP文档是第一个接收到的STEP文档,则数据库126可以构建路由表。如果接收到的STEP文档代表相对于先前接收到的STEP文档的增量或改变,则数据库126可以更新路由表。在一些示例中,数据库126可以构建拓扑图138。在一些示例中,拓扑图138是LSDB–SPF拓扑图。在其他示例中,拓扑图138不是LSDB–SPF拓扑图。在一些示例中,每当发布或接收到新的STEP文档时,数据库126可以更新自身并更新拓扑图138。
路由管理器122可以与STEP管理器代理124交互,以确定如何基于数据库126中的信息路由封包,并通过STEP管理器代理124控制STEP管理器128和STEP管理器130的功能。如图1所示,网络设备120包括两个STEP管理器和两个STEP客户端。这样的STEP管理器和STEP客户端有助于发布和订阅所示的两个STEP存储库(STEP存储库140和STEP存储库150)的STEP文档。在存在附加STEP存储库的示例中,网络设备120可以包括附加STEP管理器和STEP客户端,它们有助于发布和订阅附加STEP存储库的STEP文档。例如,网络设备120可以读取配置信息,并基于配置信息创建STEP管理器128、STEP管理器130、STEP客户端134和STEP客户端136。例如,配置信息可以指示网络10中存在两个活动的STEP存储库。
在一些示例中,网络设备120可以是活动的网络设备。在其他示例中,网络设备120可以是备用网络设备。在网络设备120是备用网络设备的示例中,在网络设备120成为活动的网络设备之前,可以不构建数据库126。
例如,每个网络设备(例如,网络设备100和网络设备120)可以建立与两个(或在一些示例中,每个)STEP存储库(例如,STEP存储库140和STEP存储库150)的STEP连接。每个网络设备可以将包含关于网络设备已知的服务信息和拓扑信息的信息的初始STEP文档发布或发送到两个或每个STEP存储库。每个网络设备可以向这两个或每个STEP存储库发布或发送STEP文档,该STEP文档包括服务信息和/或拓扑信息的改变或增量。每个网络设备可以从这两个或每个STEP存储库订阅其他路由器的感兴趣的STEP文档。以这种方式,每个网络设备可以从这两个或每个STEP存储库接收STEP文档,例如初始STEP文档和/或STEP文档,包括来自其他网络设备的服务信息和/或拓扑信息的改变或增量。网络设备(例如网络设备100)然后可以使用接收到的STEP文档,以基于STEP文档中的信息来构建或创建服务和拓扑数据库,该数据库可以是LSDB。网络设备可以利用这样一个事实,即来自两个或每个STEP存储库的针对给定其他网络设备的STEP文档改变或增量始终来自相同的其他网络设备。根据本公开的技术,每个网络设备负责在两个或每个STEP存储库上复制服务信息和拓扑信息,还负责合并来自两个或每个STEP存储库的改变或增量,以在本地构建最终数据集(例如,LSDB)。因此,不是STEP存储库负责网络中服务信息和拓扑信息的冗余(例如,传统实现中的活动的STEP存储库和备用STEP存储库),而是每个网络设备(例如路由器)负责这种冗余。
诸如图1的示例的布置为网络设备100和网络设备120的服务和路由信息提供了高可用性。例如,如果STEP存储库140关闭,则网络设备100和网络设备120可以继续向STEP存储库150发送和/或从STEP存储库150接收STEP文档。如果STEP存储库150关闭,则网络设备100和网络设备120可以继续向STEP存储库140发送和/或从STEP存储库140接收STEP文档。此外,如果连接160丢失,则网络设备100仍然可以经由连接162将STEP文档112发布或发送到STEP存储库150和/或经由连接162从STEP存储库150接收STEP文档132。该布置还允许网络设备120经由连接172继续从STEP存储库150接收STEP文档112。如果连接162丢失,则网络设备100仍然可以经由连接160向STEP存储库140发布或发送STEP文档112和/或经由连接160从STEP存储库140接收STEP文档132。该布置允许网络设备120经由连接170继续从STEP存储库140接收STEP文档112。类似地,如果连接170丢失,则网络设备120仍然可以经由连接172向STEP存储库150发布或发送STEP文档132和/或经由连接172从STEP存储库150接收STEP文档112。该布置还允许网络设备100经由连接162继续从STEP存储库150接收STEP文档132。如果连接172丢失,则网络设备120仍然可以经由连接170将STEP文档132发布或发送到STEP存储库140和/或经由连接170从STEP存储库140接收STEP文档112。该布置允许网络设备100经由连接160继续从STEP存储库140接收STEP文档132。虽然这样的布置可能为了更高的可用性而牺牲一些网络带宽,但牺牲的网络带宽量可能相对较小,因为在初始STEP之后,穿越网络的STEP文档可能仅包括相对于先前STEP文档的增量,而不是给定网络设备已知的所有服务信息和拓扑信息。
根据本公开的技术,诸如网络设备100的设备可以被配置为创建第一STEP文档,第一STEP文档包括服务和拓扑信息。该设备可被配置为将第一STEP文档发送到第一STEP存储库(例如,STEP存储库140)以转发到至少一个订阅的网络设备(例如,网络设备120),并将第一STEP文档发送到第二STEP存储库(例如,STEP存储库150),以转发到至少一个订阅的网络设备。
虽然图1的示例描绘了两个网络设备和两个STEP存储库,但网络10可以包括多于两个的网络设备和/或多于两个的STEP存储库。
有关STEP和基于会话的路由器的更多信息,请参见2021年10月19日公布的美国专利11,153,202号,标题为“SERVICE AND TOPOLOGY EXCHANGE PROTOCOL”,其全部内容通过引用全部并入本文。
图2是示出根据本公开技术的示例计算设备200的框图。总体上,计算设备200可以是图1的网络设备100或网络设备120的示例实施方式。图2示出了计算设备200的具体示例,该计算设备200包括用于执行应用程序222、路由组件250或本文所述的任何其他计算设备中的任何一个或多个的处理电路202。计算设备200的其他示例可在其他情况使用。
尽管出于示例目的,在图2中显示为独立的计算设备200,但根据本公开的技术操作的计算设备可以是包括一个或多个处理器或用于执行软件指令的其他合适计算环境的任何组件或系统,例如,不必包括图2中所示的一个或多个元件(例如,通信单元206;并且在一些示例中,诸如存储设备208之类的组件可能不与其他组件位于同一位置或在同一机箱中)。在一些示例中,计算设备200可以实现为虚拟化网络功能(VNF)。在一些示例中,计算设备200的一个或多个方面可以作为一个或多个容器运行,或者作为使用例如VirtIO和SRIOV网络虚拟化技术的网络功能虚拟化(NFV)平台的虚拟机内的一个或多个应用程序运行,或者在裸机服务器上运行。在一些示例中,计算设备200是物理网络设备,例如交换机、路由器、网关或发送和接收网络流量的其他设备。
如图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耦接。
在一个示例中,处理电路202被配置为实现用于在计算设备200内执行的功能和/或处理指令。在一些示例中,处理电路202包括一个或多个基于硬件的处理器。例如,处理电路202可以能够处理存储在存储设备208中的指令。处理电路202的示例可包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或等效分立或集成逻辑电路中的任何一个或多个。
一个或多个存储设备208可被配置为在操作期间在计算设备200内存储信息。在一些示例中,存储设备208被描述为计算机可读存储介质。在一些示例中,存储设备208是临时存储器,这意味着存储设备208的主要用途不是长期存储。在一些示例中,存储设备208被描述为易失性存储器,这意味着当计算设备200计算机关闭或断电时,存储设备208不保持存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和其他形式的易失性存储器。在一些示例中,存储设备208用于存储用于由处理电路202执行的程序指令。在一个示例中,在程序执行期间,计算设备200上运行的软件或应用程序使用存储设备208临时存储信息。
在一些示例中,存储设备208还包括一个或多个计算机可读存储介质。存储设备208可以被配置为存储比易失性存储器更多的信息量。存储设备208还可以被配置为长期存储信息。在一些示例中,存储设备208包括非易失性存储元件。此类非易失性存储元件的示例包括磁性硬盘、光盘、软盘、闪存、或电可编程存储器(EPROM)或电可擦除可编程存储器(EEPROM)的形式。
在一些示例中,计算设备200还包括一个或多个通信单元206。在一个示例中,计算设备200利用通信单元206经由一个或多个网络(例如一个或多个有线/无线/移动网络)与外部设备通信。通信单元206可以包括网络接口,例如以太网卡、光收发器、射频收发器,或者可以发送和接收信息的任何其他类型的设备。此类网络接口的其他示例可包括3G和WiFi无线电。在一些示例中,通信单元206可以包括多个高速网络接口卡。在一些示例中,计算设备200利用通信单元206与外部设备通信。例如,计算设备200利用通信单元206与其他计算设备通信,其他计算设备例如是与通信单元206连接的网络设备100、网络设备120、STEP存储库140和/或STEP存储库150(图1的全部)。
在一个示例中,计算设备200还包括一个或多个用户接口设备210。在一些示例中,用户接口设备210被配置为通过触觉、音频或视频反馈接收来自用户的输入。用户接口设备210的示例包括存在感知显示器、鼠标、键盘、语音响应系统、摄像机、麦克风或用于检测来自用户的命令的任何其他类型的设备。在一些示例中,存在感知显示器包括触摸屏。在一些示例中,诸如网络10的管理员之类的用户可以输入用于计算设备200的配置数据。
计算设备200中还可以包括一个或多个输出设备212。在一些示例中,输出设备212被配置为使用触觉、音频或视频刺激向用户提供输出。在一个示例中,输出设备212包括存在感知显示器、声卡、视频图形适配卡或用于将信号转换为人类或机器可理解的适当形式的任何其他类型的设备。输出设备212的附加示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或可向用户生成可理解输出的任何其他类型的设备。
计算设备200可以包括操作系统216。在一些示例中,操作系统216控制计算设备200的组件的操作。例如,在一个示例中,操作系统216促进一个或多个应用程序222与处理电路202、通信单元206、存储设备208、输入设备204、用户接口设备210和输出设备212的通信。应用程序222还可以包括可由计算设备200执行的程序指令和/或数据。
在一些示例中,处理电路202执行路由组件250,路由组件250确定接收到的封包的路由,并相应地转发封包。路由组件250与其他路由器(例如,在它们代表路由器的示例中,网络设备100或网络设备120)通信,以建立和保持计算机网络(例如图1的网络10),以用于在一个或多个客户或客户端设备(未示出)之间传输网络流量。路由组件250的路由协议守护进程(RPD)254执行软件指令以实现一个或多个控制平面网络协议256。例如,协议256可以包括一个或多个路由协议,例如互联网组管理协议(IGMP)221和/或边界网关协议(BGP)220),以用于与其他路由设备交换路由信息,并用于更新路由信息库(RIB)252;多协议标签交换(MPLS)协议215和其他路由协议。协议256还可以包括一个或多个通信会话协议(例如TCP、UDP、TLS或ICMP)。
RIB 252可以描述计算设备200所在的计算机网络的拓扑,还可以包括计算机网络中通过共享树的路径。RIB 252描述了计算机网络中的各种路径,以及每条路径的适当下一跳,即沿每条路路径由的相邻路由设备。RIB 252可以是编程为专用转发芯片的基数树、一系列表、复杂数据库、链路列表、基数树、数据库、平面文件或各种其他数据结构。在一些示例中,RIB 252可以是数据库236的一部分。在一些示例中,RIB 252可以是图1的拓扑图118或拓扑图138的示例。
会话信息235存储用于识别会话的信息。在一些示例中,会话信息235具有会话表的形式。例如,服务信息232包括指定会话标识符的一个或多个条目。在一些示例中,会话标识符包括与会话的前向封包流和/或反向封包流相关联的源地址、源端口、目的地地址、目的地端口或协议中的一个或多个。如上所述,计算设备200可以执行基于会话的路由,使得当路由组件250接收到来自一个客户端设备且目的地为另一客户端设备的前向封包流的封包时,路由组件250确定该封包是否属于新会话(例如,是会话40的“第一个”封包或“前导”封包)。为了确定封包是否属于新会话,路由组件250确定会话信息235是否包括与第一个封包的源地址、源端口、目的地地址、目的地端口和协议相对应的条目。如果存在条目,则该会话不是新会话。如果不存在条目,则会话是新的,路由组件250生成会话的会话标识符,并将会话标识符存储在会话信息235中。路由组件250随后可以使用会话信息235中存储的会话标识符来识别属于同一会话的后续封包。
服务信息232存储路由组件250可用于识别与会话相关联的服务的信息。在一些示例中,服务信息232是服务表的形式。例如,服务信息232包括指定服务标识符的一个或多个条目以及源地址、源端口、目的地地址、目的地端口或与服务相关联的协议中的一个或多个。在一些示例中,路由组件250可以针对所接收的封包使用会话的源地址、源端口、目的地地址、目的地端口或协议中的一个或多个来查询服务信息232,以确定与会话相关联的服务。例如,路由组件250可以基于服务信息232中的源地址、源端口、目的地址、目的端口或协议与会话标识符指定的源地址、源端口、目的地址、目的端口或协议的对应关系来确定服务标识符。路由组件250基于与封包相关联的服务检索与所识别的服务相对应的一个或多个服务策略234。服务策略可以包括例如路径故障切换策略、动态主机配置协议(DHCP)标记策略、流量工程策略、与会话相关联的网络流量的优先级等。路由组件250将对应于与封包相关联的服务的一个或多个服务策略234应用于封包。
计算设备可以例如经由输入设备204或通信单元206接收配置信息,计算设备可以读取配置信息,并创建STEP管理器262和STEP客户端260。STEP管理器262可以包括多个STEP管理器,例如STEP管理器108和110,或者图1的STEP管理器128和130。STEP客户端260可以包括多个STEP客户端,例如图1的STEP客户端114和116,或STEP客户端134和136。
计算设备200可以包括文档238,文档238可以是图1的文档112或文档132的示例。计算设备200还可以包括数据库236,数据库236可以是图1的数据库106或数据库126的示例。
根据本公开的技术,计算设备200可以创建第一STEP文档(例如,STEP文档238),第一STEP文档包括服务和拓扑信息。例如,计算设备200可以经由通信单元206将第一STEP文档发送到第一STEP存储库(例如,图1的STEP存储库140),以转发到至少一个订阅的网络设备(例如,图1的网络设备100或网络设备120),以及可以经由通信单元206将第一STEP文档发送到第二STEP存储库(例如,图1的STEP存储库150),以转发到至少一个订阅的网络设备。
例如,计算设备200可以构建包括计算设备200已知的服务和拓扑信息的第一STEP文档。此类信息可包括来自服务信息232和/或服务策略234的服务信息。这样的信息可以包括拓扑信息,例如与计算设备200相邻的相邻设备的标识。
图3是示出根据本公开技术的示例操作的流程图。虽然关于图2的计算设备200描述了图3的示例,但图3的技术可以由其他网络设备执行。
计算设备200可以创建第一STEP文档(300),第一STEP文档包括服务信息和拓扑信息。例如,计算设备200可以创建包括计算设备200已知的服务信息和拓扑信息的STEP文档。例如,计算设备200可以从相邻设备接收边界网关协议(BGP)路由,并基于这些路由确定服务信息和拓扑信息。计算设备200还可以在服务信息232和/或服务策略234中存储与服务相关的信息。计算设备200可以在第一STEP文档中包括服务信息和拓扑信息,第一STEP文档可以是初始STEP文档。
计算设备200可以将第一STEP文档发送到第一STEP存储库,以转发到至少一个订阅的网络设备(302)。例如,计算设备200可以将第一STEP文档发送到STEP存储库140(图1)。计算设备200可以将第一STEP文档发送到第二STEP存储库(304)。例如,计算设备200可以将第一STEP文档发送到STEP存储库150(图1)。然后,STEP存储库140和STEP存储库150可以将第一STEP文档转发给至少一个订阅的网络设备(例如,网络设备100或网络设备120)。
在一些示例中,第一STEP文档包含JSON文档。在一些示例中,计算设备200可以从第一STEP存储库接收第二STEP文档,并从第二STEP存储库接收第二STEP文档。第二STEP文档可以包括与另一设备相关的服务信息和拓扑信息。例如,计算设备200可以从另一网络设备订阅STEP文档,并且第一STEP存储库和第二STEP存储库可以各自将第二STEP文档发送到计算设备200。
在一些示例中,计算设备200可以至少部分地基于从第一STEP存储库接收的第二STEP文档和从第二STEP存储库接收的第二STEP文档中的至少一者,来构建服务和拓扑数据库。在一些示例中,服务和拓扑数据库包括链路状态数据库。例如,计算设备200可以具有第一STEP存储库和第二STEP存储库中的优选的STEP存储库。例如,STEP管理器代理104(图1)可以选择优选的STEP存储库。计算设备200可以使用与优选的STEP存储库相关联的第二STEP文档来构建链路状态数据库。如果优选的STEP存储库和计算设备200之间的通信中断,或者如果优选的STEP存储库关闭,则计算设备200可以使用来自另一STEP存储库的第二STEP文档来构建链接状态数据库。
在一些示例中,计算设备200至少部分基于第二STEP文档构建拓扑图。例如,计算设备200可以构建LSDB–SPF拓扑图,并基于LSDB–SPF路由流量。
在一些示例中,计算设备200可以从第一STEP存储库接收第三STEP文档,并从第二STEP存储库接收第三STEP文档。在一些示例中,第三STEP文档包括对与另一设备相关的第二STEP文档的服务信息或拓扑信息中的至少一者的变化增量。
在一些示例中,计算设备200可以基于来自第一STEP存储库的第三STEP文档和来自第二STEP存储库的第三STEP文档中的至少一者来更新服务和拓扑数据库。例如,STEP管理器代理104(图1)可以选择优选的STEP存储库。计算设备200可以使用与优选的STEP存储库相关联的第三STEP文档来更新链路状态数据库。如果优选的STEP存储库和计算设备200之间的通信中断,或者如果优选的STEP存储库关闭,则计算设备200可以使用来自另一STEP存储库的第三STEP文档来构建链接状态数据库。一旦优选的STEP存储库恢复,计算设备200可以确定计算设备200是否需要更新或重建服务和拓扑数据库。例如,计算设备可以例如通过检查与STEP文档相关联的版本标识符,来确定已经接收到比用于创建或更新服务和拓扑数据库的文档更近期的STEP文档。如果已经接收到更近期的STEP文档,则计算设备200可以使用更近期的STEP文档重建或更新服务和拓扑数据库。
在一些示例中,计算设备200可以创建增量(delta)STEP文档,增量STEP文档包括JSON补丁,JSON补丁包括相对于第一STEP文档的至少一个服务信息或拓扑信息中的增量变化。在一些示例中,计算设备200可以将增量STEP文档发送到第一STEP存储库,以转发到至少一个订阅的网络设备,并将增量STEP文档发送到第二STEP存储库,以转发到至少一个订阅的网络设备。
虽然本公开的技术是关于STEP存储库讨论的,但这些高可用性技术可用于具有与STEP存储库类似使用特征的其他数据存储实施方式,其中每个数据记录或表始终由同一网络设备更新。
本公开中描述的技术可以至少部分地以硬件、软件、固件或其任何组合实现。例如,所述技术的各个方面可以在一个或多个处理器内实现,一个或多个处理器包括一个或多个微处理器、数字信号处理器(DSPs)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效集成或分立逻辑电路,以及此类组件的任何组合。术语“处理器”或“处理电路”通常可指前述任何逻辑电路,其单独或与其他逻辑电路或任何其他等效电路组合使用。包括硬件的控制单元还可以执行本公开的一种或多种技术。
此类硬件、软件和固件可在同一设备或单独的设备内实施,以支持本公开中描述的各种操作和功能。此外,所述单元、模块或组件中的任何一个都可以作为分立但可互操作的逻辑设备一起或单独实现。将不同功能描述为模块或单元旨在强调不同的功能方面,并不一定意味着此类模块或单元必须由单独的硬件或软件组件实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件组件执行,或者集成在公共或单独的硬件或软件组件中。
本公开中描述的技术也可以在包含指令的计算机可读介质(例如计算机可读存储介质)中实施或编码。例如,当指令被执行时,嵌入或编码在计算机可读存储介质中的指令可导致可编程处理器或其他处理器执行该方法。计算机可读存储介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读介质。
已经描述了各种示例。这些和其他示例包含在以下权利要求的范围内。
Claims (20)
1.一种网络设备,包括:
一个或多个处理器;
存储器,耦接至所述一个或多个处理器,所述存储器存储有指令,在所述指令被执行时,所述指令使所述一个或多个处理器:
创建第一服务和拓扑交换协议STEP文档,所述第一STEP文档包括服务信息和拓扑信息;
将所述第一STEP文档发送到第一STEP存储库,以转发到至少一个订阅的网络设备;以及
将所述第一STEP文档发送到第二STEP存储库,以转发到所述至少一个订阅的网络设备。
2.根据权利要求1所述的网络设备,其中,所述第一STEP文档包括JavaScript对象表示法JSON文档。
3.根据权利要求1或2所述的网络设备,其中,所述指令进一步使所述一个或多个处理器:
从所述第一STEP存储库接收第二STEP文档;以及
从所述第二STEP存储库接收所述第二STEP文档,
其中,所述第二STEP文档包括与另一设备相关的服务信息和拓扑信息。
4.根据权利要求3所述的网络设备,其中,所述指令进一步使所述一个或多个处理器:
至少部分基于从所述第一STEP存储库接收的所述第二STEP文档和从所述第二STEP存储库接收的所述第二STEP文档中的至少一者构建服务和拓扑数据库。
5.根据权利要求4所述的网络设备,其中,所述服务和拓扑数据库包括链路状态数据库。
6.根据权利要求4所述的网络设备,其中,所述指令进一步使所述一个或多个处理器至少部分基于所述第二STEP文档构建拓扑图。
7.根据权利要求4所述的网络设备,其中,所述指令进一步使所述一个或多个处理器:
从所述第一STEP存储库接收第三STEP文档;以及
从所述第二STEP存储库接收所述第三STEP文档,
其中,所述第三STEP文档包括与所述另一设备相关的所述第二STEP文档的所述服务信息和所述拓扑信息中的至少一者的变化增量。
8.根据权利要求7所述的网络设备,其中,所述指令进一步使所述一个或多个处理器:
基于来自所述第一STEP存储库中的所述第三STEP文档和来自所述第二STEP存储库中的所述第三STEP文档中的至少一者更新所述服务和拓扑数据库。
9.根据权利要求1或2所述的网络设备,其中,所述指令进一步使所述一个或多个处理器:
创建增量STEP文档,所述增量STEP文档包括JSON补丁,所述JSON补丁包括相对于所述第一STEP文档的所述服务信息和所述拓扑信息中至少一者的增量变化;
将所述增量STEP文档发送到所述第一STEP存储库,以转发到所述至少一个订阅的网络设备;和
将所述增量STEP文档发送到所述第二STEP存储库,以转发到所述至少一个订阅的网络设备。
10.根据权利要求1或2所述的网络设备,其中,所述网络设备包括基于会话的路由器。
11.一种操作网络设备的方法,包括:
由网络设备的一个或多个处理器创建第一服务和拓扑交换协议STEP文档,所述第一STEP文档包括服务信息和拓扑信息;
由所述网络设备的所述一个或多个处理器将所述第一STEP文档发送到第一STEP存储库,以转发到至少一个订阅的网络设备;以及
通过所述网络设备的所述一个或多个处理器将所述第一STEP文档发送到第二STEP存储库,以转发到所述至少一个订阅的网络设备。
12.根据权利要求11所述的方法,其中,所述第一STEP文档包括JavaScript对象表示法JSON文档。
13.根据权利要求11或12所述的方法,还包括:
由所述网络设备的所述一个或多个处理器从所述第一STEP存储库接收第二STEP文档;以及
由所述网络设备的所述一个或多个处理器从所述第二STEP存储库接收所述第二STEP文档,
其中,所述第二STEP文档包括与另一设备相关的服务信息和拓扑信息。
14.根据权利要求13所述的方法,进一步包括:
由所述网络设备的所述一个或多个处理器至少部分基于从所述第一STEP存储库接收的所述第二STEP文档和从所述第二STEP存储库接收的所述第二STEP文档中的至少一者构建服务和拓扑数据库。
15.根据权利要求14所述的方法,其中,所述服务和拓扑数据库包括链路状态数据库。
16.根据权利要求14所述的方法,还包括:
由所述一个或多个处理器至少部分基于所述第二STEP文档构建拓扑图。
17.根据权利要求14所述的方法,还包括:
由所述网络设备的所述一个或多个处理器从所述第一STEP存储库接收第三STEP文档;以及
由所述网络设备的所述一个或多个处理器从所述第二STEP存储库接收所述第三STEP文档,
其中,所述第三STEP文档包括对与另一设备相关的所述第二STEP文档的所述服务信息和所述拓扑信息中的至少一者的变化增量。
18.根据权利要求17所述的方法,还包括:
由所述网络设备的所述一个或多个处理器基于来自所述第一STEP存储库的所述第三STEP文档和来自所述第二STEP存储库的所述第三STEP文档中的至少一者更新所述服务和拓扑数据库。
19.根据权利要求11或12所述的方法,还包括:
由所述网络设备的所述一个或多个处理器创建增量STEP文档,所述增量STEP文档包括JSON补丁,所述JSON补丁包括相对于所述第一STEP文档的至少一个所述服务信息和拓扑信息的增量变化;
由所述网络设备的所述一个或多个处理器将所述增量STEP文档发送到所述第一STEP存储库,以转发到所述至少一个订阅的网络设备;以及
由所述网络设备的所述一个或多个处理器将所述增量STEP文档发送到所述第二STEP存储库,以转发到所述至少一个订阅的网络设备。
20.一种计算机可读存储介质,所述计算机可读存储介质编码有指令,所述指令用于使一个或多个可编程处理器执行如权利要求11-19中任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163292114P | 2021-12-21 | 2021-12-21 | |
US63/292,114 | 2021-12-21 | ||
US17/657,037 US12003379B2 (en) | 2021-12-21 | 2022-03-29 | Service and topology exchange protocol having client-driven active-active repositories with high availability |
US17/657,037 | 2022-03-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116319981A true CN116319981A (zh) | 2023-06-23 |
Family
ID=82163492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210697217.7A Pending CN116319981A (zh) | 2021-12-21 | 2022-06-20 | 网络设备和操作网络设备的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12003379B2 (zh) |
EP (1) | EP4203414A1 (zh) |
CN (1) | CN116319981A (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11451464B2 (en) * | 2019-05-13 | 2022-09-20 | 128 Technology, Inc. | Central authority for service and topology exchange |
US11153202B2 (en) * | 2019-05-13 | 2021-10-19 | 128 Technology, Inc. | Service and topology exchange protocol |
-
2022
- 2022-03-29 US US17/657,037 patent/US12003379B2/en active Active
- 2022-06-20 CN CN202210697217.7A patent/CN116319981A/zh active Pending
- 2022-06-21 EP EP22180178.0A patent/EP4203414A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4203414A1 (en) | 2023-06-28 |
US20230198848A1 (en) | 2023-06-22 |
US12003379B2 (en) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11588886B2 (en) | Managing replication of computing nodes for provided computer networks | |
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
US10200274B1 (en) | Enhanced traffic flow in software-defined networking controller-based architecture | |
US8755377B2 (en) | Facilitating operation of one or more virtual networks | |
US9710762B2 (en) | Dynamic logging | |
US9374270B2 (en) | Multicast service in virtual networks | |
US10379890B1 (en) | Synchronized cache of an operational state of distributed software system | |
US20160182290A1 (en) | Method for updating a virtual private network in a multi-protocol label switching network | |
US20180248785A1 (en) | Failure handling at logical routers according to a non-preemptive mode | |
US20240137305A1 (en) | Multiple network interfacing | |
US11695824B2 (en) | Optimized internet access in a multi-site software-defined network fabric | |
US12003379B2 (en) | Service and topology exchange protocol having client-driven active-active repositories with high availability | |
US11296907B2 (en) | Systems and methods for transitioning of virtualized transport networks | |
CN115967664A (zh) | 自动分组和路由平台 | |
US20240205793A1 (en) | Recursive updating of map server entries | |
US20230131877A1 (en) | Inline security key exchange | |
CN116074244A (zh) | 基于安全向量路由的以太网高可用性点对点连接性 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |