识别网络分组的内部目的地的方法及其装置的制造方法

文档序号:9527527阅读:301来源:国知局
识别网络分组的内部目的地的方法及其装置的制造方法
【技术领域】
[0001]本发明涉及网络分组。特别地,本发明涉及一种识别网络分组的内部目的地的方法及其装置。
【背景技术】
[0002]现有技术的交换芯片解析并处理传入的网络流量,以决定分组应当被传输到何处。然而,现有技术的交换芯片简单地从分组中提取内容来确定该分组的内部目的地。但是,对分组的处置并不总是分组内容是什么的函数。

【发明内容】

[0003]识别网络分组的内部目的地的装置的实施例涉及一种允许在处置分组中的灵活性的网络芯片。对分组的处置能够是分组内容是什么或者分组来自何处的函数。对分组的处置还能够是分组内容是什么以及分组来自何处这两者的函数。在一些实施例中,分组来自何处是指分组所到达的芯片端口的唯一端口编号。分组能够被分发用于在网络芯片内的处理。
[0004]在一个方面中,提供了一种实施网络芯片的方法。该方法包括:接收分组,以及基于该分组的内容来识别该分组的唯一分组标识符。
[0005]该方法还包括:从该分组的内容来形成令牌。在一些实施例中,识别该分组的协议层包括:基于对协议层的识别,将协议层中的每个协议层扩展为通用格式,从经扩展的协议层中选择内容,以及级联所选择的内容来形成该令牌。
[0006]该方法还包括:确定要将该令牌发送到的目的地,其中该确定基于两个因素。在一些实施例中,目的地包括:基于这两个因素的组合来形成密钥;访问目的地表格;以及使用该密钥从该目的地表格中取回关于该目的地的信息。
[0007]在一些实施例中,该目的地是该网络芯片上的内部目的地。在一些实施例中,该目的地是该网络芯片上的多个LDE中的一个LDE。
[0008]在一些实施例中,因素中的一个因素是分组的内容是什么。在一些实施例中,因素中的一个因素是分组来自何处。
[0009]在一些实施例中,这两个因素的组合允许特定类型的所有分组都被发送到相同的目的地用于处理,而不论这些分组来自哪些芯片端口。在一些实施例中,这两个因素的组合允许来自一个芯片端口的所有流量都被重定向到相同的目的地用于处理,而不取决于其是什么种类的流量。
[0010]在另一方面中,一种实施网络芯片的方法。该方法包括:处理分组,以基于该分组的内容来识别该分组的唯一分组标识符,并且基于该分组的所提取的头部字段来形成令牌;以及识别该分组的到达芯片端口,其中该到达芯片端口是网络芯片上的多个芯片端口中的一个芯片端口。
[0011]该方法还包括:通过将该分组的唯一分组标识符以及与所识别的芯片端口相对应的端口编号的某些比特进行组合来形成密钥。在一些实施例中,该端口编号是被指配给所识别的端口的相对端口编号。在一些实施例中,使用动态端口重编号方案来执行该指配。
[0012]在一些实施例中,对该PktID和该端口编号的某些比特的组合是对该PktID和该端口编号的某些比特的级联。
[0013]该方法还包括:基于该密钥来确定该令牌的目的地。在一些实施例中,确定目的地包括:参考目的地表格以及使用该密钥从该目的地表格中取回关于该目的地的信息。
[0014]该方法还包括:将该令牌转发到该目的地。
[0015]在又另一方面中,提供了一种网络芯片。该网络芯片包括多个芯片端口,其中这些端口中的每个端口与端口编号相关联;以及片上存储器,用以存储目的地表格。
[0016]该网络芯片还包括解析器,该解析器用以处理到达该多个芯片端口中的一个芯片端口处的分组,以由此识别该分组的唯一分组标识符并且形成令牌,该令牌包括来自该分组的不同协议层的所提取的字段。该解析器还决定要将该令牌发送到何处,以及根据该决定来转发该令牌。在一些实施例中,该决定基于参考该目的地表格。
[0017]在一些实施例中,该唯一分组标识符和该端口编号的某些比特被级联以形成密钥,当从目的地表格中取回目的地信息时使用该密钥。
[0018]在一些实施例中,该目的地表格是可编程的。
[0019]在一些实施例中,该网络芯片还包括LDE的网状网络。在一些实施例中,该令牌采用由这些LDE所理解的格式,从而这些LDE中的一个或多个LDE将能够处理该令牌。
[0020]在一些实施例中,这些LDE中的每个LDE生成查找密钥并且将该查找密钥发送给远程搜索引擎,其中该远程搜索引擎返回查找结果,该查找结果被用来修改该令牌。在一些实施例中,该令牌被转发给目的地LDE,其中该目的地LDE是这些LDE中的一个LDE。在一些实施例中,该目的地LDE修改该令牌。在一些实施例中,经修改的令牌被转发给另一 LDE或者相同的LDE用于进一步的修改。在一些实施例中,最终修改的令牌被用来修改该分组的分组头部。在一些实施例中,经修改的分组头部与该分组的有效载荷进行组合以形成输出分组。在一些实施例中,该输出分组被发送回给解析器用于进一步的处理。
[0021]在又另一方面中,提供了一种网络交换机。该网络交换机包括多个交换端口以及网络芯片。该网络芯片包括:多个芯片端口,该多个芯片端口被映射到该多个交换端口 ;以及解析器,用以确定如何处置传入分组,其中该处置是分组的内容是什么以及分组来自何处的函数,从而两个条件总是被满足。
[0022]在一些实施例中,这两个条件中的一个条件是相同分组类型的所有分组都被发送到第一目的地用于处理,而不论这些分组来自该多个芯片端口中的哪些芯片端口 ;并且这两个条件中的另一条件是来自该多个芯片端口中的一个芯片端口的所有流量都被重定向到第二目的地用于处理,而不取决于流量是什么种类的流量。
[0023]在一些实施例中,该解析器处理到达该多个芯片端口中的一个芯片端口处的分组,以由此识别该分组的唯一分组标识符并且形成令牌,该令牌包括来自该分组的不同协议层的所提取的字段。
[0024]在一些实施例中,该解析器进一步决定要将该令牌发送到何处并且根据该决定来转发该令牌。
【附图说明】
[0025]根据如在附图中所图示的本发明的示例实施例的以下更加特定的描述,前述内容将是明显的,在附图中,贯穿不同的视图,相似的参考字符指代相同的部分。这些示图不一定按比例绘制,替代地,重点被放在图示出本发明的实施例上。
[0026]图1图示了分组的示例性协议层组合。
[0027]图2A-2B图示了根据本发明的一些实施例的网络芯片的方法。
[0028]图3图示了根据本发明的一些实施例的网络芯片的另一种方法。
【具体实施方式】
[0029]在以下的描述中,阐述了许多细节用于解释的目的。然而,本领域的普通技术人员将认识到,本发明能够无需使用这些具体细节而被实行。因此,本发明不意图被限制于所示出的实施例,而是将符合与本文所描述的原理和特征相一致的最宽范围。
[0030]识别网络分组的内部目的地的装置的实施例涉及一种允许在处置分组中的灵活性的网络芯片。对分组的处置能够是分组内容是什么或者分组来自何处的函数。对分组的处置还能够是分组内容是什么以及分组来自何处这两者的函数。在一些实施例中,分组来自何处是指分组所到达的芯片端口的唯一端口编号。分组能够被分发用于在网络芯片内的处理。
[0031]网络设备(诸如网络交换机)能够交换/路由网络流量。该网络交换机包括用于接收和传输分组的多个交换端口。该多个交换端口包括交换输入端口和交换输出端口。该网络交换机还包括至少一个网络芯片。每个网络芯片包括多个芯片端口。该多个芯片端口通常被映射至该多个交换输入端口。
[0032]该网络交换机还包括至少一个存储器。在一些实施例中,该存储器存储协议表格,该协议表格包括被编程到该协议表格中的每个协议层组合中的每个协议层的层信息。在一些实施例中,该存储器还存储目的地表格,该目的地表格包括内部目的地信息。该协议表格和该目的地表格是可编程的。在一些实施例中,该至少一个存储器是位于网络芯片上的片上存储器。
[0033]在一些实施例中,网络芯片包括解析器和重写器。该解析器能够包括用以识别网络分组的内容的一个或多个解析器引擎,并且该重写器能够包
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1