CN101040471A - 数据中心的以太网扩展 - Google Patents
数据中心的以太网扩展 Download PDFInfo
- Publication number
- CN101040471A CN101040471A CN200580034647.5A CN200580034647A CN101040471A CN 101040471 A CN101040471 A CN 101040471A CN 200580034647 A CN200580034647 A CN 200580034647A CN 101040471 A CN101040471 A CN 101040471A
- Authority
- CN
- China
- Prior art keywords
- frame
- tunnel
- rule
- buffer
- flow
- 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.)
- Granted
Links
Images
Abstract
本发明提供了用于实现低延迟以太网(“LLE”)解决方案(这里也称为数据中心以太网(“DCE”)解决方案)的方法和设备,其简化了数据中心的连通性并提供了用于运送以太网和存储流量的高带宽低延迟网络。本发明的一些方面包括将FC帧转换为适于在以太网上传输的格式。本发明的一些优选实现方式在数据中心或类似网络的单个物理连接中实现多个虚拟通道(“VL”)。一些VL是具有类似于以太网的行为的“丢弃”VL,其他VL是具有类似于FC的行为的“不丢弃”通道。本发明的一些优选实现方式提供了基于信用和VL的有保证带宽。活动缓冲器管理允许在使用小帧缓冲器的同时实现高可靠性和低延迟。优选地,用于活动缓冲器管理的规则对于丢弃和不丢弃VL而言是不同的。
Description
相关申请的交叉引用
本申请要求享受2004年10月22日提交的题为“FC Over Ethernet”的美国临时申请No.60/621,396(律师案卷号No.CISCP404P)的优先权,该申请的全部内容通过引用结合于此。本申请还涉及2005年3月10日提交的题为“Fibre Channel Over Ethernet”的美国专利申请No.11/078,992(律师案卷号No.CISCP409),该申请的全部内容通过引用结合于此。
背景技术
图1示出了需要高可用性和网络存储能力的企业(例如金融机构)可能使用的一般类型的数据中心的简化示意图。数据中心100包括具有冗余连接以获得高可用性的冗余以太网交换机。数据中心100经由防火墙115通过网络105连接到客户端。网络105例如可以是企业内部网、DMZ和/或因特网。以太网非常适于客户端(例如远程客户端180和185)与数据中心之间的TCP/IP流量。
在网络105中存在很多网络设备。例如,一般在具有标准外形因子的机架(例如一个“机架单元”将是19”宽和约1.25”厚)上部署很多个服务器。“机架单元”或“U”是用于机架安装(rack mount)型装备的电子工业用品(常称为“EIA”)标准测量单元。由于机架安装产品在很大范围的商业、工业和军用市场上越来越普遍,因此这个术语近年来变得越来越流行。一个“机架单元”在高度上等于1.75”。为了计算机架外壳的内部可用空间,只需要将机架单元的总量乘以1.75”即可。例如,44U机架外壳将具有77”的内部可用空间(44×1.75)。数据中心中的机架每个可以例如具有大约40台服务器。数据中心可以具有几千台服务器,或者更多。最近一些厂商发布了“刀片式服务器”,其允许更高密度的服务器包装(量级为每个机架60到80个服务器)。以太网。为了高可用性,将存在至少两个以太网连接,如图1所示。
此外,不希望服务器包括很大的存储能力。出于这个原因和其他原因,企业网越来越普遍地包括与例如存储阵列150这样的存储设备的连通性。历史上,已经在SCSI(小型计算机系统接口)和/或FC(光纤信道)上实现了存储流量。
在20世纪90年代中期,SCSI流量只能行进很短的距离。当时关注的重点在于如何使SCSI行进“到盒外”。人们总是希望得到更高的速度。此时,以太网正从10Mb/s发展到100Mb/s。有些人预言将来的速度将达到1Gb/s,但是很多人认为这已经接近物理极限。10Mb/s以太网存在半双工和冲突的问题。以太网在某种程度上被认为是不可靠的,这部分是因为分组可能会丢失并且可能出现冲突。(虽然本领域技术人员通常使用的术语“分组”和“帧”具有不同的意义,但是这些术语在这里可以互换。)
FC被认为是存储应用的有吸引力的和可靠的选择,因为在FC协议下分组不易丢失而且因为FC已经可以运行在1Gb/s。但是,在2004年,以太网和FC都达到了10Gb/s的速度。此外,以太网已经发展到全双工和没有冲突的状况。因此,FC相对于以太网不再具有速度优势。但是,交换机中的冲突可能导致以太网分组被丢弃,而这对于存储流量而言是不希望出现的特征。
在21世纪的前几年,进行了大量工作用于开发iSCSI,以便在TCP/IP网络上实现SCSI。虽然这些努力获得了某些成功,但是iSCSI仍未流行起来。iSCSI具有约1%-2%的存储网络市场,而FC具有约98%-99%。
一个原因是iSCSI栈相比FC栈而言较为复杂。参考图7A可以看出,iSCSI栈700需要5层:以太网层705、IP层710、TCP层715、iSCSI层720以及SCSI层725。TCP层715是栈的一个必要部分,因为以太网层705可能会丢失分组,而SCSI层725不能容忍分组丢失。TCP层715向SCSI层725提供可靠的分组传输。但是,TCP层715这种协议很难实现1到10Gb/s的速度。相反,因为FC不丢帧,所以不需要利用TCP层等来补偿丢失的帧。因此,如图7B所示,FC栈750更加简单,只需要FC层755、FCP层760和SCSI层765。
因此,FC协议一般用于网络上的服务器和例如存储阵列150这样的存储设备之间的通信。因此,在本示例中,数据中心100包括Cisco SystemInc.提供的FC交换机140和145,以用于服务器110与存储阵列150之间的通信。
1RU和刀片式服务器很流行,因为它们比较便宜、功能强大、标准化,并且可以运行大多数流行的操作系统中的任意操作系统。众所周知,近年来典型服务器的成本下降而其性能水平提高。由于服务器的较低成本和在一个服务器上运行多于一种软件应用而可能出现的潜在问题,每个服务器一般专用于一种特定应用。在典型企业网上运行的大量应用不断增加网络中的服务器数量。
但是,由于维护与每个服务器的各种连通性(例如以太网和FC连通性)的复杂性,每种连通性优选地是有冗余的,以便获得高可用性,因此服务器的连通性成本变得高于服务器本身的成本。例如,服务器的单个FC接口可能与服务器本身的成本相同。服务器与以太网的连接一般是经由网络接口卡(“NIC”)实现的,而它与FC网络的连接则是利用主机总线适配器(“HBA”)实现的。
设备在FC网络和以太网中的角色在网络流量方面有所不同,这主要是因为在TCP/IP网络中,一般会响应于拥塞而丢弃分组,而在FC网络中则不会故意丢弃帧。因此,FC有时在这里将被称为“不丢弃”(nodrop)网络的一个示例,而以太网将被称为“丢弃”(drop)网络的体现。当分组在TCP/IP网络上被丢弃时,系统将很快恢复(例如在几百微秒内)。但是,用于FC网络的协议一般基于帧将不被丢弃的假设。因此,当帧在FC网络上被丢弃时,系统不能很快恢复,并且SCSI可能需要几分钟才能恢复。
当前,以太网交换机的端口可以在丢弃分组之前将其缓冲最多100毫秒。当实现10Gb/s以太网时,以太网交换机的每个端口可能需要约100MB的RAM来将分组缓冲100毫秒。这将是及其昂贵的。
对于某些企业而言,希望如图1的虚线围绕的服务器S2和S3所示那样“集群”多个服务器。集群使得偶数个服务器被看作单个服务器。为了进行集群,希望执行远程直接存储器访问(“RDMA”),其中一个虚拟存储器空间的内容(可能分散在很多物理存储器空间中)可以被拷贝到另一虚拟存储器空间而无需CPU干预。RDMA应当以很低的延迟被执行。在一些企业网中,存在专用于集群服务器的第三种网络,如交换机175所示。其可以是例如“Myrinet”、“Quadrix”或“Infiniband”网络。
因此,服务器集群可能使数据中心网络更加复杂。但是,与Quadrix和Myrinet不同,Infiniband允许集群并且提供了简化数据中心网络的可能性。Infiniband网络设备较便宜,主要是因为它们使用小缓冲器空间、铜介质和简单转发方案。
但是,Infiniband有一些缺点。例如,Infiniband交换机当前只有一个组件来源。此外,Infiniband未被证明在例如大企业的数据中心这样的环境中能够正常工作。例如,没有用Infiniband路由器互连Infiniband子网的已知实现方式。虽然在Infiniband和光纤信道之间和Infiniband到以太网之间可以设置网关,但是不太可能使以太网离开数据中心。这也意味着主机将不仅需要Infiniband连接,而且还需要以太网连接。
因此,即使大企业希望忽略上述缺点并变为基于Infiniband的系统,企业也将需要安装遗留(legacy)数据中心网络(如图1所示)并且在企业测试基于Infiniband的系统时工作。因此,基于Infiniband的系统的成本将不是替换成本而是加性成本。
很希望以允许从现有数据中心网络的渐进式改变的方式来简化数据中心网络。理想的系统将提供用于增强服务器I/O和以低成本提供低延迟高速度的渐进式系统。
发明内容
本发明提供了用于实现低延迟以太网(“LLE”)解决方案(这里也称为数据中心以太网(“DCE”)解决方案)的方法和设备,其简化了数据中心的连通性并提供了用于运送以太网和存储流量的高带宽低延迟网络。本发明的一些方面包括将FC帧转换为适于在以太网上传输的格式。本发明的一些优选实现方式在数据中心和类似网络的单个物理连接上实现了多个虚拟通道(virtual lane)(“VL”)(也称为虚拟链路)。一些VL是具有类似于以太网的行为的“丢弃”VL,其他VL是具有类似于FC的行为的“不丢弃”通道。
可以部分通过标记帧来实现VL。因为每个VL可以具有其自身的信用(credit),因此每个VL可以独立于其他VL被对待。甚至可以根据补充速率,根据被指派给VL的信用来确定每个VL的性能。为了允许更复杂的拓扑和允许交换机内对帧更好的管理,TTL信息和帧长度字段可以被添加到帧。还可以有关于拥塞的编码信息,以便源可以接收用于减慢速度的显式(explicit)消息。
本发明的一些优选实现方式提供了基于信用和VL的保证带宽。不同VL可以被指派以随时间改变的不同保证带宽。优选地,VL将保留丢弃或不丢弃通道,但是VL的带宽可以依赖于一天中的不同时间、要完成的任务等而动态改变。
活动缓冲器管理允许在使用小帧缓冲器时也能获得高可靠性和低延迟,既便对于10GB/s以太网也是如此。优选地,对于丢弃和不丢弃VL应用不同的活动缓冲器管理规则。本发明的一些实施例是利用铜介质而非光纤实现的。给定所有这些属性,可以以有竞争力的较便宜的方式实现I/O增强。
本发明的一些方面提供了用于在单个物理链路上运送多于一种流量的方法。该方法包括以下步骤:将物理链路上的流量在逻辑上分割为多个虚拟通道;向第一虚拟通道上的第一流量应用第一组规则;以及向第二虚拟通道上的第二流量应用第二组规则。但是,本发明的一些实现方式包括多于两个虚拟通道。因此,该方法可以包括向第三到第N虚拟通道上的流量应用第三到第N组规则的步骤。
该方法可以包括区分每个虚拟通道上的服务的步骤。这里使用的“区分服务”或类似术语意味着基于包括但不限于保证最小带宽和/或其他服务质量(“QoS”)标记、访问控制和其他相关安全措施等因子来使服务相互区别。
在虚拟通道上运送的流量可以是例如以太网流量、存储流量和/或某种形式的过程间通信(Inter Process Communication,“IPC”)流量,包括但不限于集群或集群间流量(例如RDMA流量)。
在方法的一些实现方式中,第一组规则使得帧响应于延迟而被丢弃,而第二组规则不使得帧响应于延迟而被丢弃。但是,第二组规则仍可能使得帧被丢弃以避免死锁。所述规则可以响应于延迟而应用概率丢弃函数。
第一和/或第二组规则使得显式拥塞通知响应于延迟而被发送。显式拥塞通知可以被发送到源设备或边缘设备,并且经由数据帧或控制帧被发送。
该方法可以包括例如通过使用缓冲器到缓冲器信用分配方案和暂停帧中的一个或多个来实现每虚拟通道的流控制。缓冲器到缓冲器信用分配方案可以包括根据帧大小或通过帧数量(例如在逐帧基础上)进行信用分配。缓冲器到缓冲器信用可以经由数据帧或控制帧之一被指示。
本发明的备选方面提供了一种用于在单个虚拟链路上传输多种流量类型的方法。所述方法包括以下步骤:接收物理链路上的第一帧;检查所述第一帧的一个或多个字段;基于所述一个或多个字段确定第一虚拟通道规则应被应用于所述第一帧;以及将所述第一虚拟通道规则应用于所述第一帧。
该方法还可以包括以下步骤:接收物理链路上的第二帧;检查所述第二帧的一个或多个字段;基于所述一个或多个字段确定第二虚拟通道规则应被应用于所述第二帧;以及将所述第二虚拟通道规则应用于所述第二帧。所述第一虚拟通道规则可以包括第一组活动缓冲器管理规则,所述第二虚拟通道规则可以包括第二组活动缓冲器管理规则。所述第一虚拟通道规则和第二虚拟通道规则可以区分每个虚拟通道的服务。
所述确定步骤可以包括解析显式或隐含(implicit)虚拟通道标识信息。所述确定步骤可以包括将隐含虚拟通道标识信息与相应的虚拟通道进行映射。例如,VLAN-ID空间可以被分割为多个虚拟通道,每个VLAN属于单个虚拟通道。通过解析帧中的VLAN-ID,可以确定相应的虚拟通道ID。
本发明还提供了用于在单个虚拟链路上传输多种流量类型的方法。所述方法之一包括初始化第一交换机端口和第二交换机端口之间的物理链路,以及确定所述帧是否包含在所述物理链路上建立虚拟通道所需的信息。该方法还可以包括当确定所述帧包含在所述物理链路上建立虚拟通道所需的信息时将所述物理链路上的流量在逻辑上分割为多个虚拟通道的步骤。该方法还可以包括当确定所述帧不包含在所述物理链路上建立虚拟通道所需的信息时在所述物理链路上建立标准以太网连接的步骤。
本发明的一些实施例提供了一种网络设备。该网络设备包括多个端口,每个端口被配置为在多个物理链路之一上通信。该网络设备还包括多个线路卡。每个线路卡被配置为执行以下操作:将物理链路上的流量在逻辑上分割为多个虚拟通道;向第一虚拟通道上的第一流量应用第一组规则;以及向第二虚拟通道上的第二流量应用第二组规则。
这里描述的方法可以以多种方式实现和/或体现,包括实现作为硬件、软件,等等。
附图说明
结合附图参考下面的描述可以最好地理解本发明,附图图示了本发明的特定实现方式。
图1是示出了数据中心的简化网络示意图。
图2是示出了根据本发明一个实施例的数据中心的简化网络示意图。
图3是示出了在单个物理链路上实现的多个VL的框图。
图4示出了根据本发明某些实现方式的运送用于实现DCE的额外字段的以太网帧的一种格式。
图5示出了根据本发明某些实现方式的链路管理帧的一种格式。
图6A是示出了本发明的简化的基于信用的方法的网络示意图。
图6B是示出了本发明的信用分配方法的表。
图6C是示出了根据本发明的用于初始化链路的一个示例性方法的流程图。
图7A示出了iSCSI栈。
图7B示出了用于实现基于FC的SCSI的栈。
图8示出了根据本发明某些方面用于实现基于DCE的SCSI的栈。
图9A和9B示出了根据本发明某些方面用于实现基于以太网的FC的方法。
图10是根据本发明某些方面用于实现基于以太网的FC的简化网络示意图。
图11是根据本发明某些方面用于聚集DCE交换机的简化网络示意图。
图12示出了根据本发明某些实施例的DCE交换机的体系结构。
图13是示出了根据本发明某些实现方式的每个VL的缓冲器管理的框图。
图14是示出了根据本发明的某些类型的显式拥塞通知的网络示意图。
图15是示出了根据本发明某些实现方式的每个VL的缓冲器管理的框图。
图16是示出了根据本发明某些方面的概率丢弃函数的图表。
图17是示出了示例性的VL缓冲器随时间的占用率的图表。
图18是示出了根据本发明的备选方面的概率丢弃函数的图表。
图19示出了可以被配置以执行本发明某些方法的网络设备。
具体实施方式
下面具体参考本发明的某些特定实施例,包括发明人认为的本发明的最佳实施模式。附图中示出了这些特定实施例的示例。虽然结合这些特定实施例描述了本发明,但是应当理解,这并不是要将本发明限制为所描述的实施例。相反,替换、修改和等同物都应被包括在所附权利要求定义的本发明的精神和范围内。此外,下面列举了大量特定细节,以便提供对本发明的透彻理解。可以在没有这些特定细节中的某些或全部的情况下实践本发明。另外,公知的处理操作没有被详细描述,以免模糊本发明。
本发明提供了用于简化数据中心的连通性并提供用于运送以太网和存储流量的高带宽低延迟网络的方法和设备。本发明的某些优选实施例在数据中心或类似网络的单个物理连接中实现了多个VL。优选地为每个VL维护缓冲器到缓冲器信用。一些VL是具有类似以太网的行为的“丢弃”VL,其他VL是具有类似FC的行为的“不丢弃”通道。
一些实现提供了“丢弃”和“不丢弃”之间的中间行为。这种实现中的一些是“推迟丢弃”(delayed drop),其中当缓冲器满时帧不被立即丢弃,而是在丢弃帧之前进行有限时间(例如微秒量级)的上游“回推”(push back)。推迟丢弃实现方式对于管理瞬时拥塞是很有用的。
优选地,在第二层实现拥塞控制方案。本发明的一些优选实施例提供了基于信用和VL的有保证带宽。使用信用的备选是对每个VL使用标准IEEE 802.3暂停(PAUSE)帧,以便实现“不丢弃”或“推迟丢弃”VL。IEEE 802.3标准通过引用结合于此,以用于各种目的。例如,通过引用特别结合了题为“MAC Control PAUSE Operation”的802.3ae-2002标准的Annex 31B。还应当理解,本发明将在没有VL的情况下工作,但是在此情形下,整个链路都将采用“丢弃”或“推迟丢弃”或“不丢弃”行为。
优选实现方式支持协商机制,例如IEEE 802.11x中描述的那种,其通过引用结合于此。协商机制例如可以确定主机设备是否支持LLE,以及如果支持的话则允许主机接收VL和信用信息(例如支持多少VL、VL使用信用还是暂停,如果使用信用则使用多少信用),所述VL和信用信息是每个个体VL的行为。
活动缓冲器管理允许在使用小的帧缓冲器的同时实现高可靠性和低延迟。优选地,对于丢弃和不丢弃VL不同地应用活动缓冲器管理规则。
本发明的一些实现方式支持对于集群实现方式特别有用的高效RDMA协议。在本发明的一些实现方式中,网络接口卡(“NIC”)实现用于集群应用的RDMA,还实现用于RDMA的可靠传输。本发明的一些方面是通过来自用户直接访问编程库(“uDAPL”)的用户API来实现的。uDAPL定义了用于所有具有RDMA能力的传输的一组用户API,其通过引用结合于此。
图2是示出了用于简化数据中心200的连通性的LLE解决方案的一个示例的简化网络示意图。数据中心200包括LLE交换机240,其具有路由器260,用于经由防火墙215连接到TCP/IP网络205以及主机设备280和285。这里详细列出了示例性LLE交换机的体系结构。优选地,本发明的LLE交换机可以运行10Gb/s以太网,并且具有较小的帧缓冲器。一些优选LLE交换机仅支持第二层功能。
虽然可以使用光纤和光收发机来实现本发明的LLE交换机,但是一些优选LLE交换机是使用铜连通性来实现的以便降低成本。根据称为10Base-CX4的建议IEEE 802.3ak标准实现某些这种实现方式,该标准通过引用结合于此,以用于各种目的。发明人预期其他实现方式将使用正在出现的标准IEEE P802.3an(10GBASE-T),其也通过引用结合于此,以用于各种目的。
服务器210也与LLE交换机245连接,LLE交换机245包括用于与盘阵列250通信的FC网关270。FC网关270实现基于以太网的FC(FCover Ethernet)(这里将详细描述),从而消除数据中心200中对独立的FC和以太网的需要。网关270可以是例如已配置了用于执行本发明的某些方法的软件的Cisco Systems的MDS 9000 IP Storage Service Module这样的设备。以太网流量在数据中心200中按固有(native)格式被运送。这是可能的,因为LLE是对以太网的扩展,其除了可以运送固有以太网之外,还可以运送基于以太网的FC和RDMA。
图3示出了由物理链路315连接的两个交换机305和310。交换机305和310的行为一般由IEEE 802.1管辖,物理链路315的行为一般由IEEE802.3管辖。一般而言,本发明提供了LLE交换机的两种一般行为以及中间行为的一个范围。第一个一般行为是与以太网的“丢弃”行为类似的“丢弃”行为。另一个一般行为是与FC的“不丢弃”行为类似的“不丢弃”行为。本发明还提供了“丢弃”和“不丢弃”行为之间的中间行为,包括但不限于本文中其他地方描述的“推迟丢弃”行为。
为了在同一物理链路315上实现两种行为,本发明提供了用于实现VL的方法和设备。VL是将物理链路切割为多个逻辑实体以使得VL之一中的流量不受其他VL上的流量影响的方法。这是通过为每个VL维护独立的缓冲器(或物理缓冲器的独立部分)来实现的。例如,可以使用一个VL来不受阻碍地发送控制平面流量和一些其他高优先级流量,因为低优先级的大批流量在另一VL上。多个VLAN可以被分组为不同的VL,以使得一组VLAN中的流量可以不被其他VLAN上的流量妨碍。
在图3所示的示例中,交换机305和310有效地在物理链路315上提供4个VL。这里,VL 320和325是丢弃VL,VL 330和335是不丢弃VL。为了同时实现“丢弃”行为和“不丢弃”行为,必须对每种行为至少指派一个VL,总共是两个VL(理论上可以只有一个VL,其被临时指派给每种行为,但是这种实现方式不是优选的)。为了支持遗留设备(legacy device)和/或缺乏LLE功能的其他设备,本发明的优选实现方式支持不具有VL的链路并将该链路的所有流量映射到第一LLE端口处的单个VL中。从网络管理的角度来看,优选地具有2到16个之间的VL,但是也可以实现更多的VL。
优选地将链路动态分割为VL,因为静态分割不够灵活。在本发明的一些优选实现方式中,例如通过添加扩展头部,在逐个分组基础上(或逐个帧)基础上实现动态分割。本发明包括用于这种头部的多种格式。在本发明的一些实现方式中,在DCE链路上发送的帧有两种:数据帧和链路管理帧。
虽然图4和5分别示出了以太网数据帧和链路管理帧的格式,但是为了实现本发明的某些方面,本发明的备选实现方式以不同的序列或其他变型提供具有更多或更少字段的帧。图4的字段405和410分别是用于帧的目的地地址和源地址的标准以太网字段。类似地,协议类型字段430、净荷435和CRC字段440可以是标准以太网帧的字段。
但是,协议字段420指示后面的字段是DCE头部425的字段。如果存在的话,则DCE头部将优选地尽可能接近帧的开始处,因为这可以使硬件容易进行解析。DCE头部可以在以太网数据帧中运送,如图4所示,也可以在链路管理帧中运送(见图5及相应讨论)。该头部优选地被MAC剥离并且不需要被存储在帧缓冲器中。在本发明的一些实现方式中,当不存在数据流量时或者如果由于缺乏信用而不能发送常规帧时,生成链路管理帧的连续流。
DCE头部中运送的大多数信息都与包含DCE头部的以太网帧有关。但是,一些字段是用于补偿反方向上的流量的信用的缓冲器信用字段。在本示例中,缓冲器信用字段仅由具有长DCE头部的帧运送。如果解决方案使用暂停帧而不是信用,则可以不需要信用字段。
TTL字段445指示存活时间(time to live),它是一个每次转发帧400都会递减的数。第二层网络通常不需要TTL字段。以太网使用非常保守的生成树拓扑。生成树对活动拓扑有约束,并且对从一个交换机到另一个的分组只允许一条路径。
在本发明的优选实现方式中,并不遵循对活动拓扑的这一限制。相反,优选地,例如根据OSPF(最短路径优先)或IS-IS(中间系统到中间系统)等链路状态协议,同时存在多个活动路径。但是,已知链路状态协议会在拓扑重配置期间导致瞬时环路。使用TTL或类似特征确保瞬时环路不会变为严重问题。因此,在本发明的优选实现方式中,在帧中编码TLL以便有效地实现第二层的链路状态协议。本发明的一些实现方式不是使用链路状态协议,而是使用以不同LLE交换机为根的多个生成树并获得类似行为。
字段450标识帧400的VL。根据字段450的VL标识允许设备将帧指派给正确的VL和对不同VL应用不同规则。如本文中其他地方所述,这些规则将根据不同标准而有所不同,所述不同标准例如:VL是丢弃还是不丢弃VL、VL是否具有保证带宽、在VL上当前是否有拥塞,以及其他因素。
ECN(显式拥塞通知)字段455被用来指示缓冲器(或缓冲器的被分配给该VL的一部分)正被填充,并且源应当减慢其对所指示的VL的发送速率。在本发明的优选实现方式中,网络的至少一些主机设备可以理解ECN信息,并且将对所指示的VL应用整形器和/或速率限制器。显式拥塞通知可以以至少两种常用方式出现。在一种方法中,发送一个用于发送ECN的明确目的的帧。在另一种方法中,该通知被“背负(piggy-back)”在本应被发送的帧上。
如其他地方所述,ECN可被发送到源或边缘设备。ECN可以发起于DCE网络中的各种设备,包括末端设备和核心设备。如下面在交换机体系结构部分中更详细地讨论的那样,拥塞通知及其响应是在维持小缓冲器大小的同时控制拥塞的很重要的部分。
本发明的一些实现允许ECN从发起设备向上游发送和/或允许ECN向下游发送,然后被发送回上游。例如,ECN字段455可以包括前向ECN部分(“FECN”)和后向ECN部分(“BECN”)。当交换机端口体验到拥塞时,它可以设置FECN部分中的一个位,并正常地转发帧。在接收到FECN位被设置的帧时,末端站设置BECN位并且帧被发送回源。源接收到帧,检测到BECN位已被设置,并至少对于所指示的VL减少被注入网络中的流量。
帧信用字段465被用来指示应该对帧400分配的信用数。在本发明范围内有很多可用来实现这种系统的方式。最简单的解决方案是对个体分组或帧分配信用。这从缓冲器管理角度来看可能不是最佳解决方案:如果缓冲器被保留以单个信用并且对每个分组应用一个信用,则整个缓冲器都被保留以用于单个分组。即使缓冲器仅仅是预期的全尺寸(full-size)帧的大小,这种信用分配方案也常常会导致每个缓冲器的低利用率,因为很多帧将会小于最大大小。例如,如果全尺寸帧是9KB,并且所有的缓冲器都是9KB,但是平均帧大小是1500字节,则正常情况下每个缓冲器只有约1/6被使用。
一种更好的解决方案是根据帧大小来分配信用。虽然可以例如针对单个字节分配信用,但是实际上优选地使用更大的单元,例如64B、128B、256B、512B、1024B,等等。例如,如果一个信用被用于512B的单元,则上述平均1500字节的帧将需要3个信用。如果这样的一个帧根据本发明的一个这种实现方式被发送,则帧信用字段465将指示帧需要3个信用。
根据帧大小的信用分配允许更高效地使用缓冲器空间。知道分组的大小不仅指示将需要多少缓冲器空间,而且还指示分组何时可以被从缓冲器移走。例如,如果交换机的内部发送速度不同于数据到达交换机端口的速率,则这可能是非常重要的。
该示例提供了DCE头部的较长版本和较短版本。长头部字段460指示DCE头部是长还是短版本。在这种实现方式中,所有数据帧都至少包含分别在字段445、450、455和465中包括TTL、VL、ECN和帧信用信息的短头部。如果需要与短头部中存在的信息一起运送与每个VL相关联的信用信息,则数据帧可以包含长头部。在该示例中,存在8个VL和用于指示每个VL的缓冲器信用的8个相应字段。对短和长DCE头部二者的使用减小了在所有帧中运送信用信息的开销。
当没有要被发送的数据帧时,本发明的一些实施例发送链路管理帧(“LMF”)以宣告信用信息。LMF也可被用来运送来自接收方的缓冲器信用,或运送来自发送方的发送帧信用。LMF的发送应该不计信用(帧信用=0),因为它优选地被端口消耗掉而不被转发。LMF可以被周期性地发送和/或响应于预定条件而被发送(例如在每10MB的净荷被数据帧发送之后)。
图5示出了根据本发明一些实现方式的LMF格式的示例。LMF 500开始于分别用于帧的目的地地址和源地址的标准6B以太网字段510和520。协议类型头部530指示后面跟随着DCE头部540,它在本示例中是一个短DCE头部(例如长头部字段=0)。DCE头部540的VL、TTL、ECN和帧信用字段被发送方设置为0,并且被接收方忽略。因此,LMF可以用以下特性标识:Protocol_Type=DCE_Header,Long_Header=0并且Frame_Credit=0。
字段550指示活动VL的接收方缓冲器信用。在该示例中,存在8个活动VL,因此利用字段551到558为每个活动VL指示缓冲器信用。类似地,字段560指示用于发送设备的缓冲器信用,因此利用字段561到568为每个活动VL指示帧信用。
LMF 500不包含任何净荷。如果有必要,则如在本示例中那样,LMF500被填充字段570填充为64字节,以便创建合法的最小尺寸以太网帧。LMF 500终止于标准以太网CRC字段580。
一般地,本发明的缓冲器到缓冲器信用方案是根据以下两条规则实现的:(1)当发送方具有大于等于要被发送的帧所需的信用数的来自接收方的信用数时,发送方发送帧;以及(2)当接收方能够接受额外的帧时,接收方向发送方发送信用。如上所述,可以使用数据帧或LMF来补充信用。仅当至少存在等于帧长度(排除DCE头部的长度)的信用时,端口才被允许发送针对特定VL的帧。
类似的规则适用于使用暂停帧而非信用的情况。当发送方未被接收方暂停时,发送方发送帧。当接收方不能接受额外的帧时,接收方向发送方发送暂停帧。
下面是数据传输和信用补充的简化示例。图6A示出了从交换机B发送到交换机A的具有短DCE头部的数据帧605。在分组605到达交换机A之后,它将被保存在缓冲器610的存储器空间608中。因为缓冲器610的存储器的一些量被消耗,因此用于交换机B的可用信用将会有相应的减少。类似地,当数据帧615(也具有DCE头部)被从交换机A发送到交换机B时,数据帧615将消耗缓冲器620的存储器空间618,交换机A可用的信用将会有相应的减少。
但是,当帧605和615已被转发之后,在发送交换机的缓冲器中,相应的存储器空间将变为可用的。在某些时刻(例如周期性地或按需地),该缓冲器空间再次可用这一事实应被传送到链路另一端的设备。具有长DCE头部的数据帧和LMF被用于补充信用。如果没有信用被补充,则可以使用短DCE头部。虽然一些实现方式对所有传输都使用较长的DCE头部,但是这种实现方式是低效的,因为例如对于不包含关于信用补充的信息的分组,消耗了额外的带宽。
图6B示出了本发明的信用信令方法的一个示例。传统的信令信用方案650通告接收方想要返回的新信用。例如,在时刻t4,接收方想要返回5个信用,因此在帧中运送值5。在时刻t5,接收方没有要返回的信用,因此在帧中运送值0。如果时刻t4的帧丢失,则5个信用丢失。
DCE方案660通告累积信用值。换言之,每个通告将要返回的新信用加到以m为模的先前返回的信用总数上(对于8位的情况,m为256)。例如,在时刻t3,从链路初始化开始返回的信用总数是3;在时刻t4,由于需要返回5个信用,因此5被加到3上,在帧中发送8。在时刻t5,没有信用需要返回,8被再次发送。如果时刻t4的帧丢失,则没有信用丢失,因为时刻t5的帧包含相同的信息。
根据本发明的一个示例性实现方式,接收DCE交换机端口维护以下信息(其中VL指示对每个虚拟通道维护信息):
·BufCrd[VL]-按可被发送的信用数递增的模计数器;
·BytesFromLastLongDEC-从最近的长DCE头部起被发送的字节数;
·BytesFromLastLMF-从最近的LMF起发送的字节数;
·MaxIntBetLongDCE-发送长DCE头部之间的最大间隔;
·MaxIntBetLMF-发送LMF之间的最大间隔;以及
·FrameRx-按接收帧的FrameCredit字段递增的模计数器。
发送DCE交换机端口维护以下信息:
·LastBufCrd[VL]-接收方的BufCrd[VL]变量的最近估计值;以及
·FrameCrd[VL]-按用于发送帧的信用数递增的模计数器。
当链路建立时,链路每端的网络设备将就DCE头部的存在进行协商。如果头部不存在,则网络设备将例如简单地实现用于标准以太网的链路。如果头部存在,则网络设备将实现根据本发明某些方面的DCE链路的特征。
图6C是指示了根据本发明某些实现方式如何初始化DCE链路的流程图。本领域的技术人员将理解,方法680(与这里描述的其他方法一样)的步骤不需要以所指示的顺序被执行,并且在某些情形下不以所指示的顺序被执行。此外,这些方法的某些实现方式包括比所指示的更多或更少的步骤。
在步骤661,在两个交换机端口之间建立物理链路,在步骤663,接收第一分组。在步骤665,(接收端口)确定分组是否具有DCE头部。如果不具有,则实现用于标准以太网流量的链路。如果分组具有DCE头部,则端口执行将链路配置为DCE链路的步骤。在步骤671,接收方和发送方将与链路上的流量有关的所有阵列归0。在步骤673,MaxIntBetLongDCE被初始化为所配置的值,在步骤675,MaxIntBetLMF被初始化为所配置的值。
在步骤677,两个DCE端口优选地通过发送LMF来交换用于每个VL的可用信用信息。如果某个VL不被使用,则其可用信用被通告为0。在步骤679,实现用于DCE的链路,包括数据帧的DCE流量可以根据这里描述的方法在链路上被发送。
为了在存在单个帧丢失时正确地工作,优选实现方式的DCE自恢复机制要求在一帧中通告的最大信用数小于最大可通告值的1/2。在短DCE头部的某些实现方式中,每个信用字段是8位,即值为256。因此,在单个帧中可以通告最多127个额外信用。127个信用的最大值是合理的,因为最坏情况由一个方向上的一长列最小尺寸的帧和相反方向上的单个特大帧代表。在9KB的特大帧的发送期间,最小尺寸帧的最大数量约为9220B/84B=110个信用(假设9200字节最大发送单元和20字节IPG和前导)。
如果多个连续帧丢失,则LMF恢复方法可以“治愈”链路。一个这种LMF恢复方法基于这种想法工作:在某些实现方式中,DCE端口维护的内部计数器是16位的,但是为了节约带宽,在长DCE头部中只发送低8位。如前所述,如果没有连续帧丢失,则这可以很好地工作。当链路经历多个连续差错时,长DCE头部可能不再能够同步计数器,但是这是通过包含所有计数器的全部16位的LMF实现的。8个额外的位允许了恢复多256倍的差错,即总共512个连续差错。优选地,在遇到这种情况之前,链路被声明为不工作的,并且被重置。
为了实现低延迟以太网系统,必须考虑至少3种一般类型的流量。这些类型是IP网络流量、存储流量和集群流量。如上所详述的那样,LLE提供具有适于例如存储流量的具有类似于FC的特性的“不丢弃”VL。“不丢弃”VL不会丢失分组/帧,并且可以根据例如图8所示的简单栈而被提供。在LLE层805与FC层2(815)之间仅有一个小“薄层”(shim)的基于LLE的FC 810。层815、820和825与FC栈750的相同。因此,先前在FC上运行的存储应用可以在LLE上运行。
现在将参考图9A、9B和10描述根据基于LLE的FC层810的一种示例性实现方式的FC帧到基于以太网的FC帧的映射。图9A是FC帧的简化版本。FC帧900包括SOF 905和EOF 910,它们是用于限定帧900的边界并且传递诸如帧类别、帧是序列(一组FC帧)的开头还是末尾、帧是正常的还是异常的等信息的有序符号集合。这些符号中的至少一些是非法的“代码违反(code violation)”符号。FC帧900还包括24位源FC ID字段915、24位目的地FC ID字段920,以及净荷925。
本发明的一个目标在于通过以太网传递在诸如FC帧900等FC帧中包含的存储信息。图10示出了可以传递这种存储流量的LLE的本发明的一个实现方式。网络1000包括LLE云1005,设备1010、1015和1020附接到LLE云1005。LLE云1005包括多个LLE交换机1030,本文中其他地方会详细讨论LLE交换机1030的示例性体系结构。设备1010、1015和1020可以是主机设备、服务器、交换机等。存储网关1050将LLE云1005与存储设备1075相连接。为了移动存储流量,网络1000可以被配置为充当FC网络。因此,设备1010、1015和1020的端口中的每一个都具有它们自己的FC ID,并且存储设备1075的端口具有FC ID。
为了在设备1010、1015和1020与存储设备1075之间高效地移动包括帧900的存储流量,本发明的一些优选实现方式将来自FC帧900的字段的信息映射到LLE分组950的相应字段。LLE分组950包括:SOF 955、目的地MAC字段的组织ID字段965和设备ID字段970;源MAC字段的组织ID字段975和设备ID字段980;协议类型字段985、字段990和净荷995。
优选地,字段965、970和980是遵从正常以太网协议的24位字段。因此,在本发明的一些实现方式中,FC帧900的目的地FC ID字段915的内容被映射到字段965或970之一,优选地被映射到字段970。类似地,FC帧900的源FC ID字段920的内容被映射到字段975或980之一,优选地被映射到字段980。优选地将FC帧900的目的地FC ID字段915和源FC ID字段920的内容分别映射到LLE分组950的字段970和980,因为在传统上,很多设备代码都被IEEE指派用于单个组织代码。这种映射功能例如可以由存储网关1050执行。
因此,可以部分通过从IEEE购买对应于一组设备代码的组织唯一标识符(“OUI”)代码来实现FC帧到LLE分组的映射。在一个这种示例中,受让人(Cisco System)付费获得OUI,并将该OUI指派给“基于以太网的FC”。根据本发明的这个方面配置的存储网关(例如存储网关1050)将OUI放在字段965和975中,将目的地FC ID字段915的24位内容拷贝到24位字段970,并将源FC ID字段920的24位内容拷贝到24位字段980。存储网关在协议类型字段985中插入指示基于以太网的FC的代码,并将净荷925的内容拷贝到净荷字段995。
由于上述映射,在存储网络上不需要显式指派MAC地址。但是,作为映射的结果,目的地和源FC ID的算法导出版本被编码在LLE帧的将在正常以太网分组中被指派给目的地和源MAC地址的相应部分中。通过将这些字段当作MAC地址字段那样使用这些字段的内容,可以在LLE网络上路由存储流量。
SOF字段905和EOF字段910包含符号的有序集合,其中的一些(例如用来指示FC帧的开头和末尾的那些)是有时被称为“非法”或“代码违反”符号的保留符号。如果这些符号之一被拷贝到LLE分组950中的字段(例如字段990),则该符号将造成差错(例如由于指示LLE分组950应在该符号处终止)。但是,这些符号所传递的信息必须被保留,因为它指示FC帧的类别、帧是序列的开头还是末尾,以及其他重要信息。
因此,本发明的优选实现方式提供了将非法符号转换为合法符号的另一种映射功能。然后,这些合法符号可被插入LLE分组950的内部。在一个这种实现方式中,转换后的符号被放在字段990中。字段990不需要很大,在一些实现方式中,它的长度只有1或2字节。
为了允许实现穿透式交换(cut-through switching),字段990可以被分割为两个独立字段。例如,一个字段可以在帧的开始处,一个可以在帧的另一端。
上述方法仅是用于在扩展以太网帧中封装FC帧的各种技术的一个示例。备选方法包括任何方便的映射,例如包括从元组{VASN,D_ID,S_ID}中导出元组{VLAN,DST MAC Addr,Src MAC Addr}。
上述映射和符号转换过程产生了诸如LLE分组950之类的LLE分组,其允许去往和来自基于FC的存储设备1075的存储流量通过LLE云1005被转发到末端节点设备1010、1015和1020。可通过例如存储网关1050在逐帧基础上运行映射和符号转换过程。
因此,本发明提供了用于在FC-以太网云的入口边界处在扩展以太网帧中封装FC帧的示例性方法。本发明的类似方法提供了在以太网-FC云的出口边界处执行的逆过程。可以从扩展以太网帧解封装出FC帧,然后在FC网络上发送。
这些方法中的一些包括以下步骤:接收以太网帧(例如如这里所述的封装后的);将以太网帧的目的地MAC字段的第一部分的目的地内容映射到FC帧的目的地FC ID字段;将以太网帧的源MAC字段的第二部分的源内容映射到FC帧的源FC ID字段;将以太网帧的合法符号转换为非法符号;将非法符号插入FC帧的选定字段;将以太网帧的净荷字段的净荷内容映射到FC帧净荷字段;以及在FC网络上发送FC帧。
不需要保留关于帧的状态信息。因此,帧可以被很快地处理,例如以40Gb/s的速率被处理。末端节点可以基于SCSI来运行存储应用,因为存储应用能看见图8所示的LLE栈800的SCSI层825。这些FC交换机并不是通过诸如图1所示的FC交换机140和145等专用于FC流量的交换机来转发存储流量,而是可以被LLE交换机1030代替。
此外,LLE交换机的功能允许空前水平的管理灵活度。参考图11,在一种管理方案中,LLE云1105的每个LLE交换机1130都可以被当作独立的FC交换机。或者,LLE交换机1130中的一些或全部可以为了管理目的而被聚集并当作FC交换机。例如,为了管理目的,通过将LLE云1105中的所有LLE交换机当作单个FC交换机而形成了虚拟FC交换机1140。或者,可以聚集更少的LLE交换机1130。例如,3个LLE交换机被聚集以形成虚拟FC交换机1160,4个LLE交换机被聚集以形成虚拟FC交换机1165。网络管理者可以通过考虑个体LLE交换机具有多少个端口等因素来决定聚集多少个交换机。诸如分区(zoning)、DNS、FSPF和其他功能等FC的控制平面功能可以通过将每个LLE交换机当作FC交换机或通过将多个LLE交换机聚集为一个虚拟FC交换机来实现。
此外,相同的LLE云1105可以支持多个虚拟网络。使用虚拟局域网(“VLAN”)来提供虚拟的基于以太网的网络在本领域中是已知的。题为“Interswitch Link Mechanism for Connecting High-Performance NetworkSwitches”的美国专利No.5,742,604描述了相关系统,并且通过引用结合于此。包括2001年12月26日提交的题为“Method And Apparatus ForEncapsulating A Frame For Transmission In A Storage Area Network”的美国专利申请No.10/034,160的本受让人的各种专利申请提供了实现用于基于FC的网络的虚拟存储区域网(“VSAN”)的方法和设备。该申请的全部内容通过引用结合于此。因为LLE网络既可以支持以太网流量也可以支持FC流量,因此本发明的一些实现方式为FC和以太网流量二者在同一物理LLE云上提供虚拟网络的形成。
图12是示出了根据本发明一个实施例的DCE交换机1200的简化体系结构的示意图。DCE交换机1200包括N个线路卡,每个线路卡具有入口侧(或输入)1205和出口侧(或输出)1225。线路卡入口侧1205经由交换架构1250(其在本示例中包括交叉开关)连接到线路卡出口侧1225。
在该实现方式中,在输入和输出侧都执行缓冲。其他体系结构也是可以的,例如包括输入缓冲器、输出缓冲器和共享存储器的体系结构。因此,每个输入线路卡1205包括至少一个缓冲器1210,每个输出线路卡1225包括至少一个缓冲器1230,所述缓冲器可以是本领域已知的任何传统类型的缓冲器,例如外部的基于DRAM的缓冲器或片上的基于SRAM的缓冲器。缓冲器1210被用于输入缓冲,以便例如在等待输出线路卡处有足够的缓冲器变为可用于存储要通过交换架构1250发送的分组时临时保留分组。缓冲器1230被用于输出缓冲,以便例如在等待用于要被发送到另一DCE交换机的分组的足够信用时临时保留从一个或多个输入线路卡1205接收的分组。
应当注意,虽然信用可以在交换机内部和外部使用,但是在内部和外部信用之间不一定有一对一映射。此外,可以在内部或外部使用暂停帧。例如,暂停-暂停、暂停-信用、信用-暂停和信用-信用的四种可能组合中的任意一种都可能产生不同的解决方案。
DCE交换机1200包括用于施加流控制的某种形式的信用机制。该流控制机制可以在缓冲器1230的输出队列之一已到达其最大容量时在缓冲器1210上施加反向压力。例如,在发送帧之前,输入线路卡1205之一可以在将帧从输入队列1215发送到输出队列1235之前向仲裁器1240(其例如可以是位于中央位置的独立芯片或分布在输出线路卡上的芯片组)请求信用。优选地,该请求例如根据DCE头部的帧信用字段指示帧的大小。仲裁器1240将确定是否输出队列1235可以接受该帧(即输出缓冲器1230具有足够的空间来容纳该帧)。如果可以,则信用请求将被许可,仲裁器1240将发送信用许可到输入队列1215。但是,如果输出队列1235太满,则请求将被拒绝,没有信用将被发送到输入队列1215。
如本文中其他部分讨论的那样,DCE交换机1200需要能够支持虚拟通道所需的“丢弃”和“不丢弃”两种行为。部分通过在内部对DEC交换机应用如上所述的某种信用机制来实现“不丢弃”功能。在外部,可以根据早先描述的缓冲器到缓冲器信用机制或暂停帧来实现“不丢弃”功能。例如,如果输入线路卡1205之一通过内部信用机制体验到来自一个或多个输出线路卡1225的反向压力,则该线路卡可以将该反向压力经由类似于FC的缓冲器到缓冲器信用系统的信用系统在上游方向上在外部传播该反向压力。
优选地,提供“不丢弃”功能的同一芯片(例如同一ASIC)也能提供类似于典型以太网交换机的“丢弃”功能。虽然这些任务可以在不同芯片之间分摊,但是在同一芯片上提供丢弃和不丢弃功能使得可以以低得多的价格提供DCE交换机。
如本文中其他地方所述,每个DCE分组将在DCE头部中包含指示DCE分组所属的虚拟通道的信息。DCE交换机1200将根据DCE分组被指派到的VL是丢弃还是不丢弃VL来处理每个DCE分组。
图13示出了为VL分割缓冲器的示例。在该示例中,指派了4个VL。VL 1305和VL 1310是丢弃VL。VL 1315和VL 1320是不丢弃VL。在该示例中,输入缓冲器1300具有为每个VL指派的特定区域:VL 1305被指派给缓冲器空间1325;VL 1310被指派给缓冲器空间1330;VL 1315被指派给缓冲器空间1335;VL 1320被指派给缓冲器空间1340。VL 1305和VL 1310上的流量部分根据缓冲器空间1325和1330的操作,以非常类似于正常以太网流量的方式被管理。类似地,部分根据仅对缓冲器空间1335和1340实现的缓冲器到缓冲器信用流控制方案来实现VL 1315和1320的不丢弃特征。
在一些实现方式中,可以根据诸如缓冲器占用率、一天中的时间、流量负荷/拥塞、保证最小带宽分配、需要更大带宽的已知任务、最大带宽分配等标准来动态指派被指派给VL的缓冲器空间量。优选地,公平原则可用于防止一个VL获得不正常的缓冲器空间量。
在每个缓冲器空间中,在数据结构中存在这样的数据组织,它是与目的地相关联的逻辑队列(虚拟输出队列或VOQ)。(Adisak Mekkittikul和Nick McKeown的A Practical Scheduling Algorithm to Achieve 100%Throughput in Input-Queued Switches,Computer Systems Laboratory,StanfordUniversity(InfoCom 1998)和这里引用的文献描述了用于实现VOQ的相关方法,并且通过引用结合于此)。目的地优选地是目的地端口/虚拟通道对。使用VOQ避免了当输出端口被堵塞和/或当目的地输出端口的另一虚拟通道被堵塞时造成的输入线路卡处的线路头部堵塞。
在一些实现方式中,VOQ不在VL之间共享。在其他实现方式中,VOQ可以在丢弃VL之间或不丢弃VL之间共享。但是,VOQ不应在不丢弃VL和丢弃VL之间共享。
DCE交换机的缓冲器可以实现各种活动队列管理。DCE交换机缓冲器的一些优选实施例提供至少4种基本类型的活动队列管理:流控制、为了避免拥塞的目的而对丢弃VL进行丢弃或对不丢弃VL进行标记;在不丢弃VL中进行丢弃以避免死锁(deadlock);以及进行用于延迟控制的丢弃。
优选地,用于DCE网络的流控制具有至少两种基本体现。一种流控制体现是缓冲器到缓冲器基于信用的流控制,其主要用于实现“不丢弃”VL。一些优选实现方式的另一种流控制体现包括显式上游拥塞通知。该显式上游拥塞通知例如可以如本文中其他地方描述的那样通过DCE头部的显式拥塞通知(“ECN”)字段来实现。
图14示出了DCE网络1405,其包括边缘DCE交换机1410、1415、1425和1430,以及核心DCE交换机1420。在此情况下,核心DCE交换机1420的缓冲器1450实现3种流控制。一种是缓冲器到缓冲器流控制指示1415,其通过缓冲器1450和边缘DCE交换机1410的缓冲器1460之间的缓冲器到缓冲器信用的许可(或不许可)而被传递。
缓冲器1450还发送2个ECN 1451和1452,它们都是通过DCE分组的DCE头部的ECN字段实现的。ECN 1451可被看成核心到边缘通知,因为它是由核心设备1420发送并由边缘DCE交换机1410的缓冲器1460接收的。ECN 1452可被看成核心到端点通知,因为它是由核心设备1420发送并由端节点1440的NIC卡1465接收的。
在本发明的一些实现方式中,通过对被存储到处于拥塞状态的缓冲器中的分组进行采样来生成ECN。通过将ECN的目的地地址设置为等于被采样的分组的源地址,ECN被发送到该分组的源。边缘设备将知道源是如端节点1440那样支持DCE ECN,还是如端节点1435那样不支持DCEECN。在后一情形下,边缘DCE交换机1410将终止ECN并实现合适的动作。
将响应于各种标准(包括但不限于(例如每个VL的)缓冲器占用率、每个VOQ的队列占用率以及VOQ中的分组年龄)来执行活动队列管理(AQM)。为了简明起见,在该AQM的讨论中,一般假设VOQ不在VL之间被共享。
现在参考图15描述根据本发明的AQM的一些示例。图15示出了特定时刻的缓冲器使用。此时,物理缓冲器1500的部分1505已被分配给丢弃VL,部分1510已被分配给不丢弃VL。如本文中其他地方所述,被分配给丢弃VL或不丢弃VL的缓冲器1500的量可以随时间改变。在被分配给丢弃VL的部分1505中,部分1520当前被使用,而部分1515当前未被使用。
在部分1505和1510中,存在大量VOQ,包括VOQ 1525、1530和1535。在该示例中,建立了阈值VOQ长度L。VOQ 1525和1535具有大于L的长度,并且VOQ 1530具有小于L的长度。长VOQ指示下游拥塞。活动队列管理优选地防止任何VOQ变得太大,因为否则影响一个VOQ的下游拥塞会不利地影响其他方向上的流量。
VOQ中的分组的年龄是用于AQM的另一标准。在优选实现方式中,当分组进入缓冲器并被排入正确的VOQ时,分组被加盖时间戳。因此,分组1540在到达缓冲器1500时接收时间戳1545,并被根据其目的地和VL指定放入VOQ中。如别处所述,VL指定将指示应用丢弃还是不丢弃行为。在该示例中,分组1540的头部指示分组1540正在丢弃VL上被发送,并且具有与VOQ 1525的目的地相对应的目的地,因此分组1540被放入VOQ 1525。
通过将时间戳1545的时间与当前时间相比较,可以在接下来确定分组1540的年龄。在该上下文中,“年龄”仅指分组在交换机中花费的时间,而不是在网络中其他部分花费的时间。然而,也可以通过分组年龄来推断网络其他部分的状况。例如,如果分组的年龄变得较大,则这种状况指示朝向分组目的地的路径正经历拥塞。
在优选实现方式中,年龄超过预定年龄的分组将被丢弃。如果在进行年龄确定时发现VOQ中的若干个分组都超过了预定的年龄阈值,则可能发生多个丢弃。
在一些优选实现方式中,存在独立的对于延迟控制年龄限制(TL)和用于避免死锁的年龄限制(TD)。当分组达到TL时要采取的动作优选地依赖于分组是在丢弃还是不丢弃VL上发送。对于不丢弃通道上的流量,数据完整性比延迟更重要。因此,在本发明的一些实现方式中,当不丢弃VL中的分组的年龄超过TL时,分组不会被丢弃,但是可以采取另一动作。例如,在一些这种实现方式中,可以标记分组和/或可以触发上游拥塞通知。对于丢弃VL中的分组,延迟控制较为重要,因此当分组的年龄超过TL时,更强硬的动作是合适的。例如,概率丢弃函数可以被应用于分组。
图16的图表1600提供了概率丢弃函数的一些示例。根据丢弃函数1605、1610和1615,当分组的年龄超过TCO(即延迟取舍阈值)时,依赖于函数,随着分组的年龄增加到TL,分组将被故意丢弃的概率从0%增加到100%。丢弃函数1620是阶梯函数,其在达到TL之前具有0%的故意丢弃概率。所有丢弃函数1605、1610、1615和1620当分组的年龄达到TL时都达到100%的故意丢弃几率。虽然TCO、TL和TD可以是任何方便的时间,但是在本发明的一些实现方式中,TCO是几十微秒的量级,TL是几毫秒到几十毫秒的量级,TD是几百毫秒的量级,例如500毫秒。
如果丢弃或不丢弃VL中的分组年龄超过TD,则分组将被丢弃。在优选实现方式中,不丢弃VL的TD比丢弃VL的TD大。在一些实现方式中,TL和/或TD也可以部分依赖于在上面发送分组的VL的带宽以及同时向该VL发送分组的VOQ数量。
对于不丢弃VL而言,类似于图16所示的概率函数可以被用于触发上游拥塞通知或在属于能够支持TCP ECN的连接的TCP分组的头部中设置拥塞经历位(Congestion Experienced bit,CE)。
在一些实现方式中,分组是否被丢弃、上游拥塞通知是否被发送,或者TCP分组的CE位是否被标记不仅依赖于分组年龄,而且还依赖于分组被放入的VOQ的长度。如果该长度高于阈值Lmax,则采取AQM动作;否则将对从长度超过Lmax阈值的VOQ离队的第一分组执行AQM动作。
每个VL的缓冲器占用率的使用
如图15所示,缓冲器被分摊给VL。对于被分摊给丢弃VL的缓冲器部分(例如缓冲器1500的部分1505),如果任意给定时刻的VL的占用率大于预定最大值,则分组将被丢弃。在一些实现方式中,计算并维护VL的平均占用率。可以基于这种平均占用率来采取AQM动作。例如,当部分1505与不丢弃VL相关联时,将触发DCE ECN,而不是如部分1510(其与丢弃VL相关联)的情形那样将分组丢弃。
图17示出了随时间(水平轴)的VL占用率B(VL)(垂直轴)的图表1700。这里,BT是B(VL)的阈值。在本发明的一些实现方式中,VL中的某些分组将在确定已达到B(VL)期间被丢弃。随时间的B(VL)的实际值由曲线1750示出,但是B(VL)仅在时刻t1到tN是确定的。在该示例中,分组将在对应于时刻t2、t3和t6的点1705、1710和1715处被丢弃。分组可以根据它们的年龄(例如最老优先)、它们的大小、分组的虚拟网络的QoS、随机地、根据丢弃函数等而被丢弃。
此外(或备选地),当B(VL)的平均值、加权平均值等达到或超过BT时,可以采取活动队列管理动作。可以根据各种方法计算这些平均值,例如通过对B(VL)的确定出的值求和并除以确定次数。一些实现方式例如根据对较近的采样分配较大的权重来应用加权函数。可以应用本领域已知的任何加权函数。
所采取的活动队列管理动作可以是例如发送ECN和/或应用类似于图18所示的概率丢弃函数。在该示例中,图表1880的水平轴是B(VL)的平均值。当平均值低于第一值1805时,故意丢弃分组的几率是0%。当平均值到达或超过第二值1810时,故意丢弃分组的几率是100%。不论函数是类似于1815、1820或1825还是其他函数,任何方便的函数都可被应用于居间值(intervening value)。
返回图15,很明显,VOQ 1525和1535的长度超过了预定长度L。在本发明的一些实现方式中,该状况触发活动队列管理响应,例如发送一个或多个ECN。优选地,缓冲器1500中包含的分组将指示源是否能够响应ECN。如果分组的发送方不能响应ECN,则该状况可以触发概率丢弃函数或简单的丢弃。VOQ 1535不仅比预定长度L1长,而且比预定长度L2长。根据本发明的某些实现方式,这种状况触发分组的丢弃。本发明的一些实现方式使用平均VOQ长度作为用于触发活动队列管理响应的标准,但是由于需要大量计算,因此这不是优选的。
希望具有用于触发AQM动作的多个标准。例如,虽然提供对VOQ长度的响应非常有用,但是这种措施对于具有约每个端口1到3MB缓冲器空间的DCE交换机而言可能是不够的。对于给定的缓冲器,可能存在几千个活动VOQ。但是,可能只对103个量级的分组(或者更少)而言有足够的存储空间。因此,有可能没有一个VOQ具有足够的分组以触发任何AQM响应,但是VL已经把空间用光了。
用于不丢弃VL的队列管理
在本发明的优选实现方式中,丢弃和不丢弃VL的活动队列管理之间的主要区别在于对于丢弃VL将触发分组丢弃的相同的(一个或多个)标准对于不丢弃VL将导致DCE ECN被发送或TCP CE位被标记。例如,对于丢弃VL将触发概率分组丢弃的状况一般将产生到上游边缘设备或端点(主机)设备的概率ECN。基于信用的方案不是基于分组要去往哪里,而是基于分组来自哪里。因此,上游拥塞通知帮助提供公平的缓冲器使用并且避免当用于不丢弃VL的流控制的唯一方法是基于信用的流控制时可能产生的死锁。
例如,当使用每个VL的缓冲器占用率作为标准时,优选地不仅仅因为每个VL的缓冲器占用率已经达到或超过阈值就丢弃分组。相反,例如,分组将被标记或ECN将被发送。类似地,还可以计算某种类型的平均每VL占用率并应用概率函数,但是要采取的潜在动作将是标记和/或发送ECN。分组不会被丢弃。
但是,即使对于不丢弃VL,分组仍将响应于堵塞或死锁状况(例如本文中其他地方所述的分组年龄超过阈值所指示的状况)而被丢弃。本发明的一些实现方式还允许不丢弃VL的分组响应于延迟状况而被丢弃。这将依赖于该特定不丢弃VL的延迟的重要程度。一些此类实现应用概率丢弃算法。例如,一些集群应用可以比存储应用对延迟考虑赋予更高的值。数据完整性对于集群应用来说仍然很重要,但是通过前述某种程度的数据完整性来减小延迟可能是有益的。在一些实现中,对于不丢弃通道可以使用比丢弃通道更大的值TL(即延迟控制阈值)。
图19示出了可被配置来实现本发明的一些方法的网络设备的示例。网络设备1960包括主机中央处理单元(CPU)1962、接口1968和总线1967(例如PCI总线)。一般地,接口1968包括适于与合适的介质通信的端口1969。在一些实施例中,一个或多个接口1968包括至少一个独立处理器1974,在某些情况下还包括易失性RAM。独立处理器1974例如可以是ASIC或任何其他合适的处理器。根据一些这种实施例,这些独立处理器1974执行这里描述的逻辑中的至少一些功能。在一些实施例中,一个或多个接口1968控制诸如媒体访问控制和管理等通信密集型任务。通过提供用于通信密集型任务的独立处理器,接口1968允许主微处理器1962高效地执行其他功能,例如路由选择计算、网络诊断、安全功能,等等。
接口1968一般被提供为接口卡(有时称为“线路卡”)。一般地,接口1968控制网络上数据分组的发送和接收,并且有时支持与网络设备1960一起使用的其他外设。可以提供的接口有:光纤信道(“FC”)接口、以太网接口、帧中继接口、线缆接口、DSL接口、令牌环接口,等等。此外,也可以提供多种甚高速接口,例如快速以太网接口、吉比特以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口、ASI接口、DHEI接口,等等。
当在合适的软件或固件控制下动作时,在本发明的一些实现方式中,CPU 1962可以负责实现与所需网络设备的功能相关联的特定功能。根据一些实施例,CPU 1962在包括操作系统(例如Linux、VxWorks,等等)的软件和任何合适的应用软件的控制下实现所有这些功能。
CPU 1962可以包括一个或多个处理器1963,例如来自Motorola微处理器族或MIPS微处理器族的处理器。在备选实施例中,处理器1963是用于控制网络设备1960的操作的专门设计的硬件。在特定实施例中,存储器1961(例如非易失性RAM和/或ROM)还形成CPU 1962的一部分。但是,存储器耦合到系统的方法可以有很多种。存储器块1961可以被用于多种目的,例如缓存和/或存储数据、编程指令,等等。
不论网络设备的配置如何,它都可以采用被配置为存储数据、用于通用网络操作的程序指令和/或于这里描述的技术的功能有关的其他信息的一个或多个存储器或存储器模块(例如存储器块1965)。程序指令例如可以控制操作系统和/或一个或多个应用的操作。
由于这种信息和程序指令可以被采用来实现这里描述的系统/方法,因此本发明涉及包括程序指令、状态信息等以便执行这里描述的各种操作的机器可读介质。机器可读介质的示例包括但不限于诸如硬盘、软盘和磁带等磁介质;诸如CD-ROM等光介质;磁光介质;以及被专门配置来存储和执行程序指令的硬件设备,例如指定存储器设备(ROM)和随机访问存储器(RAM)。本发明还可以被实现在通过诸如光波、光线、电线等合适的介质传播的载波中。程序指令的示例包括例如由编译器产生的机器代码和包含可由计算机使用解释器执行的高级代码的文件。
虽然图19所示的系统示出了本发明的一种特定网络设备,但是它绝不是可以实现本发明的唯一网络设备体系结构。例如,常常使用具有处理通信以及路由选择计算等的单个处理器的体系结构。此外,其他类型的接口和介质也可以与网络设备一起使用。接口/线路卡之间的通信路径可以是基于总线的(如图19所示)或是基于交换架构的(例如交叉开关)。
虽然已经参考特定实施例具体示出和描述了本发明,但是本领域的技术人员应当了解,在不脱离本发明精神和范围的情况下可以在所公开的实施例的形式和细节方面作出改变。例如,本发明的一些实现方式允许VL从丢弃VL改为不丢弃VL。因此,这里描述的示例不应限制本发明。所附权利要求应被解释为包括落在本发明精神和范围内的所有变形、等同物、改变和修改。
Claims (39)
1.一种用于在单个物理链路上运送多于一种流量的方法,该方法包括:
将物理链路上的流量在逻辑上分割为多个虚拟通道;
向第一虚拟通道上的第一流量应用第一组规则;以及
向第二虚拟通道上的第二流量应用第二组规则。
2.如权利要求1所述的方法,还包括区分每个虚拟通道上的服务的步骤。
3.如权利要求1所述的方法,还包括向第三到第N虚拟通道上的流量应用第三到第N组规则的步骤。
4.如权利要求1所述的方法,其中所述第一流量包括以太网流量。
5.如权利要求1所述的方法,其中所述第二流量包括存储流量。
6.如权利要求1所述的方法,其中所述第二流量包括过程间通信流量。
7.如权利要求1所述的方法,其中所述第一组规则使得帧响应于延迟而被丢弃。
8.如权利要求1所述的方法,其中所述第二组规则不使得帧响应于延迟而被丢弃。
9.如权利要求1所述的方法,其中所述第一组规则使得显式拥塞通知响应于延迟而被发送。
10.如权利要求1所述的方法,其中所述第二组规则使得显式拥塞通知响应于延迟而被发送。
11.如权利要求1所述的方法,其中所述第二组规则使得帧被丢弃以避免死锁。
12.如权利要求1所述的方法,其中所述第一组规则响应于延迟而应用概率丢弃函数。
13.如权利要求1所述的方法,还包括通过使用缓冲器到缓冲器信用分配方案和暂停帧中的一个或多个来实现每虚拟通道的流控制的步骤。
14.如权利要求2所述的方法,其中根据服务质量和访问控制中的一个或多个来区分服务。
15.如权利要求9所述的方法,其中所述显式拥塞通知被发送到源设备或边缘设备之一。
16.如权利要求9所述的方法,其中所述显式拥塞通知是经由数据帧或控制帧之一发送的。
17.如权利要求13所述的方法,其中所述缓冲器到缓冲器信用分配方案包括根据帧大小和帧数量之一的信用分配。
18.如权利要求13所述的方法,其中缓冲器到缓冲器信用是经由数据帧或控制帧之一指示的。
19.一种网络设备,包括:
用于将物理链路上的流量在逻辑上分割为多个虚拟通道的装置;
用于向第一虚拟通道上的第一流量应用第一组规则的装置;以及
用于向第二虚拟通道上的第二流量应用第二组规则的装置。
20.如权利要求19所述的网络设备,其中所述第一流量包括以太网流量。
21.如权利要求19所述的网络设备,其中所述第二流量包括存储流量。
22.如权利要求19所述的网络设备,还包括用于区分每个虚拟通道的服务的装置。
23.如权利要求19所述的网络设备,还包括用于实现每虚拟通道的流控制的装置,所述流控制包括缓冲器到缓冲器信用分配方案和使用暂停帧中的一个或多个。
24.如权利要求19所述的网络设备,其中所述第二流量包括过程间通信流量。
25.如权利要求23所述的网络设备,其中所述缓冲器到缓冲器信用分配方案包括根据帧大小和帧数量之一进行信用分配。
26.如权利要求23所述的网络设备,其中经由数据帧或控制帧之一指示缓冲器到缓冲器信用。
27.一种用于在单个虚拟链路上传输多种流量类型的方法,所述方法包括:
接收物理链路上的第一帧;
检查所述第一帧的一个或多个字段;
基于所述一个或多个字段确定第一虚拟通道规则应被应用于所述第一帧;以及
将所述第一虚拟通道规则应用于所述第一帧。
28.如权利要求27所述的方法,还包括:
接收物理链路上的第二帧;
检查所述第二帧的一个或多个字段;
基于所述一个或多个字段确定第二虚拟通道规则应被应用于所述第二帧;以及
将所述第二虚拟通道规则应用于所述第二帧。
29.如权利要求27所述的方法,其中所述确定步骤包括解析显式虚拟通道标识信息。
30.如权利要求27所述的方法,其中所述确定步骤包括:
解析隐含虚拟通道标识信息;以及
将所述隐含虚拟通道标识信息与响应的虚拟通道进行映射。
31.如权利要求27所述的方法,其中所述第一虚拟通道规则包括第一组活动缓冲器管理规则,所述第二虚拟通道规则包括第二组活动缓冲器管理规则。
32.如权利要求27所述的方法,其中所述第一虚拟通道规则和第二虚拟通道规则区分每虚拟通道的服务。
33.一种用于在单个虚拟链路上传输多种流量类型的方法,所述方法包括:
初始化第一交换机端口和第二交换机端口之间的物理链路;以及
确定所述帧是否包含在所述物理链路上建立虚拟通道所需的信息。
34.如权利要求33所述的方法,还包括当确定所述帧包含在所述物理链路上建立虚拟通道所需的信息时将所述物理链路上的流量在逻辑上分割为多个虚拟通道的步骤。
35.如权利要求33所述的方法,还包括当确定所述帧不包含在所述物理链路上建立虚拟通道所需的信息时在所述物理链路上建立标准以太网连接的步骤。
36.一种用于在单个虚拟链路上传输多种流量类型的装置,所述装置包括:
用于初始化第一交换机端口和第二交换机端口之间的物理链路的装置;以及
用于确定所述帧是否包含在所述物理链路上建立虚拟通道所需的信息的装置。
37.如权利要求36所述的装置,还包括用于当确定所述帧包含在所述物理链路上建立虚拟通道所需的信息时将所述物理链路上的流量在逻辑上分割为多个虚拟通道的装置。
38.如权利要求36所述的装置,还包括用于当确定所述帧不包含在所述物理链路上建立虚拟通道所需的信息时在所述物理链路上建立标准以太网连接的装置。
39.一种网络设备,包括:
多个端口,每个端口被配置为在多个物理链路之一上通信;以及
多个线路卡,每个线路卡被配置为执行以下操作:
将物理链路上的流量在逻辑上分割为多个虚拟通道;
向第一虚拟通道上的第一流量应用第一组规则;以及
向第二虚拟通道上的第二流量应用第二组规则。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62139604P | 2004-10-22 | 2004-10-22 | |
US60/621,396 | 2004-10-22 | ||
US11/084,587 | 2005-03-18 | ||
US11/084,587 US7969971B2 (en) | 2004-10-22 | 2005-03-18 | Ethernet extension for the data center |
PCT/US2005/037069 WO2006047109A2 (en) | 2004-10-22 | 2005-10-14 | Ethernet extension for the data center |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101040471A true CN101040471A (zh) | 2007-09-19 |
CN101040471B CN101040471B (zh) | 2012-01-11 |
Family
ID=38809008
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200580034646.0A Active CN101040489B (zh) | 2004-10-22 | 2005-10-13 | 用于统一输入/输出和降低延迟的网络设备体系结构 |
CN200580034647.5A Active CN101040471B (zh) | 2004-10-22 | 2005-10-14 | 数据中心的以太网扩展 |
CN 200580035946 Active CN100555969C (zh) | 2004-10-22 | 2005-10-17 | 以太网上的光纤信道 |
CN200580034955.8A Active CN101129027B (zh) | 2004-10-22 | 2005-10-18 | 转发表缩减和多路径网络转发 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200580034646.0A Active CN101040489B (zh) | 2004-10-22 | 2005-10-13 | 用于统一输入/输出和降低延迟的网络设备体系结构 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200580035946 Active CN100555969C (zh) | 2004-10-22 | 2005-10-17 | 以太网上的光纤信道 |
CN200580034955.8A Active CN101129027B (zh) | 2004-10-22 | 2005-10-18 | 转发表缩减和多路径网络转发 |
Country Status (1)
Country | Link |
---|---|
CN (4) | CN101040489B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347955A (zh) * | 2011-11-01 | 2012-02-08 | 杭州依赛通信有限公司 | 一种基于虚拟通道的可靠数据传输协议 |
CN104320350A (zh) * | 2013-04-15 | 2015-01-28 | 国际商业机器公司 | 用于提供基于信用的流控制的方法及系统 |
CN104954253A (zh) * | 2014-03-31 | 2015-09-30 | 瞻博网络公司 | 用于数据中心覆盖网络的基于PCIe的主机网络加速器(HNA) |
US9954798B2 (en) | 2014-03-31 | 2018-04-24 | Juniper Networks, Inc. | Network interface card having embedded virtual router |
US10243840B2 (en) | 2017-03-01 | 2019-03-26 | Juniper Networks, Inc. | Network interface card switching for virtual networks |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7821939B2 (en) * | 2007-09-26 | 2010-10-26 | International Business Machines Corporation | Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture |
CN101184098B (zh) * | 2007-12-11 | 2011-11-02 | 华为技术有限公司 | 数据传输方法和传输装置 |
US8355345B2 (en) * | 2009-08-04 | 2013-01-15 | International Business Machines Corporation | Apparatus, system, and method for establishing point to point connections in FCOE |
CN101656721B (zh) * | 2009-08-27 | 2012-08-08 | 杭州华三通信技术有限公司 | 虚链路发现控制方法和以太网承载光纤通道协议系统 |
CN102045248B (zh) * | 2009-10-19 | 2012-05-23 | 杭州华三通信技术有限公司 | 虚链路发现控制方法和以太网承载光纤通道协议系统 |
JP5617137B2 (ja) | 2010-05-28 | 2014-11-05 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 仮想レイヤ2およびそれをスケーラブルにするための機構 |
EP3703345A1 (en) | 2010-06-29 | 2020-09-02 | Huawei Technologies Co., Ltd. | Asymmetric network address encapsulation |
CN102377661A (zh) * | 2010-08-24 | 2012-03-14 | 鸿富锦精密工业(深圳)有限公司 | 刀片服务器及在其中建立刀片最短传输路径的方法 |
US8917722B2 (en) * | 2011-06-02 | 2014-12-23 | International Business Machines Corporation | Fibre channel forwarder fabric login sequence |
US20140153443A1 (en) * | 2012-11-30 | 2014-06-05 | International Business Machines Corporation | Per-Address Spanning Tree Networks |
CN104301229B (zh) * | 2014-09-26 | 2016-05-04 | 深圳市腾讯计算机系统有限公司 | 数据包转发方法、路由表生成方法及装置 |
CN104767606B (zh) * | 2015-03-19 | 2018-10-19 | 华为技术有限公司 | 数据同步装置及方法 |
JP6743771B2 (ja) * | 2017-06-23 | 2020-08-19 | 株式会社デンソー | ネットワークスイッチ |
CN108965171B (zh) * | 2018-07-19 | 2020-11-20 | 重庆邮电大学 | 工业无线wia-pa网络与时间敏感网络转换方法及装置 |
CN112737995B (zh) * | 2020-12-16 | 2022-11-22 | 北京东土科技股份有限公司 | 以太网帧的处理方法、装置、设备及存储介质 |
CN113872863B (zh) * | 2021-08-25 | 2023-04-18 | 优刻得科技股份有限公司 | 一种路径搜索方法及装置 |
CN115580586A (zh) * | 2022-11-25 | 2023-01-06 | 成都成电光信科技股份有限公司 | 一种基于片上系统的fc交换机输出队列的构建方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920566A (en) * | 1997-06-30 | 1999-07-06 | Sun Microsystems, Inc. | Routing in a multi-layer distributed network element |
US5974467A (en) * | 1997-08-29 | 1999-10-26 | Extreme Networks | Protocol for communicating data between packet forwarding devices via an intermediate network interconnect device |
US6556541B1 (en) * | 1999-01-11 | 2003-04-29 | Hewlett-Packard Development Company, L.P. | MAC address learning and propagation in load balancing switch protocols |
US20030195983A1 (en) * | 1999-05-24 | 2003-10-16 | Krause Michael R. | Network congestion management using aggressive timers |
CN1104800C (zh) * | 1999-10-27 | 2003-04-02 | 华为技术有限公司 | 一种双表控制的数据帧转发方法 |
WO2002065298A1 (en) * | 2001-02-13 | 2002-08-22 | Candera, Inc. | Silicon-based storage virtualization server |
US20020141427A1 (en) * | 2001-03-29 | 2002-10-03 | Mcalpine Gary L. | Method and apparatus for a traffic optimizing multi-stage switch fabric network |
US7093024B2 (en) * | 2001-09-27 | 2006-08-15 | International Business Machines Corporation | End node partitioning using virtualization |
US20030169690A1 (en) * | 2002-03-05 | 2003-09-11 | James A. Mott | System and method for separating communication traffic |
US7349416B2 (en) * | 2002-11-26 | 2008-03-25 | Cisco Technology, Inc. | Apparatus and method for distributing buffer status information in a switching fabric |
US7295565B2 (en) * | 2002-12-24 | 2007-11-13 | Sun Microsystems, Inc. | System and method for sharing a resource among multiple queues |
-
2005
- 2005-10-13 CN CN200580034646.0A patent/CN101040489B/zh active Active
- 2005-10-14 CN CN200580034647.5A patent/CN101040471B/zh active Active
- 2005-10-17 CN CN 200580035946 patent/CN100555969C/zh active Active
- 2005-10-18 CN CN200580034955.8A patent/CN101129027B/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347955A (zh) * | 2011-11-01 | 2012-02-08 | 杭州依赛通信有限公司 | 一种基于虚拟通道的可靠数据传输协议 |
CN104320350A (zh) * | 2013-04-15 | 2015-01-28 | 国际商业机器公司 | 用于提供基于信用的流控制的方法及系统 |
CN104320350B (zh) * | 2013-04-15 | 2017-05-31 | 国际商业机器公司 | 用于提供基于信用的流控制的方法及系统 |
US9686203B2 (en) | 2013-04-15 | 2017-06-20 | International Business Machines Corporation | Flow control credits for priority in lossless ethernet |
CN104954253A (zh) * | 2014-03-31 | 2015-09-30 | 瞻博网络公司 | 用于数据中心覆盖网络的基于PCIe的主机网络加速器(HNA) |
US9954798B2 (en) | 2014-03-31 | 2018-04-24 | Juniper Networks, Inc. | Network interface card having embedded virtual router |
CN104954253B (zh) * | 2014-03-31 | 2018-05-29 | 瞻博网络公司 | 用于数据中心覆盖网络的基于PCIe的主机网络加速器(HNA) |
US10382362B2 (en) | 2014-03-31 | 2019-08-13 | Juniper Networks, Inc. | Network server having hardware-based virtual router integrated circuit for virtual networking |
US10243840B2 (en) | 2017-03-01 | 2019-03-26 | Juniper Networks, Inc. | Network interface card switching for virtual networks |
US10567275B2 (en) | 2017-03-01 | 2020-02-18 | Juniper Networks, Inc. | Network interface card switching for virtual networks |
Also Published As
Publication number | Publication date |
---|---|
CN101040489B (zh) | 2012-12-05 |
CN101044717A (zh) | 2007-09-26 |
CN100555969C (zh) | 2009-10-28 |
CN101040471B (zh) | 2012-01-11 |
CN101129027B (zh) | 2011-09-14 |
CN101129027A (zh) | 2008-02-20 |
CN101040489A (zh) | 2007-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101040471A (zh) | 数据中心的以太网扩展 | |
US9246834B2 (en) | Fibre channel over ethernet | |
EP1803240B1 (en) | Ethernet extension for the data center | |
US7830793B2 (en) | Network device architecture for consolidating input/output and reducing latency | |
EP2002584B1 (en) | Fibre channel over ethernet | |
US9438527B2 (en) | Flexible queues in a network switch | |
CN100348000C (zh) | 用于封装帧以在存储区域网络中传输的方法和装置 | |
CN103534997A (zh) | 用于无损耗以太网的基于端口和优先级的流控制机制 | |
CN1913486A (zh) | 一种增强协议报文安全的方法和装置 | |
WO2012162964A1 (zh) | 学习媒体接入控制地址的方法和装置 | |
JP4499042B2 (ja) | スイッチ装置 | |
CN114531399B (zh) | 一种内存阻塞平衡方法、装置、电子设备和存储介质 | |
CN1917440A (zh) | 一种基于区分服务的Pipe模型实现方法 | |
Ko et al. | A case for convergence enhanced ethernet: Requirements and applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |