网络交换机中的缓冲区空间的有效使用制造技术

技术编号:16703541 阅读:78 留言:0更新日期:2017-12-02 16:54
本发明专利技术公开了网络交换机中的缓冲区空间的有效使用。通信设备包括多个端口,该多个端口被配置为用作入端口和出端口,以用于连接到包数据网络。存储器耦合到端口并被配置为容纳分配给入端口的相应的输入缓冲区以及保存数据包以用于经由出端口在多个队列中发送的共享缓冲区。控制逻辑被配置为监控存储器的总体占用水平,并且当通过具有完全占用的输入缓冲区的入端口接收数据包同时存储器的总体占用水平低于指定的最大值时,被配置为将存储器中的附加空间分配给输入缓冲区,并且将所接收的数据包接受到附加空间中。

Effective use of buffer space in network switches

The invention discloses the effective use of the buffer space in the network switch. The communication device includes multiple ports, which are configured to be used as input ports and out ports to be used to connect to the packet data network. The memory is coupled to the port and configured to accommodate the corresponding input buffers allocated to the incoming ports, and to save the data packets for the shared buffers sent through multiple ports in the out port. The control logic is configured to monitor the overall memory occupancy level, and when the input buffer is completely occupied by the inlet port for receiving data packets at the same time, the overall memory occupancy level of less than the specified maximum, is configured for additional space allocation in memory to the input buffer, and the received packet is received additional space.

