太阳城集团

  • / 26
  • 下载费用:30 金币  

报文分流方法、装置、处理器和网络设备.pdf

摘要
申请专利号:

CN201210049845.0

申请日:

2012.02.29

公开号:

CN102624611B

公开日:

2015.01.21

当前法律状态:

授权

有效性:

有权

法律详情: 授权|||著录事项变更IPC(主分类):H04L 12/56变更事项:申请人变更前:成都市华为赛门铁克科技有限公司变更后:华为数字技术(成都)有限公司变更事项:地址变更前:611731 四川省成都市高新区西部园区清水河片区变更后:611731 四川省成都市高新区西部园区清水河片区|||实质审查的生效IPC(主分类):H04L 12/56申请日:20120229|||公开
IPC分类号: H04L12/24 主分类号: H04L12/24
申请人: 华为数字技术(成都)有限公司
发明人: 闫婷; 于锋
地址: 611731 四川省成都市高新区西部园区清水河片区
优先权: 2011.12.31 CN 201110459577.5
专利代理机构: 北京同立钧成知识产权代理有限公司 11205 代理人: 刘芳
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201210049845.0

授权太阳城集团号:

102624611B|||||||||

法律状态太阳城集团日:

2015.01.21|||2013.01.02|||2012.09.26|||2012.08.01

法律状态类型:

太阳城集团授权|||著录事项变更|||实质审查的生效|||公开

摘要

本发明提供一种报文分流方法、装置、处理器和网络设备,该报文分流方法包括:接收并解析隧道报文,根据该隧道报文的报文头中的分片太阳城集团确定隧道报文是否为隧道分片报文;当该隧道报文为隧道分片报文时,在保存的分片太阳城集团表中查找与隧道分片报文的外层IP地址和该隧道分片报文的标识对应的处理器编号;当在分片太阳城集团表中查找到与上述隧道分片报文的外层IP地址和隧道分片报文的标识对应的处理器编号时,将隧道分片报文发送给相应的处理器。该方法可以实现对隧道报文进行均匀分流,并可以确保隧道分片报文的首分片和后续分片转发到同一处理器上,且无需在发送侧对隧道报文做任何修改。

权利要求书

1: 一种报文分流方法, 其特征在于, 包括 : 接收并解析隧道报文, 获取所述隧道报文的外层因特网协议 IP 地址、 内层 IP 地址和所 述隧道报文的标识 ; 根据所述隧道报文的报文头中的分片太阳城集团, 判断所述隧道报文是否为隧道分片报文 ; 当所述隧道报文为隧道分片报文时, 在预存的分片太阳城集团表中, 查找与所述隧道分片报 文的外层 IP 地址和所述隧道分片报文的标识对应的处理器编号, 其中, 所述分片太阳城集团表中 的处理器编号根据隧道分片报文的内层 IP 地址获得或者根据隧道分片报文的外层 IP 地址 和隧道分片报文的标识获得 ; 当在所述分片太阳城集团表中查找到与所述隧道分片报文的外层 IP 地址和所述隧道分片报 文的标识对应的处理器编号时, 将所述隧道分片报文发送给相应的处理器。
2: 根据权利要求 1 所述的方法, 其特征在于, 还包括 : 当在所述分片太阳城集团表中没有查找到与所述隧道分片报文的外层 IP 地址和所述隧道分 片报文的标识对应的处理器编号时, 判断所述隧道分片报文是否为首分片 ; 当所述隧道分片报文为首分片时, 根据所述隧道分片报文的内层 IP 地址获得处理所 述隧道分片报文的处理器编号, 将所述隧道分片报文发送给相应的处理器 ; 当所述隧道分片报文不是首分片时, 根据所述隧道分片报文的外层 IP 地址和所述隧 道分片报文的标识获得处理所述隧道分片报文的处理器编号, 将所述隧道分片报文发送给 相应的处理器。
3: 根据权利要求 2 所述的方法, 其特征在于, 所述获得处理所述隧道分片报文的处理 器编号之后, 还包括 : 在所述分片太阳城集团表中创建与所述隧道分片报文的外层 IP 地址和所述隧道分片报文的 标识对应的表项, 并在所述表项中记录所述处理器编号。
4: 根据权利要求 1-3 任意一项所述的方法, 其特征在于, 还包括 : 当所述隧道报文不是隧道分片报文时, 根据所述隧道报文的内层 IP 地址获得处理所 述隧道报文的处理器编号, 并将所述隧道报文发送给相应的处理器。
5: 一种报文分流方法, 其特征在于, 包括 : 第一处理器接收报文分流装置发送的隧道分片报文, 获得所述隧道分片报文的外层因 特网协议 IP 地址、 内层 IP 地址和所述隧道分片报文的标识 ; 在预存的分片太阳城集团表中, 查找与所述隧道分片报文的外层 IP 地址和所述隧道分片报 文的标识对应的第二处理器编号, 其中, 所述分片太阳城集团表中的第二处理器编号是根据隧道 分片报文的内层 IP 地址获得 ; 当在所述分片太阳城集团表中, 查找到与所述隧道分片报文的外层 IP 地址和所述隧道分片 报文的标识对应的第二处理器编号时, 若所述第二处理器编号与所述第一处理器的编号不 同, 则将所述隧道分片报文发送给所述第二处理器编号对应的第二处理器 ; 若所述第二处 理器编号与所述第一处理器的编号相同, 由所述第一处理器处理所述隧道分片报文。
6: 根据权利要求 5 所述的方法, 其特征在于, 所述隧道分片报文是报文分流装置根据所述隧道分片报文的外层 IP 地址和所述隧道 分片报文的标识获得所述第一处理器的编号之后, 发送给所述第一处理器的。
7: 根据权利要求 6 所述的方法, 其特征在于, 还包括 : 2 当在所述分片太阳城集团表中没有查找到与所述隧道分片报文的外层 IP 地址和所述隧道分 片报文的标识对应的第二处理器编号时, 判断所述隧道分片报文是否为首分片 ; 当所述隧道分片报文为首分片时, 根据所述隧道分片报文的内层 IP 地址获得处理所 述隧道分片报文的第二处理器编号, 若第二处理器编号与所述第一处理器的编号不同, 则 将所述隧道分片报文发送给所述第二处理器编号对应的第二处理器 ; 当所述隧道分片报文不是首分片时, 缓存所述隧道分片报文。
8: 根据权利要求 7 所述的方法, 其特征在于, 还包括 : 在所述分片太阳城集团表中, 查找与缓存的隧道分片报文的外层 IP 地址和缓存的隧道分片 报文的标识对应的第二处理器编号 ; 当在所述分片太阳城集团表中, 查找到与所述缓存的隧道分片报文的外层 IP 地址和所述缓 存的隧道分片报文的标识对应的第二处理器编号时, 若第二处理器编号与所述第一处理器 的编号不同, 则将所述缓存的隧道分片报文发送给所述第二处理器编号对应的第二处理 器。
9: 根据权利要求 7 所述的方法, 其特征在于, 所述根据所述隧道分片报文的内层 IP 地 址获得处理所述隧道分片报文的第二处理器编号之后, 还包括 : 在所述分片太阳城集团表中创建与所述隧道分片报文的外层 IP 地址和所述隧道分片报文的 标识对应的表项, 并在所述表项中记录所述第二处理器编号。
10: 一种报文分流装置, 其特征在于, 包括 : 获取模块, 用于接收并解析隧道报文, 获取所述隧道报文的外层因特网协议 IP 地址、 内层 IP 地址和所述隧道报文的标识 ; 确定模块, 用于根据所述隧道报文的报文头中的分片太阳城集团, 判断所述隧道报文是否为 隧道分片报文 ; 查找模块, 用于当所述确定模块确定所述隧道报文为隧道分片报文时, 在所述报文分 流装置预存的分片太阳城集团表中查找与所述隧道分片报文的外层 IP 地址和所述隧道分片报文 的标识对应的处理器编号, 其中, 所述分片太阳城集团表中的处理器编号根据隧道分片报文的内 层 IP 地址获得或者根据隧道分片报文的外层 IP 地址和隧道分片报文的标识获得 ; 发送模块, 用于当所述查找模块在所述分片太阳城集团表中查找到与所述隧道分片报文的外 层 IP 地址和所述隧道分片报文的标识对应的处理器编号时, 将所述隧道分片报文发送给 相应的处理器。
11: 根据权利要求 10 所述的装置, 其特征在于, 还包括 : 第一获得模块 ; 所述确定模块, 还用于当所述查找模块在所述分片太阳城集团表中没有查找到与所述隧道分 片报文的外层 IP 地址和所述隧道分片报文的标识对应的处理器编号时, 判断所述隧道分 片报文是否为首分片 ; 所述第一获得模块, 用于当所述确定模块确定所述隧道分片报文为首分片时, 根据所 述隧道分片报文的内层 IP 地址获得处理所述隧道分片报文的处理器编号 ; 以及当所述确 定模块确定所述隧道分片报文不是首分片时, 根据所述隧道分片报文的外层 IP 地址和所 述隧道分片报文的标识获得处理所述隧道分片报文的处理器编号。
12: 根据权利要求 11 所述的装置, 其特征在于, 还包括 : 创建模块, 用于在所述第一获得模块获得处理所述隧道分片报文的处理器编号之后, 3 在所述分片太阳城集团表中创建与所述隧道分片报文的外层 IP 地址和所述隧道分片报文的标识 对应的表项, 并在所述表项中记录所述处理器编号。
13: 根据权利要求 10-12 任意一项所述的装置, 其特征在于, 还包括 : 第二获得模块, 用于当所述确定模块确定所述隧道报文不是隧道分片报文时, 根据所 述隧道报文的内层 IP 地址获得处理所述隧道报文的处理器编号 ; 所述发送模块, 还用于根据所述第二获得模块获得的处理器编号将所述隧道报文发送 给相应的处理器。
14: 一种处理器, 其特征在于, 所述处理器为第一处理器, 所述处理器包括 : 报文接收模块, 用于接收报文分流装置发送的隧道分片报文, 获得所述隧道分片报文 的外层因特网协议 IP 地址、 内层 IP 地址和所述隧道分片报文的标识 ; 编号查找模块, 用于在预存的分片太阳城集团表中查找与所述隧道分片报文的外层 IP 地址 和所述隧道分片报文的标识对应的第二处理器编号, 其中, 所述分片太阳城集团表中的第二处理 器编号是根据隧道分片报文的内层 IP 地址获得 ; 报文发送模块, 用于当所述编号查找模块在所述分片太阳城集团表中查找到与所述隧道分片 报文的外层 IP 地址和所述隧道分片报文的标识对应的第二处理器编号时, 若第二处理器 编号与所述第一处理器的编号不同, 则将所述隧道分片报文发送给所述第二处理器编号对 应的第二处理器 ; 报文处理模块, 用于当所述第二处理器编号与所述第一处理器的编号相同时, 处理所 述隧道分片报文。
15: 根据权利要求 14 所述的处理器, 其特征在于, 所述报文接收模块接收的所述隧道 分片报文是所述报文分流装置根据所述隧道分片报文的外层 IP 地址和所述隧道分片报文 的标识获得所述第一处理器的编号之后, 发送给所述第一处理器的。
16: 根据权利要求 15 所述的处理器, 其特征在于, 还包括 : 报文确定模块, 用于当所述编号查找模块在所述分片太阳城集团表中没有查找到与所述隧道 分片报文的外层 IP 地址和所述隧道分片报文的标识对应的第二处理器编号时, 判断所述 隧道分片报文是否为首分片 ; 编号获得模块, 用于当所述报文确定模块确定所述隧道分片报文为首分片时, 根据所 述隧道分片报文的内层 IP 地址获得处理所述隧道分片报文的第二处理器编号 ; 报文缓存模块, 用于当所述报文确定模块确定所述隧道分片报文不是首分片时, 缓存 所述隧道分片报文 ; 所述报文发送模块, 还用于当所述编号获得模块获得的第二处理器编号与所述第一处 理器的编号不同时, 将所述隧道分片报文发送给所述第二处理器编号对应的第二处理器。
17: 根据权利要求 16 所述的处理器, 其特征在于, 所述编号查找模块, 还用于在所述分片太阳城集团表中查找与缓存的隧道分片报文的外层 IP 地址和缓存的隧道分片报文的标识对应的第二处理器编号 ; 所述报文发送模块, 还用于当所述编号查找模块在所述分片太阳城集团表中查找到与所述缓 存的隧道分片报文的外层 IP 地址和所述缓存的隧道分片报文的标识对应的第二处理器编 号时, 若第二处理器编号与所述第一处理器的编号不同, 则将所述缓存的隧道分片报文发 送给所述第二处理器编号对应的第二处理器。 4
18: 根据权利要求 16 所述的处理器, 其特征在于, 还包括 : 表项创建模块, 用于在所述编号获得模块获得处理所述隧道分片报文的第二处理器编 号之后, 在所述分片太阳城集团表中创建与所述隧道分片报文的外层 IP 地址和所述隧道分片报 文的标识对应的表项, 并在所述表项中记录所述第二处理器编号。
19: 一种网络设备, 其特征在于, 包括如权利要求 10-13 任意一项所述的报文分流装置 和至少两个如权利要求 14-18 任意一项所述的处理器。

