【技术实现步骤摘要】
交换结构数据包流重排序
本公开涉及计算机网络,并且更具体地,涉及在计算机网络内传送数据包。
技术介绍
计算机网络为可以交换数据和共享资源的互连计算装置的集合。在诸如以太网的基于数据包的网络中,计算装置通过将数据划分为称为数据包的可变长度块来传送数据,所述可变长度块被分别通过网络从源装置路由到目的地装置。目的地装置从数据包中提取数据并将数据组合成其原始形式。某些装置(称为路由器)维持代表网络拓扑的路由信息。路由器交换路由信息,以便保持通过网络的可用路由的准确表示。“路由”通常可以定义为网络上两个位置之间的路径。在接收到输入数据包时,路由器检查数据包内的信息(通常称为“密钥”),以根据路由信息选择数据包所转发至的适当下一跳。因特网内存在各种类型的路由器。例如,网络服务提供商(NSP)维持“边缘路由器”以向客户提供因特网接入和其他服务。NSP可以提供的服务的示例包括IP语音(VoIP),异步传输模式(ATM)的接入或帧中继通信,因特网协议(IP)数据服务以及诸如视频流传输的多媒体服务。NSP的边缘路由器经常将网络流量传送到高速“核心路由器”,核心路由器通常被视为构成因特网的主干。这些核心路由器通常包括比边缘路由器多得多的处理资源,并且被设计为处理大量网络流量。在一些示例中,核心路由器或另一路由器或交换装置可以采用分布式多级交换结构体系结构,在该结构中,网络包遍历位于路由器的分布式转发组件中的交换结构的多个级以从交换结构的入口点行进到交换结构的出口点。作为一个示例,交换结构可以实现为单个多级Clos交 ...
【技术保护点】
1.一种方法,包括:/n由耦接到网络装置内的交换结构以交换单元的多个结构端点的入口结构端点接收跨所述交换结构交换到用于数据包流的所述多个结构端点的出口结构端点的多个数据包流;/n由所述入口结构端点将所述多个数据包流的每个数据包流的每个数据包分配给用于数据包交换的快路径和用于数据包交换的慢路径中的一者;以及/n由生成用于跨所述交换结构交换到所述出口结构端点的单元流的所述入口结构端点处理来自所述快路径和所述慢路径的数据包以维持所述多个数据包流的每个数据包流内的数据包的先进先出排序,并且尽管所述第一数据包流的数据包在所述第二数据包流的数据包之前被所述入口结构端点接收,所述入口结构端点在交换所述数据包流的第二数据包流的数据包之后交换所述数据包流的第一数据包流的数据包。/n
【技术特征摘要】
20181228 US 16/235,8741.一种方法,包括:
由耦接到网络装置内的交换结构以交换单元的多个结构端点的入口结构端点接收跨所述交换结构交换到用于数据包流的所述多个结构端点的出口结构端点的多个数据包流;
由所述入口结构端点将所述多个数据包流的每个数据包流的每个数据包分配给用于数据包交换的快路径和用于数据包交换的慢路径中的一者;以及
由生成用于跨所述交换结构交换到所述出口结构端点的单元流的所述入口结构端点处理来自所述快路径和所述慢路径的数据包以维持所述多个数据包流的每个数据包流内的数据包的先进先出排序,并且尽管所述第一数据包流的数据包在所述第二数据包流的数据包之前被所述入口结构端点接收,所述入口结构端点在交换所述数据包流的第二数据包流的数据包之后交换所述数据包流的第一数据包流的数据包。
2.根据权利要求1所述的方法,
其中,将所述多个数据包流的每个数据包流的数据包分配给用于数据包交换的快路径和用于数据包交换的慢路径中的一者包括:
至少基于所述第一数据包流被拥塞的拥塞状态,将所述第一数据包流的数据包分配给用于数据包交换的所述慢路径;以及
至少基于所述第二数据包流未被拥塞的拥塞状态,将所述第二数据包流的数据包分配给用于数据包交换的所述快路径。
3.根据权利要求2所述的方法,
其中,接收跨所述交换结构交换到用于数据包流的所述多个结构端点的出口结构端点的多个数据包流包括在接收所述第二数据包流之前接收所述第一数据包流,以及
其中,处理来自所述快路径和所述慢路径的数据包包括在处理所述慢路径的所述第一数据包流的数据包之前处理所述快路径的所述第二数据包流的数据包。
4.根据权利要求1所述的方法,
其中,将所述多个数据包流的每个数据包流的数据包分配给用于数据包交换的快路径和用于数据包交换的慢路径中的一者包括将所述第一数据包流的数据包分配给用于数据包交换的所述慢路径,
其中,所述方法进一步包括:
对于分配给用于数据包交换的所述慢路径的所述第一数据包流的每个数据包,递增所述第一数据包流的流计数器;以及
对于从用于数据包交换的所述慢路径处理的所述第一数据包流的每个数据包,递减所述第一数据包流的流计数器。
5.根据权利要求1所述的方法,
其中,所述第一数据包流的数据包为第一数据包,
其中,所述第一数据包流的流计数器指示当前分配给所述慢路径的所述第一数据包流的数据包的数量,所述方法进一步包括:
响应于确定所述第一数据包流的流计数器指示所述第一数据包流的非零数量的数据包当前被分配给所述慢路径,将所述第一数据包流的第二数据包分配给用于数据包交换的所述慢路径;以及
响应于确定所述第一数据包流的流计数器指示所述第一数据包流的数据包当前没有分配给所述慢路径,将所述第一数据包流的第三数据包分配给用于数据包交换的所述快路径。
6.根据权利要求1所述的方法,其中,处理来自所述快路径和所述慢路径的数据包包括将来自所述快路径的数据包流的数据包与所述慢路径的数据包流合并,并且从合并的数据包生成用于跨交换结构交换到所述出口结构端点的单元流。
7.根据权利要求1所述的方法,
其中,将数据包分配给所述快路径包括将所述数据包推送到快路径队列,以及
其中,将数据包分配给所述慢路径包括:一旦从外部存储器读取所述数据包,就将所述数据包推送到慢路径队列,以及
其中,处理来自所述快路径和所述慢路径的数据包包括通过选择性地使来自所述慢路径队列和所述快路径队列的数据包出队来合并数据包流的数据包。
8.根据权利要求7所述的方法,其中,轮询调度程序选择性地使来自所述慢路径队列和所述快路径队列的数据包出队。
9.根据权利要求1所述的方法,其中,将所述多个数据包流的每个数据包流的每个数据包分配给用于数据包交换的快路径和用于数据包交换的慢路径中的一者包括:
响应于确定所述第一数据包流的数据包当前存储到外部存储器,将所述第一数据包流的数据包分配给所述慢路径以供所述入口结构端点的后续处理。
10.根据权利要求1至9的任意组合所述的方法,
其中,用于数据包交换的所述快路径包括所述网络装置的内部存储器路径,以及
其中,用于数据包交换的所述慢路径包括所述网络装置的外部存储器路径。
11.一种网络装置,包括耦接到所述网络装置内的交换结构以交换单元的多个结构端点,所述多个结构端点的入口结构端点被配置为:
接收跨所述交换结构交换到用于数据包流的所述多个结构端点的出口结构端点的多个数据包流;
将所述多个数据包流的每个数据包流的每个数据包分配给用于数据包交换的快路径和用于数据包交换的慢路径中的一者;以及
为了产生跨所述交换结构交换到所述出口结构端点的单元流,处理来自所述快路径和所述慢路径的数据包以维持所述多个数...
【专利技术属性】
技术研发人员:阿努杰·库马尔·斯里瓦斯塔瓦,加里·戈尔德曼,哈尔沙德·B·阿加舍,迪内希·贾伊斯瓦尔,皮尤什·贾因,纳文·K·贾因,
申请(专利权)人:丛林网络公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。