网络交换机中的灵活的缓冲区分配制造技术

技术编号:16219419 阅读:30 留言:0更新日期:2017-09-16 01:53
本发明专利技术公开了网络交换机中的灵活的缓冲区分配。通信装置包括多个接口,其被配置为连接到包数据网络,以用于接收和转发多种类型的数据包。存储器耦合到接口并被配置为缓冲区,以容纳等待经由出接口传输到网络的同时通过入接口接收的包。包处理逻辑被配置为保持与出接口中的相应出接口相关联的多个传输队列,并被配置为将与第一类型和第二类型的第一数据包和第二数据包对应的第一队列条目和第二队列条目二者分别放置在共同的传输队列中,以用于通过给定的出接口传输,同时在缓冲区中分配相应的空间,以对照被分别指派给第一类型和第二类型的数据包的单独的第一缓冲区分配和第二缓冲区分配来储存第一数据包和第二数据包。

Flexible buffer allocation in a network switch

A flexible buffer allocation in a network switch is disclosed. A communication device includes a plurality of interfaces configured to connect to a packet data network for receiving and forwarding various types of data packets. The memory is coupled to the interface and configured as a buffer to hold packets received via the interface while waiting to be transmitted to the network via the outgoing interface. Packet processing logic configured to maintain and interface of the corresponding interface multiple transmission queues associated, and configured to will be placed in the transmission queue common respectively with the first and second types of the first and second data packets corresponding to the packet queue first two entries and second entries in the queue. For a given interface transmission, and assign the corresponding space in the buffer, to control were assigned to the first and second types of packets separate first buffer allocation and second buffer to store with a first data packet and the second packet.

