用于探测不可达虚拟接口的状态的装置、系统和方法与流程

文档序号:21719179发布日期:2020-08-05 01:08阅读:108来源:国知局
用于探测不可达虚拟接口的状态的装置、系统和方法与流程

本公开的实施例涉及用于探测在远程物理接口上被分区的不可达虚拟接口的状态的装置、系统和方法。



背景技术:

网络设备(诸如路由器和交换机)通常用于在网络内和/或跨网络转发业务。这些网络设备可以表示和/或形成这种网络的基础设施。在一些示例中,这些网络设备可以包括和/或容纳各种物理接口,诸如网络接口卡(nic)。当这些物理接口是向上和/或活动的时候,它们可能能够将业务转发到下一跳。遗憾的是,当这些物理接口是向下和/或不活动的时候,它们可能无法将这种业务转发到下一跳。

尽管某些物理接口偶尔变为不活动,但为了便于和/或保持业务的流动,这种物理接口的状态可能很重要。因此,这些物理接口可以远程探测彼此的状态,以便于在必要时重定向业务。在一些示例中,这些物理接口每个可以在逻辑上被分区为多个虚拟接口。遗憾的是,常规的探测技术可能无法确定在这种物理接口上被分区的远程虚拟接口的状态。

因此,本公开内容标识并且解决了对用于探测在远程物理接口上被分区的不可达虚拟接口的状态的附加和改进的装置、系统和方法的需求。



技术实现要素:

如下面将更详细描述的,本公开总体上涉及用于探测在远程物理接口上被分区的不可达虚拟接口的状态的装置、系统和方法。在一个示例中,一种用于完成这样的任务的方法可以包括:(1)在网络内的代理节点处从网络内的探测节点接收回波请求,(2)在回波请求内标识要与回波请求相关地执行的探测类型,(3)至少部分地基于在回波请求内标识的探测类型来确定代理节点上包括的代理接口将要探测在物理接口上被分区的虚拟接口的状态,(4)经由代理接口通过被分配给虚拟接口的虚拟功能索引来探测在物理接口上被分区的虚拟接口的状态,并且然后(5)向探测节点发送标识在物理接口上被分区的虚拟接口的状态的回波应答。

类似地,一种实现上述方法的系统可以包括被配置为执行存储在代理节点上的存储器中的各种模块的物理处理器。在一个示例中,该系统可以包括和/或执行:(1)从网络内的探测节点接收回波请求的接收模块,(2)标识模块,其(a)在回波请求内标识要与回波请求相关地执行的探测类型,并且(b)至少部分地基于在回波请求内标识的探测类型来确定代理节点上包括的代理接口将要探测在物理接口上被分区的虚拟接口的状态,(3)经由代理接口通过被分配给虚拟接口的虚拟功能索引来探测在物理接口上被分区的虚拟接口的状态的探测模块,以及(4)向探测节点发送标识在物理接口上被分区的虚拟接口的状态的回波应答的应答模块。

附加地或备选地,一种实现上述方法的装置可以包括代理接口,该代理接口被通信地耦合到:(1)被包括在网络内的探测节点上的探测接口,以及(2)在物理接口上被分区的虚拟接口。该装置还可以包括被通信地耦合到代理接口的处理设备。在一个示例中,处理设备可以:(1)经由代理接口从网络内的探测节点接收回波请求,(2)在回波请求内标识要与回波请求相关地执行的探测类型,(3)至少部分地基于在回波请求内标识的探测类型来确定代理节点上包括的代理接口将要探测在物理接口上被分区的虚拟接口的状态,(4)经由代理接口通过被分配给虚拟接口的虚拟功能索引来探测在物理接口上被分区的虚拟接口的状态,以及(5)经由代理接口向探测节点发送标识在物理接口上被分区的虚拟接口的状态的回波应答。

根据本文中描述的一般原理,来自任何上述实施例的特征可以彼此组合使用。通过结合附图和权利要求阅读以下详细描述,将能够更全面地理解这些和其他实施例、特征和优点。

附图说明

附图图示了多个示例性实施例,并且是说明书的一部分。与以下描述一起,这些附图展示并且解释了本公开的各种原理。

图1是用于探测在远程物理接口上被分区的不可达虚拟接口的状态的示例性系统的框图。

图2是用于探测在远程物理接口上被分区的不可达虚拟接口的状态的另一示例性系统的框图。

图3是用于探测在远程物理接口上被分区的不可达虚拟接口的状态的示例性方法的流程图。

图4是在物理节点的多个物理接口上被分区的示例性虚拟接口的框图。

图5是对在远程物理接口上被分区的虚拟接口的探测的示例性回波请求的图示。

图6是标识在远程物理接口上被分区的虚拟接口的状态的示例性回波应答的图示。

图7是示例性计算系统的框图,该示例性计算系统能够实现本文中描述和/或说明的一个或多个实施例和/或与该一个或多个实施例结合地被使用。

在整个附图中,相同的附图标记和描述指示相似但不一定相同的元素。虽然本文中描述的示例性实施例易于进行各种修改和备选形式,但是特定实施例已经在附图中通过示例示出并且将在本文中详细描述。然而,本文中描述的示例性实施例不旨在限于所公开的特定形式。而是,本公开涵盖落入所附权利要求范围内的所有修改、等同物和替代物。

具体实施方式

本公开描述了用于探测在远程物理接口上被分区的不可达虚拟接口的状态的各种系统和方法。如下面将更详细解释的,本公开的实施例可以使得探测接口能够确定在远程物理接口上被分区的不可达虚拟接口的状态。例如,位于探测节点上的探测接口可能缺少与远程虚拟接口的直接连接性和/或通信。在该示例中,远程虚拟接口可以在位于探测节点上的物理接口上进行逻辑分区。

虽然探测节点和/或接口可能缺少与探测节点的直接连接性和/或通信,但是探测节点和/或接口可以具有与代理节点和/或接口的直接连接性和/或通信。该代理节点和/或接口还可以具有与探测节点、远程物理接口和/或虚拟接口的连接性和/或通信。

因此,位于探测节点上的探测接口可能能够通过向位于代理节点上的代理接口发出回波请求来探测在远程物理接口上被分区的虚拟接口的状态。在一个示例中,该回波请求可以至少部分地基于虚拟功能索引来提示代理接口对虚拟接口执行探测。响应于回波请求,代理接口可以探测位于探测节点上的远程物理接口,以获取在远程物理接口上被分区的虚拟接口的状态。该探测可以涉及通过到远程物理接口的虚拟功能索引来标识虚拟接口。

一旦代理接口已经成功探测到虚拟接口的状态,代理接口就可以向探测接口发送回波应答。在一个示例中,该回波应答可以标识虚拟接口的状态。以这种方式,探测接口可以能够确定在远程物理接口上被分区的虚拟接口的状态,尽管不具有与远程物理接口的直接连接性和/或通信。通过这样做,在某些虚拟接口离线和/或返回在线的情况下,探测接口可以能够便于、保持和/或重定向业务流。

下面将参考图1、图2和图4提供用于探测在远程物理接口上被分区的不可达虚拟接口的状态的示例性装置、系统和对应实现的详细描述。将结合图3提供对应的计算机实现的方法的详细描述。将结合图5和图6提供示例性回波请求和示例性回波应答的详细描述。另外,将结合图7提供用于执行这些方法的示例性计算系统的详细描述。

图1示出了便于探测在远程物理接口上被分区的不可达虚拟接口的状态的示例性系统100。如图1所示,系统100可以包括用于执行一个或多个任务的一个或多个模块102。如下面将更详细说明的,模块102可以包括接收模块104、标识模块106、探测模块108和应答模块110。尽管被示出为分离的元件,但是图1中的模块102中的一个或多个可以表示单个模块或应用(诸如操作系统和/或探测应用)的部分。

在某些实施例中,图1中的模块102中的一个或多个可以表示在由计算设备执行时引起计算设备执行一个或多个任务的一个或多个软件应用或程序。例如,并且如下面将更详细描述的,模块102中的一个或多个可以表示存储在一个或多个计算设备(诸如图2所示的设备(例如,代理节点206、探测节点218和/或物理节点208))上和被配置为在这样的一个或多个计算设备上运行的模块。图1中的模块102中的一个或多个还可以表示被配置为执行一个或多个任务的一个或多个专用计算机的全部或部分。

如图1所示,示例性系统100还可以包括一个或多个存储器设备,诸如存储器140。存储器140通常表示能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器140可以存储、加载和/或保持模块102中的一个或多个。存储器140的示例包括但不限于随机存取存储器(ram)、只读存储器(rom)、闪存、硬盘驱动器(hdd)、固态驱动器(ssd)、光盘驱动器、高速缓存、上述各项中的一个或多个的变体或组合、和/或任何其他合适的存储器。

如图1所示,示例性系统100还可以包括一个或多个物理处理器,诸如物理处理器130。物理处理器130通常表示能够解译和/或执行计算机可读指令的任何类型或形式的硬件实现的处理设备。在一个示例中,物理处理器130可以访问和/或修改存储在存储器140中的模块102中的一个或多个。附加地或备选地,物理处理器130可以执行模块102中的一个或多个以探测在远程物理接口上被分区的不可达虚拟接口的状态。物理处理器130的示例包括但不限于cpu、微处理器、微控制器、实现软核(softcore)处理器的现场可编程门阵列(fpga)、专用集成电路(asic)、上述各项中的一个或多个的部分、上述各项中的一个或多个相同的变体或组合、和/或任何其他合适的物理处理器。

如图1所示,示例性系统100还可以包括一个或多个接口,诸如代理接口120。在一些示例中,代理接口120可以包括和/或表示便于网络内和/或跨网络的业务流的物理和/或虚拟接口。例如,代理接口120可以包括和/或表示具有与网络内的其他接口的直接连接的nic。代理接口120的附加示例包括但不限于分组转发引擎、路由引擎、物理接口卡(pic)、灵活pic集中器(fpc)、交换接口板(sib)、控制板、通信端口、风扇托架、连接器接口面板、线卡、出口接口、入口接口、虚拟接口、上述各项中的一个或多个的部分、上述各项中的一个或多个的组合或变体、和/或任何其他合适的接口。