说明书


报文分流方法、 装置、 处理器和网络设备

    【技术领域】
     本发明涉及通信技术, 尤其涉及一种报文分流方法、 装置、 处理器和网络设备。背景技术 随着网络流量的不断提高, 单一处理器系统越来越不能满足高速业务数据处理的 要求, 因此分布式系统在高端数据处理中获得了越来越广泛的应用。 在分布式系统中, 数据 报文需要转发给多个处理器进行处理, 为了保证处理器对数据报文的正确处理, 需要将同 一条流的报文转发给同一个处理器。因此分流技术是分布式系统中重要的数据转发方式。
     普通的因特网协议 (Internet Protocol ; 以下简称 : IP) 报文可根据报文的 IP 地 址太阳城集团进行哈希 (Hash) 或通过访问控制列表 (Access Control List ; 以下简称 : ACL) 规则 进行分流保证同一条流的流量都交给同一处理器处理。
     但网络中还存在一种报文 : 隧道报文。隧道报文是对某些网络层协议的数据报 文进行封装, 使这些被封装的数据报文可以在另一种网络层协议中传输, 如通用路由封装 (Generic Routing Encapsulation ; 以下简称 : GRE) 报文等。 如果与普通数据报文一样, 针 对隧道报文也采用外层 IP 进行分流, 则由于隧道报文的外层 IP 可能都相同, 简单的 Hash 运算或 ACL 规则匹配会造成隧道报文的流量全部交给同一个处理器处理, 而其他处理器相 对空闲的情况, 浪费了系统资源。
     现有技术提供的一种方案中, 针对隧道报文根据该隧道报文内层封装的 IP 地址 太阳城集团进行分流, 以解决外层 IP 相同导致的分流不均问题。
     但是对于根据外层 IP 进行分片的隧道分片报文, 由于后续分片中不再包含内层 IP 太阳城集团, 因此该方案会导致报文的首分片和后续分片分流到不同的处理器上, 致使处理器 无法正确处理这部分报文。
     发明内容 本发明提供一种报文分流方法、 装置、 处理器和网络设备, 以实现对隧道报文进行 均匀分流, 并可以保证隧道分片报文的首分片和后续分片转发到同一处理器上。
     根据本发明实施例的一个方面, 提供一种报文分流方法, 包括 :
     接收并解析隧道报文, 获取所述隧道报文的外层因特网协议 IP 地址、 内层 IP 地址 和所述隧道报文的标识 ;
     根据所述隧道报文的报文头中的分片太阳城集团确定所述隧道报文是否为隧道分片报 文;
     当所述隧道报文为隧道分片报文时, 在预存的分片太阳城集团表中查找与所述隧道分片 报文的外层 IP 地址和所述隧道分片报文的标识对应的处理器编号, 其中, 所述分片太阳城集团表 中的处理器编号根据隧道分片报文的内层 IP 地址或者根据隧道分片报文的外层 IP 地址和 隧道分片报文的标识获得 ;
     当在所述分片太阳城集团表中查找到与所述隧道分片报文的外层 IP 地址和所述隧道分
     片报文的标识对应的处理器编号时, 将所述隧道分片报文发送给相应的处理器。
     根据本发明实施例的另一方面, 提供一种报文分流方法, 包括 :
     第一处理器接收报文分流装置发送的隧道分片报文, 获得所述隧道分片报文的外 层因特网协议 IP 地址、 内层 IP 地址和所述隧道分片报文的标识 ;
     在预存的分片太阳城集团表中查找与所述隧道分片报文的外层 IP 地址和所述隧道分片 报文的标识对应的第二处理器编号, 其中, 所述分片太阳城集团表中的第二处理器编号是根据隧 道分片报文的内层 IP 地址获得 ;
     当在所述分片太阳城集团表中查找到与所述隧道分片报文的外层 IP 地址和所述隧道分 片报文的标识对应的第二处理器编号时, 若第二处理器编号与所述第一处理器的编号不 同, 则将所述隧道分片报文发送给所述第二处理器编号对应的第二处理器 ; 若所述第二处 理器编号与所述第一处理器的编号相同, 由所述第一处理器处理所述隧道分片报文。
     根据本发明实施例的再一方面, 提供一种报文分流装置, 包括 :
     获取模块, 用于接收并解析隧道报文, 获取所述隧道报文的外层因特网协议 IP 地 址、 内层 IP 地址和所述隧道报文的标识 ;
     确定模块, 用于根据所述隧道报文的报文头中的分片太阳城集团确定所述隧道报文是否 为隧道分片报文 ; 查找模块, 用于当所述确定模块确定所述隧道报文为隧道分片报文时, 在所述报 文分流装置预存的分片太阳城集团表中查找与所述隧道分片报文的外层 IP 地址和所述隧道分片 报文的标识对应的处理器编号, 其中, 所述分片太阳城集团表中的处理器编号根据隧道分片报文 的内层 IP 地址或者根据隧道分片报文的外层 IP 地址和隧道分片报文的标识获得 ;
     发送模块, 用于当所述查找模块在所述分片太阳城集团表中查找到与所述隧道分片报文 的外层 IP 地址和所述隧道分片报文的标识对应的处理器编号时, 将所述隧道分片报文发 送给相应的处理器。
     根据本发明实施例的再一方面, 提供一种处理器, 所述处理器为第一处理器, 所述 处理器包括 :
     报文接收模块, 用于接收报文分流装置发送的隧道分片报文, 获得所述隧道分片 报文的外层因特网协议 IP 地址、 内层 IP 地址和所述隧道分片报文的标识 ;
     编号查找模块, 用于在预存的分片太阳城集团表中查找与所述隧道分片报文的外层 IP 地址和所述隧道分片报文的标识对应的第二处理器编号, 其中, 所述分片太阳城集团表中的第二 处理器编号是根据隧道分片报文的内层 IP 地址获得 ;
     报文发送模块, 用于当所述编号查找模块在所述分片太阳城集团表中查找到与所述隧道 分片报文的外层 IP 地址和所述隧道分片报文的标识对应的第二处理器编号时, 若第二处 理器编号与所述第一处理器的编号不同, 则将所述隧道分片报文发送给所述第二处理器编 号对应的第二处理器 ;
     报文处理模块, 用于当所述第二处理器编号与所述第一处理器的编号相同时, 处 理所述隧道分片报文。
     根据本发明实施例的又一方面, 提供一种网络设备, 包括如上所述的报文分流装 置和至少两个如上所述的处理器。
     使用本发明实施例提供的技术方案, 可以根据分片太阳城集团表对接收到的隧道报文进
     行分流, 由于分片太阳城集团表中的处理器编号是根据隧道报文的内层 IP 地址获得或者根据所 述隧道分片报文的外层 IP 地址和隧道分片报文的标识获得, 从而可以实现对隧道报文进 行均匀分流, 并可以确保隧道分片报文的首分片和后续分片转发到同一处理器上。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下面描述中的附图是本发 明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以 根据这些附图获得其他的附图。
     图 1 为本发明报文分流方法一个实施例的流程图 ;
     图 2 为本发明报文分流方法另一个实施例的流程图 ;
     图 3 为本发明报文分流方法再一个实施例的流程图 ;
     图 4 为本发明报文分流方法再一个实施例的流程图 ;
     图 5 为本发明报文分流方法再一个实施例的流程图 ;
     图 6 为本发明报文分流装置一个实施例的结构示意图 ;
     图 7 为本发明报文分流装置另一个实施例的结构示意图 ; 图 8 为本发明报文分流装置再一个实施例的结构示意图 ; 图 9 为本发明处理器一个实施例的结构示意图 ; 图 10 为本发明处理器另一个实施例的结构示意图。具体实施方式
     为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发明实施例 中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是 本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
     图 1 为本发明报文分流方法一个实施例的流程图, 如图 1 所示, 该报文分流方法可 以包括 :
     步骤 101, 接收并解析隧道报文, 获取该隧道报文的外层 IP 地址、 内层 IP 地址和该 隧道报文的标识。
     本实施例中, 上述外层 IP 地址是指封装的网络层协议地址, 内层 IP 地址是指被封 装的网络层协议地址, 且外层 IP 地址可以为外层源 IP 地址和 / 或外层目的 IP 地址, 同样上 述内层 IP 地址也可以为内层源 IP 地址和 / 或内层目的 IP 地址, 本实施例对此不作限定。
     上述隧道报文的标识为报文头中报文标识字段的值, 属于同一个报文的分片报文 均具有相同的标识。例如 : 对隧道报文进行分片后获得的首分片和后续分片具有相同的标 识。
     步骤 102, 根据上述隧道报文的报文头中的分片太阳城集团判断该隧道报文是否为隧道 分片报文。
     本实施例中, 上述分片太阳城集团用于指示该隧道报文是否为分片报文。当该隧道报文 为隧道分片报文时, 通过解析该隧道分片报文, 报文分流装置还可以获得隧道分片报文的报文头中偏移字段的值。 其中, 上述偏移字段的值用于确定该隧道分片报文是第几分片, 例 如: 当隧道分片报文的报文头中偏移字段的值为 “0” 时, 可以确定该隧道分片报文为首分 片; 当隧道分片报文的报文头中偏移字段的值为 “100” 时, 可以确定该隧道分片报文不是 首分片, 而是第二个分片, 以此类推。
     步骤 103, 当上述隧道报文为隧道分片报文时, 在预存的分片太阳城集团表中查找与上述 隧道分片报文的外层 IP 地址和上述隧道分片报文的标识对应的处理器编号。
     其中, 上述分片太阳城集团表中的处理器编号根据隧道分片报文的内层 IP 地址获得或 者根据隧道分片报文的外层 IP 地址和隧道分片报文的标识获得。
     步骤 104, 当在上述分片太阳城集团表中查找到与上述隧道分片报文的外层 IP 地址和上 述隧道分片报文的标识对应的处理器编号时, 将上述隧道分片报文发送给相应的处理器。
     上述实施例中, 接收并解析隧道报文之后, 当该隧道报文为隧道分片报文时, 在保 存的分片太阳城集团表中查找与上述隧道分片报文的外层 IP 地址和上述隧道分片报文的标识对 应的处理器编号, 当在分片太阳城集团表中查找到与上述隧道分片报文的外层 IP 地址和上述隧 道分片报文的标识对应的处理器编号时, 将上述隧道分片报文发送给相应的处理器。本实 施例根据分片太阳城集团表对接收到的隧道报文进行分流, 从而可以实现对隧道报文进行均匀分 流, 并可以确保隧道分片报文的首分片和后续分片转发到同一处理器上。 图 2 为本发明报文分流方法另一个实施例的流程图, 如图 2 所示, 该报文分流方法 可以包括 :
     步骤 201, 报文分流装置接收并解析隧道报文, 获取该隧道报文的外层 IP 地址、 内 层 IP 地址和该隧道报文的标识。
     本实施例中, 上述外层 IP 地址是指封装的网络层协议地址, 内层 IP 地址是指被封 装的网络层协议地址, 且外层 IP 地址可以为外层源 IP 地址和 / 或外层目的 IP 地址, 同样上 述内层 IP 地址也可以为内层源 IP 地址和 / 或内层目的 IP 地址, 本实施例对此不作限定。
     上述隧道报文的标识为报文头中报文标识字段的值, 属于同一个报文的分片报文 均具有相同的标识。例如 : 对隧道报文进行分片后获得的首分片和后续分片具有相同的标 识。
     步骤 202, 报文分流装置根据上述隧道报文的报文头中的分片太阳城集团判断该隧道报 文是否为隧道分片报文 ; 如果判断该隧道报文是隧道分片报文, 则执行步骤 203 ; 如果判断 该隧道报文不是隧道分片报文, 则执行步骤 210。
     本实施例中, 上述分片太阳城集团用于指示该隧道报文是否为分片报文。当该隧道报文 为隧道分片报文时, 通过解析该隧道分片报文, 报文分流装置还可以获得隧道分片报文的 报文头中偏移字段的值。 其中, 上述偏移字段的值用于确定该隧道分片报文是第几分片, 例 如: 当隧道分片报文的报文头中偏移字段的值为 “0” 时, 可以确定该隧道分片报文为首分 片; 当隧道分片报文的报文头中偏移字段的值为 “100” 时, 可以确定该隧道分片报文不是 首分片, 而是第二个分片, 以此类推。
     步骤 203, 判断在预存的分片太阳城集团表中是否查找到与上述隧道分片报文的外层 IP 地址和上述隧道分片报文的标识对应的处理器编号 ; 如果是, 则执行步骤 204, 如果未查找 到, 则执行步骤 205。
     其中, 上述分片太阳城集团表中的处理器编号根据隧道分片报文的内层 IP 地址或者根
     据隧道分片报文的外层 IP 地址和隧道分片报文的标识获得。
     步骤 204, 报文分流装置将上述隧道分片报文发送给相应的处理器。
     本步骤中, 相应的处理器即为步骤 203 中在分片太阳城集团表中查找到的处理器编号对 应的处理器。
     步骤 205, 报文分流装置确定上述隧道分片报文是否为首分片 ; 如果是, 则执行步 骤 206 ; 如果上述隧道分片报文不是首分片, 则执行步骤 207。
     步骤 206, 报文分流装置根据上述隧道分片报文的内层 IP 地址获得处理该隧道分 片报文的处理器编号, 然后执行步骤 208 ~步骤 209。
     其中, 根据该隧道分片报文的内层 IP 地址获得处理该隧道分片报文的处理器编 号可以为 : 对该隧道分片报文的内层 IP 地址进行 Hash 获得处理该隧道分片报文的处理器 编号, 或对该隧道分片报文的内层 IP 地址按照 ACL 规则进行匹配获得处理该隧道分片报文 的处理器编号, 本实施例对根据该隧道分片报文的内层 IP 地址获得处理该隧道分片报文 的处理器编号的方式不作限定。
     步骤 207, 报文分流装置根据上述隧道分片报文的外层 IP 地址和上述隧道分片报 文的标识获得处理上述隧道分片报文的处理器编号, 然后执行步骤 208 ~步骤 209。
     其中, 根据上述隧道分片报文的外层 IP 地址和上述隧道分片报文的标识获得处 理该隧道分片报文的处理器编号可以为 : 对上述隧道分片报文的外层 IP 地址和上述隧道 分片报文的标识进行 Hash 获得处理上述隧道分片报文的处理器编号, 或对上述隧道分片 报文的外层 IP 地址和上述隧道分片报文的标识按照 ACL 规则进行匹配获得处理该隧道分 片报文的处理器编号, 本实施例对根据上述隧道分片报文的外层 IP 地址和上述隧道分片 报文的标识获得处理该隧道分片报文的处理器编号的方式不作限定。
     步骤 208, 报文分流装置将上述隧道分片报文发送给相应的处理器。
     本步骤中, 相应的处理器即为步骤 206 或步骤 207 中获得的处理器编号对应的处 理器。
     步骤 209, 报文分流装置在分片太阳城集团表中创建与上述隧道分片报文的外层 IP 地址 和上述隧道分片报文的标识对应的表项, 并在该表项中记录上述处理器编号。
     本实施例中, 步骤 208 与步骤 209 可以并行执行, 也可以先后执行, 本实施例对步 骤 208 与步骤 209 的执行顺序不作限定, 但图 2 中以步骤 208 与步骤 209 先后执行为例示 出。
     步骤 210, 报文分流装置根据隧道报文的内层 IP 地址获得处理该隧道报文的处理 器编号, 并将上述隧道报文发送给相应的处理器。
     上述实施例根据分片太阳城集团表对接收到的隧道报文进行分流, 从而可以实现对隧道 报文进行均匀分流 ; 另外, 对于接收到的隧道分片报文不是首分片而是后续分片的情形, 即步骤 207 对应的情形, 由于后续分片不包含内层 IP 地址的太阳城集团, 因此报文分流装置直接 根据该隧道分片报文的外层 IP 地址和该隧道分片报文的标识获得处理该隧道分片报文的 处理器编号, 将上述隧道分片报文发送给相应的处理器, 并在分片太阳城集团表中创建与该隧道 分片报文的外层 IP 地址和该隧道分片报文的标识对应的表项, 在该表项中记录上述处理 器编号。这样, 当首分片到来时, 报文分流装置可以根据该首分片的外层 IP 地址和该首分 片的标识进行查表, 按照命中的处理器编号将首分片转发到上述处理器编号对应的处理器上, 从而可以保证属于同一隧道报文的首分片和后续分片均被转发给同一处理器上 ; 并且 无需在发送侧对隧道报文做任何修改。
     本发明图 2 所示实施例中, 如果根据隧道分片报文的外层 IP 地址和该隧道分片报 文的标识获得处理器编号, 并将上述隧道分片报文转发给上述处理器编号对应的处理器, 则与属于同一条流的其他报文相比, 该隧道分片报文可能会被分到不同的处理器上, 其中, 属于同一条流的报文是指具有相同内层 IP 地址的报文。这时, 需要处理器对接收到的隧道 分片报文再次进行分流, 以使属于同一条流的报文被转发给同一处理器处理。
     本发明中, “第一” 和 “第二” 仅为描述方便, 不代表性能的优劣和顺序的先后, 下 同。
     图 3 为本发明报文分流方法再一个实施例的流程图, 如图 3 所示, 该报文分流方法 可以包括 :
     步骤 301, 第一处理器接收报文分流装置发送的隧道分片报文, 获得该隧道分片报 文的外层 IP 地址、 内层 IP 地址和上述隧道分片报文的标识。
     其中, 该隧道分片报文是报文分流装置根据隧道分片报文的外层 IP 地址和该隧 道分片报文的标识获得上述第一处理器的编号之后, 发送给上述第一处理器的。 本实施例中, 上述外层 IP 地址是指封装的网络层协议地址, 内层 IP 地址是指被封 装的网络层协议地址, 且外层 IP 地址可以为外层源 IP 地址和 / 或外层目的 IP 地址, 同样上 述内层 IP 地址也可以为内层源 IP 地址和 / 或内层目的 IP 地址, 本实施例对此不作限定。
     上述隧道报文的标识为报文头中报文标识字段的值, 属于同一个报文的分片报文 均具有相同的标识。例如 : 对隧道报文进行分片后获得的首分片和后续分片具有相同的标 识。
     步骤 302, 在第一处理器预存的分片太阳城集团表中查找与上述隧道分片报文的外层 IP 地址和上述隧道分片报文的标识对应的第二处理器编号。
     其中, 上述分片太阳城集团表中的第二处理器编号是根据隧道分片报文的内层 IP 地址 获得的。
     步骤 303, 当在分片太阳城集团表中查找到与上述隧道分片报文的外层 IP 地址和上述隧 道分片报文的标识对应的第二处理器编号时, 若第二处理器编号与上述第一处理器的编号 不同, 则将上述隧道分片报文发送给第二处理器编号对应的第二处理器 ; 若第二处理器编 号与第一处理器的编号相同, 则第一处理器处理上述隧道分片报文。
     本实施例根据分片太阳城集团表对接收到的隧道报文进行分流, 且由于分片太阳城集团表中第 二处理器编号是根据报文的内层 IP 获得, 从而可以实现对隧道报文进行均匀分流, 确保隧 道分片报文的首分片和后续分片转发到同一处理器上, 保证同一条流的报文被转发到同一 个处理器上进行处理。
     图 4 为本发明报文分流方法再一个实施例的流程图, 如图 4 所示, 该报文分流方法 可以包括 :
     步骤 401, 第一处理器接收报文分流装置发送的隧道分片报文, 获得该隧道分片报 文的外层 IP 地址、 内层 IP 地址和上述隧道分片报文的标识。
     其中, 该隧道分片报文是报文分流装置根据隧道分片报文的外层 IP 地址和该隧 道分片报文的标识获得上述第一处理器的编号之后, 发送给上述第一处理器的。
     本实施例中, 上述外层 IP 地址是指封装的网络层协议地址, 内层 IP 地址是指被封 装的网络层协议地址, 且外层 IP 地址可以为外层源 IP 地址和 / 或外层目的 IP 地址, 同样上 述内层 IP 地址也可以为内层源 IP 地址和 / 或内层目的 IP 地址, 本实施例对此不作限定。
     上述隧道报文的标识为报文头中报文标识字段的值, 属于同一个报文的分片报文 均具有相同的标识。例如 : 对隧道报文进行分片后获得的首分片和后续分片具有相同的标 识。
     步骤 402, 判断在第一处理器预存的分片太阳城集团表中是否查找到与隧道分片报文的 外层 IP 地址和该隧道分片报文的标识对应的第二处理器编号 ; 如果查找到, 则执行步骤 403 ; 如果未查找到与上述隧道分片报文的外层 IP 地址和上述隧道分片报文的标识对应的 第二处理器编号, 则执行步骤 406。
     其中, 上述分片太阳城集团表中的第二处理器编号是根据隧道分片报文的内层 IP 地址 获得的。
     步骤 403, 判断第二处理器编号与上述第一处理器的编号是否相同 ; 如果否, 则执 行步骤 404 ; 如果第二处理器编号与上述第一处理器的编号相同, 则执行步骤 405。
     步骤 404, 第一处理器将上述隧道分片报文发送给第二处理器编号对应的第二处 理器。 步骤 405, 第一处理器处理上述隧道分片报文。
     具体地, 第一处理器接收到属于同一个报文的所有隧道分片报文之后, 对接收到 的隧道分片报文进行重组, 然后对重组后的报文进行分析处理, 例如对该报文的上层协议 进行分析处理等等。
     步骤 406, 判断上述隧道分片报文是否为首分片。 如果是, 则执行步骤 407 ; 如果上 述隧道分片报文不是首分片, 则执行步骤 409。
     具体地, 通过解析该隧道分片报文, 第一处理器还可以获得隧道分片报文的报文 头中偏移字段的值。其中, 上述偏移字段的值用于确定该隧道分片报文是第几分片, 例如 : 当隧道分片报文的报文头中偏移字段的值为 “0” 时, 可以确定该隧道分片报文为首分片 ; 当隧道分片报文的报文头中偏移字段的值为 “100” 时, 可以确定该隧道分片报文不是首分 片, 而是第二个分片, 以此类推。
     步骤 407, 第一处理器根据隧道分片报文的内层 IP 地址获得处理该隧道分片报文 的第二处理器编号, 然后执行步骤 408 和步骤 403。
     其中, 根据该隧道分片报文的内层 IP 地址获得处理该隧道分片报文的第二处理 器编号可以为 : 对该隧道分片报文的内层 IP 地址进行 Hash 获得处理该隧道分片报文的第 二处理器编号, 或对该隧道分片报文的内层 IP 地址按照 ACL 规则进行匹配获得处理该隧道 分片报文的第二处理器编号, 本实施例对根据该隧道分片报文的内层 IP 地址获得处理该 隧道分片报文的第二处理器编号的方式不作限定。
     步骤 408, 第一处理器在所述分片太阳城集团表中创建与上述隧道分片报文的外层 IP 地 址和该隧道分片报文的标识对应的表项, 并在上述表项中记录第二处理器编号。
     步骤 409, 第一处理器缓存上述隧道分片报文, 然后执行步骤 402。
     本实施例根据分片太阳城集团表对接收到的隧道报文进行分流, 且由于分片太阳城集团表中第 二处理器编号是根据报文的内层 IP 获得, 从而可以实现对隧道报文进行均匀分流, 确保隧
     道分片报文的首分片和后续分片转发到同一处理器上, 保证同一条流的报文被转发到同一 个处理器上进行处理, 且无需在发送侧对隧道报文做任何修改。 此外, 由于本发明实施例中 当没有接收到首分片而先接收到后续分片时, 可以先将后续分片进行缓存, 待首分片到达 后, 根据首分片的内层 IP 获得处理该报文的第二处理器编号, 并保存在分片太阳城集团表中, 再 将缓存的后续分片根据该分片太阳城集团表发送到相应的第二处理器, 从而可以使乱序的报文顺 序发送到相应的处理器中进行处理。
     本发明以下实施例的描述中, 将隧道分片报文的外层 IP 地址和该隧道分片报文 的标识 (Identifier ; 以下简称 : ID) 简写为外层 IP 地址 +ID。
     图 5 为本发明报文分流方法再一个实施例的流程图, 如图 5 所示, 该报文分流方法 可以包括 :
     步骤 501, 报文分流装置初始化分片太阳城集团表, 将该分片太阳城集团表中的所有表项设为无 效状态。
     步骤 502, 报文分流装置接收并解析隧道报文, 获得该隧道报文的外层 IP 地址、 内 层 IP 地址和该隧道报文的标识。
     本实施例中, 上述外层 IP 地址是指封装的网络层协议地址, 内层 IP 地址是指被封 装的网络层协议地址, 且外层 IP 地址可以为外层源 IP 地址和 / 或外层目的 IP 地址, 同样上 述内层 IP 地址也可以为内层源 IP 地址和 / 或内层目的 IP 地址, 本实施例对此不作限定。 上述隧道报文的标识为报文头中报文标识字段的值, 属于同一个报文的分片报文 均具有相同的标识。例如 : 对隧道报文进行分片后获得的首分片和后续分片具有相同的标 识。
     进一步地, 通过解析上述隧道报文, 报文分流装置还可以获得该隧道报文的报文 头中的分片太阳城集团, 该分片太阳城集团用于指示该隧道报文是否为分片报文。
     步骤 503, 报文分流装置判断上述隧道报文是否为隧道分片报文。如果是, 则执行 步骤 504 ; 如果确定该隧道报文不是隧道分片报文, 则执行步骤 510。
     具体地, 报文分流装置可以根据步骤 502 中获得的分片太阳城集团, 确定该隧道报文是 否为隧道分片报文。
     步骤 504, 报文分流装置在分片太阳城集团表中查找与上述隧道分片报文的外层 IP 地址 +ID 对应的表项。
     其中, 上述分片太阳城集团表中的处理器编号可以根据隧道分片报文的内层 IP 地址或 者根据隧道分片报文的外层 IP 地址和隧道分片报文的标识获得。
     本实施例中, 分片太阳城集团表保存隧道分片报文分流的处理器编号, 在分片太阳城集团表中 处理器编号的索引可以为隧道分片报文的外层 IP 地址 +ID ; 或者外层 IP 地址 +ID 的其他 转化形式, 本实施例对处理器编号的索引的形式不作限定。当上述处理器编号的索引为外 层 IP 地址 +ID 的其他转化形式时, 上述分片太阳城集团表中还应该包含与上述处理器编号的索引 对应的外层 IP 地址 +ID 的太阳城集团。
     另外, 分片太阳城集团表中还可以包含老化太阳城集团, 以供报文分流装置对表项进行老化。
     步骤 505, 报文分流装置判断在分片太阳城集团表中是否查找到与上述隧道分片报文的 外层 IP 地址 +ID 对应的表项。如果否, 则执行步骤 506 ; 如果在分片太阳城集团表中查找到与上 述隧道分片报文的外层 IP 地址 +ID 对应的表项, 则执行步骤 509。
     步骤 506, 报文分流装置判断上述隧道分片报文是否为首分片。如果是, 则执行步 骤 507 ; 如果上述隧道分片报文不是首分片, 则执行步骤 508。
     具体地, 当该隧道报文为分片报文时, 报文分流装置还可以根据隧道分片报文的 报文头中偏移字段的值确定该隧道分片报文是第几分片, 例如 : 当隧道分片报文的报文头 中偏移字段的值为 “0” 时, 报文分流装置可以确定该隧道分片报文为首分片 ; 当隧道分片 报文的报文头中偏移字段的值为 “100” 时, 报文分流装置可以确定该隧道分片报文不是首 分片, 而是第二个分片, 以此类推。
     步骤 507, 报文分流装置根据该首分片的内层 IP 地址获得处理该首分片的处理器 编号, 将该首分片转发给该处理器编号对应的第一处理器, 并在上述分片太阳城集团表中创建与 上述首分片的外层 IP 地址 +ID 对应的表项, 在该表项中记录上述处理器编号 ; 然后返回执 行步骤 502。
     其中, 根据该首分片的内层 IP 地址获得处理该首分片的处理器编号可以为 : 对该 首分片的内层 IP 地址进行 Hash 获得处理该首分片的处理器编号, 或对该首分片的内层 IP 地址按照 ACL 规则进行匹配获得处理该首分片的处理器编号, 本实施例对根据该首分片的 内层 IP 地址获得处理该首分片的处理器编号的方式不作限定。
     步骤 508, 报文分流装置根据上述隧道分片报文的外层 IP 地址 +ID 获得处理该隧 道分片报文的处理器编号, 将该隧道分片报文转发给该处理器编号对应的第一处理器, 并 在上述分片太阳城集团表中创建与该隧道分片报文的外层 IP 地址 +ID 对应的表项, 在该表项中记 录上述处理器编号。然后返回执行步骤 502。
     其中, 根据上述隧道分片报文的外层 IP 地址 +ID 获得处理该隧道分片报文的处理 器编号可以为 : 对上述隧道分片报文的外层 IP 地址 +ID 进行 Hash 获得处理上述隧道分片 报文的处理器编号, 或对上述隧道分片报文的外层 IP 地址 +ID 按照 ACL 规则进行匹配获得 处理该隧道分片报文的处理器编号, 本实施例对根据上述隧道分片报文的外层 IP 地址 +ID 获得处理该隧道分片报文的处理器编号的方式不作限定。
     步骤 509, 报文分流装置获得表项中记录的处理器编号, 将上述隧道分片报文转发 给该处理器编号对应的第一处理器。然后返回执行步骤 502。
     本实施例中, 如果在分片太阳城集团表中查找到与上述隧道分片报文的外层 IP 地址 +ID 对应的表项, 且该隧道分片报文为最后到达的一个分片, 则在获得该表项中记录的处理器 编号之后, 删除该表项。
     步骤 510, 报文分流装置根据上述隧道报文的内层 IP 地址获得处理该隧道报文 的处理器编号, 将该隧道报文转发给该处理器编号对应的第一处理器。然后返回执行步骤 502。
     其中, 根据上述隧道报文的内层 IP 地址获得处理该隧道报文的处理器编号可以 为: 对上述隧道报文的内层 IP 地址进行 Hash 获得处理该隧道报文的处理器编号, 或对该隧 道报文的内层 IP 地址按照 ACL 规则进行匹配获得处理该隧道报文的处理器编号, 本实施例 对根据上述隧道报文的内层 IP 地址获得处理该隧道报文的处理器编号的方式不作限定。
     本实施例根据分片太阳城集团表对接收到的隧道报文进行分流, 从而可以实现对隧道报 文进行均匀分流 ; 另外, 对于接收到的隧道分片报文不是首分片而是后续分片的情形, 即步 骤 508 所对应的情形。这种情形下, 由于后续分片报文中不包含内层 IP 地址的太阳城集团, 因此步骤 508 中直接根据该隧道分片报文的外层 IP 地址 +ID 获得处理该隧道分片报文的处理 器编号, 并在分片太阳城集团表中创建与该隧道分片报文的外层 IP 地址 +ID 对应的表项, 在该表 项中记录上述处理器编号。这样, 当与上述隧道分片报文属于同一隧道报文的首分片到来 时, 报文分流装置将根据该首分片的外层 IP 地址 +ID 进行查表, 按照命中的处理器编号将 首分片转发到上述处理器编号对应的第一处理器上, 从而可以保证属于同一隧道报文的首 分片和后续分片均被转发给第一处理器。
     本发明提供的报文分流方法可以实现对隧道报文进行均匀分流, 对于外层 IP 地 址相同或比较集中的场景通过采用内层 IP 地址实现了比较均匀的分流。并且本发明针对 隧道分片报文建立了分片太阳城集团表, 报文分流装置根据该分片太阳城集团表中记录的处理器编号进 行转发, 从而可以保证属于同一隧道分片报文的首分片和后续分片被转发给上述网络设备 中的同一处理器进行处理。并且本发明只在接收侧对报文进行处理, 不需要在发送侧修改 报文, 对应用场景没有限制。
     本发明图 5 所示实施例中, 由于属于同一条流的不同报文具有不同的报文 ID, 因 此, 如果根据隧道分片报文的外层 IP 地址 +ID 获得处理该隧道分片报文的处理器编号, 并 将上述隧道分片报文转发给上述处理器编号对应的第一处理器, 则与属于同一条流的其他 报文相比, 该隧道分片报文可能会被分到不同的处理器上, 其中, 属于同一条流的报文是指 具有相同内层 IP 地址的报文。这时, 需要第一处理器对接收到的隧道分片报文再次进行分 流, 以使属于同一条流的报文能够被转发给同一处理器处理。 其中, 第一处理器对接收到的 隧道分片报文再次进行分流的流程可以参见本发明图 4 所示实施例提供的流程, 在此不再 赘述。
     本领域普通技术人员可以理解 : 实现上述各方法实施例的全部或部分步骤可以通 过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程 序在执行时, 执行包括上述各方法实施例的步骤 ; 而前述的存储介质包括 : ROM、 RAM、 磁碟 或者光盘等各种可以存储程序代码的介质。
     图 6 为本发明报文分流装置一个实施例的结构示意图, 本实施例提供的报文分流 装置可以实现本发明图 1 所示实施例的流程。如图 6 所示, 该报文分流装置可以包括 : 获取 模块 61、 确定模块 62、 查找模块 63 和发送模块 64。
     其中, 获取模块 61, 用于接收并解析隧道报文, 获取隧道报文的外层 IP 地址、 内层 IP 地址和该隧道报文的标识 ;
     确定模块 62, 用于根据上述隧道报文的报文头中的分片太阳城集团确定上述隧道报文是 否为隧道分片报文 ;
     查找模块 63, 用于当确定模块 62 确定上述隧道报文为隧道分片报文时, 在报文分 流装置保存的分片太阳城集团表中查找与上述隧道分片报文的外层 IP 地址和该隧道分片报文的 标识对应的处理器编号, 其中, 该分片太阳城集团表中的处理器编号根据隧道分片报文的内层 IP 地址或者根据隧道分片报文的外层 IP 地址和隧道分片报文的标识获得 ;
     发送模块 64, 用于当查找模块 63 在分片太阳城集团表中查找到与上述隧道分片报文的 外层 IP 地址和上述隧道分片报文的标识对应的处理器编号时, 将该隧道分片报文发送给 相应的处理器。
     上述实施例中, 接收并解析隧道报文之后, 当该隧道报文为隧道分片报文时, 查找模块 63 在保存的分片太阳城集团表中查找与上述隧道分片报文的外层 IP 地址和上述隧道分片报 文的标识对应的处理器编号, 当在分片太阳城集团表中查找到与上述隧道分片报文的外层 IP 地 址和上述隧道分片报文的标识对应的处理器编号时, 发送模块 64 将上述隧道分片报文发 送给相应的处理器。本实施例根据分片太阳城集团表对接收到的隧道报文进行分流, 从而可以实 现对隧道报文进行均匀分流, 并可以确保隧道分片报文的首分片和后续分片转发到同一处 理器上。
     图 7 为本发明报文分流装置另一个实施例的结构示意图, 本实施例提供的报文分 流装置可以实现本发明图 1 和图 2 所示实施例的流程。与图 6 所示的报文分流装置相比, 不同之处在于, 图 7 所示的报文分流装置还可以包括 : 第一获得模块 65 ;
     本实施例中, 确定模块 62, 还用于当查找模块 63 在上述分片太阳城集团表中没有查找到 与上述隧道分片报文的外层 IP 地址和上述隧道分片报文的标识对应的处理器编号时, 确 定该隧道分片报文是否为首分片 ;
     第一获得模块 65, 用于当确定模块 62 确定上述隧道分片报文为首分片时, 根据该 隧道分片报文的内层 IP 地址获得处理该隧道分片报文的处理器编号 ; 以及当确定模块 62 确定上述隧道分片报文不是首分片时, 根据该隧道分片报文的外层 IP 地址和上述隧道分 片报文的标识获得处理该隧道分片报文的处理器编号。 进一步地, 上述报文分流装置还可以包括 :
     创建模块 66, 用于在第一获得模块 65 获得处理上述隧道分片报文的处理器编号 之后, 在分片太阳城集团表中创建与上述隧道分片报文的外层 IP 地址和该隧道分片报文的标识 对应的表项, 并在上述表项中记录上述处理器编号。
     第二获得模块 67, 用于当确定模块 62 确定上述隧道报文不是隧道分片报文时, 根 据所述隧道报文的内层 IP 地址获得处理上述隧道报文的处理器编号。
     上述报文分流装置根据分片太阳城集团表对接收到的隧道报文进行分流, 从而可以实现 对隧道报文进行均匀分流 ; 另外, 对于接收到的隧道分片报文不是首分片而是后续分片的 情形, 由于后续分片不包含内层 IP 地址的太阳城集团, 因此第一获得模块 65 直接根据该隧道分片 报文的外层 IP 地址和该隧道分片报文的标识获得处理该隧道分片报文的处理器编号, 由 发送模块 64 将上述隧道分片报文发送给相应的处理器, 并由创建模块 66 在分片太阳城集团表中 创建与该隧道分片报文的外层 IP 地址和该隧道分片报文的标识对应的表项, 在该表项中 记录上述处理器编号。这样, 当首分片到来时, 查找模块 63 可以根据该首分片的外层 IP 地 址和该首分片的标识进行查表, 再由发送模块 64 按照命中的处理器编号将首分片转发到 上述处理器编号对应的处理器上, 从而可以保证属于同一隧道报文的首分片和后续分片均 被转发给同一处理器上 ; 并且无需在发送侧对隧道报文做任何修改。
     图 8 为本发明报文分流装置再一个实施例的结构示意图, 如图 8 所示, 该报文分流 装置可以包括 : 解析模块 81、 表项查找模块 82、 分流模块 83 和表项管理模块 84 ; 其中, 解析 模块 81 负责解析接收到的隧道报文, 获得该隧道报文的外层 IP 地址、 内层 IP 地址和该隧 道报文的 ID。
     进一步地, 通过解析上述隧道报文, 解析模块 81 还可以获得该隧道报文的报文头 中的分片太阳城集团, 该分片太阳城集团用于指示该隧道报文是否为分片报文。
     当该隧道报文为分片报文时, 解析模块 81 还可以获取隧道分片报文的报文头中
     偏移字段的值。其中, 上述偏移字段的值用于确定该隧道分片报文是第几分片, 例如 : 当隧 道分片报文的报文头中偏移字段的值为 “0” 时, 可以确定该隧道分片报文为首分片 ; 当隧 道分片报文的报文头中偏移字段的值为 “1” 时, 可以确定该隧道分片报文不是首分片, 而是 第二个分片, 以此类推。
     本实施例中的解析模块 81 可以实现本发明图 6 和图 7 所示实施例中获取模块 61 和确定模块 62 的功能。
     分流模块 83 负责对报文进行转发。对于非分片报文, 分流模块 83 直接根据解析 模块 81 获得的内层 IP 地址获得处理该非分片报文的处理器编号, 将该非分片报文转发给 上述处理器编号对应的处理器 ; 对于分片报文, 分流模块 83 需等待表项查找模块 82 返回查 表结果, 若查表命中, 则分流模块 83 直接将上述分片报文转发给表项查找模块 82 提供的处 理器编号所对应的处理器 ; 若查表不命中, 则分流模块 83 根据解析模块 81 提供的是否首分 片太阳城集团, 对于首分片根据内层 IP 地址获得处理该首分片的处理器编号, 并将该首分片转发 给上述处理器编号对应的处理器, 同时将获得的处理器编号返回给表项查找模块 82 ; 对于 后续分片根据外层 IP 地址 +ID 获得处理该后续分片的处理器编号, 并将该后续分片转发给 上述处理器编号对应的处理器, 同时将获得的处理器编号返回给表项查找模块 82。 本实施例中的分流模块 83 可以实现本发明图 6 和图 7 所示实施例中发送模块 64 的功能, 以及本发明图 7 所示实施例中第一获得模块 65 和第二获得模块 67 的功能。
     表项查找模块 82 负责根据解析模块 81 提供的外层 IP 地址 +ID 查找分片太阳城集团表 85 并返回结果。如果查表命中, 则从该分片太阳城集团表 85 中获取处理器编号给分流模块 83 ; 若 查表不命中, 则将不命中太阳城集团给分流模块 83。同时在查找不命中时, 将报文的外层 IP 地址 +ID 以及分流模块 83 获得的处理器编号转发给表项管理模块 84, 以供表项管理模块 84 建 立新的表项添加到分片太阳城集团表中 ; 若查表命中且当前报文是最后一个分片, 则将查表命中 太阳城集团及外层 IP 地址 +ID 提供给表项管理模块 84 实现对相应表项的删除。
     本实施例中的表项查找模块 82 可以实现本发明图 6 所示实施例中查找模块 63 的 功能。
     表项管理模块 84 负责对分片太阳城集团表 85 进行管理, 包括表项的建立、 老化和删除操 作。表项管理模块 84 负责在设备上电后初始化分片太阳城集团表 85, 将分片太阳城集团表 85 中的所有 表项置为无效状态。待开始接收报文后, 表项管理模块 84 根据解析模块 81 提供的外层 IP 地址 +ID 及分流模块 83 返回的处理器编号在分片太阳城集团表 85 中建立新的表项 ; 根据表项查 找模块 82 提供的最后一个分片查表命中的太阳城集团删除对应的表项 ; 同时不断轮询表项, 对于 超时的表项进行删除操作, 保证表项及时得到老化。
     本实施例中的表项管理模块 84 可以实现本发明图 7 所示实施例中创建模块 66 的 功能。
     分片太阳城集团表 85 保存隧道分片报文分流的处理器编号, 在分片太阳城集团表 85 中处理器 编号的索引可以为隧道分片报文的外层 IP 地址 +ID ; 或者外层 IP 地址 +ID 的其他转化形 式, 本实施例对处理器编号的索引的形式不作限定。当上述处理器编号的索引为外层 IP 地 址 +ID 的其他转化形式时, 上述分片太阳城集团表 85 中还应该包含与上述处理器编号的索引对应 的外层 IP 地址 +ID 的太阳城集团。
     另外, 分片太阳城集团表 85 中还可以包含老化太阳城集团, 以供表项管理模块 84 对表项进行老
     化。 本发明提供的报文分流装置可以实现对隧道报文进行均匀分流, 对于外层 IP 地 址相同或比较集中的场景通过采用内层 IP 地址实现了比较均匀的分流。并且本发明针对 隧道分片报文建立了分片太阳城集团表, 报文分流装置根据该分片太阳城集团表中记录的处理器编号进 行转发, 从而可以保证属于同一隧道分片报文的首分片和后续分片被转发给同一处理器进 行处理。本发明在各种情况下实现了隧道报文的均匀分流, 达到了较好的分流效果。并且 本发明只在接收侧对报文进行处理, 不需要在发送侧修改报文, 对应用场景没有限制。
     图 9 为本发明处理器一个实施例的结构示意图, 本实施例提供的处理器可以实现 本发明图 3 所示实施例的流程, 本实施例中的处理器可以为第一处理器, 如图 9 所示, 该处 理器可以包括 : 报文接收模块 91、 编号查找模块 92、 报文发送模块 93 和报文处理模块 98 ;
     其中, 报文接收模块 91, 用于接收报文分流装置发送的隧道分片报文, 获得该隧道 分片报文的外层 IP 地址、 内层 IP 地址和该隧道分片报文的标识 ; 其中, 该报文接收模块 91 接收的隧道分片报文是报文分流装置根据上述隧道分片报文的外层 IP 地址和上述隧道分 片报文的标识获得第一处理器的编号之后, 发送给上述第一处理器的。
     编号查找模块 92, 用于在第一处理器保存的分片太阳城集团表中查找与上述隧道分片报 文的外层 IP 地址和上述隧道分片报文的标识对应的第二处理器编号, 其中, 该分片太阳城集团表 中的第二处理器编号是根据隧道分片报文的内层 IP 地址获得。
     报文发送模块 93, 用于当编号查找模块 92 在分片太阳城集团表中查找到与上述隧道分 片报文的外层 IP 地址和上述隧道分片报文的标识对应的第二处理器编号时, 若第二处理 器编号与上述第一处理器的编号不同, 则将隧道分片报文发送给第二处理器编号对应的第 二处理器 ;
     报文处理模块 98, 用于当所述第二处理器编号与所述第一处理器的编号相同时, 处理所述隧道分片报文。
     本实施例提供的处理器根据分片太阳城集团表对接收到的隧道报文进行分流, 从而可以 实现对隧道报文进行均匀分流, 并可以确保隧道分片报文的首分片和后续分片转发到同一 处理器上, 且由于分片太阳城集团表中第二处理器编号是根据报文的内层 IP 获得, 因此可以保证 同一条流的报文被转发到同一个处理器上进行处理。
     图 10 为本发明处理器另一个实施例的结构示意图, 本实施例提供的处理器可以 实现本发明图 3 和图 4 所示实施例的流程, 与图 9 所示的处理器相比, 不同之处在于, 图 10 所示的处理器, 还可以包括 : 报文确定模块 94、 编号获得模块 95 和报文缓存模块 96 ;
     其中, 报文确定模块 94, 用于当编号查找模块 92 在上述分片太阳城集团表中没有查找 到与上述隧道分片报文的外层 IP 地址和上述隧道分片报文的标识对应的第二处理器编号 时, 确定上述隧道分片报文是否为首分片 ;
     编号获得模块 95, 用于当报文确定模块 94 确定上述隧道分片报文为首分片时, 根 据上述隧道分片报文的内层 IP 地址获得处理该隧道分片报文的第二处理器编号 ;
     报文缓存模块 96, 用于当报文确定模块 94 确定上述隧道分片报文不是首分片时, 缓存上述隧道分片报文。
     本实施例中, 报文发送模块 93, 还可以当编号获得模块 95 获得的第二处理器编 号与第一处理器的编号不同时, 将该隧道分片报文发送给第二处理器编号对应的第二处理
     器。 本实施例中, 编号查找模块 92, 还用于在分片太阳城集团表中查找与缓存的隧道分片报 文的外层 IP 地址和缓存的隧道分片报文的标识对应的第二处理器编号 ;
     报文发送模块 93, 还用于当编号查找模块 92 在上述分片太阳城集团表中查找到与缓存 的隧道分片报文的外层 IP 地址和缓存的隧道分片报文的标识对应的第二处理器编号时, 若第二处理器编号与所述第一处理器的编号不同, 则将缓存的隧道分片报文发送给第二处 理器编号对应的第二处理器。
     进一步地, 本实施例中的处理器还可以包括 :
     表项创建模块 97, 用于在编号获得模块 95 获得处理上述隧道分片报文的第二处 理器编号之后, 在分片太阳城集团表中创建与上述隧道分片报文的外层 IP 地址和上述隧道分片 报文的标识对应的表项, 并在该表项中记录第二处理器编号。
     本实施例提供的处理器根据分片太阳城集团表对接收到的隧道报文进行分流, 且由于分 片太阳城集团表中第二处理器编号是根据报文的内层 IP 获得, 从而可以实现对隧道报文进行均 匀分流, 可以确保隧道分片报文的首分片和后续分片转发到同一处理器上, 并保证同一条 流的报文被转发到同一个处理器上进行处理且无需在发送侧对隧道报文做任何修改。此 外, 由于本发明实施例中当没有接收到首分片而先接收到后续分片时, 可以先将后续分片 进行缓存, 待首分片到达后, 根据首分片的内层 IP 获得处理该报文的第二处理器编号, 并 保存在分片太阳城集团表中, 再将缓存的后续分片根据该分片太阳城集团表发送到相应的第二处理器, 从而可以使乱序的报文被顺序发送到相应的处理器中进行处理。
     本发明还提供一种网络设备, 该网络设备可以包括报文分流装置和至少两个处理 器; 其中该报文分流装置可以通过本发明图 6、 图 7 或图 8 所示的报文分流装置实现, 该处 理器可以通过本发明图 9 或图 10 所示的处理器实现。该网络设备可以为网络监控设备等 设备, 本发明对该网络设备的具体形式不作限定。
     上述网络设备可以实现对隧道报文进行均匀分流, 对于外层 IP 地址相同或比较 集中的场景通过采用内层 IP 地址实现了比较均匀的分流。并且本发明针对隧道分片报文 建立了分片太阳城集团表, 网络设备根据该分片太阳城集团表中记录的处理器编号进行转发, 从而可以 保证属于同一隧道分片报文的首分片和后续分片被转发给同一处理器进行处理。 本发明在 各种情况下实现了隧道报文的均匀分流, 达到了较好的分流效果。并且本发明只在接收侧 对报文进行处理, 不需要在发送侧修改报文, 对应用场景没有限制。
     本领域技术人员可以理解附图只是一个优选实施例的示意图, 附图中的模块或流 程并不一定是实施本发明所必须的。
     本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分 布于实施例的装置中, 也可以进行相应变化位于不同于本实施例的一个或多个装置中。上 述实施例的模块可以合并为一个模块, 也可以进一步拆分成多个子模块。
     最后应说明的是 : 以上各实施例仅用以说明本发明的技术方案, 而非对其限制 ; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的普通技术人员应当理解 : 其 依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征 进行等同替换 ; 而这些修改或者替换, 并不使相应技术方案的本质脱离本发明各实施例技 术方案的范围。
太阳城集团    

关 键 词:
报文 分流 方法 装置 处理器 网络设备
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:报文分流方法、装置、处理器和网络设备.pdf
链接地址:http://zh228.com/p-6420555.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');