网络交换机电路、系统和方法

文档序号:10691008阅读:295来源:国知局
网络交换机电路、系统和方法
【专利摘要】从本地以太网网络内的多个通信节点接收数据包,数据包包括对目的地加以表示的媒体访问控制地址(“MAC地址”)和数据包业务类别。基于每个数据包的业务类别,将接收的数据包中的每个数据包分配到存储电路的多个队列中的一个队列。基于每个数据包的MAC地址,对所述队列中的至少一个队列内的数据包进行排序。然后服务每个队列,并且基于所述排序来发射数据包。
【专利说明】
网络交换机电路、系统和方法
技术领域
[0001]本发明涉及网络交换机电路、系统和方法。
【背景技术】
[0002]包括网络交换机(networkswitch)的多种基于网络的通信用在不同的系统和环境中。例如,工业、汽车和其他行业已经使用网络交换机来帮助控制设备和/或节点之间的通信。这些通信已经越来越多地用于适应各种需要。具体地,汽车工业已经考虑将网络交换机越来越多地用于多种用途,例如,用于控制与车辆及其子系统的操作有关的节点之间的通信。
[0003]在车辆中正被越来越多使用的一种类型的通信网络是基于以太网的网络。车辆内的基于以太网的通信系统包括经由网络交换机在彼此之间传送数据包的多个通信节点,其中所述网络交换机控制数据包在源节点与目标通信节点之间的流动。可以利用分级结构来实现这种基于以太网的通信网络,以确保控制数据业务优先传递到车辆的重要系统(例如,制动、安全气囊等)。类似地,可以根据尽力而为服务协议(best-effort protocol)在基于以太网的通信网络上传送低优先级业务(例如,当网络交换机中没有高优先级数据排队时,只发送这种低优先级数据)。
[0004]在许多应用中,网络交换机通过使用分组交换(packet switching)在计算机网络中将通信节点连接在一起,以接收数据、处理数据并且将数据转发至目标设备(通信节点)。网络交换机将数据仅转发至需要接收它的一个或多个设备,而非在其每个端口之外广播相同数据的不先进的网络集线器。

【发明内容】