如图1所示,示例性系统100还可以包括一个或多个请求,诸如回波请求122。在一些示例中,回波请求122可以包括和/或表示互联网控制消息协议(icmp)扩展回波请求。在一个示例中,icmp扩展回波请求可以在icmpv4和/或icmpv6中被格式化和/或针对其被定义。附加地或备选地,icmp扩展回波请求可以包括和/或被封装在互联网协议(ip)报头中,诸如ipv4报头和/或ipv6报头。

在一些示例中,回波请求122可以包括一个或多个字段,诸如ip报头字段和/或icmp字段。在一个示例中,ip报头字段可以包括和/或标识针对回波请求122的源地址和/或目的地地址。源地址可以包括和/或表示回波请求122所源自的计算设备和/或接口的ip地址。目的地地址可以包括和/或表示用作代理的计算设备和/或接口的ip地址,该代理用于探测在远程物理接口上被分区的虚拟接口的状态。这种icmp字段的示例包括但不限于请求和/或探测的类型、代码、校验和、标识符、序列号、保留字段、本地比特、icmp扩展结构、上述各项中的一个或多个的组合或变体、和/或任何其他合适的字段。

如图1所示,示例性系统100还可以包括一个或多个应答,诸如回波应答124。在一些示例中,回波应答124可以包括和/或表示互联网控制消息协议(icmp)扩展回波应答。在一个示例中,icmp扩展回波应答可以在icmpv4和/或icmpv6中被格式化和/或针对其被定义。附加地或备选地,icmp扩展回波应答可以包括和/或被封装在ip报头中,诸如ipv4报头和/或ipv6报头。

在一些示例中,回波应答124可以包括一个或多个字段,诸如ip报头字段和/或icmp字段。在一个示例中,ip报头字段可以包括和/或标识针对回波应答124的源地址和/或目的地地址。源地址可以从回波请求122的目的地地址字段被复制。因此,源地址可以标识用作用于探测在远程物理接口上被分区的虚拟接口的状态的代理的计算设备和/或接口。目的地地址可以从回波请求122的源地址字段被复制。因此,目的地地址可以包括和/或表示回波请求122所源自的计算设备和/或接口的ip地址。这种icmp字段的示例包括但不限于请求和/或探测的类型、代码、校验和、标识符、序列号、状态字段、保留字段、活动位、ipv4位、ipv6位、上述各项中的一个或多个的组合或变体、和/或任何其他合适的字段。

图1中的示例性系统100可以以各种方式实现。例如,示例性系统100的全部或一部分可以表示图2中的示例性系统200的部分。如图2所示,系统200可以包括网络204。在一个示例中,网络204可以是探测节点218、代理节点206和/或物理节点208。备选地,并且如下面将更详细描述的,网络204可以包括探测节点218和代理节点206,但排除和/或省略物理节点208。

如图2所示,代理节点206可以包括和/或表示存储器140、物理处理器130和/或代理接口120。在一个示例中,代理节点206和/或代理接口120可以从探测节点218和/或探测接口220接收回波请求122。在该示例中,代理节点206和/或代理接口120可以将回波应答124发送到探测节点218和/或探测接口220。

例如,并且如下面将更详细描述的,模块102中的一个或多个可以引起代理节点206(1)从网络204内的探测节点218接收回波请求122,(2)在回波请求122内标识要与回波请求122相关地执行的探测类型,(3)至少部分地基于在回波请求122内标识的探测类型来确定代理节点206上包括的代理接口120将要探测在物理接口210上被分区的虚拟接口的状态,(4)经由代理接口120通过被分配给虚拟接口的虚拟功能索引来探测在物理接口210上被分区的虚拟接口的状态,并且然后(5)向探测节点218发送标识在物理接口210上被分区的虚拟接口的状态的回波应答124。

代理节点206通常表示能够读取计算机可执行指令和/或处理网络业务的任何类型或形式的物理计算设备。在一个示例中,代理节点206可以包括和/或表示接收、路由、转发和/或以其他方式处理网络业务的路由器(诸如提供者边缘路由器、集线器(hub)路由器、轮辐式(spoke)路由器、自治系统边界路由器和/或区域边界路由器)。代理节点206的附加示例包括但不限于交换机、集线器、调制解调器、桥接器、中继器、网关、多路复用器、网络适配器、网络接口、客户端设备、膝上型电脑、平板电脑、台式机、服务器、蜂窝电话、个人数字助理(pda)、多媒体播放器、嵌入式系统、可穿戴设备、游戏控制台、上述各项中的一个或多个的变体或组合、和/或任何其他合适的网络设备。用于探测在远程物理接口上被分区的不可达虚拟接口的状态的装置可以包括和/或表示代理节点206的全部或一部分。

探测节点218通常表示能够读取计算机可执行指令和/或处理网络业务的任何类型或形式的物理计算设备。在一个示例中,探测节点218可以包括和/或表示接收、路由、转发和/或以其他方式处理网络业务的路由器(诸如提供者边缘路由器、集线器路由器、轮辐式路由器、自治系统边界路由器和/或区域边界路由器)。探测节点218的其他示例包括但不限于交换机、集线器、调制解调器、桥接器、中继器、网关、多路复用器、网络适配器、网络接口、客户端设备、膝上型电脑、平板电脑、台式机、服务器、蜂窝电话、个人数字助理(pda)、多媒体播放器、嵌入式系统、可穿戴设备、游戏控制台、上述各项中的一个或多个的变体或组合、和/或任何其他合适的网络设备。用于探测在远程物理接口上被分区的不可达虚拟接口的状态的装置可以包括和/或表示探测节点218的全部或一部分。

如图2所示,探测节点218可以包括和/或包含探测接口220。在一个示例中,探测接口220可以包括和/或表示具有与网络204内的代理接口120的直接连接的nic。探测接口220的附加示例包括但不限于分组转发引擎、路由引擎、物理接口卡(pic)、灵活pic集中器(fpc)、交换接口板(sib)、控制板、通信端口、风扇托架、连接器接口面板、线卡、出口接口、入口接口、虚拟接口、上述各项中的一个或多个的部分、上述各项中的一个或多个的组合或变体、和/或任何其他合适的接口。

物理节点208通常表示能够读取计算机可执行指令和/或处理网络业务的任何类型或形式的物理计算设备。在本公开中,物理节点208可以表示和/或对应于被探测的节点。换言之,物理节点208可以是至少部分由于回波请求122而处于探测下的节点。在一些示例中,物理节点208可以实现单根输入/输出虚拟化(sr-iov)。在一个示例中,物理节点208可以包括和/或表示接收、路由、转发和/或以其他方式处理网络业务的路由器(诸如提供者边缘路由器、集线器路由器、轮辐式路由器、自治系统边界路由器和/或区域边界路由器)。物理节点208的其他示例包括但不限于交换机、集线器、调制解调器、桥接器、中继器、网关、多路复用器、网络适配器、网络接口、客户端设备、膝上型电脑、平板电脑、台式机、服务器、蜂窝电话、个人数字助理(pda)、多媒体播放器、嵌入式系统、可穿戴设备、游戏控制台、上述各项中的一个或多个的变体或组合、和/或任何其他合适的网络设备。用于探测在远程物理接口上被分区的不可达虚拟接口的状态的装置可以包括和/或表示物理节点208的全部或一部分。

如图2所示,物理节点208可以包括和/或包含物理接口210。在本公开中,物理接口210可以支持和/或保持到被探测的虚拟接口。换言之,在物理接口210上被分区的虚拟接口可以是至少部分由于回波请求122而正在探测的接口。在一个示例中,物理接口210可以包括和/或表示具有与网络204内的代理接口120的直接连接的nic。物理接口210的附加示例包括但不限于分组转发引擎、路由引擎、物理接口卡(pic)、灵活pic集中器(fpc)、交换接口板(sib)、控制板、通信端口、风扇托架、连接器接口面板、线卡、出口接口、入口接口、虚拟接口、上述各项中的一个或多个的部分、上述各项中的一个或多个的组合或变体、和/或任何其他合适的接口。

网络204通常表示能够便于通信或数据传输的任何介质或架构。在一个示例中,网络204可以包括探测节点218、代理节点206和/或物理节点208。附加地或备选地,网络204可以便于探测节点218、代理节点206和/或物理节点208之间的通信。在该示例中,网络204可以使用无线和/或有线连接来便于通信或数据传输。网络204的示例包括但不限于内联网、广域网(wan)、局域网(lan)、个域网(pan)、互联网、电力线通信(plc)、蜂窝网络(例如,全球移动通信系统(gsm)网络)、上述各项中的一个或多个的部分、上述各项中的一个或多个的变体或组合、和/或任何其他合适的网络。

图3是用于探测在远程物理接口上被分区的不可达虚拟接口的状态的示例性的计算机实现的方法300的流程图。图3所示的步骤可以由任何合适的计算机可执行代码和/或计算系统执行,包括图1中的系统100、图2中的系统200、图4中的物理节点208、图7中的系统700、和/或上述各项中的一个或多个的变体或组合。在一个示例中,图3所示的每个步骤可以表示算法,该算法的结构包括多个子步骤和/或由多个子步骤表示,多个子步骤的示例将在下面更详细地被提供。

如图3所示,在步骤310,本文中描述的系统中的一个或多个可以在网络内的代理节点处从网络内的探测节点接收回波请求。例如,作为图2中的代理节点206和/或代理接口120的一部分,接收模块104可以从网络204内的探测节点218接收回波请求122。在该示例中,回波请求122可以被配置为、被构造为和/或旨在指示代理节点206和/或代理接口120,以代表探测节点218和/或探测接口220来探测不可达虚拟接口的状态。

本文中描述的系统可以以各种不同的方式和/或在各种不同的上下文中执行步骤310。在一些示例中,接收模块104可以监测代理节点206和/或代理接口120以获取icmp回波请求。例如,探测节点218和/或探测接口220可能无法到达在物理节点208的物理接口210上被分区的虚拟接口。结果,探测节点218和/或探测接口220可能无法直接和/或在没有来自代理节点206和/或代理接口120的帮助下探测该虚拟接口的状态。

无法到达虚拟接口可能是由很多不同的原因和/或事件引起的。在一个示例中,虚拟接口可能是未编号的。在另一示例中,探测接口220和虚拟接口可能没有被直接彼此连接。在又一示例中,探测接口220可能仅运行ipv4,但是虚拟接口仅运行ipv6。相反,探测接口220可能仅运行ipv6,但是虚拟接口仅运行ipv4。在另一示例中,探测节点218和/或探测接口220可能缺少通向虚拟接口的路由。

尽管无法直接和/或无需协助地到达虚拟接口,但为了探测该虚拟接口的状态,探测节点218和/或探测接口220可以生成回波请求122并且将其发送到代理节点206和/或代理接口120。然后,当回波请求122到达代理节点206和/或代理接口120时,接收模块104可以检测、获取和/或接收回波请求122。以这种方式,代理节点206和/或代理接口120可以能够代表探测节点218和/或探测接口220启动对该虚拟接口的状态的探测。

返回图3,在步骤320,本文中描述的系统中的一个或多个可以在回波请求内标识要与回波请求相关地执行的探测类型。例如,作为图2中的代理节点206和/或代理接口120的一部分,标识模块106可以标识在回波请求122中指定和/或请求的探测类型。在该示例中,在回波请求122内标识的探测类型可以是虚拟功能索引探测。换言之,所请求的探测可以依赖于虚拟功能索引来标识和/或查询物理节点208和/或物理接口210上的正确的虚拟接口。

本文中描述的系统可以以各种不同的方式和/或在各种不同的上下文中执行步骤320。在一些示例中,标识模块106可以在回波请求122中搜索由探测节点218和/或探测接口220请求的探测类型。在这样的示例中,回波请求122可以被构造和/或格式化以携带标识特定位置中的探测类型的信息。例如,如图5所示,回波请求122可以包括表示与探测有关的有意义数据的各种片段和/或部分。在该示例中,标识模块106可以搜索专用于携带标识所请求的探测类型的信息的片段和/或部分。在搜索期间,标识模块106可以标识表示专用于携带标识所请求的探测类型的信息的片段和/或部分内的探测类型的值。

返回图3,在步骤330,本文中描述的系统中的一个或多个可以至少部分地基于探测类型来确定代理节点上包括的代理接口将要探测在物理接口上被分区的虚拟接口的状态。例如,作为图2中的代理节点206和/或代理接口120的一部分,标识模块106可以确定代理接口120将要探测在物理接口210上被分区的虚拟接口的状态。在该示例中,代理接口120可以代表探测节点218和/或探测接口220执行虚拟接口的该探测。

本文中描述的系统可以以各种不同的方式和/或在各种不同的上下文中执行步骤330。在一些示例中,标识模块106可以将代理接口120标识为用作用于探测在物理接口210上被分区的虚拟接口的状态的代理的代理接口。例如,标识模块106可以在回波请求122中搜索目的地地址。在该示例中,目的地地址可以表示和/或对应于将要代表探测节点218和/或探测接口220执行探测的接口。

标识模块106还可以搜索标识在物理接口210上被分区的虚拟接口的icmp扩展结构。在一个示例中,并且如图5所示,icmp扩展结构可以表示包括和/或标识被分配给被探测的虚拟接口的虚拟功能索引的字段。该虚拟功能索引可以标识和/或用于标识被探测的虚拟接口。

在一些示例中,icmp扩展结构可以包括报头和/或接口标识对象。接口标识对象可以包括和/或指定被分配给正在探测的虚拟接口的虚拟功能索引。在一个示例中,虚拟功能索引可以是标识和/或表示正在探测的虚拟接口的正整数。在该示例中,虚拟功能索引可以是关于物理节点208和/或物理接口210的唯一标识符。换言之,标识物理节点208和/或物理接口210上的虚拟接口的正整数可以不被用来标识物理节点208和/或物理接口210上的任何其他虚拟接口。正整数可以特定于正在探测的虚拟接口。

在一个示例中,物理节点208可以将物理接口210在逻辑上被分区为各种虚拟接口。例如,如图4所示,物理节点208可以包括物理接口210(1)、210(2)、210(3)和210(4)。在该示例中,物理节点208可以经由sr-iov将每个物理接口210(1)-(4)在逻辑上被分区为多个虚拟接口。在一些实施例中,这些虚拟接口中的每个可以包括和/或表示由物理接口210(1)-(4)之一托管和/或实例化的虚拟机和/或虚拟接口卡。

作为特定示例,物理节点208可以创建在物理接口210(1)上共享和/或操作的虚拟接口424(1)-(n)。物理节点208可以创建在物理接口210(2)上共享和/或操作的虚拟接口434(1)-(n)。物理节点208可以创建在物理接口210(3)上共享和/或操作的虚拟接口444(1)-(n)。附加地或备选地,物理节点208可以创建在物理接口210(4)上共享和/或操作的虚拟接口454(1)-(n)。

在一个示例中,物理接口210(1)可以在逻辑上被分区虚拟接口424(1)-(n),和/或经由sr-iov实现具有虚拟接口424(1)-(n)的结构化通信方案(例如,“邮箱”系统)。例如,物理接口210(1)可以通过结构化通信方案对所有虚拟接口424(1)-(n)的相应状态进行ping和/或查询。附加地或备选地,一个或多个虚拟接口424(1)-(n)可以以规则的间隔和/或响应于事件而与物理接口210(1)共享它们各自的状态。

在一些示例中,虚拟接口424(1)-(n)可以与物理接口210(1)共享某些数据寄存器,和/或将它们各自的状态存储在这些寄存器中以供物理接口210(1)使用。虚拟接口424(1)-(n)可以被分配虚拟功能索引。这些虚拟功能索引可以彼此区分和/或索引虚拟接口424(1)-(n)的数据寄存器。

在一个示例中,标识模块106可以在回波请求122内标识目的地地址、虚拟功能索引和/或探测类型。在该示例中,标识模块106可以确定目的地地址对应于代理接口120并且探测类型是虚拟功能索引。结果,代理接口120可以使用在回波请求122内标识的虚拟功能索引来发起和/或执行探测。

在一个示例中,标识模块106还可以标识对正在探测的虚拟接口进行分区的物理接口的接口名称、索引和/或地址。作为特定示例,回波请求122可以包括和/或指定与物理接口210(1)相对应的接口名称、索引和/或地址。在该示例中,回波请求122还可以包括和/或标识与虚拟接口424(1)相对应的虚拟功能索引。因此,回波请求122可以被构造为和/或旨在提示代理接口120探测物理接口210(1)以获取虚拟接口424(1)的状态。

如图2所示,物理接口210可以被包括在物理节点208上,物理节点208与代理节点206分离且不同。然而,在其他示例中,代理接口和正在探测的物理接口可以均驻留在/或被包括在同一节点上。例如,尽管在图2中未以这种方式示出,但是代理接口120和物理接口210都可以单独驻留和/或被包括在代理节点206上。在该示例中,回波请求122可以被配置为、被构造为和/或旨在指示代理节点206和/或代理接口120代表探测节点218和/或探测接口220来探测不可达虚拟接口的状态。

在一些示例中,回波请求122可以包括指示以下各项的本地位:(1)代理接口和被探测的接口是否都位于同一节点上,或者(2)代理接口和被探测的接口是否位于分离的节点上。在这样的示例中,标识模块106可以在回波请求122中搜索本地位。然后,标识模块106可以确定被探测的接口是否位于代理节点206或分离的节点上。

返回图3,在步骤340,本文中描述的系统中的一个或多个可以经由代理接口通过被分配给虚拟接口的虚拟功能索引来探测在物理接口上被分区的虚拟接口的状态。例如,作为图2中的代理节点206和/或代理接口120的一部分,探测模块108可以探测在物理接口210上被分区的虚拟接口的状态。在该示例中,代理节点206和/或代理接口120可以代表探测节点218和/或探测接口220执行虚拟接口的该探测。

本文中描述的系统可以以各种不同的方式和/或在各种不同的上下文中执行步骤340。在一些示例中,探测模块108可以向物理接口210查询关于由在回波请求122中标识的虚拟功能索引表示的虚拟接口的状态。例如,探测模块108可以向物理接口210发送用于继续探测的消息和/或请求。在该示例中,消息和/或请求可以包括在回波请求122中标识的虚拟功能索引。

在从探测模块108接收到消息和/或请求之后,物理接口210可以在消息和/或请求内标识虚拟功能索引。物理接口210可以定位分配了该虚拟功能索引的虚拟接口的数据寄存器。然后,物理接口210可以检查数据寄存器以获取标识该虚拟接口的状态的信息。虚拟接口的状态的示例包括但不限于活动、不活动、不存在、接口不存在、不支持查询、上述各项中的一个或多个的组合和/或变体、和/或任何其他合适的状态。

在获取标识正在探测的虚拟接口的状态的信息之后,物理接口210可以生成包括状态信息的应答。物理接口210可以将应答发送到代理接口120以满足探测。当应答从物理接口210到达代理接口120时,代理接口120可以在应答内标识状态信息。

返回图3,在步骤350,本文中描述的系统中的一个或多个可以向探测节点发送标识在物理接口上被分区的虚拟接口的状态的回波应答。例如,作为图2中的代理节点206和/或代理接口120的一部分,应答模块110可以向探测节点218和/或探测接口220发送回波应答124。在该示例中,回波应答124可以被配置为、被构造为和/或旨在向探测节点218和/或探测接口220通知正在探测的虚拟接口的状态。

本文中描述的系统可以以各种不同的方式和/或在各种不同的上下文中执行步骤350。在一些示例中,应答模块110可以生成包括从物理接口210检索的状态信息的回波应答124。在一个示例中,如图6所示,回波应答124可以包括表示与探测有关的有意义数据的各种片段和/或部分。例如,回波应答124可以包括指示正在探测的虚拟接口是活动的还是不活动的活动位。应答模块110可以响应于和/或满足回波请求122而向探测节点218和/或探测接口220发送回波应答124。

在接收到回波应答124时,探测节点218和/或探测接口220可以在回波应答124内标识状态信息。在一些示例中,探测节点218和/或探测接口220可以记录状态信息以供被探测的虚拟接口参考和/或与被探测的虚拟接口一起使用。附加地或备选地,探测节点218和/或探测接口220可以至少部分地基于被探测的虚拟接口的状态来对网络204执行一个或多个动作。

作为特定示例,在被探测的虚拟接口当前不活动的事件中,探测节点218和/或探测接口220可以执行故障转移操作,该故障转移操作将网络业务从被探测的虚拟接口重定向到网络204内的另一接口。在另一示例中,探测节点218和/或探测接口220可以通告针对至少部分由于被探测的虚拟接口处于不活动状态而要求绕过被探测的虚拟接口的网络业务的路由。附加地或备选地,探测节点218和/或探测接口220可以通告至少部分由于被探测的虚拟接口处于活动状态而将网络业务定向到被探测的虚拟接口的路由。

