在一个实施例中,网络设备被配置成实施交换机内部传输协议。所述交换机内部传输协议被配置成根据预定带宽以及多个入口端口与一出口端口之间的往返时间来确定窗口大小。网络设备被配置成在无需首先接收来自出口端口的任何确认的情况下从入口端口发送至少一个数据分组到出口端口。网络设备继续发送数据分组并且相应地使计数器增量直到计数器达到所述窗口大小。网络设备基于计数器超过窗口大小停止传输后续数据分组并且/或者使后续数据分组排队。
【技术实现步骤摘要】
【国外来华专利技术】
本公开总体上涉及互联网协议(IP)通信领域,更具体地讲,涉及用于数据交换机内的数据传输的传输协议。
技术介绍
IP通信涉及以一个或多个数据分组的形式传输消息。数据分组包括源地址和至少一个目的地址。交换机是引导通信量去往目的地址的网络设备。交换机包括多个输入和多个输出。纵横式交换机包括从多个输入的每个输入到多个输出的每个输出的可选连接。纵横式交换机在任何特定时间仅允许一个数据分组传输到任何一个输出。仲裁方案调节数据流。在一个示例中,输入必须请求发送数据并且接收可以发送数据的确认。交换机内的这些通信需要时间,这增加了数据分组延迟。此外,在输入、输出或纵横式交换机处可能发生拥堵。【附图说明】本文中参照附图描述了本实施例的示例性实施例。图1示出了用于交换机中的内部通信的示例网络。图2示出了在图1的网络中的输入与输出之间的通信。图3示出了图2的输入的示例入口序列。图4A示出了数据分组的示例。图4B示出了确认消息的示例。图5A示出了示例探测消息。图5B示出了示例重发请求。图5C示出了示例丢弃通知。图6示出了用于入口的操作的示例流程图。图7示出了入口的示例状态图。图8示出了用于窗口分派的示例流程图。图9示出了用于交换机内部传输控制的示例网络设备。图10示出了用于交换机内部传输控制的示例流程图。【具体实施方式】皿在一个示例中,一种方法包括:在无需首先接收来自出口端口的任何确认的情况下从入口端口发送至少一个数据分组到所述出口端口 ;根据所述至少一个数据分组使计数器增量;经由控制器将所述计数器与用于所述出口端口的默认窗口大小进行比较;并且响应于所述计数器超过用于所述出口端口的默认窗口大小的停止传输后续数据分组。在另一个示例中,一种非瞬态计算机可读介质包括指令以在无需首先接收来自出口端口的任何确认的情况下从入口端口发送至少一个数据分组到所述出口端口。所述指令被配置成根据所述至少一个数据分组使计数器增量并且将所述计数器与用于所述出口端口的带宽延迟乘积进行比较。后续数据是当所述计数器小于所述带宽延迟乘积时发送并且当所述计数器超过所述带宽延迟乘积时排队的数据分组。在另一个示例中,一种方法包括:存储用于出口装置的出口计数水平,其中出口计数水平涉及挂起数据传输;基于出口计数水平选择出口队列;在控制器处生成与出口队列对应的确认消息;访问出口队列中的数据分组大小;并且使后续的确认消息的传输延迟与数据分组大小成比例的一段时间。示例件实施例以下实施例涉及用于数据交换机中的数据传输的传输协议、交换结构或另一种网络拓扑结构。这些示例包括经由交换机(例如纵横式交换机)耦接的多个级中的多个节点。术语交换结构(fabric)或交换机(switch)可以用于指包括内部节点的交换结构和排布(arrangement)或者网络设备的排布的网络设备。在任一种情况下,排布包括从一端到另一端经过多个节点的多个路径。以下实施例中所述的特征可以应用于任一种情况。术语交换结构涉及以矩阵排布使多个输入连接到多个输出的纵横式交换机的网格状图案。纵横式交换机可以称作交叉点交换机或矩阵交换机。纵横式交换机可以连接M个输入和N个输出,其包括MXN个交叉点,使得每个输入可选地连接到每个输出。交叉点使输入线可选地连接到输出线。在一个示例中,纵横式交换机可以具有100个输入、100个输出以及10000个交叉点。纵横式交换机可以包括晶体管网络,或者其他实施方式是可能的。当启用交叉点的晶体管时,输入通过交叉点连接到输出上。仲裁器或调度器防止在同一时间多个输入连接到单个输出上,否则被配置成控制交叉点。仲裁器或调度器可以包括被配置成输出选择性地激活交叉点的控制信号的逻辑或硬件。控制信号可以启动或激活每个交叉点处的晶体管。物理连接(例如,电线或迹线)将仲裁器连接到每个交叉点。仲裁器决定数据分组从输入队列离队的顺序。通过数据交换机的延迟应当尽可能小。随着端口密度增加以及数据流竞争经过交换结构的路径,交换结构带宽成为稀缺资源。以下实施例通过高效地使用交换结构资源来允许低延迟和高端口密度。当前的仲裁方案要求入口设备(例如,线卡专用集成电路(ASIC))发送请求并且在数据帧可以发送到目的地之前接收授权,这可以称为请求授权回路延迟。请求授权回路延迟的往返时间使数据分组传输的开始被延迟。以下实施例允许立即开始数据分组传输。出口设备(例如,线卡ASIC)仅在出口设备接收来自入口的数据分组之后仲裁并管理入口设备的交换结构允许。控制反馈允许系统在不需要大量多余的交换结构带宽的情况下收敛并且仍然允许低延迟。每个入口设备与一个或多个入口端口相关联,并且每个出口设备与一个或多个出口端口相关联。在一个实施例中,每个入口设备包括一个入口端口,并且每个出口设备包括一个出口端口。术语入口端口可以指的是入口设备以及(一个或多个)相关联的端口的结合,并且术语出口端口可以用于指的是出口设备和(一个或多个)相关联的端口的结合。入口装置包括较大的缓冲器(例如,10兆字节、500兆字节、I吉字节)。在入口装置处通过使数据分组排队而引入的延迟最初不会导致分组的丢失。入口装置可以吸收数据的大量流入。然而,如果持续拥堵,那么数据分组累积在入口装置并且最终可能发生丢失。在内部网络中,在入口装置与出口装置之间,缓冲器较小(例如,10千字节、100千字节、I兆字节)。丢失发生在内部,但是可以通过由入口装置重发来恢复。对于数据交换机外的网络,分组似乎仅仅只是花费了更长的时间通过数据交换机。以下实施例通过数据交换机发送分组,具有发生丢失但是在发生丢失时可以提供快速恢复的可能性。然而,当丢失的可能性高时,不发送数据分组,入口装置等待更好的时间发送数据分组。图1图示了用于交换机中的内部通信的示例性网络。数据交换机包括可以称为入口装置的输入10a、10b,以及可以称为出口装置的输出11a、lib。在输入10和输出11之间是纵横式交换结构,其包括具有第一级节点100a、100b的第一级,具有第二级节点102a-n、103a-n的第二级以及具有第三级节点104a、104b的第三级。数据分组在输入10被接收并且通过交换机传送到输出11。输入10、输出11和纵横式交换结构可以布置成形成克洛斯网络,如图1中展开所示,或者可以使用另一种排布。可以提供其他数量的节点、级、输入和/或输出。入口装置使源数据分组进入纵横式交换机。出口装置是这些数据分组的目的地并且可以称为目的地。入口装置和出口装置在物理上可在相同的ASIC中实现。图1的箭头所示的链路是双向的。数据分组可以包括数据帧和控制帧。数据帧在图1所示的网络中可以从左到右移动,并且控制帧可以在相反方向上从右到左移动。输入10中的一个或多个输入可以包括多个虚拟输出队列。虚拟输出队列可以被分派到出口装置,并且输入10可以包括被分派到不同的出口装置的多个虚拟输出队列。因为入口装置包括用于每个出口装置的虚拟输出队列,每个入口装置可以与不同的出口装置单独通信,并且属于每个流的数据帧可以独立地负载平衡。由于负载平衡涉及无序数据分组传输,所以出口装置将源自每个入口的传送到出口装置的数据帧进行重排序。最初的请求授权回路延迟被消除,因为至少一个源(例如,入口装置)被配置成在无需等待从输出或目的地接收确认消息(ACK本文档来自技高网...
【技术保护点】
一种方法,包括:在无需首先接收来自出口端口的任何确认的情况下从入口端口发送至少一个数据分组到所述出口端口;根据所述至少一个数据分组使计数器增量;经由控制器将所述计数器与用于所述出口端口的默认窗口大小进行比较;以及响应于所述计数器超过用于所述出口端口的默认窗口大小,停止传输后续数据分组。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:圭利洛莫·莫兰丁,苏什尔·辛格,乔纳森·张,约翰·休伯,
申请(专利权)人:思科技术公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。