[0005]在许多应用中,网络交换机和通信节点实现方式接收具有不同级别重要性的数据包。通常,这些设备基于先进先出方法(“FIFO”)通过物理媒介(本文中也被称为共享资源)分配原始比特流的使用。本公开的实施例涉及以下认识:使用FIFO方法分配数据包没有解决相同队列内数据包的优先级分配,这特别地与具有高分配优先级的数据包相关(例如,至车辆的重要系统的控制数据业务)。一些数据(诸如车辆的控制数据业务)会对即使由网络交换机服务时间引起的小延时也是敏感的。使用复杂协议和复杂电路系统(例如,附加的通信电路/端口)的优先级分配应用可能容易受故障的影响并且更昂贵。这些和其他问题继续对网络交换机在多种应用中的实施提出了挑战,尤其是,解决网络交换机(和通信节点)中的数据包优先化,诸如车辆中的控制数据业务。可以在多种应用(包括车辆、飞机、一般计算系统等)中实施的本公开的多个方面获益于用于等待共享资源的数据包的两阶段优先化方案。当对数据包将被共享资源处理的顺序进行优先级排序时,这样的两阶段优先化方案允许高级别的粒度(granuIarity) 0
[0006]各种示例实施例涉及应对包括以上讨论的问题的挑战的电路、网络、系统和方法,包括涉及网络交换机电路及其实施方式的实施例。
[0007]根据示例实施例,公开了一种交换机装置,包括存储电路、交换结构、队列控制和排序电路以及队列选择电路。在一个这样的实施例中,存储电路(以多个队列)接收并存储数据包,以准备将数据包通过共享资源发射到(基于本地以太网的通信网络内的)多个通信节点之一。数据包包括指示每个接收数据包的预期目的地的媒体访问控制地址(“MAC”地址)和数据包业务类别。队列控制和排序电路基于每个数据包的数据包业务类别将每个接收数据包分配到多个队列中的一个队列。在各种实施例中,由队列控制和排序电路基于每个数据包的MAC地址对至少一个队列中的数据包进行排序。然后,队列选择电路选择多个队列中的将要服务的队列,并且经由物理层将所选择的队列顶部的数据包发射到预期的最终/中间目的地(例如,通信节点)。
[0008]本公开的一些其他实施例涉及包括网络交换机和多个网络通信节点在内的系统。多个网络通信节点经由网络交换机中的至少一个网络交换机在彼此之间接收和发射数据包。在许多实施例中,每个网络交换机包括存储电路、交换结构、队列控制和排序电路以及队列选择电路。在一个这样的实施例中,存储电路(以多个队列)接收并存储数据包,以准备将数据包通过共享资源发射到多个通信节点之一。数据包包括指示每个接收数据包的预期目的地的MAC地址和数据包业务类别。队列控制和排序电路基于每个数据包的数据包业务类别将每个接收数据包分配到多个队列中的一个队列。在各种实施例中,由队列控制和排序电路基于每个数据包的MAC地址对至少一个队列中的数据包进行排序。然后,队列选择电路选择多个队列中的将要服务的队列,并且通过物理层将所选择的队列顶部的数据包发射到到所述数据包的预期通信节点。
[0009]本公开的许多实施例针对多种方法,一种方法公开了从本地以太网网络内的多个通信节点接收数据包,数据包包括指示目的地的MAC地址和数据包业务类别。基于每个数据包的业务类别,将接收的数据包中的每个数据包分配到存储电路的多个队列中的一个队列。然后,基于队列中的每个数据包的MAC地址对分配到至少一个队列的数据包进行排序。每个队列中的数据包进行等待,直到它们到达队列的顶部为止,并且选择相应的队列(例如,由共享资源)进行服务并将选择的队列通过共享资源(例如,物理线缆)发射到预期的目的地。
[0010]以上讨论/概述并非意欲描述本公开的每一个实施例或者每一种实施方式。以下附图和详细描述还例示了多种实施例。
【附图说明】
[0011]考虑结合附图的以下详细描述,可以更加完整地理解各种示例实施例,其中:
[0012]图1示出了根据本公开的各个方面的电通信网络的框图;
[0013]图2示出了根据本公开的各个方面的网络交换机的框图;
[0014]图3A示出了根据本公开的各个方面的网络交换机的一部分的框图;以及
[0015]图3B示出了根据本公开的各个方面的网络交换机的一部分的框图。
[0016]虽然这里讨论的各种实施例适合修改和替代形式,但是已经在附图中通过示例的方式示出了并且将详细描述其多个方面。然而,应该理解,目的并非将本发明限于所描述的特定实施例。相反,意欲覆盖落在本公开范围内的所有修改、等同物和替换物,所述本公开范围包括由权利要求限定的多个方面。另外,贯穿本申请中所使用的术语“示例”仅作为说明,而不是限制。
【具体实施方式】
[0017]相信本公开的多个方面适用于包括队列控制和排序电路的多种不同类型的装置、系统和方法,其中队列控制和排序电路基于数据包的通信业务类别(traffic class)将数据包分配到多个队列之一,并且还基于每个数据包MAC地址对分配到每个队列的数据包进行排序。在特定实施方式中,已经示出了本公开的多个方面在用于网络交换机环境中时是有益的,其中与能够通过共享资源(例如,基于以太网的通信网络)发射每个数据包相比,网络交换机可以更快地处理接收到的数据包。在这样的实施例中,存储电路需要对处理的数据包进行排队,直到共享资源能够将资源分配给特定接收的数据包为止。这样的通信网络越来越多地被用于基于以太网的车辆通信系统中。还已经示出了本公开的多个方面在用于终端-节点硬件组件中的MAC层环境中时是有益的,其中所述终端-节点硬件组件在通过物理(PHY)层发射数据之前保持帧转发优先级的多个队列。如本文中所讨论的,MAC层和PHY层是开放系统互连(OSI)模型的一部分。具体地,MAC层可以是数据链路层的一部分,PHY层可以表示通过物理媒介(本文中也被称为共享资源)发射和接收原始比特流的层。
[0018]在基于以太网的车辆通信系统中,多个通信节点经由网络交换机在彼此之间传送数据包,其中,所述网络交换机控制数据包在源通信节点与目标通信节点之间的流动。为了进一步改善通信节点之间的数据流动,可以利用分级结构来实现网络以确保控制数据业务优于非关键时间数据(例如,音频/视频数据、供暖通风和空调(“HVAC")控制等)传递到车辆的重要系统(例如,制动、安全气囊等)。本公开的这些方面防止了对另外要求车辆中的控制数据业务的重复网络的需要和/或在FIFO布置中排列有车辆通信网络上的所有其他数据业务的情况下与这种控制数据业务相关联的延时。虽然不必如此受限于网络交换机,但是可以使用这样的示例性上下文讨论示例来理解本公开的各方面,理解本公开容易适用于通信网络中的利用MAC层对帧转发进行优先级排序的组件。
[0019]在许多应用中,网络交换机从网络中的具有不同级别重要性的多个通信连接的通信节点接收并转发数据包。这种应用通常需要复杂的协议和复杂的电路系统(例如,附加的通信电路/端口),这可能容易受故障的影响并且更昂贵。这些和其他问题继续对网络交换机在各种应用中的实现提出了挑战,尤其是,解决网络交换机中的数据包优先化,诸如车辆中的控制数据业务。
[0020]可以在多种应用(包括车辆、飞机、一般计算系统等)中实施的本公开的多个方面获益于用于等待共享资源的数据包的两阶段优先方案。当对数据包将被共享资源处理的顺序进行优先级排序时,这样的两阶段优先方案允许高级别的粒度(granularity)。例如,在本公开的一些实施例中,在网络交换机的存储电路中建立多个队列。将每个队列分配到对数据包优先级加以表示的特定以太网业务类别。一旦被分配到特定队列,该队列中的数据包基于与数据包相关联的MAC地址进一步进行排序。
[0021]在特定实施例中,网络交换机可以被配置为从最低MAC地址到最高MAC地址(或者从最高MAC地址到最低MAC地址)对队列内的数据包进行排序。这会在本地(闭合)网络系统中特别地有用,其中,可以针对本地系统中的每个通信节点在本地管理MAC地址(并不要求如全球管理的MAC地址一样通用唯一)。为了便于描述,结合如下网络交换机来讨论各种实施例,所述网络交换机被配置为从最低MAC地址到最高MAC地址进行排序以将较高的优先级路由提供给较低的MAC地址。然而,应理解,其他排序方案也是可行的,包括但必然限于最高到最低排序。MAC地址的本地管理允许基于通信节点相对重要性级别向相关通信节点(例如,较高优先级的通信节点)分配MAC地址。在一种这样的实施方式中,与车辆的关键功能(例如,制动、安全气囊等)相关联的通信节点被分配较低的MAC地址以及非关键系统(例如,音频/视频数据、HVAC控制等)。因此,在每个队列内,对MAC地址进行排序,使得最低MAC地址在队列顶部,最高MAC地址在队列底部。在各种实施例中,队列选择电路之后部分地基于各个优先级或每个队列以及每个队列中的数据包的数量来选择哪个队列进行服务。
[0022]各种示例实施例涉及应对包括以上讨论的问题的挑战的电路、网络、系统和方法,包括涉及网络交换机电路、通信节点及它们的实施方式的实施例。
[0023]根据各种示例实施例,将网络交换机实施在具有多个通信节点的基于以太网的通信网络中,网络交换机有助于每个通信节点的选择性寻址。每个网络交换机可以包括存储电路、交换结构、队列控制和排序电路以及队列选择电路。在一个这样的实施例中,在将数据包发射到(基于本地以太网的通信网络内的)通信节点之前,存储电路(以多个队列)接收和存储数据包。数据包包括对每个接收数据包的预期目的地加以表示的MAC地址和数据包业务类别。在特定实验实施例中,多个数据业务类别包括控制数据业务、娱乐相关业务和HVAC业务。队列控制和排序电路基于每个数据包的数据包业务类别将每个接收数据包分配到多个队列中的一个队列。在各种实施例中,由队列控制和排序电路基于每个数据包的MAC地址对至少一个队列中的数据包进行排序。在另一实施例中,数据包的头可以包括虚拟局域网标签(“VLAN标签”),由队列控制和排序电路基于对数据包业务类别加以表示的VLAN标签对至少一个队列中的数据包进行排序。然后,队列选择电路选择多个队列中的将要服务的队列,并且通过共享资源将所选择的队列顶部的数据包发射至到所述数据包的相应目的地(例如,通信节点)。
[0024]在网络通信组件(例如,网络交换机或端节点)的一些实施例中,根据本公开,存储电路中的多个队列包括控制数据业务队列。队列控制和排序电路基于接收的数据包的业务类别表示控制数据业务,将接收数据包分配到控制数据业务队列。然后,队列控制和排序电路基于与每个数据包相关联的目的地MAC地址对分配到控制数据业务队列的数据包进行排序。在一些详细实施例中(其中,控制数据业务对基于以太网的通信网络是关键的),当数据包被存储在控制数据业务队列中时,队列选择电路将控制数据业务队列选择为将要服务的下一队列。当控制数据业务队列是空的时,根据基于随机的方案、基于伪随机的方案或基于优先级的方案,为其他队列服务。在替代实施例中,队列选择电路基于分配给多个队列中的每个队列的优先级来选择将被服务的下一队列。
[0025]根据本公开的一些实施例,存储电路、队列控制和排序电路以及队列选择电路与网络交换机的第一输出端口相关联。这些电路仅为通过第一输出端口接收的数据包进行服务,交换机还包括与附加输出端口相关联的附加的存储电路、队列控制和排序电路以及队列选择电路。在这样的实施例中,可以利用高程度的粒度来控制网络交换机之外的数据包的优先级,从而使控制数据业务通过整个交换机的延时最小化。
[0026]在本公开的特定实验实施例中,队列控制和排序电路基于较低的MAC地址目的地、源或者目的地MAC地址和/或源MAC地址的子集对至少一个队列中的数据包进行排序,其中,所述较低的MAC地址目的地、源或者目的地MAC地址和/或源MAC地址的子集在队列中优于较高的MAC地址目的地、源或者目的地MAC地址和/或源MAC地址的子集。为了便于描述,相对于目标设备的全MAC地址来讨论MAC地址优先化和排序。然而,应理解,可以基于数据包的源的MAC地址以及不管源或目的地的MAC地址的子集来实施优先化和排序。在实施例中,例如,和与HVAC、娱乐和其他对网络延时不敏感的数据包相关联的通信节点相比,分配到车辆的基于本地以太网的网络中的关键通信节点(例如,防碰撞相关通信节点)的MAC地址将是较低的MAC地址。
[0027]本公开的一些其他实施例针对包括网络交换机和多个网络通信节点的系统。多个网络通信节点经由网络交换机中的至少一个网络交换机在彼此之间接收和发射数据包。在许多实施例中,每个网络交换机包括存储电路、交换结构、队列控制和排序电路以及队列选择电路。在一个这样的实施例中,存储电路以多个队列接收和存储来自(基于本地以太网的通信网络内的)多个通信节点的数据包。数据包包括对每个接收数据包的预期目的地加以表示的媒体访问控制地址(“MAC”地址)和数据包业务类别。队列控制和排序电路基于每个数据包的数据包业务类别将每个接收数据包分配到多个队列中的一个队列。在各种实施例中,由队列控制和排序电路基于每个数据包的MAC地址对至少一个队列中的数据包进行排序。然后,队列选择电路选择多个队列中的将要服务的队列,并且通过共享资源将所选择的队列顶部的数据包发射到所述数据包的由MAC地址指示的相应目的地。
[0028]本公开的实施例涉及多种方法,一种方法公开了从本地以太网网络内的多个通信节点接收数据包,数据包包括对目的地加以表示的媒体访问控制地址(“MAC地址”)和数据包业务类别。在将接收的数据包中的每个数据包路由到适当输出端口之后,基于每个数据包的业务类别,将接收的数据包中的每个数据包分配到存储电路的多个队列中的一个队列。然后,基于队列中的每个数据包的MAC地址对分配到至少一个队列的数据包进行排序。每个队列中的数据包进行等待,直到它们到达队列的顶部为止,并且选择相应队列进行服务并将选择的队列通过共享资源(例如,物理层)进行发射。
[0029]本公开的各种实施例针对通信网络内的各种其他类型的通信节点(例如,在穿过网络的通信端部的端节点)的硬件组件中的MAC层。每个这样的端节点硬件组件中的MAC层保持多个队列,用于确定所述多个队列中的每个队列内的数据包的帧转发优先级。这些端节点(也被称为网络通信节点)经由网络交换机在彼此之间接收和发射数据包。在实施例中,端节点的每个MAC层包括存储电路、共享资源、队列控制和排序电路以及队列选择电路。在一个这样的实施例中,在通过物理层将数据包发送到网络交换机之前,存储电路以多个队列接收和存储数据包。数据包包括对每个接收数据包的预期目的地加以表示的MAC地址和数据包业务类别。队列控制和排序电路基于每个数据包的数据包业务类别将每个接收数据包分配到多个队列中的一个队列。在队列中的至少一个队列中,由队列控制和排序电路基于每个数据包的MAC地址对数据包进行排序。然后,队列选择电路选择多个队列中的将要服务的队列,并且通过物理层将所选择的队列顶部的数据包发射到网络交换机。
[0030]如本文中所使用的,共享资源可以表示用于发射或处理数据包的硬件资源。在端节点环境中,共享资源可以访问网络物理层(对于源节点)或内部通信总线(对于目的节点)。
[0031]现在转到附图,通过说明的方式呈现本公开的各种实施例。图1示出了根据本公开的各方面的电通信网络的框图。所述网络包括本地系统105和外部网络(例如,因特网)150。本地系统105和外部网络150可以经由网关145彼此通信连接,其中,网关145用作数据包进出本地系统105的收发器。本地网络106为包括通信节点1071-N的本地系统105服务。将来自通信节点l(m-N的数据包(经由它的相应MAC I/O 108^)发送到本地网络106中的至少一个网络交换机110,以接收数据包、处理数据包和将数据包转发至目的通信节点(例如,1072)。类似地,外部通信节点109η(经由其相应MAC I/O 112!—N)彼此传送数据包,并经由外部网络150将数据包传送到通信节点1071-N,其中,外部网络150为各个数据包服务并将数据包转发至目的通信节点(例如,109n)。
[0032]如图1所示,通信节点107!—N中的每个通信节点经由其相应MACI/O 108^被分配本地管理的MAC地址。分配的每个MAC地址指示由通信节点107!—N支持的系统的优先级。在一个这样的实施例中,例如,通信节点107:与汽车的防抱死制动系统相关联。由于从通信节点1071传送的数据包的重要性,MAC I/O 108!向通信节点107!分配MAC地址:002359(相对低的MAC地址)。类似地,碰撞传感器(例如,加速计或力传感器)通信节点1072至关重要,以确定展开安全气囊的适当时间、拉紧安全带以及其他相关安全特征;因此,它的MAC I/O 1082向通信节点1072分配MAC地址:001963(另一相对低的MAC地址)。通信节点107n与汽车的娱乐系统相关联。由于娱乐系统对车辆的安全或者其他关键系统不是关键的,MAC I/O 108n向通信节点107n分配MAC地址:029931 (相对高的MAC地址)。
[0033]当通信节点107^发射数据包时,数据包通过整个本地网络106内的一个或多个网络交换机110被传送至与数据包相关联的适当目的通信节点(例如,通信节点107PN中的一个或多个通信节点),其中,本地网络106将每个数据包转发至与数据包相关联的适当目的通信节点。通常,在诸如基于以太网的通信网络的通信系统中,在高业务时段期间网络交换机110可能不能像数据包被共享资源接收和处理一样快地发射数据包。因此,本公开的多个方面针对配备有具有排序电路111的MAC I/O的网络交换机110,其中,排序电路111在数据包被交换结构服务之后对数据包进行排序,直到具有排序电路111的MAC I/O能够将数据包发射到最终/中间目的地。
[0034]如上所述,为了降低与车辆中的本地通信系统105相关联的费用,针对通信业务的不同类别,优选地是具有单个系统而不是并行系统。然而,这样的单个通信系统(诸如基于以太网的通信系统)必须为关键数据业务和非关键数据二者服务。由于关键数据业务通常与时间敏感信息相关联,因此理想情况下与网络交换机110中的队列相关联的这种数据包的延时被最小化。因此,本发明提供一种用于对网络交换机110中的关键数据业务进行优先化并将与关键数据业务相关联的延时最小化的技术。
[0035]在一个这样的实施例中,如图1所示,在共享资源服务之后将由网络交换机110接收的数据包存储在存储电路(或队列)中。在发射每个数据包之前,具有排序电路111的MACI/O读取与队列中的每个数据包相关联的MAC地址,并基于MAC地址对队列顺序进行排序。在各种实施例中,具有排序电路111的MAC I/O可以基于与发射通信节点107^和/或预期接收通信节点l(m-N(目的地址)相关联的MAC地址对队列中的数据包进行排序。然后,网络交换机基于由具有排序电路111的MAC I/O提供的队列顺序为数据包服务。
[0036]在特定实施例中,通信节点107^的各个MACI/O 108^使用队列排序(如上所述)对数据包进行优先化。具体地,通信节点107η(或端节点)中的每个可以被配置为将数据包存储在多个队列中(在发射本地网络106中的数据包之前)。在这样的实施例中,基于各个队列中的数据包的源MAC地址或目的地MAC地址对队列中的至少一个队列进行排序。
[OO37 ]图2不出了根据本公开的各方面的网络交换机210的框图。应理解,图2的框图也可容易地适用于利用MAC层对帧转发(诸如通信节点(例如,端节点))进行优先化的通信网络中的其他组件。
[0038]在许多网络交换机中,交换机210经由输入端口 2121-N和输出端口 2151-N直接链接到多个通信节点,因此,网络交换机210可以将数据包从发射通信节点转发到目的节点,而不将数据包传送到如下通信节点,所述通信节点将另外必须接收消息并消耗处理功率仅用于确定接收的数据包不是通信节点预期的并且可以被忽略。
[0039]在图2的实施例中,网络交换机210中的每个输出端口21 5o-n具有专用队列集217o-No在这样的实施例中,队列控制和排序电路216能够精细地控制流出交换结构213的数据包的优先级。以输出端口 215ο为例,输出端口 215Q(例如,经由基于以太网的通信网络)从与网络交换机210通信连接的一个或多个通信节点接收数据包。在被交换结构213服务之后,接收的数据包被存储在输出端口 215o的专用队列集217o中。在一些实施例中,输出端口215o的专用队列集217o可以包括与特定数据业务相关联的多个队列。当输出端口 215o从交换结构213接收到数据包时,队列控制和排序电路216首先基于数据包中的指示数据的业务类别的信息将数据包分配到队列集217ο中的队列。应理解,在各种实施例中,输入端口212^中的每个可以具有它自己的专用队列控制和排序电路216。在一些实施例中,基于与数据包相关联的VLAN标签来确定数据包的业务类别。将每种类型的VLAN标签分配给队列集217o中的一个或多个队列。因此,由网络交换机210中的任何一个输出端口 21 5ο-ν接收的数据包中的每个数据包被分配到输出端口 2150-ν的各个队列集2170-ν内的队列。
[0040]在本公开的各种其他实施例中,在将由输出端口2150接收的数据包分配到队列集217ο中的一个队列之后,队列控制和排序电路216将存储在队列集217ο中的每个队列内的数据包进一步排序。
[0041]基于每个输出端口2150-ν的用于为排队的数据包服务并(经由物理层或线缆)将它们转发至每个数据包相应目的地的可用性,队列集217ο-ν存储数据包,并且队列控制和排序电路216确定队列集21 7ο-Ν的每个队列被输出端口 215Q-N服务的顺序。
[0042]在一些实施例中,可以对队列控制和排序电路216进行编程以提供对队列中的分配了时间敏感信息的数据包的优先选择。例如,控制数据业务(例如,防抱死制动控制数据)对车辆的通信网络中的延时高度敏感。因此,队列控制和排序电路216可以被配置为例如在为队列集2170-n内的其他较低优先级队列服务之前为(队列集2170-n内的)控制数据业务队列中的所有数据包服务。作为另一示例,队列控制和排序电路216可以被配置为与队列集2170-n内的其他较低优先级队列相比更频繁地为控制数据业务队列中的数据包服务。类似地,甚至在本公开的更具体实施例中,队列控制和排序电路216可以例如基于与输出端口2151通信连接的通信节点的数据业务类别更频繁地为输出端口 215:的队列集217:服务。
[0043]还应理解,网络交换机210还可以包括与输入端口212^中的每个输入端口连接的队列集,以类似地对进入网络交换机210的交换结构213中的数据包的发射进行优先化。
[0044]图3A示出了根据本公开的各方面的MACI/O 310的框图。应理解,这样的MAC I/O310可以被实施在端节点、网络交换机或其他网络通信组件的MAC层中。在这样的实施例中,(来自诸如应用、端节点或交换结构的源的)输入数据帧由队列控制和排序电路331(在一些实施例中包括集成的VLAN标签排序电路332)接收。队列控制和排序电路331基于数据包落入的数据业务的类别将接收的每个数据帧(或数据包)分配到队列333o-n中的一个队列。在一个实施例中,VLAN标签排序电路332分析接收的包括VLAN标签的数据包,其中,所述VLAN标签指示数据包所处的数据业务的类别。队列控制和排序电路331基于VLAN标签排序电路332的判决将每个数据包分配到队列3330-n中的一个队列。如参照图3B更详细地讨论的,队列控制和排序电路331还可以基于数据包的其他方面对队列333ο—N中的一个或多个队列内的数据包进行排序。然后,队列选择电路334随机地、伪随机地或以通过将数据帧输出到物理层来将控制数据业务进行优先化的方式为队列333o-n中的每个队列服务。
[0045]图3B示出了根据本公开的各方面的网络交换机310的一部分的框图。在这样的实施例中,输入数据帧由包括VLAN标签排序电路332的队列控制和排序电路331接收。队列控制和排序电路331基于VLAN标签排序电路332处理数据包以确定数据包落入的数据业务的类别来将接收的每个数据帧分配到队列333q-n中的一个队列。在一些实施例中,接收的数据包包括VLAN标签,VLAN标签指示数据包落入的数据业务的类别,并且基于VLAN标签,队列控制和排序电路331将数据包分配到队列3330-n中的一个队列。
[0046]如图3B所示,各种应用可以在队列内仅必需对较高优先级队列(诸如控制数据业务队列(队列333ο))进行进一步排序。在本实施例中,由于队列中的数据包例如与娱乐系统的首频/视频业务、HVAC系统控制等相关,队列3331-n不利用每个队列内的进一步排序。在这样的实施例中,在数据包被分配到队列333ο之后,MAC地址排序电路335利用队列顶部的最低MAC地址和队列底部的最高MAC地址对队列333ο中的数据包进行排序。具体地,MAC:00256被置于队列位置0,这是因为它是当前驻留于队列333ο中的数据包的最低MAC地址。每个后续队列位置被分配给下一最低MAC地址,直到到达队列位置N,其中,队列位置N被给予当前驻留于队列333ο中的数据包的最高MAC地址。因此,如果没有另外的数据包被分配到队列333ο,则MAC: 00256将是从队列333ο被服务的第一数据包,并且MAC: 92456将被最后服务。如上所述,队列选择电路334选择队列中的接下来将被共享资源(例如,物理层)服务的队列一一该选择可以是随机的、伪随机的或者对本地网络中的控制数据业务或其他优先级数据包进行进一步优先化的方式。
[0047]可实现多个块、模块或其他电路,以执行本文所述的和/或附图中所示的操作和活动中的一个或多个。在这些上下文中,〃组块〃(有时也称作〃逻辑电路〃或〃模块〃)是实施一个或多个这些操作/活动或相关操作/活动的电路(例如,队列控制和排序电路、交换逻辑、或队列选择电路)。例如,在上述实施例中的特定实施例中,一个或多个模块是为实现如图2所示的这些操作/活动而配置和布置的离散逻辑电路或可编程逻辑电路。在某些实施例中,这种可编程电路是被编程以执行指令(和/或配置数据)集的一个或多个计算机电路。指令(和/或配置数据)可以是存储在存储器(电路)中并可访问的固件或软件形式。作为示例,第一模块和第二模块包括基于硬件的CHJ电路和固件形式的指令集的组合,其中,第一模块包括具有一个指令集的第一 CR]硬件电路且第二模块包括具有另一指令集的第二 CPU硬件电路。
[0048]—些实施例针对一种计算机程序产品(例如,非易失性的存储器设备),包括在其上存储有可以通过计算机(或其它电子设备)执行的指令的机器或计算机可读介质,以便执行这些操作/活动。
[0049]基于上述讨论和举例说明,本领域技术人员将容易地认识到,可以对各个实施例进行各种修改和改变,而不需要严格按照本文中描述和举例说明的示例性实施例和应用。例如,如本文中公开的用于对将被共享资源处理的数据包进行排序和优先化的两阶段优先化方案可以用于多种网络通信系统和设备,并且可以用于基于以太网通信的网络之外。这种修改并不背离本发明的各方面(包括权利要求中阐述的各方面)的真实精神和范围。
【主权项】
1.一种装置,包括: 存储电路,配置为从本地以太网网络内的多个通信节点接收数据包并将数据包存储在多个队列中,所述数据包包括对多个队列的数据包优先级加以表示的媒体访问控制地址“MAC地址”; 共享资源,配置为向每个数据包的目的地发射所述数据包; 队列控制和排序电路,配置为 基于每个数据包的优先级将接收的每个数据包分配到所述多个队列中的一个队列,并且 基于每个数据包的MAC地址对所述队列中的至少一个队列内的数据包进行排序;以及 队列选择电路,配置为选择所述多个队列中的将要服务的队列,并将从所选择的队列接收的数据包发射到所述共享资源。2.根据权利要求1所述的装置,其中,所述多个队列包括控制数据业务队列,并且所述队列控制和排序电路还配置为: 基于接收的数据包的业务类别表示控制数据业务,将接收的数据包分配到控制数据业务队列,并且 基于与每个数据包相关联的MAC地址对分配到控制数据业务队列的数据包进行排序,其中包括在每个数据包中的MAC地址表示各个相应数据包的目的地。3.根据权利要求2所述的装置,其中,所述队列选择电路还配置为选择比所述多个队列中的其他队列具有更高优先级的控制数据业务队列。4.根据权利要求1所述的装置,其中,所述队列选择电路还配置为基于分配给所述多个队列中的每个队列的优先级来选择将要服务的下一个队列。5.根据权利要求1所述的装置,其中,所述MAC地址用于数据包的源节点。6.根据权利要求1所述的装置,其中,所述多个队列中的每个数据包的优先级基于所述MAC地址中的业务类别。7.根据权利要求1所述的装置,其中,所述队列控制和排序电路还配置为基于较低MAC地址在队列中比较高MAC地址优先级更高来对所述队列中的一个队列内的数据包进行排序。8.根据权利要求1所述的装置,其中,所述MAC地址表示与所述MAC地址相关联的数据包的目的地,所述多个队列中的每个数据包的优先级基于虚拟局域网标签“VLAN标签”,所述VLAN标签表示数据包的业务类别。9.根据权利要求1所述的装置,其中,所述MAC地址用于数据包的目的节点。10.—种系统,包括: 多个网络通信节点,配置为经由至少一个网络交换机在彼此之间接收和发射数据包, 所述网络交换机,包括: 存储电路,配置为从本地以太网网络内的多个通信节点接收数据包并将数据包存储在多个队列中,所述数据包包括对目的地加以表示的媒体访问控制地址“MAC地址”和多个队列的数据包业务类别; 共享资源,配置为向每个数据包的目的地发射数据包; 队列控制和排序电路,配置为 基于每个数据包的业务类别将接收的每个数据包分配到所述多个队列中的一个队列,并且 基于所述队列中的至少一个队列内的数据包的MAC地址对所述队列中的所述至少一个队列内的数据包进行排序;以及 队列选择电路,配置为选择所述多个队列中的将要服务的队列,并将从所选择的队列接收的数据包发射到所述共享资源。11.根据权利要求10所述的系统,其中,所述多个队列包括控制数据业务队列,并且所述队列控制和排序电路还配置为 基于接收的数据包的业务类别表示控制数据业务,将接收的数据包分配到控制数据业务队列,并且 基于与分配到控制包队列的数据包相关联的目的地MAC地址对分配到控制数据业务队列的数据包进行排序。12.根据权利要求11所述的系统,其中,所述队列选择电路还配置为根据相对于所述多个队列中的其他队列的较高优先级,将控制数据业务队列选择为将要服务的下一个队列。13.根据权利要求10所述的系统,其中,队列选择电路还配置为基于分配给所述多个队列中的每个队列的优先级来选择将要服务的下一个队列。14.根据权利要求10所述的系统,其中,所述存储电路、所述队列控制和排序电路以及所述队列选择电路与第一输出端口相关联,所述网络交换机还包括与附加输出端口相关联的附加的存储电路、队列控制和排序电路以及队列选择电路。15.一种方法,包括: 从本地以太网网络内的多个通信节点接收数据包,所述数据包包括对目的地加以表示的媒体访问控制地址“MAC地址”和数据包业务类别; 基于每个数据包的业务类别,将接收的数据包中的每个数据包分配到存储电路的多个队列中的一个队列; 基于相应的MAC地址,对所述队列中的至少一个队列内的数据包进行排序; 基于所述队列中的所述至少一个队列中的数据包的顺序,将数据包发射到共享资源;以及 使用共享资源向每个数据包的相应目的地路由和发射数据包。16.根据权利要求15所述的方法,其中 所述分配还包括:基于接收的数据包的业务类别表示控制数据业务,将接收的数据包分配到控制数据业务队列,以及 所述排序还包括:基于与每个数据包相关联的目的地MAC地址对分配到控制数据业务队列的数据包进行排序。17.根据权利要求16所述的方法,还包括:相对于多个其他队列,将控制数据业务队列优先选择为将要服务的下一个队列。18.根据权利要求15所述的方法,还包括:基于分配给所述多个队列中的每个队列的优先级来选择将要服务的下一个队列。19.根据权利要求15所述的方法,其中,所述排序还包括:对所述队列中的至少一个队列内的数据包进行排序包括从较低MAC地址目的地至较高MAC地址目的地对数据包进行排 序。20.根据权利要求15所述的方法,其中,所述分配还包括:基于虚拟局域网标签“VLAN标签”将数据包分配到所述多个队列中的一个队列,其中所述VLAN标签表示数据包的业务类别。
【文档编号】H04L12/933GK106059961SQ201610216620
【公开日】2016年10月26日
【申请日】2016年4月8日 公开号201610216620.8, CN 106059961 A, CN 106059961A, CN 201610216620, CN-A-106059961, CN106059961 A, CN106059961A, CN201610216620, CN201610216620.8
【发明人】尼古拉·康纳尔, 胡伯特斯·杰拉德斯·亨德里克斯·维梅伦
【申请人】恩智浦有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1