图7是示例性计算系统700的框图,示例性计算系统700能够实现本文中描述和/或说明的一个或多个实施例和/或与该一个或多个实施例结合地被使用。在一些实施例中,计算系统700的全部或一部分可以单独地或与其他元件组合地执行结合图3描述的一个或多个步骤,和/或是用于单独地或与其他元件组合地执行结合图3描述的一个或多个步骤的部件。计算系统700的全部或一部分还可以执行本文中描述和/或图示的任何其他步骤、方法或过程,和/或是用于执行和/或实现本文中描述和/或示出的任何其他步骤、方法或过程的部件。

计算系统700广泛地表示任何类型或形式的电负载,包括能够执行计算机可读指令的单处理器或多处理器计算设备或系统。计算系统700的示例包括但不限于工作站、膝上型电脑、客户端侧终端、服务器、分布式计算系统、移动设备、网络交换机、网络路由器(例如,骨干路由器、边缘路由器、核心路由器、移动服务路由器、宽带路由器等)、网络设备(例如,网络安全设备、网络控制设备、网络定时设备、sslvpn(安全套接口层虚拟专用网络)设备等)、网络控制器、网关(例如,服务网关、移动分组网关、多访问网关、安全网关等)、和/或任何其他类型或形式的计算系统或设备。

计算系统700可以被编程、配置和/或以其他方式设计为符合一个或多个网络协议。根据某些实施例,计算系统700可以被设计为与开放系统互连(osi)参考模型的一个或多个层的协议一起工作,诸如物理层协议、链路层协议、网络层协议、运输层协议、会话层协议、表示层协议和/或应用层协议。例如,计算系统700可以包括根据以下各项而配置的网络设备:通用串行总线(usb)协议、电气和电子工程师协会(ieee)1394协议、以太网协议、t1协议、同步光纤网络(sonet)协议、同步数字系列(sdh)协议、综合业务数字网络(isdn)协议、异步传输模式(atm)协议、点对点协议(ppp)、以太网上的点对点协议(pppoe)、atm上的点对点协议(pppoa)、蓝牙协议、ieee802.xx协议、帧中继协议、令牌环协议、生成树协议和/或任何其他合适的协议。

计算系统700可以包括各种网络和/或计算组件。例如,计算系统700可以包括至少一个处理器714和系统存储器716。处理器714通常表示能够处理数据或解译和执行指令的任何类型或形式的处理单元。例如,处理器714可以表示专用集成电路(asic)、片上系统(例如,网络处理器)、硬件加速器、通用处理器和/或任何其他合适的处理元件。

处理器714可以根据上面讨论的一个或多个网络协议来处理数据。例如,处理器714可以执行或实现协议栈的一部分,可以处理分组,可以执行存储器操作(例如,对分组进行排队以供稍后处理),可以执行终端用户应用,和/或可以执行任何其他处理任务。

系统存储器716通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器716的示例包括但不限于随机存取存储器(ram)、只读存储器(rom)、闪存或任何其他合适的存储器设备。尽管不是必需的,但是在某些实施例中,计算系统700可以包括易失性存储器单元(诸如例如,系统存储器716)和非易失性存储设备(诸如例如,主存储设备732,如下面详细描述的)两者。系统存储器716可以被实现为网络设备中的共享存储器和/或分布式存储器。此外,系统存储器716可以存储在网络操作中使用的分组和/或其他信息。

在某些实施例中,除了处理器714和系统存储器716之外,示例性计算系统700还可以包括一个或多个组件或元件。例如,如图7所示,计算系统700可以包括存储器控制器718、输入/输出(i/o)控制器720和通信接口722,每个可以经由通信基础设施712互连。通信基础设施712通常表示能够便于计算设备的一个或多个组件之间的通信的任何类型或形式的基础设施。通信基础设施712的示例包括但不限于通信总线(诸如串行ata(sata)、行业标准架构(isa)、外围组件互连(pci)、pciexpress(pcie)和/或任何其他合适的总线)和网络。

存储器控制器718通常表示能够处理存储器或数据或者控制计算系统700的一个或多个组件之间的通信的任何类型或形式的设备。例如,在某些实施例中,存储器控制器718可以控制处理器714、系统存储器716和i/o控制器720之间经由通信基础设施712的通信。在一些实施例中,存储器控制器718可以包括可以传输数据(例如,分组)去往或来自链路适配器的直接存储器访问(dma)单元。

i/o控制器720通常表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的设备或模块。例如,在某些实施例中,i/o控制器720可以控制或便于计算系统700的一个或多个元件(诸如处理器714、系统存储器716、通信接口722和存储接口730)之间的数据传输。

通信接口722广泛地表示能够便于示例性计算系统700与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施例中,通信接口722可以便于计算系统700与包括附加计算系统的私有或公共网络之间的通信。通信接口722的示例包括但不限于链路适配器、有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)以及任何其他合适的接口。在至少一个实施例中,通信接口722可以经由到诸如互联网等网络的直接链路来提供到远程服务器的直接连接。通信接口722还可以通过例如局域网(诸如以太网)、个域网、广域网、专用网(例如,虚拟专用网)、电话或有线网络、蜂窝电话连接、卫星数据连接或任何其他合适的连接来间接地提供这种连接。

在某些实施例中,通信接口722还可以表示主机适配器,该主机适配器被配置为便于计算系统700与一个或多个附加网络或存储设备之间经由外部总线或通信信道的通信。主机适配器的示例包括但不限于小型计算机系统接口(scsi)主机适配器、通用串行总线(usb)主机适配器、ieee1394主机适配器、高级技术附件(ata)、并行ata(pata)、串行ata(sata)和外部sata(esata)主机适配器、光纤通道接口适配器、以太网适配器等。通信接口722还可以使得计算系统700能够参与分布式或远程计算。例如,通信接口722可以从远程设备接收指令或者向远程设备发送指令以供执行。

如图7所示,示例性计算系统700还可以包括经由存储接口730被耦合到通信基础设施712的主存储设备732和/或备用存储设备734。存储设备732和734通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备732和734可以表示磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口730通常表示用于在存储设备732和734与计算系统700的其他组件之间传输数据的任何类型或形式的接口或设备。

在某些实施例中,存储设备732和734可以被配置为从可移除存储单元读取和/或向其写入,该可移除存储单元被配置为存储计算机软件、数据或其他计算机可读信息。合适的可移除存储单元的示例包括但不限于软盘、磁带、光盘、闪存设备等。存储设备732和734还可以包括其他类似的结构或设备以用于允许将计算机软件、数据或其他计算机可读指令加载到计算系统700中。例如,存储设备732和734可以被配置为读取和写入软件、数据、或其他计算机可读信息。存储设备732和734可以是计算系统700的一部分,或者可以是通过其他接口系统访问的分离设备。

很多其他设备或子系统可以被连接到计算系统700。相反,并非图7所示的所有组件和设备都需要存在以实践本文中描述和/或说明的实施例。上面引用的设备和子系统也可以以不同于图7所示的方式互连。计算系统700还可以采用任何数目的软件、固件和/或硬件配置。例如,本文中公开的一个或多个示例性实施例可以被编码为计算机可读介质上的计算机程序(也称为计算机软件、软件应用、计算机可读指令或计算机控制逻辑)。术语“计算机可读介质”通常是指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于传输类型介质(诸如载波)和非瞬态类型介质(诸如磁存储介质(例如,硬盘驱动器和软盘)、光存储介质(例如,压缩盘(cd)和数字视频盘(dvd))、电子存储介质(例如,固态驱动器和闪存介质)以及其他分配系统)。

尽管前述公开内容使用特定框图、流程图和示例阐述了各种实施例,但是本文中描述和/或图示的每个框图组件、流程图步骤、操作和/或组件可以使用各种硬件、软件或固件(或其任何组合)配置单独地和/或集体地实现。另外,包含在其他组件内的组件的任何公开内容应当被认为是本质上示例性的,因为可以实现很多其他架构以实现相同的功能性。

在一些示例中,图1中的系统100的全部或一部分可以表示云计算或基于网络的环境的部分。云计算和基于网络的环境可以经由互联网提供各种服务和应用。这些云计算和基于网络的服务(例如,软件即服务、平台即服务、基础设施即服务等)可以通过web浏览器或其他远程接口来访问。本文中描述的各种功能还可以提供网络交换能力、网关接入能力、网络安全功能、网络的内容高速缓存和递送服务、网络控制服务和/或其他网络功能性。

另外,本文中描述的一个或多个模块可以将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。附加地或备选地,本文中叙述的一个或多个模块可以通过在计算设备上执行、在计算设备上存储数据、和/或以其他方式与计算设备交互,来将处理器、易失性存储器、非易失性存储器和/或物理计算设备的任何其他部分从一种形式变换为另一种形式。

本文中描述和/或说明的步骤的过程参数和顺序仅通过示例给出,并且可以根据需要而改变。例如,虽然本文中图示和/或描述的步骤可以以特定顺序示出或讨论,但是这些步骤不一定需要以所示或讨论的顺序执行。本文中描述和/或说明的各种示例性方法还可以省略本文中描述或说明的一个或多个步骤,或者除了所公开的那些之外还包括附加的步骤。

已经提供了前面的描述以使得本领域的其他技术人员能够最好地利用本文中公开的示例性实施例的各个方面。该示例性描述并非旨在穷举或限于所公开的任何精确形式。在不脱离本公开的精神和范围的情况下,可以进行很多修改和变化。本文中公开的实施例应当在所有方面都被认为是示例性的而非限制性的。在确定本公开的范围时,应当参考所附权利要求及其等同物。

除非另有说明,否则在说明书和权利要求书中所使用的术语“被连接到(connectedto)”和“被耦合到(coupledto)”(及其派生词)应当被解释为允许直接和间接(即,经由其他元件或组件)连接。另外,在说明书和权利要求书中使用的术语“一(a)”或“一个(an)”应当被理解为“至少一个(atleastoneof)”。最后,为了便于使用,说明书和权利要求书中所使用的术语“包括(including)”和“具有(having)”(及其派生词)可以与“包括(comprising)”一词互换并且具有相同的含义。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1