CN116074244A - 基于安全向量路由的以太网高可用性点对点连接性 - Google Patents
基于安全向量路由的以太网高可用性点对点连接性 Download PDFInfo
- Publication number
- CN116074244A CN116074244A CN202210440789.7A CN202210440789A CN116074244A CN 116074244 A CN116074244 A CN 116074244A CN 202210440789 A CN202210440789 A CN 202210440789A CN 116074244 A CN116074244 A CN 116074244A
- Authority
- CN
- China
- Prior art keywords
- network device
- network
- arp
- session
- arp request
- 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
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/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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- 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/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/22—Alternate routing
-
- 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/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开的实施例涉及基于安全向量路由的以太网高可用性点对点连接性。公开了用于在活动网络设备操作时避免通过备用网络设备发送网络流量的技术。示例设备被配置为接收来自活动网络设备的第一地址解析协议(ARP)请求和来自备用网络设备的第二ARP请求。设备还被配置为响应于接收到第一ARP请求和第二ARP请求,向活动网络设备发送第一ARP响应。
Description
相关申请的交叉引用
本申请要求2022年2月1日提交的标题为“ETHERNET OVER SECURE VECTORROUTING HIGH AVAILABILITY POINT TO POINT CONNECTIVITY”的美国专利申请第17/649,634号的权益,所述美国专利申请要求2021年10月29日提交的标题为“ETHERNET OVERSECURE VECTOR ROUTING HIGH AVAILABILITY POINT TO POINT CONNECTIVITY”的美国临时专利申请第63/263,264号的权益,所述专利申请全部内容通过引用并入本文。
技术领域
本公开总体涉及计算机网络,并且更具体地,涉及在计算机网络内路由分组。
背景技术
计算机网络是可以交换数据和共享资源的互连计算设备的集合。示例计算设备包括路由器、交换机和在开放系统互连(OSI)参考模型的层2(即数据链路层)内操作的其他层2(L2)网络设备,以及在OSI参考模型的层3(即网络层)内操作的层3(L3)网络设备。计算机网络内的网络设备通常包括为网络设备提供控制平面功能性的控制单元和用于路由或交换数据单元的转发组件。
计算设备可以建立“网络会话”(本文也称为“会话”),以使得计算机网络上的设备之间能够通信。会话可以是单向的,因为该会话包括仅在从第一设备到第二设备的一个方向上行进的分组。例如,会话包括从第一设备始发并且去往第二设备的正向分组流。不同的会话可以包括从第二设备始发并且去往第一设备的反向分组流。
备选地,会话可以是双向的,因为该会话包括在第一设备与第二设备之间两个方向行进的分组。例如,会话包括从第一设备始发并且去往第二设备的正向分组流,以及从第二设备始发并且去往第一设备的反向分组流。会话的正向分组流和反向分组流彼此相关,因为正向分组流的源地址和源端口与反向分组流的目的地地址和目的地端口相同,并且正向分组流的目的地地址和目的地端口与反向分组流的源地址和源端口相同。为了建立会话,计算设备可以使用一个或多个通信会话协议,包括传输控制协议(TCP)、传输层安全性(TLS)、用户数据报协议(UDP)、互联网控制消息协议(ICMP)等。
发明内容
在传统的网络系统中,当虚拟局域网的始发路由器向活动或主要路由器和备用路由器发送地址解析协议(ARP)请求时,活动或主要路由器和备用或次要路由器两者都将ARP请求转发给目的地路由器。目的地路由器进而可以对ARP请求中的每个ARP请求发送ARP响应。这可能导致来自备用路由器的对ARP请求的ARP响应在来自活动路由器的对ARP请求的ARP响应之后到达始发路由器。始发路由器然后可能利用备用路由器的网络地址更新始发路由器的路由表。始发路由器然后可能通过备用路由器而不是活动路由器发送去往目的地设备的网络流量。当始发设备在经由活动路由器的ARP响应之后经由备用路由器接收到ARP响应时,始发设备可能最终配置路由以经由通过备用路由器的次优路由发送去往目的地设备的网络流量,因为此备用路由可能比经由活动路由器的活动路由具有更大的成本和/或时延。
总的来说,本公开描述了用于经由活动或主要路由器而不是经由备用或后备路由器来转发网络流量的技术,尽管活动路由器或备用路由器、或者活动路由器和备用路由器两者都向目的地路由器转发ARP请求。在一个示例中,诸如目的地路由器的设备可以接收来自第一网络设备的ARP请求,第一网络设备可以是诸如路由器的活动网络设备。该设备还可以接收来自第二网络设备的ARP请求,第二网络设备可以是诸如路由器的备用网络设备。该设备可以向活动网络设备发送ARP响应并且该设备可以制止向备用网络设备发送ARP响应。活动网络设备、备用网络设备和设备可以是基于会话的路由器,并且可以使用单向会话。
本公开的技术可以对具有实际应用的计算机联网的计算机相关领域提供具体的改善。例如,本文公开的技术可以使得始发设备能够确保经由活动路由(例如,最低成本路由)而不是经由备用路由(例如,更高成本路由)将网络流量转发给目的地设备,即使当目的地路由器从备用路由器接收到ARP请求时也是如此,从而改善流量时延和网络效率。
在一个示例中,本公开描述了一种设备,该设备包括一个或多个处理器和存储器,该存储器耦合到一个或多个处理器,存储器存储在执行时使得一个或多个处理器执行以下操作的指令:接收来自活动网络设备的第一地址解析协议(ARP)请求和来自备用网络设备的第二ARP请求;以及响应于接收到第一ARP请求和第二ARP请求,向活动网络设备发送第一ARP响应。
在另一个示例中,本公开描述了一种方法,包括:由设备接收来自活动网络设备的第一地址解析协议(ARP)请求和来自备用网络设备的第二ARP请求;以及响应于接收到第一ARP请求和第二ARP请求,由设备向活动网络设备发送第一ARP响应。
在另一示例中,本公开描述了一种存储指令的非瞬态计算机可读存储介质,该指令当被执行时,使得一个或多个处理器:接收来自活动网络设备的第一地址解析协议(ARP)请求以及来自备用网络设备的第二ARP请求;以及响应于接收到第一ARP请求和第二ARP请求,向活动网络设备发送第一ARP响应。
在附图和以下描述中阐述了本公开的技术的一个或多个示例的细节。根据说明书和附图以及权利要求书,该技术的其他特征、目的和优点将变得明显。
附图说明
图1是示出根据本公开的技术的示例计算机网络系统的框图。
图2是示出根据本公开的技术的示例网络设备的框图。
图3是示出根据本公开的技术的示例操作的流程图。
在所有附图和描述中,相同的附图标记指代相同的元件。
具体实施方式
图1是示出根据本公开的技术的示例网络系统的框图。网络系统10包括客户端设备100和客户端设备112。客户端设备100可以是广播设备、单播设备、多播设备等,并且可以被配置为向客户端设备112转发广播、未知单播和多播(BUM)流量。客户端设备112可以是可以被配置为从客户端设备100接收网络流量的设备。客户端设备100可以通信地耦合到虚拟专用局域网服务(VPLS)102。VPLS 102可以通信地耦合到头端设备104和头端设备106。头端设备104和头端设备106可以包括基于会话的路由器。在图1的示例中,头端设备104可以是活动网络设备或主要网络设备,而头端设备106可以是备用网络设备或次要网络设备,用于在头端设备104停机或者客户端设备100与客户端设备112之间经由头端设备104的连接性丢失的情况下,为从客户端设备100流向客户端设备112的网络流量提供冗余。
头端设备104和头端设备106中的每个头端设备都可以通信地耦合到网络108。尽管未描绘,但是网络108可以包括网络设备,诸如例如路由器、交换机、网关、网桥、集线器、服务器、防火墙或其他入侵检测系统(IDS)或入侵预防系统(IDP)、计算设备、计算终端、打印机、其他网络设备或者这样的设备的组合。网络108可以是公共网络(例如,互联网)、企业网络(诸如分支网络)、数据中心网络、服务提供方网络、互联网服务提供方网络或者其他类型的网络。在一些示例中,网络108可以是向客户端设备100和客户端设备112提供广域网(WAN)连接性的网络的集合。尽管图1的示例描绘了单个客户端设备112,但是在一些示例中,任何数目的设备都可以耦合到网络设备110。
在图1的示例中,客户端设备100和112可以在L2计算机网络中,其中对后跟数字的层的引用是指开放系统互连(OSI)模型中的对应层。L2在OSI模型中也被称为“数据链路层”并且在本公开中,术语L2可以与短语“数据链路层”互换使用。通常,客户网络(例如,客户网络140)包括许多客户端设备(诸如设备112),客户端设备中的每个客户端设备可以跨网络108与其他设备(诸如设备100)通信。链路120和链路122可以是以太网、异步传送模式(ATM)、无线局域网(WLAN)、或者任何其他合适的网络连接。在一些示例中,客户端设备100和客户端设备112可以经由虚拟局域网(VLAN)连接。
头端设备104、头端设备106和网络设备110可以包括路由器,诸如基于会话的路由器。然而,本公开的技术可以使用任何网络设备来实现,诸如交换机、路由器、网关、或者可以发送和接收网络流量的其他合适的网络设备。
客户网络140可以包括附加的客户设备,诸如一个或多个非边缘交换机、路由器、集线器、网关、安全设备(诸如防火墙、入侵检测和/或入侵预防设备)、服务器、计算机终端、膝上型电脑、打印机、数据库、无线移动设备(诸如蜂窝电话或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器、或者图1中未描绘的其他路由器。图1中所示的网络系统10的配置仅是示例。例如,网络系统10可以包括任何数目的网络或网络设备。
在一些示例中,网络108表示由一个或多个服务提供方拥有和运营的一个或多个公共可访问的计算机网络。尽管网络系统10在图1的示例中被示为包括单个网络108,但是在其他示例中,网络系统10可以备选地包括多个服务提供方网络,多个服务提供方网络提供客户端设备100与客户端设备112之间的连接性。服务提供方通常是大型电信实体或公司。服务提供方网络通常是大型L3计算机网络。因此,在网络108本征地支持OSI模型中描述的L3操作的意义上,网络108可以是L3网络。常见的L3操作包括根据L3协议,诸如互联网协议(IP)执行的这些操作。L3在OSI模型中也被称为“网络层”并且在整个本公开中,术语L3可以与短语“网络层”互换使用。
尽管为了便于解释没有示出另外的设备,但是应理解,网络系统10可以包括附加的网络和/或计算设备,诸如一个或多个附加的交换机、路由器、集线器、网关、安全设备(诸如防火墙、入侵检测和/或入侵预防设备)、服务器、计算机终端、膝上型电脑、打印机、数据库、无线移动设备(诸如蜂窝电话或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器或其他路由器。
服务提供方网络通常为诸如客户网络140的客户网络提供多种住宅和商业服务,包括住宅和商业类数据服务(其通常被称为“互联网服务”,因为这些数据服务准许访问被称为互联网的公共可访问网络的集合)、住宅和商业类电话和/或语音服务、以及住宅和商业类电视服务。
在一些示例中,头端设备104、头端设备106和网络设备110可以实现有状态的、基于会话的路由方案,路由方案使得头端设备104、头端设备106和网络设备110中的每一项都能够独立地执行路径选择和流量工程。基于会话的路由的使用可以使得网络设备110能够避免使用集中式控制器,诸如软件定义网络(SDN)控制器来执行路径选择和流量工程。以这种方式,诸如头端设备104、头端设备106和网络设备110的路由器对于使用SDN控制器不可行的大型网络来说可能更加高效和可缩放。此外,使用基于会话的路由可以使得头端设备104、头端设备106和网络设备110能够避免使用隧道,从而通过消除在隧道端点处执行封装和解封装的需要来节省大量网络资源。在一些示例中,头端设备104、头端设备106和网络设备110将基于会话的路由实现为由瞻博网络公司(Juniper Networks,Inc.)提供的安全向量路由(SVR)。利用SVR,当从诸如VPLS 102的虚拟局域网(VLAN)接收到L2分组时,头端设备104或头端设备106可以将L2地址信息封装在L3报头中,以在诸如网络108的L3网络之上承载L2地址信息。这样的分组可以包括元数据,元数据包括L2网络中的设备(诸如网络设备110)的MAC地址,以及标识会话的L3信息。在一些示例中,头端设备104、头端设备106和网络设备110包括基于会话的路由器,诸如SVR上的以太网(EoSVR)路由器。
在图1的示例中,客户端设备100可以与客户端设备112建立会话。头端设备104、头端设备106和网络设备110可以通过在客户端设备100与客户端设备112之间传输网络流量来促进会话的建立。在一些示例中,客户端设备100可以被认为是“源”设备,因为客户端设备100始发从客户端设备100到客户端设备112的会话,例如,客户端设备100是会话的正向流的分组的“源”。在一些示例中,会话包括从客户端设备100始发并且去往客户端设备112的正向分组流。
在一些示例中,头端设备104、头端设备106和网络设备110可以使得用户网络140(L2网络)能够跨网络108(例如L3网络)延伸到VPLS 102(另一L2网络)。VPLS 102可以通过互联网协议/多协议层交换(MPLS)提供任何对任何(例如,多点对多点)的通信(例如,以通过MPLS L3承载虚拟专用网络的以太网L2分组,例如,将L2网络与L3网络集成)。尽管图1的示例讨论了VPLS 102,但是本公开的技术可以用于任何L2网络。
在图1的示例中,当头端设备104或头端设备106接收到从客户端设备100始发并且去往客户端设备112的正向分组流的分组时,头端设备104或头端设备106可以确定分组是否属于新会话(例如,是会话的“第一(first)”分组或“前导(lead)”分组)。在一些示例中,头端设备104或头端设备106可以确定第一分组的源地址、源端口、目的地地址、目的地端口、以及协议是否匹配会话表中的条目。
如果不存在这样的条目,则头端设备104或头端设备106可以确定分组属于新会话并且在会话表中创建条目。此外,如果分组属于新会话,则头端设备104或头端设备106可以生成针对会话的会话标识符。会话标识符可以包括例如客户端设备100的源地址和源端口、客户端设备112的目的地地址和目的地端口、以及第一分组所使用的协议。头端设备104或头端设备106可以使用会话标识符来将后续分组标识为属于同一会话。
在一些示例中,头端设备104或头端设备106可以为会话执行有状态路由。例如,头端设备104或头端设备106可以顺序地并且沿着相同的转发网络路径转发会话的正向分组流的每个分组。如本文描述,“相同”路径可以指形成始发分组的设备(例如,客户端设备100)与分组去往的设备(例如,客户端设备112)之间的路径的段或至少一部分的相同路由器,但不一定是始发分组的设备与分组去往的设备之间的整个网络路径。通过确保流的每个分组顺序地并且沿着相同的路径被转发,头端设备104或头端设备106保持整个流的状态,从而使得能够使用有状态分组服务,诸如深度分组检测(DPI)。
关于基于会话的路由的更多信息可在2021年6月24日提交的标题为“LAYER-2NETWORK EXTENSION OVER LAYER-3 NETWORK USING LAYER-2 METADATA”的美国专利申请第17/357,790号中找到,申请中的每个申请的全部内容都通过引用并入本文。
在传统的网络系统中,可以是活动路由器(例如,头端设备104可以具有到网络设备110的最低成本路径)的头端设备104和可以是后备路由器或冗余路由器(例如,头端设备106可以具有比头端设备104高的到网络设备110的成本路径)的头端设备106两者都向网络设备110发送地址解析协议(ARP)请求。这可能发生,因为VPLS 102可能不考虑头端设备104或头端设备106是网络设备110的活动路由器还是后备路由器。例如,客户端设备100可以经由VPLS 102向头端设备104和头端设备106两者发送ARP请求。ARP可以用于从互联网协议(IP)地址中发现设备的媒体访问控制(MAC)地址。ARP也可以用于将IP地址转换为以太网地址。在传统的网络系统中,当网络设备110接收到来自头端设备104和头端设备106两者的ARP请求时,网络设备110按照网络设备110接收到ARP请求的次序进行响应。因此,假设在网络设备110接收到来自头端设备106的ARP请求之前,网络设备110接收到来自头端设备104的ARP请求,则网络设备110首先向头端设备104发送ARP响应。如果网络设备110在接收到来自头端设备104的ARP请求之后接收到来自头端设备106的ARP请求,则网络设备110其次将向头端设备106发送ARP响应。头端设备104可能在头端设备106接收到ARP响应之前到接收ARP响应,因此客户端设备100可能在客户端设备100从头端设备106接收到ARP响应之前从头端设备104接收到ARP响应。因为客户端设备100在接收到来自头端设备104的ARP响应之后接收到来自头端设备106的ARP响应,所以客户端设备100可能更新客户端设备100的路由表,以指示客户端设备100应当向客户端设备112发送网络流量的路由是通过头端设备106(例如,备用路由器)。客户端设备100然后可以向头端设备106发送网络流量,即使头端设备106是备用,并且头端设备106与网络设备110之间的路由比头端设备104与网络设备110之间的路由使流量花费更长的时间穿越。这可能导致用于承载网络流量的次优且更昂贵的路由(例如,头端设备106和网络设备110之间的路由)。这可能增加时延并且浪费网络资源。
根据本公开的技术,网络设备110可以被配置为向特定网络设备(例如,头端设备104)发送ARP响应,而不管网络设备110从哪个网络设备接收ARP请求。例如,网络设备110可以被配置为接收来自活动网络设备(例如,头端设备104)的第一ARP请求114和来自备用网络设备(例如,头端设备106)的第二ARP请求116。响应于接收到第一ARP请求114和第二ARP请求116,网络设备110可以向活动网络设备发送第一ARP响应118。在一些示例中,网络设备110可以被配置为响应于接收到来自活动网络设备的第一ARP请求114和来自备用网络设备的第二ARP请求116,制止向备用网络设备发送第二ARP响应。尽管本公开主要讨论了作为ARP请求的请求和作为ARP响应的响应,但是本公开的技术可以应用于发起通信的任何类型的请求和对发起通信的请求的任何类型的响应。
例如,网络设备110可以被配置为仅向活动路由器或主要路由器(例如,头端设备104)发送ARP响应,而不向备用路由器或次要路由器(例如,头端设备106)发送ARP响应,除非活动路由器停机或者与活动路由器的通信是不可能的。例如,如果网络设备110从头端设备104和头端设备106两者都接收到ARP请求,则网络设备110将仅向头端设备104提供ARP响应。
在一些示例中,网络设备110可以最初被配置为确定活动路由器(例如,用于低成本路径的路由器),诸如头端设备104,并且采用单向的基于会话的路由,诸如通过网络设备110建立仅到头端设备104(例如,活动路由器)的L2会话。当网络设备110确定活动路由器时,网络设备110可在网络设备110的存储器中保存活动路由器的标识符,诸如网络地址。例如,当头端设备104从VPLS 102接收到ARP请求时,头端设备104可以向网络设备110发送具有包括针对单向正向流(单向流)的L2会话信息的元数据的分组,以建立第一会话并且向网络设备110发送第一ARP请求114。当头端设备106从VPLS 102接收到ARP请求时,头端设备106可以向网络设备110发送具有包括针对正向流(单向流)的L2会话信息的元数据的分组,以建立第二会话并且向网络设备110发送第二ARP请求116。响应于接收到第一ARP请求114,网络设备110可以在第三会话中向头端设备104发送包括针对正向流(单向流)的L2会话信息的第一ARP响应118。例如,网络设备110可以基于针对正向流的L2会话信息来确定从网络设备110到头端设备104的反向方向,并且可以建立到头端设备104的会话来发送ARP响应。以这种方式,响应于从头端设备106接收到ARP请求,网络设备110可以使用第三会话来向头端设备104发送ARP响应。通过经由第三会话向头端设备104响应来自头端设备106的ARP请求,网络设备110可以促进来自客户端设备100的网络流量流过活动路由器,头端设备104,诸如较低成本路径的路由器,因为客户端设备100更新客户端设备100的路由表以指示流量应流过头端设备104而不是流过通过头端设备106的次优路由。
尽管关于VPLS 102讨论了图1的示例,但是本公开的技术可以应用于活动网络设备和备用网络设备两者都可以向另一个网络设备(诸如网络设备110)发送发起通信的请求的任何情况。在一些示例中,ARP请求可以被包含在分组报头中。
图2是示出根据本公开的技术的示例计算设备200的框图。通常,计算设备200可以是图1的网络设备110的示例实现。图2示出了包括处理电路系统202的服务器或其他计算设备200的特定示例,处理电路系统202用于执行应用222、路由组件250或本文描述的任何其他计算设备中的任一项或多项。计算设备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可以包括易失性存储器,这意味着当计算机关闭时,(多个)存储设备208不保持存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及其他形式的易失性存储器。在一些示例中,(多个)存储设备208存储用于由处理电路系统202执行的程序指令。在一个示例中,(多个)存储设备208被运行在计算设备200上的软件或应用用来在程序执行期间临时存储信息。
在一些示例中,(多个)存储设备208还包括一个或多个计算机可读存储介质。(多个)存储设备208可以被配置为比易失性存储器存储更大量的信息。(多个)存储设备208还可以被配置用于信息的长期存储设备。在一些示例中,(多个)存储设备208包括非易失性存储元件。这样的非易失性存储元件的示例包括磁性硬盘、光盘、软盘、闪存存储器、或各种形式的电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器。
在一些示例中,计算设备200还包括一个或多个通信单元206。在一个示例中,计算设备200利用(多个)通信单元206以经由一个或多个网络(诸如一个或多个有线/无线/移动网络)与外部设备通信。(多个)通信单元206可以包括网络接口,诸如以太网卡、光收发器、射频收发器或能够发送和接收信息的任何其他类型的设备。这样的网络接口的其他示例可以包括3G和WiFi无线电。在一些示例中,(多个)通信单元206可以包括多个高速网络接口卡。在一些示例中,计算设备200使用(多个)通信单元206来与外部设备通信。例如,计算设备200使用(多个)通信单元206经由(多个)通信单元206所连接的图1的链路16与图1的其他路由器110和/或客户端设备100通信。
在一个示例中,计算设备200还包括一个或多个用户接口设备210。在一些示例中,(多个)用户接口设备210被配置为通过触觉、音频或视频反馈接收来自用户的输入。(多个)用户接口设备210的示例包括存在敏感显示器、鼠标、键盘、语音响应系统、相机、麦克风或用于检测来自用户的命令的任何其他类型的设备。在一些示例中,存在敏感显示器包括触敏屏幕。在一些示例中,诸如管理员的用户可以录入针对计算设备200的配置数据。
一个或多个输出设备212也可以被包括在计算设备200中。在一些示例中,(多个)输出设备212被配置为使用触觉、音频或视频刺激向用户提供输出。在一个示例中,(多个)输出设备212包括对存在敏感的显示器、声卡、视频图形适配器卡、或者用于将信号转换成人类或机器可理解的适当形式的任何其他类型的设备。(多个)输出设备212的其他示例包括扬声器、阴极射线管(CRT)监控器、液晶显示器(LCD)、或者能够向用户生成可理解输出的任何其他类型的设备。
计算设备200可以包括操作系统216。在一些示例中,操作系统216控制计算设备200的组件的操作。例如,在一个示例中,操作系统216促进一个或多个应用222与处理电路系统202、(多个)通信单元206、(多个)存储设备208、(多个)输入设备204、(多个)用户接口设备210和(多个)输出设备212的通信。应用222还可以包括由计算设备200可执行的程序指令和/或数据。
在一些示例中,处理电路系统202执行路由组件250,路由组件确定接收到的分组的路由并且对应地转发分组。路由组件250可以与其他路由器(例如,诸如图1的路由器110)通信,以建立并且维护用于在一个或多个客户设备之间传输网络流量的计算机网络(诸如图1的计算机网络系统2)。路由组件250的路由协议守护程序(RPD)254可以执行软件指令来实现一个或多个控制平面联网协议256。例如,协议256可以包括一个或多个路由协议,诸如互联网组管理协议(IGMP)221和/或边界网关协议(BGP)220,用于与其他路由设备交换路由信息,以及用于更新路由信息库(RIB)252、多协议标签交换(MPLS)协议215和其他路由协议。协议256还可以包括一个或多个通信会话协议,诸如TCP、UDP、TLS或ICMP。
路由信息252可以描述计算设备200驻留其中的计算机网络的拓扑,并且还可以包括通过计算机网络中的共享树的路由。路由信息252可以描述计算机网络内的各种路由,以及针对每个路由的适当的下一跳,例如,沿着路由中的每个路由的相邻路由设备。路由信息252可以被编程到专用转发芯片、一系列表、复杂数据库、链表、基数树、数据库、平面文件或各种其他数据结构中。
会话信息235可以存储用于标识会话的信息。在一些示例中,会话信息235是会话表的形式。例如,服务信息232可以包括指定会话标识符的一个或多个条目。在一些示例中,会话标识符包括与会话的正向分组流和/或反向分组流(例如,在双向会话的情况下)相关联的源地址、源端口、目的地地址、目的地端口或协议中的一项或多项。如上面描述的,当路由组件250接收到从客户端设备100始发并且去往图1的客户端设备112的正向分组流的分组时,路由组件250可以确定分组是否属于新会话(例如,是会话的“第一”分组或“前导”分组)。为了确定分组是否属于新会话,路由组件250可以确定会话信息235是否包括与第一分组的源地址、源端口、目的地地址、目的地端口和协议对应的条目。如果条目存在,则会话不是新会话。如果不存在条目,则会话是新的并且路由组件250可以生成针对会话的会话标识符并且将会话标识符存储在会话信息235中。此后,路由组件250可以使用被存储在会话信息235中的针对会话的会话标识符来将后续分组标识为属于同一会话。
服务信息232可以存储信息,路由组件250可以使用该信息来标识与会话相关联的服务。在一些示例中,服务信息232是服务表的形式。例如,服务信息232可以包括一个或多个条目,该一个或多个条目指定服务标识符以及与服务相关联的源地址、源端口、目的地地址、目的地端口或协议中的一项或多项。在一些示例中,路由组件250可以向服务信息232查询接收到的分组的会话的源地址、源端口、目的地地址、目的地端口或协议中的一项或多项,以确定与会话相关联的服务。例如,路由组件250可以基于服务信息232中的源地址、源端口、目的地地址、目的地端口或协议与由会话标识符指定的源地址、源端口、目的地地址、目的地端口或协议的对应性来确定服务标识符。路由组件250可以基于与分组相关联的服务来检索对应于所标识的服务的一个或多个服务策略234。服务策略可以包括例如路径故障转移策略、动态主机配置协议(DHCP)标记策略、流量工程策略、与会话相关联的网络流量的优先级等。路由组件250可以对分组应用对应于与分组相关联的服务的一个或多个服务策略234。
计算设备200可以将活动路由器的标识符存储在活动网络设备236中。例如,参考图1,计算设备200可以将头端设备104的网络地址存储为活动路由器。
根据本公开的技术,计算设备200可以接收来自活动网络设备(例如,头端设备104)的第一ARP请求114和来自备用网络设备(例如,头端设备106)的第二ARP请求116。响应于接收到第一ARP请求和第二ARP请求,计算设备200可以向活动网络设备发送第一ARP响应118。例如,网络设备110可以被配置为响应于接收来自活动网络设备(例如,头端设备104)的第一ARP请求114和来自备用网络设备(例如,头端设备106)的第二ARP请求116,向活动网络设备发送第一ARP响应118。在一些示例中,网络设备110可以被配置为响应于接收到来自活动网络设备的第一ARP请求114和来自备用网络设备的第二ARP请求116,制止向备用网络设备发送第二ARP响应。
例如,当计算设备200接收到来自头端设备104或头端设备106的第一ARP请求114时,计算设备200可在活动网络设备236中查找活动路由器。由于活动路由器是头端设备104,所以计算设备200可以向头端设备104发送第一ARP响应118。当计算设备200接收到来自头端设备106的第二ARP请求116时,计算设备200可以在活动网络设备236中查找活动路由器。因为活动路由器不是头端设备106,所以计算设备200可以制止向头端设备106发送ARP响应。如果头端设备104停机或如果与头端设备104的连接性丢失,则计算设备200将仅接收来自头端设备106的ARP请求。在这样的情况下,网络设备110可以向头端设备106发送ARP响应。
图3是示出根据本公开的技术的示例操作的流程图。尽管关于图2的计算设备200描述了图3的示例,但是图3的技术可以由其他网络设备来执行。
计算设备200可以接收来自活动网络设备的第一ARP请求和来自备用网络设备的第二ARP请求(300)。例如,计算设备200可以经由第一会话接收来自头端设备104的第一ARP请求114并且可以经由第二会话接收来自头端设备106的第二ARP请求116(全部是图1)。
计算设备200可以响应于接收到第一ARP请求和第二ARP请求,向活动网络设备发送第一ARP响应(302)。例如,计算设备200可在接收到第一ARP请求114和第二ARP请求116之后,在活动网络设备236(图2)中查找哪个网络设备是活动网络设备,确定头端设备104是活动路由器,并且基于头端设备104是活动路由器而向头端设备104发送第一ARP响应118。
在一些示例中,在发送第一ARP响应之前,计算设备200确定活动网络设备是活动网络设备。在一些示例中,计算设备200通过在存储器中查找活动网络设备(例如,活动网络设备236)的标识符来确定活动网络设备是活动网络设备。在一些示例中,标识符包括网络地址。在一些示例中,计算设备200是基于会话的路由器。在一些示例中,计算设备200是基于安全向量路由的以太网(Ethenet over secure vector)设备。
在一些示例中,计算设备200接收第一ARP请求114和第二ARP请求两者,并且计算设备200制止向备用网络设备(例如,头端设备106)发送第二ARP响应。
在一些示例中,第一ARP请求114在从活动网络设备(例如,头端设备104)到网络设备110的第一单向会话中,第二ARP请求116在从备用网络设备(例如,头端设备106)到网络设备110的第二单向会话中,并且第一ARP响应118在从网络设备110到活动网络设备(例如,头端设备104)的第三单向会话中。在一些示例中,第一ARP请求114和第二ARP请求116被被计算设备200接收之前穿越虚拟专用局域网服务(例如,VPLS 102)。
本公开中描述的技术可以至少部分地在硬件、软件、固件或其任何组合中实现。例如,所描述的技术的各个方面可在一个或多个处理器(包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或分立逻辑电路系统以及此类组件的任意何组合)内实现。术语“处理器”或“处理电路系统”通常可以指任一前述逻辑电路系统,单独或与其他逻辑电路系统相结合,或者任何其他等效电路系统。包括硬件的控制单元也可以执行本公开的技术中的一个或多个技术。
这样的硬件、软件和固件可以在同一设备内或者在单独的设备内实现,以支持本公开中描述的各种操作和功能。此外,任何所描述的单元、模块或组件可以一起实现或单独实现为分立但可互操作的逻辑设备。将不同的特征描述为模块或单元意图强调不同的特征方面并且不一定意味着这些模块或单元必须由单独的硬件组件或软件组件来实现。而是,与一个或多个模块或单元相关联的功能性可以由单独的硬件组件或软件组件来执行,或集成在公共或单独的硬件组件或软件组件内。
本公开中描述的技术也可以在包含指令的计算机可读介质中被体现或被编码,诸如计算机可读存储介质。例如,当指令被执行时,嵌入或编码在计算机可读存储介质中的指令可以使得可编程处理器或其他处理器执行方法。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、山鹑存储器、硬盘、CD-ROM、软盘、磁带、磁介质、光介质或其他计算机可读介质。
已经描述了各种示例。这些和其他示例在以下权利要求的范围内。
Claims (17)
1.一种设备,包括:
一个或多个处理器;
存储器,被耦合到所述一个或多个处理器,所述存储器存储指令,所述指令在执行时使一个或多个处理器:
接收来自活动网络设备的第一地址解析协议ARP请求和来自备用网络设备的第二ARP请求;以及
响应于接收到所述第一ARP请求和所述第二ARP请求,向所述活动网络设备发送第一ARP响应。
2.根据权利要求1所述的设备,其中所述指令还使所述一个或多个处理器:
在发送所述第一ARP响应之前,确定所述活动网络设备是所述活动网络设备。
3.根据权利要求2所述的设备,其中所述指令使所述一个或多个处理器:通过在所述存储器中查找所述活动网络设备的标识符来确定所述活动网络设备是所述活动网络设备。
4.根据权利要求3所述的设备,其中所述标识符包括网络地址。
5.根据权利要求1至4中任一项所述的设备,其中所述设备包括基于会话的路由器。
6.根据权利要求1至4中任一项所述的设备,其中所述指令还使所述一个或多个处理器:制止向所述备用网络设备发送第二ARP响应。
7.根据权利要求1至4中任一项所述的设备,其中所述第一ARP请求包括从所述活动网络设备到所述设备的第一单向会话,所述第二ARP请求包括从所述备用网络设备到所述设备的第二单向会话,并且所述第一ARP响应包括从所述设备到所述活动网络设备的第三单向会话。
8.根据权利要求1至4中任一项所述的设备,其中所述第一ARP请求和所述第二ARP请求在由所述设备接收之前穿越虚拟专用局域网服务。
9.一种方法,包括:
由设备接收来自活动网络设备的第一地址解析协议ARP请求和来自备用网络设备的第二ARP请求;以及
响应于接收到所述第一ARP请求和所述第二ARP请求,由所述设备向所述活动网络设备发送第一ARP响应。
10.根据权利要求9所述的方法,还包括:
在发送所述第一ARP响应之前,由所述设备确定所述活动网络设备是所述活动网络设备。
11.根据权利要求10所述的方法,其中确定所述活动网络设备是所述活动网络设备包括:在存储器中查找所述活动网络设备的标识符。
12.根据权利要求11所述的方法,其中所述标识符包括网络地址。
13.根据权利要求9至12中任一项所述的方法,其中所述设备包括基于会话的路由器。
14.根据权利要求9至12中任一项所述的方法,还包括:
由所述设备制止向所述备用网络设备发送第二ARP响应。
15.根据权利要求9至12中任一项所述的方法,其中所述第一ARP请求包括从所述活动网络设备到所述设备的第一单向会话,所述第二ARP请求包括从所述备用网络设备到所述设备的第二单向会话,并且所述第一ARP响应包括从所述设备到所述活动网络设备的第三单向会话。
16.根据权利要求9至12中任一项所述的方法,其中所述第一ARP请求和所述第二ARP请求在被所述设备接收之前穿越虚拟专用局域网服务。
17.一种编码有指令的计算机可读存储介质,所述指令用于使一个或多个可编程处理器执行权利要求9至16中任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163263264P | 2021-10-29 | 2021-10-29 | |
US63/263,264 | 2021-10-29 | ||
US17/649,634 | 2022-02-01 | ||
US17/649,634 US11706185B2 (en) | 2021-10-29 | 2022-02-01 | Address resolution protocol (ARP) response to ARP requests |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116074244A true CN116074244A (zh) | 2023-05-05 |
Family
ID=81346619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210440789.7A Pending CN116074244A (zh) | 2021-10-29 | 2022-04-25 | 基于安全向量路由的以太网高可用性点对点连接性 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11706185B2 (zh) |
EP (1) | EP4175254A1 (zh) |
CN (1) | CN116074244A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1294137A1 (en) * | 2001-09-17 | 2003-03-19 | Ragula Systems (dba Fatpipe Networks) | Parallel use of routers for increasing bandwidth and redundancy towards an external network |
TW201421232A (zh) * | 2012-11-19 | 2014-06-01 | Ibm | 在一冗餘群組中實施故障備援的方法、裝置與電腦程式產品 |
EP4173237A1 (en) | 2020-06-24 | 2023-05-03 | Juniper Networks, Inc. | Layer-2 network extension over layer-3 network using layer-2 metadata |
US20220206908A1 (en) * | 2020-12-30 | 2022-06-30 | Oracle International Corporation | Techniques for replicating state information for high availability |
-
2022
- 2022-02-01 US US17/649,634 patent/US11706185B2/en active Active
- 2022-03-31 EP EP22165909.7A patent/EP4175254A1/en active Pending
- 2022-04-25 CN CN202210440789.7A patent/CN116074244A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11706185B2 (en) | 2023-07-18 |
EP4175254A1 (en) | 2023-05-03 |
US20230136743A1 (en) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10757006B1 (en) | Enhanced traffic flow in software-defined networking controller-based architecture | |
US8750288B2 (en) | Physical path determination for virtual network packet flows | |
US10193812B2 (en) | Multicast load balancing in multihoming EVPN networks | |
US8953441B2 (en) | Re-routing network traffic after link failure | |
US8755377B2 (en) | Facilitating operation of one or more virtual networks | |
US9448821B2 (en) | Method and system for realizing virtual machine mobility | |
EP3188409A1 (en) | Oam mechanisms for evpn active-active services | |
US20160065503A1 (en) | Methods, systems, and computer readable media for virtual fabric routing | |
US20210014158A1 (en) | Network Device Management Method and Apparatus, and System | |
US11665088B2 (en) | Assisted replication in software defined network | |
CN111756566B (zh) | 支持和不支持issu装置的混合网络中软件升级部署 | |
US12047277B2 (en) | Point-to-multipoint layer-2 network extension over layer-3 network | |
WO2022001669A1 (zh) | 建立vxlan隧道的方法及相关设备 | |
US20230291682A1 (en) | Method and device for processing data packet, storage medium, and electronic device | |
EP3965368B1 (en) | Replication mode selection for multicast in evpn | |
WO2021082803A1 (zh) | 路由信息传输方法及装置、数据中心互联网络 | |
US11228459B2 (en) | Anycast address configuration for extended local area networks | |
JP2022044029A (ja) | データ伝送方法、装置、およびネットワークデバイス | |
US11706185B2 (en) | Address resolution protocol (ARP) response to ARP requests | |
US11218918B2 (en) | Fast roaming and uniform policy for wireless clients with distributed hashing | |
US12003379B2 (en) | Service and topology exchange protocol having client-driven active-active repositories with high availability | |
US12041162B2 (en) | Inline security key exchange | |
WO2022053007A1 (zh) | 网络可达性验证方法及装置、计算机存储介质 | |
US20240214292A1 (en) | Multicast tracing in hybrid networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |