发送报文的方法、装置和系统的制作方法

文档序号:7847166阅读:132来源:国知局
专利名称:发送报文的方法、装置和系统的制作方法
技术领域
本发明涉及网络传输领域,特别涉及一种发送报文的方法、装置和系统。
背景技术
链路聚合是将多个物理链路(如电口,光口等)当作一个单一逻辑连接处理的技术,它允许两个交换器之间通过多个链路并行连接同时传输数据以提供更高的带宽、更大的吞吐量和可恢复性的技术。一个链路聚合可能包括多个物理链路,当报文出口为链路聚合时会涉及到多个链路的出口选择问题。目前一般采用HASH方法建立报文关键字集合到HASH索引值之间的映射关系, 并根据HASH索引值和端口数取模,得到最终的物理出端口,从而实现了同一条流被映射到固定出端口的选择方法。报文关键字一般有SMAC(Source Media Access Control,源 MAC) > DMAC(Destination Media Access Control, g ^ MAC) > VLAN(Virtual Local Area Network,虚拟局域网)、DIP (Destination IP,目的 IP)或 SIP (Source IP,源 IP)等,HASH 算法一般有CRC16、CRC32等,假设聚合有8个成员端口,输入MAC = 0x1122334455,VLAN = 10的报文,选取报文关键字为MAC、VLAN,其HASH索引值(利用CRC32算法获取)为Oxlfe, 对索引值按端口数取模(0Xlfe%8 = 6)为6,则对应报文就从聚合组里的第6个成员端口输出。在实现本发明的过程中,发明人发现现有技术至少存在以下问题当多个不同HASH索引值(如0xlfe、0x456)取模后的值相同时,其对应出端口就是相同的,这意味着不同的报文流会同时选中同一个出端口,在某些流量情况下,会导致端口之间的流量不均衡,从而不能充分利用聚合组的有效带宽,且当聚合组中的成员端口的在线状态有变化时,可能会导致同一流的报文取模后的值不同,不能保证流的出口选择一致性。

发明内容
为了均衡端口之间的流量,充分利用聚合组的有效带宽,本发明实施例提供了一种发送报文的方法、装置和系统。所述技术方案如下—种发送报文的方法,所述方法包括接收报文,从所述报文中获取用于标识所述报文的报文关键字;获取所述报文关键字对应的报文特征值;根据所述报文特征值,从端口映射关系列表中获取出端口,所述端口映射关系列表包括报文特征值范围与出端口的映射关系;通过所述获取的出端口发送所述报文。一种发送报文的装置,包括接收模块,用于接收报文;报文关键字获取模块,用于从接收的报文中获取用于标识所述报文的报文关键字;特征值获取模块,用于获取所述报文关键字对应的报文特征值;出端口获取模块,用于根据所述报文特征值,从端口映射关系列表中获取出端口, 所述端口映射关系列表包括报文特征值范围与出端口的映射关系;发送模块,用于通过所述获取的出端口发送所述报文。一种报文发送系统,包括第一网络设备和第二网络设备,其中,所述第一网络设备,用于向所述第二网络设备发送报文;所述第二网络设备,用于从所述报文中获取标识所述报文的报文关键字,获取所述报文关键字对应的报文特征值;根据所述报文特征值,从端口映射关系列表中获取出端口,通过所述获取的出端口发送所述报文; 其中,所述端口映射关系列表包括报文特征值范围与出端口的映射关系。本发明实施例提供的技术方案带来的有益效果是通过根据报文特征值,从预先设置的端口映射关系列表中获取出端口,避免了现有技术中由于根据端口数和报文特征值获取出端口时会出现的流量不均衡的现象,提高了聚合组的带宽利用率,每个流对应唯一的报文特征值,每个报文特征值与端口也是确定的一一对应的映射关系,只要该报文特征值对应的端口是在线的,可以保证对应的流一直从该端口输出,不会因为聚合组中其他端口的UP或DOWN而受影响,从而保证了出端口的一致性。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种发送报文的方法的流程图;图2是本发明实施例提供的一种发送报文的方法的流程图;图3是本发明实施例提供的一种发送报文的装置的结构示意图;图4是本发明实施例提供的一种发送报文的装置的结构示意图;图5是本发明实施例提供的一种报文发送系统的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。图1是本发明实施例提供的一种发送报文的方法的流程图。参见图1,该方法包括101、接收报文,从所述报文中获取用于标识所述报文的报文关键字;其中,报文关键字一般包括源媒体访问控制地址源MAC,目的媒体访问控制地址目的MAC、源IP地址、目的IP地址、虚拟局域网标识VLAN中的至少一个。,在本实施例中,仅以报文关键字为源MAC和VLAN为例进行说明。
102、获取所述报文关键字对应的报文特征值;该报文特征值可以为根据报文关键字和HASH算法获得的HASH索引值,HASH算法一般有 CRC16、CRC32 等。103、根据所述报文特征值,从端口映射关系列表中获取出端口,所述端口映射关系列表包括报文特征值范围与出端口的映射关系;在本实施例中,该端口映射关系列表包括报文特征值范围与出端口的映射关系, 该报文特征值范围的划分可以是将HASH值以预设粒度划分为若干个报文特征值范围,例如,HASH值为16bit,以32为一个粒度,将HASH值划分为2048个报文特征值范围。104、通过所述获取的出端口发送所述报文。本实施例提供的方法,通过根据报文特征值,从预先设置的端口映射关系列表中获取出端口,避免了现有技术中由于根据端口数和报文特征值获取出端口时会出现的流量不均衡的现象,提高了聚合组的带宽利用率,每个流对应唯一的报文特征值,每个报文特征值与端口也是确定的一一对应的映射关系,只要该报文特征值对应的端口是在线的,可以保证对应的流一直从该端口输出,不会因为聚合组中其他端口的UP或DOWN而受影响,从而保证了出端口的一致性。图2是本发明实施例提供的一种发送报文的方法的流程图。参见图2,该实施例以执行主体为交换机设备或发送设备,本实施例仅以执行主体为交换机设备,且该交换机设备的聚合成员数为8个端口、且HASH索引值为16bit为例进行说明,该实施例包括201、接收报文;本实施例中,是以执行主体为交换机设备为例进行说明的,在交换机设备上,该报文可以使由交换机设备进行转发的设备。202、采用哈希HASH算法对报文关键字源MAC和VLAN进行计算,将计算得到的 HASH索引值作为对应的报文特征值;在本实施例中,仅以HASH算法为例进行说明,步骤202中的HASH索引值即是报文特征值,获取HASH索引值的方法与现有技术同理,例如,该交换设备的聚合组有8个成员端口,报文的MAC = Oxl 122334455,VLAN = 10,选取报文关键字为MAC、VLAN,利用CRC32算法获取其HASH索引值为Oxlfe。203、根据获得的报文特征值,从端口映射关系列表中查找报文特征值所属的区间范围,获取所述区间范围对应的端口,将所述对应的端口作为出端口 ;在本实施例中,所述端口映射关系列表包括报文特征值范围与出端口的映射关系,例如,HASH值为16bit,刻度以32为一个粒度,则在端口映射关系列表中的报文特征值范围一共有2048区间,为0 31,32 63,. . .,65504 65535。报文特征值范围和出端口的映射关系可以如下表1。表 1
报文特征值范围端口号报文特征值范围端口号0 310256 2870
权利要求
1.一种发送报文的方法,其特征在于,所述方法包括接收报文,从所述报文中获取用于标识所述报文的报文关键字; 获取所述报文关键字对应的报文特征值;根据所述报文特征值,从端口映射关系列表中获取出端口,所述端口映射关系列表包括报文特征值范围与出端口的映射关系; 通过所述获取的出端口发送所述报文。
2.根据权利要求1所述的方法,其特征在于,所述报文关键字包括源媒体访问控制地址,目的媒体访问控制地址、源IP地址、目的IP地址、虚拟局域网标识中的至少一个。
3.根据权利要求1或2所述的方法,其特征在于,所述获取所述关键字对应的报文特征值具体包括采用哈希算法对所述报文关键字进行计算,将计算结果作为所述对应的报文特征值。
4.根据权利要求1所述的方法,其特征在于,所述根据所述报文特征值,从端口映射关系列表中获取出端口,具体包括根据所述报文特征值,从所述端口映射关系列表中查找所述报文特征值所属的区间范围,获取所述区间范围对应的端口,将所述对应的端口作为出端口。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括 判断所述出端口是否在线;如果所述出端口不在线时,根据预设规则从在线的端口中选择一个作为出端口。
6.一种发送报文的装置,其特征在于,包括 接收模块,用于接收报文;报文关键字获取模块,用于从接收的报文中获取用于标识所述报文的报文关键字; 特征值获取模块,用于获取所述报文关键字对应的报文特征值; 出端口获取模块,用于根据所述报文特征值,从端口映射关系列表中获取出端口,所述端口映射关系列表包括报文特征值范围与出端口的映射关系; 发送模块,用于通过所述获取的出端口发送所述报文。
7.根据权利要求6所述的装置,其特征在于,所述特征值获取模块具体用于采用哈希算法对所述报文关键字进行计算,将计算结果作为所述对应的报文特征值。
8.根据权利要求6所述的装置,其特征在于,所述出端口获取模块具体用于根据所述报文特征值,从所述端口映射关系列表中查找所述报文特征值所属的区间范围,获取所述区间范围对应的端口,将所述对应的端口作为出端口。
9.根据权利要求6所述的装置,其特征在于,还包括 判断模块,用于判断所述出端口是否在线;所述出端口获取模块,还用于当所述出端口不在线时,根据预设规则从在线的端口中选择一个作为出端口。
10.一种报文发送系统,其特征在于,包括第一网络设备和第二网络设备,其中, 所述第一网络设备,用于向所述第二网络设备发送报文;所述第二网络设备,用于从所述报文中获取标识所述报文的报文关键字,获取所述报文关键字对应的报文特征值;根据所述报文特征值,从端口映射关系列表中获取出端口,通过所述获取的出端口发送所述报文;其中,所述端口映射关系列表包括报文特征值范围与出端口的映射关系。
11.根据权利要求10所述的系统,其特征在于,所述第二网络设备还用于判断所述出端口是否在线,如果不在线,根据预设的规则从在线的端口中选择一个作为出端口发送所述报文。
全文摘要
本发明公开了一种发送报文的方法、装置和系统,属于网络传输领域。所述方法包括接收报文,从所述报文中获取用于标识所述报文的报文关键字;获取所述报文关键字对应的报文特征值;根据所述报文特征值,从端口映射关系列表中获取出端口,所述端口映射关系列表包括报文特征值范围与出端口的映射关系;通过所述获取的出端口发送所述报文。该装置包括接收模块、报文关键字获取模块、特征值获取模块、出端口获取模块和发送模块。本发明避免了现有技术中由于根据端口数和报文特征值获取出端口时会出现的流量不均衡的现象,提高了聚合组的带宽利用率,保证了出端口的一致性。
文档编号H04L12/56GK102577280SQ201180002491
公开日2012年7月11日 申请日期2011年11月28日 优先权日2011年11月28日
发明者谭细金, 马书雷 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1