CN100571218C - 一种实现流转换的方法和设备 - Google Patents

一种实现流转换的方法和设备 Download PDF

Info

Publication number
CN100571218C
CN100571218C CNB2007101753484A CN200710175348A CN100571218C CN 100571218 C CN100571218 C CN 100571218C CN B2007101753484 A CNB2007101753484 A CN B2007101753484A CN 200710175348 A CN200710175348 A CN 200710175348A CN 100571218 C CN100571218 C CN 100571218C
Authority
CN
China
Prior art keywords
stream
data message
port
unit
sent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2007101753484A
Other languages
English (en)
Other versions
CN101159682A (zh
Inventor
谢微
张玮玮
吕耀锋
伏朝晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNB2007101753484A priority Critical patent/CN100571218C/zh
Publication of CN101159682A publication Critical patent/CN101159682A/zh
Application granted granted Critical
Publication of CN100571218C publication Critical patent/CN100571218C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种实现流转换的方法,只借助测试仪的少量类型和带宽都固定的端口,从测试仪接收到数据报文后,通过用户配置,对数据报文进行上行处理、交换处理以及下行处理,构造出多种具有特定属性和速率的IP单播流、组播流或其它类型流。同时,本发明还提供了一种实现流转换的设备,使用本发明所述方法和设备,极大的改善了包括QoS或是防攻击在内的多种业务测试对测试仪不同类型和速率端口的需求,提高了测试效率,同时,运用具有较大灵活性。

Description

一种实现流转换的方法和设备
技术领域
本发明涉及互联网协议(IP,Internet Protocol)中网络设备的开发和测试技术,尤其涉及一种实现流转换的方法和设备。
背景技术
测试仪对于设备的各种功能和性能的测试,是必不可少且非常宝贵的测试工具。测试仪针对于IP网络设备的服务质量(QoS)功能以及防攻击功能的测试,往往需要多种具有特定属性的IP数据流,而要触发多种特定的IP数据流,就需要对测试仪端口及其构造流能力有较高的需求。
目前,常用的测试模型如图1所示,对于QoS或防攻击功能的各种具体业务的测试,尤其是对单播业务具体测试时,往往是使用测试仪110,通过测试仪端口1~n发送特定单播IP流1~特定单播IP流n,然后在直接与测试仪对接的网络设备120上,进行相应的特定的QoS或防攻击功能的测试。对于QoS和某些防攻击业务的测试,还需再在流量的接收端进行结果的验证。其中,所述接收端也可以为测试仪。
目前进行IP数据业务测试,尤其是单播业务的具体测试时,对测试仪可能存在如下的需求:
测试仪的端口多是类型与带宽都固定的,而针对不同的网络接口类型以及同一类型不同带宽的接口,需要相应的能与之匹配的测试仪端口,要求测试时必须拥有多种测试仪端口资源。
在实际应用中,即便在同一测试仪端口下能触发多条不同的IP流,每条IP流的速率也很可能受到总带宽的限制而无法达到需求,那么,如果需要同时触发多种特定属性的IP流,而且对每种IP流的速率都有的较大要求,此时,往往需要借助多个测试仪端口来完成IP流的并行触发。
另外,对于一些特定的带宽非常大如10G bps等的接口进行大流量,甚至线速防攻击测试时,往往没有相应的满足带宽要求的测试仪可以使用。
综上所述,在可用的测试仪端口类型和数目较少的情况下,由于受到上述限制,往往无法对多种端口的多种IP数据业务进行并行测试,测试进度和效率受到限制。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现流转换的方法,该方法在测试仪端口单一的情况下,能够满足在QoS或各种防攻击测试中对流的种类、以及流速率的多种需求,提高了测试效率。
本发明的另一目的在于提供一种实现流转换的设备,该设备在测试仪端口单一的情况下,能够满足在QoS或各种防攻击测试中对流的种类、以及相应流速率的多种需求,提高了测试效率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种实现流转换的设备,该设备包括表生成模块、上行处理模块、交换模块以及每个出槽位的下行处理模块,其中,
表生成模块,用于根据用户配置不同流的不同出端口信息生成上行转发表、交换复制表、出端口链表、端口配置表以及流链表,并将上行转发表发送给上行处理模块,将交换复制表发送给交换模块,将出端口链表、端口配置表以及流链表发送给下行处理模块;
上行处理模块,用于接收测试仪发来的数据报文,根据数据报文中的测试仪的目的IP进行上行转发表的查找,得到复制流标识码ID,将该复制流ID添加到数据报文头部发送到交换模块;
交换模块,用于接收上行处理模块发来的头部添加有复制流ID的数据报文,根据取出的复制流ID在交换复制表中查找出槽位信息,将头部添加有复制流ID的数据报文复制,并分别发送到用户配置的各个出槽位的下行处理模块;
下行处理模块,用于接收交换模块发来的数据报文,从数据报文头部取出复制流ID,依次查找出端口链表、端口配置表,查找流链表并对数据报文进行相应修改,通过流速率的控制得到特定属性的数据报文发送给待测网络设备。
其中,所述上行处理模块进一步包括报文接收单元、报文查找单元以及报文发送单元,其中,
报文接收单元,用于接收测试仪发来的数据报文,将接收到的数据报文向外发送;
报文查找单元,用于根据接收到的数据报文中的测试仪的目的IP,进行上行转发表的查找,将查找得到的复制流ID添加到数据报文的头部,之后,将头部添加有复制流ID的数据报文发送给报文发送单元;
报文发送单元,用于接收报文查找单元发来的头部添加有复制流ID的数据报文,并将所述数据报文发送给交换模块。
所述上行处理模块进一步包括:
前期通用处理单元,用于接收报文接收单元转发的所述数据报文,并对所述数据报文进行校验、解析以及计数,并将计数后的数据报文发送给报文查找单元。
所述下行处理模块包括报文接收单元、查出端口链表单元、查端口配置表单元、查流链表单元、速率处理单元以及报文发送单元,其中,
报文接收单元,用于接收从交换模块发来的头部添加有复制流ID的数据报文,并将所述数据报文发送给查出端口链表单元;
共享资源单元,用于接收查出端口链表单元、查端口配置表单元、查流链表单元以及速率处理单元通过查找相应的表所得到的数据信息,并在查端口配置表单元、查流链表单元、速率处理单元以及报文发送单元进行请求时,将所述数据信息发送给需要的各个单元;
查出端口链表单元,用于接收到头部添加有复制流ID的数据报文,根据取出的复制流ID在出端口链表中查找并保存下行处理模块所属出槽位的不同的出端口信息,将所述出端口信息发送给共享资源单元,同时将头部添加有复制流ID的数据报文发送给查端口配置表单元;
查端口配置表单元,用于接收查出端口链表单元发来的所述数据报文,根据从共享资源单元请求到的出端口信息,在每个出端口配置表中查找每个出端口下的不同的流的流信息,将头部添加有复制流ID的数据报文发送给查流链表单元,同时,将得到的所述流信息发送给共享资源单元;
查流链表单元,用于接收查端口配置表单元发来的所述数据报文,根据从共享资源单元请求到的流ID,在流链表中查找出流ID所对应数据报文中具体需要修改的字段条目和字段信息,并根据所述字段信息进行相应数据报文的修改,将得到的特定属性的数据报文发送给速率处理单元,同时,将得到的流ID所对应的字段条目和字段信息发送给共享资源单元;
速率处理单元,用于接收查流链表单元发来的特定属性的数据报文,根据从共享资源单元请求到的数据报文所属流的流速率值,进行流速率的控制,将得到的符合所述流速率值的特定属性的数据报文发送给报文发送单元;
报文发送单元,用于根据从共享资源单元请求到的出端口信息,将速率处理单元发来的所述数据报文通过对应的出端口发送给待测网络设备。
本发明同时提供了一种实现流转换的方法,根据用户配置的不同流的不同出端口信息生成上行转发表、交换复制表、出端口链表、端口配置表以及流链表;该方法还包括:
A、从测试仪接收到数据报文后,根据数据报文中测试仪的目的IP在上行转发表中查找复制流标识码ID;
B、查找到复制流ID后,根据复制流ID在交换复制表中查找各个出槽位的出端口信息;
C、分别查找出端口链表、端口配置表、流链表,根据查找结果对数据报文进行相应修改,之后进行流速率的控制,得到经过速率控制的特定属性的数据报文发送给待测网络设备。
其中,所述从测试仪接收到数据报文为:从测试仪接收到单播流、或者组播流的数据报文。
步骤B进一步包括:
B1、未查找到复制流ID时,统计未查找到复制流ID的数据报文的数量,之后丢弃所述未查找到复制流ID的数据报文。
所述查找出端口链表为:根据复制流ID查找出端口链表,得到出端口链表所属出槽位的出端口信息。
所述出端口信息为出端口号。
述查找端口配置表为:根据出端口信息逐次查找端口配置表,得到每个出端口的不同流的流信息。
所述流信息包括:流ID和流速率值。
所述根据查找结果对数据报文进行相应修改为:先根据查找流链表得到的流ID所对应数据报文需要修改的字段条目,在流链表中查找对应的具体字段信息,再根据所述具体字段信息进行流ID所对应数据报文的修改。
所述字段信息为:字段类型和字段值,以及报文长度信息。
所述进行流速率的控制为:使用令牌桶算法进行流速率的控制。
本发明所提供的实现流转换的方法和设备,具有如下优点和特点:
1)所述方法和设备只借助一个或少量的类型和带宽都固定的测试仪端口,就能构造出多种带宽和属性特定的IP单播流、组播流或者其他流,极大的改善了包括QoS或是防攻击在内的多种业务测试对测试仪不同类型和速率端口的需求,提高了测试效率。
2)所述方法和设备作用于具体的接口下,并可以根据接口的带宽对改造后的流的速率进行调整,因而可以在测试仪端口单一的情况下,实现在待测网络设备的多个端口上进行多种业务的并行测试,运用具有很大的灵活性。
附图说明
图1为采用通常方式进行QoS或防攻击等对特定单播IP流有需求的业务测试的原理图;
图2为本发明实现流转换的设备结构示意图;
图3a和图3b为本发明实现流转换的方法流程示意图。
具体实施方式
本发明的基本思想是:只借助测试仪中少量类型和带宽都固定的端口,从测试仪接收到数据报文后,根据用户配置对数据报文进行上行处理、交换处理以及下行处理,构造出多种具有特定属性和速率的IP单播流、组播流或其它类型流,以满足对于待测网络设备的测试需求。
图2为本发明实现流转换的设备结构示意图,如图2所示,该设备包括表生成模块210、上行处理模块220、交换模块230以及下行处理模块240,其中,
表生成模块210,用于根据用户配置不同流的不同出端口信息生成上行转发表、交换复制表、出端口链表、端口配置表以及流链表,并将上行转发表发送给上行处理模块220,将交换复制表发送给交换模块230,将出端口链表、端口配置表以及流链表发送给下行处理模块240。
其中,上行转发表,用于存储复制流ID。交换复制表,用于存储以复制流ID为索引的下行不同出槽位的信息。出端口链表,用于存储以复制流ID为索引的不同出槽位的出端口信息。端口配置表,用于存储以出端口号为索引的每个出端口下的不同流的流信息,例如流ID、流速率等。流链表,用于存储每个流ID所对应流的需要修改的字段条目,以及每个字段条目所对应的字段类型、字段值以及报文的长度信息。
这里,如何根据用户配置生成上述各种表属于公知技术,此处不再赘述。
上行处理模块220,用于接收测试仪200发来的数据报文,根据数据报文中的测试仪的目的IP,在表生成模块210发来的上行转发表中查找复制流标识码(ID),得到的复制流ID作为后续查表时的索引,将该复制流ID添加到数据报文头部发送到交换模块230。
其中,从测试仪200发来的数据报文具体为:从测试仪200某一或某几个端口发来的数据报文,且所述数据报文可以为单播流,也可以为组播流的数据报文。
交换模块230,用于接收上行处理模块220发来的头部添加有复制流ID的数据报文,取出复制流ID,根据复制流ID,在表生成模块210发来的交换复制表中查找下行不同出槽位的出槽位信息,按照查找到的出槽位信息将头部添加有复制流ID的数据报文复制,并送往用户配置的各个出槽位的下行处理模块240。其中,交换复制表中的内容具体为:下行不同出槽位的信息。所谓出槽位,即为具有转发能力的功能处理卡。
进一步地,各个出槽位分别有自己的下行处理模块。
下行处理模块240,用于接收交换模块230发来的数据报文,从数据报文头部取出复制流ID,之后依次查找表生成模块210发来的出端口链表、端口配置表,之后查找表生成模块210发来的流链表并对数据报文进行相应修改,最后,进行流速率的控制,从而得到符合接口配置要求速率和属性的数据报文。
其中,上行处理模块220又包括报文接收单元221、前期通用处理单元222、报文查找单元223以及报文发送单元224,其中,
报文接收单元221,用于接收测试仪200发来的数据报文,并将接收到的报文发送给前期通用处理单元222。其中,从测试仪200发来的数据报文可以为:单播流或者组播流的数据报文。
前期通用处理单元222,用于对接收到的所述数据报文进行校验、解析以及计数,并将计数后的数据报文发送给报文查找单元223。
其中,前期通用处理单元222为可选单元,即:可以在上行处理模块220中将前期通用处理单元222去掉,此时,报文接收单元221直接将接收到的数据报文发送给报文查找单元223。
报文查找单元223,用于根据从前期通用处理单元222或者报文接收单元221发来的数据报文中的测试仪的目的IP,在上行转发表中查找复制流ID,并将查找到的复制流ID添加到数据报文的头部,之后,将头部添加有复制流ID的数据报文发送给报文发送单元224。
报文发送单元224,用于接收报文查找单元223发来的头部添加有复制流ID的数据报文,并将所述数据报文发送给交换模块230。
下行处理模块240包括报文接收单元241、共享资源单元247、查出端口链表单元242、查端口配置表单元243、查流链表单元244、速率处理单元245以及报文发送单元246,其中,
报文接收单元241,用于接收从交换模块230发来的头部添加有复制流ID的数据报文,并将所述数据报文发送给查出端口链表单元242。
共享资源单元247,用于接收查出端口链表单元242、查端口配置表单元243、查流链表单元244以及速率处理单元245通过查找相应的出端口链表、端口配置表、流链表所得到的数据信息,并在查端口配置表单元243、查流链表单元244、速率处理单元245以及报文发送单元246进行请求时,将所述数据信息发送给各个单元。
查出端口链表单元242,用于接收头部添加有复制流ID的数据报文,根据取出的复制流ID在出端口链表查找下行处理模块240所属出槽位的不同的出端口,并保存所有查找到的出端口信息,将所述出端口信息发送给共享资源单元247,同时将头部添加有复制流ID的数据报文发送给查端口配置表单元243。其中,所述出端口信息为:出端口号。
查端口配置表单元243,用于接收查出端口链表单元发来的所述数据报文,根据从共享资源单元247请求到的出端口信息中的具体出端口号,按照出端口号的顺序,依次在每个出端口对应的出端口配置表中查找每个出端口下不同流的流信息,所述流信息包括流ID以及流速率值,之后,查端口配置表单元243将头部添加有复制流ID的数据报文发送给查流链表单元244,同时,将得到的每个出端口下不同流的流信息发送给共享资源单元247。
其中,查端口配置表单元243内部的处理是一个循环的过程,即根据一个出端口号查找到所对应出端口的不同流的流信息后,将该出端口的不同流的流信息发送给共享资源单元247,并最终在报文发送单元246将该出端口所有的流发送之后,再对下一个出端口号进行与上述相同的操作。
查流链表单元244,用于接收查端口配置表单元243发来的所述数据报文,根据从共享资源单元247请求到的流ID在流链表中查找流ID所对应数据报文中具体需要修改的字段条目,并根据得到的字段条目查找对应的字段信息,之后,根据所述字段信息进行流ID所对应数据报文的修改,得到特定属性的数据报文,将得到的特定属性的数据报文发送给速率处理单元245,同时,将得到的字段信息发送给共享资源单元247。
其中,根据用户配置可以修改的字段信息包括:
a、二层以太类型的MAC地址,VLAN的各种属性,MPLS标签报文头的各种属性。
b、IP报文中的源IP和目的IP,可以将数据包的原来的目的地址更改为特定的单播或组播IP。
c、服务类型(TOS)字段,包括PRE字段和差分服务标记(DSCP)字段。根据后续测试需要,更改IP数据包包头相应的QoS字段,以产生具有特定QoS特性的数据流。
d、IP数据包包头的存活时间(TTL)字段。
e、IP数据包头中的4层协议端口号。
f、根据应用向特定流转换功能的接口的对流速率配置要求调整改造后需要转发的特定单播或组播数据流的大小。
g、其它需要修改的各种字段和属性。
其中,查流链表单元244对于流的处理是一个循环过程,即,每个流ID对应一个流,每个流包括多个数据报文,根据一个流ID查找到所对应数据报文的需要修改的字段信息后,即对该数据报文进行修改,得到特定属性的数据报文,并将该数据报文发送给速率处理单元245,同时将该流的字段信息发送给共享资源单元247。在执行完上述过程之后,再通过下一个流ID查找其所对应数据报文的需要修改的字段信息,之后进行相同的修改以及发送操作,如此循环,直到该端口下所有流ID对应的数据报文修改完毕。
同时,在此循环中,对于数据报文的修改过程,同样是一个循环,即,根据流ID在流链表中查找到所有对应该流ID的字段条目,然后根据每个字段条目,在流链表中查找到相应的字段信息,再根据该字段信息进行对应数据报文的修改,每修改完一个字段条目对应的字段信息后,才进行下一个字段条目的查找,以及后续修改流程,直到该流ID对应的所有的字段条目查找、并修改完毕后,即完成了此条数据报文的修改。
其中,如何根据字段信息对报文进行修改属于现有公知技术,此处不再赘述。
速率处理单元245,用于接收查流链表单元244发来的特定属性的数据报文,根据从共享资源单元247请求到的该数据报文所属流的流速率值,通过传统的流控制技术,例如令牌桶算法控制数据报文的出口速率,得到符合所述流速率值的特定属性的数据报文,并将该数据报文发送给报文发送单元246。
报文发送单元246,用于根据从共享资源单元247请求到的所述数据报文所属的出端口,将速率处理单元245发来的所述数据报文通过相应的出端口发送给待测网络设备250。
图3a和图3b为本发明所述方法的流程示意图,如图3a和图3b所示,该方法包括如下步骤:
步骤301:根据用户配置不同流的不同出端口信息生成上行转发表,交换复制表、出端口链表、端口配置表以及流链表,将上行转发表发送给上行处理模块,将交换复制表发送给交换模块,将出端口链表、端口配置表以及流链表发送到下行处理模块。
其中,上行转发表:用于存储复制流ID。交换复制表:用于存储以复制流ID为索引的下行不同出槽位的信息。出端口链表:用于存储以复制流ID为索引的不同出槽位的出端口信息。端口配置表:用于存储以出端口号为索引的每个出端口下的不同流的流信息,例如流ID、流速率等。流链表:用于存储每个流ID所对应流的需要修改的字段条目,以及每个字段条目所对应的字段类型、字段值以及报文的长度信息。
进一步地,如何根据用户配置生成上述表属于公知技术,这里不再赘述。
步骤302:接收测试仪发来的单播流或者组播流的数据报文。
步骤303:对接收到的所述数据报文进行校验、解析以及计数。其中,具体的数据报文的校验、解析以及计数方法属于现有公知技术,这里不再赘述。
步骤304:根据接收到的数据报文中的测试仪的目的IP在上行转发表中查找复制流ID。
步骤305:判断是否查找到复制流ID,如果查到复制流ID,执行步骤306;如果没有查到复制流ID,执行步骤307。
步骤306:将得到的复制流ID添加到数据报文头部,发送到交换模块,执行步骤308。
步骤307:统计未查找到复制流ID的流的数据报文的数量,然后丢弃所述数据报文。
步骤308:交换模块从数据报文的头部取出复制流ID,之后,根据复制流ID在交换复制表中查找不同出槽位的出槽位信息,并根据得到的出槽位信息复制数据报文到不同出槽位的下行处理模块中。
步骤309:下行处理模块接收到交换单元发来的头部添加有复制流ID的数据报文。
步骤310:从数据报文头部取出复制流ID,使用该复制流ID在出端口链表中查找下行处理模块所属出槽位的不同出端口的出端口信息,所述出端口信息为出端口号。
步骤311:判断出端口号是否有效,如果有效,则执行步骤312;如果无效,执行步骤313。
步骤312:保存所有查找到的出端口信息,根据出端口信息,按照出端口号逐次查找端口配置表,得到每个出端口的不同流的流信息,执行步骤314。其中,所述流信息包括:流ID以及流速率值。
步骤313:统计出端口号无效的流之后,丢弃所对应的流。
步骤314:根据第一个流ID查找流链表,得到流链表中流ID对应的流中需要修改的字段条目。
步骤315:根据得到的所述流需要修改的字段条目,在流链表中依次查找所述字段条目所对应的具体字段信息,所述字段信息包括:字段类型和字段值,以及报文长度信息。
步骤316:如果在流链表中查找到该字段条目,说明该字段条目有效,则执行步骤317;如果在流链表中未查找到该字段条目,说明该字段条目无效,则执行步骤318。
步骤317:从流链表中得到步骤316中判断为有效的字段条目所对应的字段信息,并根据该字段信息对流ID所对应流的数据报文进行修改。
步骤318:判断是否到达流链表的尾部,如果到达流链表的尾部,说明此时所修改的流的数据报文不存在需要修改的字段条目,则执行步骤319;如果未到达流链表的尾部,说明此时所修改的流的数据报文尚存在需要修改的字段条目,则执行步骤315,继续下一个字段条目的查找。
从图3a和图3b中,可以看出,对于每个流的数据报文的字段条目的查找和相应的修改,是一个循环过程,即查找完第一个字段条目,并根据查找结果进行相应的操作之后,才进行下一个字段条目的查找,直到每个流的数据报文的所有字段条目均查找完成,并进行相应操作之后,即在步骤318中判断到达流链表尾部后,才继续执行步骤319。
步骤319:根据步骤314中所得到的修改完成后的数据报文所对应的流速率值,使用通用的流速率控制技术,例如令牌桶算法进行流速率的控制。
步骤320:根据步骤314所保存的出端口信息,将步骤319中所处理的数据报文通过相应出端口发送到待测网络设备。
步骤321:判断正在处理的出端口上是否还有其他流ID尚未处理,如果有,则执行步骤314;如果没有,则执行步骤322。
如图3a和图3b所示,对于每个出端口上的不同流ID的处理,是一个循环过程。通过一个流ID查找流链表,并根据查找结果对这个流ID所对应的流的数据报文进行相应操作后,才进行下一个流ID的查找,执行步骤314;直到该出端口下的所有流ID查找完毕,即,在步骤321中,判断正在处理的出端口上,没有其他流ID尚未处理,则说明该出端口上需要处理的流已经全部处理完毕,可以对下一个出端口进行操作,执行步骤322。
步骤322:判断是否还有出端口号未查找,如果有,则执行步骤311,如果没有,则完成此次数据包的转换,继续执行步骤302,接收下一个从测试仪发来的数据包,进行相应的转换。
其中,步骤303为可选步骤,可以去掉,这时,在执行完步骤302后,直接执行步骤304。
在本实施例所述的方法中,是基于对测试仪发来的每个数据包进行转换的过程,一定数量的数据包组成流。同时,在本实施例中,数据包即为数据报文。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (14)

1、一种实现流转换的设备,其特征在于,该设备包括表生成模块、上行处理模块、交换模块以及每个出槽位的下行处理模块,其中,
表生成模块,用于根据用户配置不同流的不同出端口信息生成上行转发表、交换复制表、出端口链表、端口配置表以及流链表,并将上行转发表发送给上行处理模块,将交换复制表发送给交换模块,将出端口链表、端口配置表以及流链表发送给下行处理模块;
上行处理模块,用于接收测试仪发来的数据报文,根据数据报文中的测试仪的目的IP进行上行转发表的查找,得到复制流ID,将该复制流ID添加到数据报文头部发送到交换模块;
交换模块,用于接收上行处理模块发来的头部添加有复制流ID的数据报文,根据取出的复制流ID在交换复制表中查找出槽位信息,将头部添加有复制流ID的数据报文复制,并分别发送到用户配置的各个出槽位的下行处理模块;
下行处理模块,用于接收交换模块发来的数据报文,从数据报文头部取出复制流ID,依次查找出端口链表、端口配置表,查找流链表并对数据报文进行相应修改,通过流速率的控制得到特定属性的数据报文发送给待测网络设备。
2、根据权利要求1所述的实现流转换的设备,其特征在于,所述上行处理模块进一步包括报文接收单元、报文查找单元以及报文发送单元,其中,
报文接收单元,用于接收测试仪发来的数据报文,将接收到的数据报文向外发送;
报文查找单元,用于根据接收到的数据报文中的测试仪的目的IP,进行上行转发表的查找,将查找得到的复制流ID添加到数据报文的头部,之后,将头部添加有复制流ID的数据报文发送给报文发送单元;
报文发送单元,用于接收报文查找单元发来的头部添加有复制流ID的数据报文,并将所述数据报文发送给交换模块。
3、根据权利要求2所述的实现流转换的设备,其特征在于,所述上行处理模块进一步包括:
前期通用处理单元,用于接收报文接收单元发来的所述数据报文,并对所述数据报文进行校验、解析以及计数,并将计数后的数据报文发送给报文查找单元。
4、根据权利要求1至3任一所述的实现流转换的设备,其特征在于,所述下行处理模块包括报文接收单元、共享资源单元、查出端口链表单元、查端口配置表单元、查流链表单元、速率处理单元以及报文发送单元,其中,
报文接收单元,用于接收从交换模块发来的头部添加有复制流ID的数据报文,并将所述数据报文发送给查出端口链表单元;
共享资源单元,用于接收查出端口链表单元、查端口配置表单元、查流链表单元以及速率处理单元通过查找相应的表所得到的数据信息,并在查端口配置表单元、查流链表单元、速率处理单元以及报文发送单元进行请求时,将所述数据信息发送给需要的各个单元;
查出端口链表单元,用于接收到头部添加有复制流ID的数据报文,根据取出的复制流ID在出端口链表中查找并保存下行处理模块所属出槽位的不同的出端口信息,将所述出端口信息发送给共享资源单元,同时将头部添加有复制流ID的数据报文发送给查端口配置表单元;
查端口配置表单元,用于接收查出端口链表单元发来的所述数据报文,根据从共享资源单元请求到的出端口信息,在每个出端口配置表中查找每个出端口下的不同的流的流信息,将头部添加有复制流ID的数据报文发送给查流链表单元,同时,将得到的所述流信息发送给共享资源单元;
查流链表单元,用于接收查端口配置表单元发来的所述数据报文,根据从共享资源单元请求到的流ID,在流链表中查找出流ID所对应数据报文中具体需要修改的字段条目和字段信息,并根据所述字段信息进行相应数据报文的修改,将得到的特定属性的数据报文发送给速率处理单元,同时,将得到的流ID所对应的字段条目和字段信息发送给共享资源单元;
速率处理单元,用于接收查流链表单元发来的特定属性的数据报文,根据从共享资源单元请求到的数据报文所属流的流速率值,进行流速率的控制,将得到的符合所述流速率值的特定属性的数据报文发送给报文发送单元;
报文发送单元,用于根据从共享资源单元请求到的出端口信息,将速率处理单元发来的所述数据报文通过对应的出端口发送给待测网络设备。
5、一种实现流转换的方法,其特征在于,根据用户配置的不同流的不同出端口信息生成上行转发表、交换复制表、出端口链表、端口配置表以及流链表;该方法还包括:
A、从测试仪接收到数据报文后,根据数据报文中测试仪的目的IP在上行转发表中查找复制流ID;
B、查找到复制流ID后,根据复制流ID在交换复制表中查找各个出槽位的出端口信息;
C、分别查找出端口链表、端口配置表、流链表,根据查找结果对数据报文进行相应修改,之后进行流速率的控制,得到经过速率控制的特定属性的数据报文发送给待测网络设备。
6、根据权利要求5所述的实现流转换的方法,其特征在于,所述从测试仪接收到数据报文为:从测试仪接收到单播流、或者组播流的数据报文。
7、根据权利要求5或6所述的实现流转换的方法,其特征在于,步骤B进一步包括:
B1、未查找到复制流ID时,统计未查找到复制流ID的数据报文的数量,之后丢弃所述未查找到复制流ID的数据报文。
8、根据权利要求5所述的实现流转换的方法,其特征在于,所述查找出端口链表为:根据复制流ID查找出端口链表,得到出端口链表所属出槽位的出端口信息。
9、根据权利要求9所述的实现流转换的方法,其特征在于,所述出端口信息为出端口号。
10、根据权利要求8或9所述的实现流转换的方法,其特征在于,所述查找端口配置表为:根据出端口信息逐次查找端口配置表,得到每个出端口的不同流的流信息。
11、根据权利要求10所述的实现流转换的方法,其特征在于,所述流信息包括:流ID和流速率值。
12、根据权利要求11所述的实现流转换的方法,其特征在于,所述根据查找结果对数据报文进行相应修改为:先根据查找流链表得到的流ID所对应数据报文需要修改的字段条目,在流链表中查找对应的具体字段信息,再根据所述具体字段信息进行流ID所对应数据报文的修改。
13、根据权利要求12所述的实现流转换的方法,其特征在于,所述字段信息为:字段类型和字段值,以及报文长度信息。
14、根据权利要求12或13所述的实现流转换的方法,其特征在于,所述进行流速率的控制为:使用令牌桶算法进行流速率的控制。
CNB2007101753484A 2007-09-28 2007-09-28 一种实现流转换的方法和设备 Expired - Fee Related CN100571218C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101753484A CN100571218C (zh) 2007-09-28 2007-09-28 一种实现流转换的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101753484A CN100571218C (zh) 2007-09-28 2007-09-28 一种实现流转换的方法和设备

Publications (2)

Publication Number Publication Date
CN101159682A CN101159682A (zh) 2008-04-09
CN100571218C true CN100571218C (zh) 2009-12-16

Family

ID=39307607

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101753484A Expired - Fee Related CN100571218C (zh) 2007-09-28 2007-09-28 一种实现流转换的方法和设备

Country Status (1)

Country Link
CN (1) CN100571218C (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340389B (zh) * 2008-08-29 2011-04-20 华为技术有限公司 一种组播报文复制方法和设备
CN101826998B (zh) * 2010-04-29 2012-04-25 华为技术有限公司 实现交换网片全交换功能测试的方法及交换网片
CN102347890B (zh) * 2010-08-04 2014-03-26 杭州华三通信技术有限公司 一种组播报文的处理方法和装置
CN103780449B (zh) * 2012-10-23 2018-05-01 百度在线网络技术(北京)有限公司 一种基于cache存储的流量复用方法和装置
CN104052628B (zh) * 2013-03-12 2018-10-30 腾讯科技(深圳)有限公司 协议包检测方法及协议包检测装置
CN106301994B (zh) * 2015-06-24 2023-11-03 北京京东尚科信息技术有限公司 一种网络通信异常测试方法和装置
CN107592250B (zh) * 2017-09-18 2020-07-07 中国航空无线电电子研究所 基于航空fc总线多速率自适应测试设备
CN112187761B (zh) * 2020-09-22 2022-12-13 中国建设银行股份有限公司 一种报文解析、构造方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN101159682A (zh) 2008-04-09

Similar Documents

Publication Publication Date Title
CN100571218C (zh) 一种实现流转换的方法和设备
US9876719B2 (en) Method and apparatus for load balancing in network switches
US9455966B2 (en) Load balancing hash computation for network switches
US7933268B1 (en) IP multicast forwarding in MAC bridges
US8229705B1 (en) Performance monitoring in computer networks
CN101286990B (zh) 二层组播的转发方法和装置
CN104821890A (zh) 一种基于普通交换芯片的OpenFlow多级流表的实现方法
US20140044129A1 (en) Multicast packet forwarding in a network
US20110206049A1 (en) Targeted flow sampling
WO2008075336A3 (en) Forwarding multicast traffic over link aggregation ports
US9621464B2 (en) Multicast spray over LAG
CN104579894B (zh) 分布式虚拟交换机系统的IGMP Snooping实现方法及装置
CN101789949B (zh) 一种实现负荷分担的方法和路由设备
Huang et al. Design and implementation of multicast routing system over SDN and sFlow
Giroire et al. Compressing two-dimensional routing tables with order
CN102413051B (zh) 一种服务质量调度方法和装置
CN102647359B (zh) 基于DSA TAG及自定义协议栈的网桥IGMP Snooping实现方法
Craig et al. Bloomflow: Openflow extensions for memory efficient, scalable multicast with multi-stage bloom filters
US9008091B1 (en) Methods, systems, and computer readable media for improved multicast scaling through policy based redirection
CN108183851B (zh) 一种报文转发方法及转发设备
Todorov et al. Simple routing algorithm with link discovery between source and destination hosts in SDN networks
Wang et al. RDMA load balancing via data partition
Ali et al. Performance comparison of video multicasting over Asynchronous Transfer Mode (ATM) & Multiprotocol Label Switching (MPLS) networks
Doo et al. Multicore Flow Processor with Wire‐Speed Flow Admission Control
Motohashi et al. Enabling P4-based Multipath Communication in Wireless Networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091216

Termination date: 20160928