【技术实现步骤摘要】
网络交换机中的灵活的缓冲区分配专利
本专利技术大体上涉及包通信网络,特别是涉及被部署在这样的网络中的交换机中的缓冲区管理。背景用在诸如以太网和InfiniBand网络的高速包网络中的交换机通常包含缓冲存储器。由交换机通过其接口中的一个所接收的包在等待转移到适当的出接口或者在多播包的情况下可能被转移到多个出接口的同时被暂时储存在缓冲存储器中。虽然缓冲存储器可被静态分配到每个接口,但许多现代的包交换机使用共享存储器,其中缓冲区空间根据流量负载和存储器可用性以及在交换机中的处理之后所设置的包优先级和包入口优先级被灵活分配给不同的接口和队列。作为一个示例,美国专利申请公开2013/0250762描述了一种用于实现对于共享缓冲池的多个端口的无损行为的方法。包被“着色”并被储存在共享的包缓冲区中,而不分配每端口固定的页面分配。概述下文中所描述的本专利技术的实施例提供了用于网络元件中的缓冲区管理的改进的方法和装置。因此,根据本专利技术的实施例,提供了包括多个接口的通信装置,该多个接口被配置为连接到包数据网络,以便用作通过该装置从网络接收多种类型的数据包的入接口和将其转发到该网络的出接口,该多种类型包括至少第一类型和第二类型。存储器耦合到接口并被配置为缓冲区,以容纳在等待经由出接口传输到网络的同时通过入接口接收的包。包处理逻辑被配置为保持与出接口中的各自出接口相关联的多个传输队列,并被配置为将与第一和第二类型的第一和第二数据包对应的第一和第二队列条目二者分别放置在共同的传输队列中,以用于通过给定的出接口传输,同时在缓冲区中分配各自的空间,以对照单独的第一和第二缓冲区分配储存第一和第二数据包,该第一和第二缓冲区分配被分别分配给第一类型和第二类型的数据包。在一个实施例中,第一类型的数据包由单播包组成,而第二类型的数据包由多播包组成。另外地或可选地,第一类型和第二类型的数据包使用各自不同的第一传输协议和第二传输协议来传输。通常,包处理逻辑被配置为,当给定的队列条目到达共同的传输队列的头部时,通过给定的出接口传输对应的数据包并释放第一缓冲区分配和第二缓冲区分配的相应一个缓冲区中的对应的空间。在一些实施例中,第一缓冲区分配在与多个不同的出接口相关联的多个传输队列上共享,第一类型的数据包通过该多个不同的出接口被传输。另外地或可选地,多个传输队列包括至少两个传输队列,该至少两个传输队列都与相同的给定的出接口相关联并具有各自不同的服务质量的水平,并且不同的第一类型和第二类型的第一数据包和第二数据包具有共同的服务质量的水平。在所公开的实施例中,包处理逻辑被配置为,响应于第一缓冲区分配和第二缓冲区分配的各自的填充水平(filllevel),分别将拥塞避免机制应用到第一类型和第二类型的数据包。根据本专利技术的实施例,还提供了用于通信的方法,该方法包括通过网络元件的入接口接收包括至少第一类型和第二类型的多种类型的数据包。在网络元件中的缓冲区内的相应的空间被分配以对照单独的第一缓冲区分配和第二缓冲区分配来存储第一数据包和第二数据包,该单独的第一缓冲区分配和第二缓冲区分配被分别指派给第一类型和第二类型的数据包,同时该数据包等待经由网络元件的出接口传输到网络。在网络元件中,保持多个传输队列,该多个传输队列与出接口中的相应出接口相关联。分别与第一类型和第二类型的第一数据包和第二数据包对应的第一队列条目和第二队列条目二者被放置在共同的传输队列中,以用于通过给定的出接口传输。当对应的队列条目到达共同的传输队列的头部时,第一数据包和第二数据包中的每个通过给定的出接口来传输。根据结合附图进行的本专利技术的实施例的以下详细描述,本专利技术将得到更完全地理解,其中:附图简述图1是根据本专利技术的实施例示意性图示具有共享缓冲区的交换机的框图;图2是根据本专利技术的实施例示意性图示数据包通过交换机的流的框图;以及图3是根据本专利技术的实施例示意性示出交换机中的包处理逻辑的细节的框图。实施例的具体描述在本领域中已知的诸如交换机的网络元件中,排队和缓冲通常紧密耦合在一起。换句话说,当包进入给定的传输队列以通过交换机的某出接口传输时,包占用与该队列相关联的缓冲区空间中的槽,直至该包被传输。因此,例如,当不同类型的包(诸如广播、多播包和单播包、或使用不同协议传输的包,例如TCP包和UDP包)共享相同的传输队列时,它们也必定共享相同的缓冲区分配。因此,当一种类型的高流量引起给定的传输队列上的拥塞时,所产生的拥塞避免措施(诸如丢弃或标记包或者在入端口上施加反压力)也将应用到共享传输队列的其他类型的包。本文中所描述的本专利技术的实施例松开-并且可能完全解耦-队列指派和缓冲区占用之间的连接,从而在通信资源的分配和管理上提供了更大的灵活性。在所公开的实施例中,即使当不同的包类型共享共同的传输队列时,也可给这些不同的包类型在网络元件中指派缓冲区空间的单独的、相应的分配。网络元件中的包处理逻辑将与数据包对应的队列条目放置在共同的传输队列中,以用于通过适当的出接口传输,同时在共享缓冲区中分配相应的空间,以对照它们的单独的、相应的缓冲区分配储存不同类型的数据包。给定队列中的给定包类型可接收其自身的缓冲区分配,或者共同的缓冲区空间可针对跨多个传输队列的给定类型的包来分配,这意味着不同队列中的该类型的包共享相同的、共同的缓冲区分配。当给定的队列条目到达共同的传输队列的头部时,对应的数据包通过出接口被传输,并且相应的缓冲区分配中的空间被释放。因此,通过适当分配相应的缓冲区空间,将网络资源的不同的、独立的共享分配给不同的包类型是可能的。对于任何给定的包类型的缓冲区分配可按传输队列或按出接口来分配,或者可在与多个不同的出接口相关联的多个传输队列上共享,给定类型的数据包通过该多个不同的出接口被传输。由于缓冲区分配和排队机制的这种解耦,包处理逻辑可响应于相应的缓冲区分配的填充水平将拥塞避免机制分别应用到不同类型的数据包。现在参照图1和图2,其示意性地图示了根据本专利技术的实施例的、具有共享缓冲区的网络交换机20的操作。图1是示出了交换机20的物理组件和功能组件的框图,而图2图示了不同类型的数据包通过交换机的流。在所描绘的示例中,这些不同的类型包括多播包26和单播包32。可选地或另外地,包类型可通过使用不同的、相应的传输协议(诸如传输控制协议(TCP)和用户数据报协议(UDP),或者InfiniBand可靠连接(RC)的、不可靠连接(UC)的传输类型和其他传输类型)传输来区分。进一步可选地或另外地,交换机20中的包处理逻辑可基于例如各种头字段和/或深度包检测(DPI)将任何其他合适的标准应用于区分包类型。另外,虽然为了具体性和清晰起见,本实施例指的是网络交换机,但加以必要的修正,本专利技术的原理可同样应用于缓冲和转发数据包的其他类的网络元件中,包括(但不限于)路由器、网桥和隧穿元件(tunnelingelement),以及应用于将主机连接到网络的先进的网络接口控制器中。如图1所示,交换机20包括端口22形式的多个接口,该端口22连接到包数据网络24,并且通常用作入接口和出接口二者。(虽然出于简化的目的在图1中仅示出了八个端口22,但在实践中,交换机20通常可能具有实质上更多数量的端口或可能更少的端口。)耦合到端口22的存储器36被配置本文档来自技高网...
网络交换机中的灵活的缓冲区分配

【技术保护点】
一种通信装置,包括:多个接口,所述多个接口被配置为连接到包数据网络,以便用作通过所述装置从所述网络接收多种类型的数据包的入接口和将多种类型的数据包转发到所述网络的出接口,所述多种类型包括至少第一类型和第二类型;存储器,所述存储器耦合到所述接口并被配置为缓冲区,以容纳在等待经由所述出接口传输到所述网络的同时通过所述入接口接收的包;以及包处理逻辑,所述包处理逻辑被配置为保持与所述出接口中的相应出接口相关联的多个传输队列,并被配置为将与所述第一类型和第二类型的第一数据包和第二数据包对应的第一队列条目和第二队列条目二者分别放置在共同的传输队列中,以用于通过给定的出接口传输,同时在所述缓冲区中分配相应的空间,以对照单独的第一缓冲区分配和第二缓冲区分配来储存所述第一数据包和第二数据包,所述第一缓冲区分配和第二缓冲区分配被分别指派给所述第一类型的和第二类型的数据包。

【技术特征摘要】
2016.03.08 US 15/063,5271.一种通信装置,包括:多个接口,所述多个接口被配置为连接到包数据网络,以便用作通过所述装置从所述网络接收多种类型的数据包的入接口和将多种类型的数据包转发到所述网络的出接口,所述多种类型包括至少第一类型和第二类型;存储器,所述存储器耦合到所述接口并被配置为缓冲区,以容纳在等待经由所述出接口传输到所述网络的同时通过所述入接口接收的包;以及包处理逻辑,所述包处理逻辑被配置为保持与所述出接口中的相应出接口相关联的多个传输队列,并被配置为将与所述第一类型和第二类型的第一数据包和第二数据包对应的第一队列条目和第二队列条目二者分别放置在共同的传输队列中,以用于通过给定的出接口传输,同时在所述缓冲区中分配相应的空间,以对照单独的第一缓冲区分配和第二缓冲区分配来储存所述第一数据包和第二数据包,所述第一缓冲区分配和第二缓冲区分配被分别指派给所述第一类型的和第二类型的数据包。2.根据权利要求1所述的装置,其中,所述第一类型的数据包由单播包组成,而所述第二类型的数据包由多播包组成。3.根据权利要求1所述的装置,其中,所述第一类型和第二类型的数据包使用各自不同的第一传输协议和第二传输协议来传输。4.根据权利要求1所述的装置,其中,所述包处理逻辑被配置为,当给定的队列条目到达所述共同的传输队列的头部时,通过所述给定的出接口传输对应的数据包并释放所述第一缓冲区分配和第二缓冲区分配的相应一个中的对应的空间。5.根据权利要求1所述的装置,其中,所述第一缓冲区分配在与多个不同的出接口相关联的多个传输队列上共享,所述第一类型的数据包通过所述多个不同的出接口来传输。6.根据权利要求1所述的装置,其中,所述多个传输队列包括至少两个传输队列,所述至少两个传输队列都与相同给定的出接口相关联并具有各自不同的服务质量的水平,以及其中,不同的第一类型和第二类型的第一数据包和第二数据包具有共同的服务质量的水平。7.根据权利要求1所述的装置,其中,所述包处理逻辑被配置为,响应于所述第一缓冲区分配和...

【专利技术属性】
技术研发人员:尼夫·艾贝斯特尔阿米尔·罗伊特施泰因巴拉克·加夫尼乔治·伊莱亚斯伊塔玛·拉本施泰因
申请(专利权)人:迈络思科技TLV有限公司
类型:发明
国别省市:以色列,IL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1