【技术实现步骤摘要】
网络交换机中的缓冲区空间的有效使用专利
本专利技术大体上涉及包通信网络,特别是涉及部署在这样的网络中的交换机中的缓冲区管理。背景用在诸如以太网和InfiniBand网络的高速包网络中的交换机通常包含缓冲存储器。由交换机通过其接口中的一个所接收的包在等待转移到适当的出接口或者在多播包的情况下可能被转移到多个出接口的同时被暂时储存在缓冲存储器中。虽然缓冲存储器可被静态分配到每个接口,但许多现代的包交换机使用共享存储器,其中缓冲区空间根据流量负载和存储器可用性被动态分配给不同的接口和队列。概述在下文中所描述的本专利技术的实施例提供了用于处理交换机中的缓冲存储器的改进技术和实现这种技术的设备。因此,根据本专利技术的实施例,提供了包括多个端口的通信设备,该多个端口被配置为用作入端口和出端口,以用于连接到包数据网络。存储器耦合到端口并被配置为包含分配给入端口的相应的输入缓冲区以及保存数据包以用于经由出端口在多个队列中发送的共享缓冲区。控制逻辑被配置为监控存储器的总体占用水平,并且当通过具有被完全占用的输入缓冲区的入端口接收数据包同时存储器的总体占用水平低于指定的最大值时,被配置为将存储器中的附加空间分配给输入缓冲区,并且将所接收的数据包接受到附加空间中。通常,控制逻辑被配置为,当总体占用水平高于指定的最大值时,丢弃所接收的数据包。在一些实施例中,控制逻辑被配置为将预定义的配额应用于可分配给每个输入缓冲区的附加空间,并且被配置为当配额已满时丢弃所接收的数据包。通常,控制逻辑被配置为在通过指定的出端口发送数据包或丢弃包时,释放输入缓冲区以接收另外的数据包。此外或可替代地,控制逻辑被配置为将通过入端口接收的数据包进行分类并且将该数据包排队到存储器中的多个队列中,以用于通过出端口进行发送。在一些实施例中,控制逻辑被配置为响应于数据包的相应分类,将数据包中的一些转移到共享缓冲区,同时将数据包中的其他数据包保存在输入缓冲区中,直到数据包通过出端口被发送。在公开的实施例中,控制逻辑被配置为在将数据包从输入缓冲区传递到共享缓冲区时,仅在验证满足了存储器占用标准之后才释放输入缓冲区以接收另外的数据包。在一些实施例中,存储器被配置为使得控制逻辑可以将存储器的任何部分分配给入端口的输入缓冲区。在一些实施例中,控制逻辑被配置为通过对通过入端口接收的数据包的第一数据量和通过出端口发送的数据包的第二数据量进行计数来监控存储器的总体占用水平。在公开的实施例中,控制逻辑被配置为通过以下操作来监控输入缓冲区的相应的填充水平:当给定的数据包从入端口写入存储器中的位置时递增输入缓冲区计数,并且当给定的数据包被转移到出端口或者被转移到共享缓冲区以及在存储器中分配给输入缓冲区的附加空间不再被占用并且在存储器中足够的空间可用于减小输入缓冲区计数时,递减输入缓冲区计数。根据本专利技术的实施例,还提供了用于通信的方法,该方法包括通过网络元件的入端口从包数据网络接收数据包,该网络元件具有被配置为用作入端口和出端口的多个端口。数据包从入端口转移到网络元件中的存储器,该存储器被配置为容纳分配给入端口的相应的输入缓冲区和保存数据包以用于经由出端口在多个队列中发送的共享缓冲区。对存储器的总体占用水平进行监控。当通过具有完全占用的输入缓冲区的入端口接收数据包同时存储器的总体占用水平低于指定的最大值时,存储器中的附加空间被分配给输入缓冲区,并且所接收的数据包被接受到附加空间中。根据结合附图进行的本专利技术的实施例的以下详细描述,本专利技术将得到更完全地理解,其中:附图简述图1是根据本专利技术的实施例示意性图示具有共享存储器的交换机的框图;图2是根据本专利技术的实施例示意性示出交换机中的控制逻辑的细节的框图;图3是根据本专利技术的实施例示意性图示用于管理交换机中的缓冲区空间的方法的流程图;以及图4是根据本专利技术的实施例示意性图示用于在交换机中处理数据包之后释放缓冲区空间的方法的流程图。实施例的详细描述即使在具有共享存储器的网络元件(诸如交换机)中,将相应的输入缓冲区分配给每个入端口仍然是常见做法。该输入缓冲区可包括用于每个端口的单独的物理存储器阵列。此外或可替代地,输入缓冲区可包括存储器阵列的一部分,其也用作共享缓冲区。后一种布置例如在2016年1月13日提交的美国专利申请14/994,164中进行描述,该专利申请的公开内容通过引用并入本文。对输入缓冲区的管理取决于入端口是否应用流控制来限制入端口接收包的速率,以便避免包丢失。在以太网网络中,例如,当来自源的传入包的速率高于交换机可以适应的速率时,交换机可以向包的源发送被称为暂停帧(PAUSEframe)的链路级流控制消息,以命令源停止发送包。交换机通常保留输入缓冲区,被称为无损空余空间(headroom)(或简称“空余空间”),以容许在发送流控制消息之后可能到达的包。然而,即使在没有流控制的情况下运行的网络中,最小化包丢失是可取的,以避免由于频繁的重传请求导致的服务质量的下降和带宽损失。输入缓冲区在这方面起着重要的作用。例如,期望的是,分配给每个入端口的输入缓冲区足够大以保存由于包分类时的延迟而可能累积并且由交换机内的控制逻辑转发的包。当这种延迟发生时,太小的输入缓冲区将迫使入端口丢弃包。另一方面,大的输入缓冲区的固定分配能够以共享缓冲区为代价,并且是对交换机中的有限的存储器资源的低效使用。本文中所描述的本专利技术的实施例通过实现存储器空间到输入缓冲区的灵活分配来优化网络元件中的输入缓冲。所公开的实施例涉及诸如交换机的通信设备,其中存储器容纳分配给交换机的入端口的相应的输入缓冲区以及保存数据包以用于经由出端口在多个队列中发送的共享缓冲区。(通常,尽管不一定,但所有的交换机端口都被配置为用作入端口和出端口两者。)交换机中的控制逻辑除了监控输入缓冲区和共享缓冲区的特定填充水平外,还会监控存储器的总体占用水平。当通过具有完全占用的输入缓冲区的入端口接收到数据包时,只要存储器的总体占用水平低于预定义的最大值,控制逻辑就能够向输入缓冲区分配存储器中的附加空间。交换机将接收到的数据包接受到该附加的存储器空间中,从而避免包丢失。存储器的最大总体占用水平通常被选择成使得在大多数情况下,控制逻辑将能够在需要时扩展输入缓冲区,但仅达到以下程度:该扩展不太可能导致包从共享缓冲区被丢弃并且不可能影响其他端口的输入缓冲区分配。因此,当总体占用水平高于预定义的最大值时,控制逻辑将丢弃所接收的数据包,而不是进一步扩展输入缓冲区。出于同样的原因,控制逻辑通常将一定配额应用于可被分配给每个输入缓冲区的附加空间,并且当配额已满时将丢弃所接收的数据包。图1是根据本专利技术的实施例示意性图示具有共享存储器26的网络交换机20的框图。交换机20包括多个端口22,该多个端口22经由包数据网络24的链路被连接以与对等装置28、30、......进行通信。交换机20中的存储器26在控制逻辑32的指导下从端口22接收包并将其传递到端口22。(虽然存储器26在图1中被示出为单个物理块,但实际上存储器26可包括多个物理存储器阵列,其由控制逻辑32集中管理作为单个逻辑资源。)为了视觉清晰起见,交换机20的左侧的端口22在图1中被示出为入端口,而交换机右侧的端口22被示出为出端口。然而,实际上,所有交换机端口本文档来自技高网...
网络交换机中的缓冲区空间的有效使用

【技术保护点】
一种通信设备,包括:多个端口,所述多个端口被配置为用作入端口和出端口,以用于连接到包数据网络;存储器,所述存储器耦合到所述端口,并被配置为包含分配给所述入端口的相应的输入缓冲区以及保存数据包以用于经由所述出端口在多个队列中发送的共享缓冲区;以及控制逻辑,所述控制逻辑被配置为监控所述存储器的总体占用水平,并且当通过具有完全被占用的输入缓冲区的入端口接收到数据包同时所述存储器的所述总体占用水平低于指定的最大值时,所述控制逻辑被配置为将所述存储器中的附加空间分配给所述输入缓冲区,并且将所接收的数据包接受到所述附加空间中。

【技术特征摘要】
2016.05.23 US 15/161,3161.一种通信设备,包括:多个端口,所述多个端口被配置为用作入端口和出端口,以用于连接到包数据网络;存储器,所述存储器耦合到所述端口,并被配置为包含分配给所述入端口的相应的输入缓冲区以及保存数据包以用于经由所述出端口在多个队列中发送的共享缓冲区;以及控制逻辑,所述控制逻辑被配置为监控所述存储器的总体占用水平,并且当通过具有完全被占用的输入缓冲区的入端口接收到数据包同时所述存储器的所述总体占用水平低于指定的最大值时,所述控制逻辑被配置为将所述存储器中的附加空间分配给所述输入缓冲区,并且将所接收的数据包接受到所述附加空间中。2.根据权利要求1所述的设备,其中,所述控制逻辑被配置为,当所述总体占用水平高于所述指定的最大值时,丢弃所述接收的数据包。3.根据权利要求1所述的设备,其中,所述控制逻辑被配置为将预定义的配额应用于能够被分配给每个输入缓冲区的附加空间,并且被配置为当所述配额已满时丢弃所述接收的数据包。4.根据权利要求3所述的设备,其中,所述控制逻辑被配置为在通过指定的出端口发送所述数据包或丢弃所述包时,释放所述输入缓冲区以接收另外的数据包。5.根据权利要求1所述的设备,其中,所述控制逻辑被配置为将通过所述入端口接收的数据包进行分类并且将所述数据包排队到所述存储器中的所述多个队列中,以用于通过所述出端口进行发送。6.根据权利要求5所述的设备,其中,所述控制逻辑被配置为,响应于所述数据包的相应分类,将所述数据包中的一些数据包转移到所述共享缓冲区,同时将所述数据包中的其他数据包保存在所述输入缓冲区中,直到所述数据包通过所述出端口发送了为止。7.根据权利要求6所述的设备,其中,所述控制逻辑被配置为,在将所述数据包从所述输入缓冲区转移到所述共享缓冲区时,仅在验证了满足存储器占用标准之后才释放所述输入缓冲区,以接收另外的数据包。8.根据权利要求1所述的设备,其中,所述存储器被配置为使得所述控制逻辑能够将所述存储器的任何部分分配给所述入端口的所述输入缓冲区。9.根据权利要求1所述的设备,其中,所述控制逻辑被配置为通过对通过所述入端口接收的数据包的第一数据量和通过所述出端口发送的数据包的第二数据量进行计数来监控所述存储器的所述总体占用水平。10.根据权利要求9所述的设备,其中,所述控制逻辑被配置为通过以下操作来监控所述输入缓冲区的相应的填充水平:当给定的数据包从所述入端口写入所述存储器中的位置时,递增输入缓冲区计数,并且当所述给定的数据包被转移到所述出端口或者被转移到所述共享缓冲区以及在所述存储器中分配给所述输入缓冲区的附加空间不再被占...

【专利技术属性】
技术研发人员:罗伊·克里斯巴拉克·加夫尼乔治·伊莱亚斯艾兰·鲁宾斯坦沙哈尔·巴尔·提克瓦
申请(专利权)人:迈络思科技TLV有限公司
类型:发明
国别省市:以色列,IL

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

1