《一种多协议网络报文传输保序系统的实现方法.pdf》由会员分享,可在线阅读,更多相关《一种多协议网络报文传输保序系统的实现方法.pdf(14页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102710524 A (43)申请公布日 2012.10.03 CN 102710524 A *CN102710524A* (21)申请号 201210199323.9 (22)申请日 2012.06.15 H04L 12/56(2006.01) H04L 29/06(2006.01) (71)申请人 大连梯耐德网络技术有限公司 地址 116023 辽宁省大连市高新园区黄浦路 541 号网络产业大厦 21F (72)发明人 兰巨龙 魏长城 徐天赐 张建辉 姜鲲鹏 彭博 董永吉 (74)专利代理机构 大连东方专利代理有限责任 公司 21212 代理人 姜玉蓉 李洪福 。
2、(54) 发明名称 一种多协议网络报文传输保序系统的实现方 法 (57) 摘要 本发明公开了一种多协议网络报文传输保序 系统的实现方法, 其特征在于, 将报文的关键字按 照固定顺序封装为关键字数据包存储, 对该条报 文的每段内容和关键字数据包中的至少一种关键 字进行封装, 并在前面加上至少一位二进制位, 来 唯一标识该条报文的分段序号, 并控制该条报文 仅在其第一段报文内容处理完成的情况下才能进 行第二段报文内容的处理, 直到需要处理的分段 报文的处理结果中出现预先设定的最高优先级处 理结果时, 将整条报文按照最高优先级处理结果 进行处理。实施本发明具有以下有益效果 : 能够 在并行处理的情况。
3、下, 保证同种协议网络数据的 先后顺序, 保证报文保序的操作速度, 适应各种硬 件处理逻辑的时序要求。 (51)Int.Cl. 权利要求书 2 页 说明书 8 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 3 页 1/2 页 2 1. 一种多协议网络报文传输保序系统的实现方法, 其特征在于, 将报文的关键字按照 固定顺序封装为关键字数据包存储, 然后将该条报文的每段报文内容和关键字数据包中的 至少一种关键字进行封装, 并在前面加上至少一位二进制位, 来唯一标识该条报文的分段 序号, 并控制该条报文仅在其第一段报文内容处理。
4、完成的情况下才能进行第二段报文内容 的处理, 直到需要处理的分段报文的处理结果中出现预先设定的最高优先级处理结果时, 将整条报文按照最高优先级处理结果进行处理 ; 或者需要处理的分段报文已经全部处理完 成但没有出现预先设定的最高优先级处理结果时, 将整条报文按照已出现处理结果中的最 高优先级处理结果进行处理。 2. 根据权利要求 1 所述的多协议网络报文传输保序系统的实现方法, 其特征在于, 包 括如下步骤 : S1、 报文提取单元将需要处理的报文提取出来, 将每一条需要处理的报文, 送入关键字 提取单元 ; S2、 关键字提取单元对报文进行处理, 提取该报文的源 IP、 目的 IP、 源端口。
5、、 目的端口 和协议类型关键字, 并将所有关键字按照固定的顺序封装为关键字数据包存放到关键字存 储队列中, 关键字存储队列的位宽与数据包的位宽相等, 每条报文的关键字数据包对应存 储该条报文的报文队列 ; S3、 控制单元选择优先级最高的一条报文进行处理, 读取该条报文的源IP和目的IP进 行判断, 找出需要监控的 IP 类型 ; 当源IP需要监控时, 控制单元读取该条报文的源IP和协议类型, 从报文队列中取出该 条报文的第一段报文内容, 根据K1=源IP+协议类型+报文内容, 生成K1, 并在K1前面加上 至少一位二进制位, 生成 K1 并存储到 A1 队列中, 其中, 二进制位的位数根据需。
6、要处理的分 段报文的数量决定, 保证每个分段报文可以唯一标识 ; 当目的IP需要监控时, 控制单元读取该条报文的目的IP和协议类型, 从报文队列中取 出该条报文的第一段报文内容, 根据K1=目的IP+协议类型+报文内容, 生成K1, 并在K1前 面加上至少一位二进制位, 生成 K1 并存储到 A1 队列中, 其中, 二进制位的位数根据需要处 理的分段报文的数量决定, 保证每个分段报文可以唯一标识 ; S4 控制单元继续选择当前优先级最高的一条报文进行处理, 当优先级最高的一条报文 为当前报文时, 执行步骤 S5 ; S5、 处理单元读取 A1 队列的第一个元素, 并到处理结果表中作对表查询, 。
7、当查表结果 为预先设定的最高优先级处理结果时, 处理单元将 A1 队列的第一个元素取出, 以及将相对 应的该条报文的关键字数据包和报文队列取出, 对整条报文按照当前的处理结果进行处 理 ; 当查表结果不为预先设定的最高优先级处理结果时, 控制单元读取该条报文的源 IP 或 目的IP, 协议类型以及该条报文的第二段报文内容, 根据K1=源IP/目的IP+协议类型+报 文内容, 生成 K1, 并在 K1 前面加上至少一位二进制位, 生成 K1 并存储到 A2 队列中, 通过二 进制位的加入对 K1 进行唯一标识 ; S6、 控制单元继续选择当前优先级最高的一条报文进行处理, 当优先级最高的一条报 。
8、文为当前报文时, 执行步骤 S7 ; S7、 处理单元读取 A2 队列的第一个元素, 并到处理结果表中作对表查询, 当查表结果 为预先设定的最高优先级处理结果时, 处理单元将 A1 队列的第一个元素和 A2 队列的第一 权 利 要 求 书 CN 102710524 A 2 2/2 页 3 个元素取出, 以及将相对应的该条报文的关键字数据包和报文队列取出, 对整条报文按照 当前的处理结果进行处理 ; 当查表结果不预先设定的最高优先级处理结果时, 控制单元读 取该条报文的第三段报文内容, 根据 K1= 源 IP/ 目的 IP+ 协议类型 + 报文内容, 生成 K1, 并 在 K1 前面加上至少一位。
9、二进制位, 生成 K1 并存储到 A3 队列中, 通过二进制位的加入对 K1 进行唯一标识 ; S8、 循环执行上述步骤, 直到 A1 队列中的第一个元素被取出时, 结束对该条报文的操 作 ; 当在需要处理的分段报文数量范围内没有得到丢弃报文结果时, 将整条报文按照已出 现处理结果中的最高优先级处理结果进行处理 ; 当需要对该条报文进行端口关键字处理 时, 执行步骤 S9 ; S9、 控制单元选择优先级最高的一条报文进行处理, 当报文需要进行端口关键字处理 时, 读取该条报文的源端口和目的端口进行判断, 找出需要监控的端口类型 ; 当源端口需要监控时, 控制单元读取该条报文的源端口和协议类型,。
10、 从报文队列中取 出该条报文的第一段报文内容, 根据K2=源端口+协议类型+报文内容, 生成K2, 并在K2前 面加上至少一位二进制位, 生成 K2 并存储到 B1 队列中, 其中, 二进制位的位数根据需要处 理的分段报文的数量决定, 保证每个分段报文可以唯一标识 ; 当目的端口需要监控时, 控制单元读取该条报文的目的端口和协议类型, 从报文队列 中取出该条报文的第一段报文内容, 根据 K2= 目的端口 + 协议类型 + 报文内容, 生成 K2, 并 在 K2 前面加上至少一位二进制位, 生成 K2 并存储到 B1 队列中, 其中, 二进制位的位数根 据需要处理的分段报文的数量决定, 保证每个。
11、分段报文可以唯一标识 ; S10、 对生成的 K2 作对表查询, 当查表结果为预先设定的最高优先级处理结果时, 处理 单元将 B1 队列的第一个元素取出, 以及将相对应的该条报文的关键字数据包和报文队列 取出, 对整条报文按照当前的处理结果进行处理 ; 当查表结果不为预先设定的最高优先级 处理结果时, 控制单元读取该条报文的第二段报文内容, 根据 K1= 源 IP/ 目的 IP+ 协议类型 + 报文内容, 生成 K1, 并在 K1 前面加上至少一位二进制位, 生成 K1 并存储到 B2 队列中, 通 过二进制位的加入对 K1 进行唯一标识 ; S11、 循环执行上述步骤, 直到 B1 队列中的。
12、第一个元素被取出丢弃时, 结束对该条报文 的操作 ; 当在需要处理的分段报文数量范围内没有得到丢弃报文结果时, 将整条报文按照 已出现处理结果中的最高优先级处理结果进行处理。 3.根据权利要求1或2所述的多协议网络报文传输保序系统的实现方法, 其特征在于, 关键字处理仲裁单元, 协调 IP 控制单元和端口控制单元分别对 IP 关键字和端口关键字进 行处理, 保证 IP 关键字和端口关键字的处理可以同时独立运行各自的时序。 权 利 要 求 书 CN 102710524 A 3 1/8 页 4 一种多协议网络报文传输保序系统的实现方法 技术领域 0001 本发明涉及一种保序系统的实现方法, 更具体。
13、地说, 涉及一种多协议网络报文传 输保序系统的实现方法。 背景技术 0002 随着网络速度的日益发展, 要求网络产品对网络数据的处理速度越来越高, 网络 中数据的并行处理也越来越多, 在并行处理的情况下, 需要保证同种协议网络数据的先后 顺序, 也就是保序。 要实现高速的报文处理和保序软件的处理速度远不能满足要求, 则需要 在硬件上进行实现。 0003 本发明主要是使用一种新的方式, 保证报文保序操作速度, 适应各种硬件处理逻 辑的时序要求。 发明内容 0004 本发明针对以上问题的提出, 而研制一种多协议网络报文传输保序系统的实现方 法。 0005 本发明提供一种多协议网络报文传输保序系统的。
14、实现方法, 其特征在于, 将报文 的关键字按照固定顺序封装为关键字数据包存储, 然后将该条报文的每段报文内容和关键 字数据包中的至少一种关键字进行封装, 并在前面加上至少一位二进制位, 来唯一标识该 条报文的分段序号, 并控制该条报文仅在其第一段报文内容处理完成的情况下才能进行第 二段报文内容的处理, 直到需要处理的分段报文的处理结果中出现预先设定的最高优先级 处理结果时, 将整条报文按照最高优先级处理结果进行处理 ; 或者需要处理的分段报文已 经全部处理完成但没有出现预先设定的最高优先级处理结果时, 将整条报文按照已出现处 理结果中的最高优先级处理结果进行处理。 0006 优选地, 方法包括。
15、如下步骤 : 0007 S1、 报文提取单元将需要处理的报文提取出来, 将每一条需要处理的报文, 送入关 键字提取单元 ; 0008 S2、 关键字提取单元对报文进行处理, 提取该报文的源 IP、 目的 IP、 源端口、 目的 端口和协议类型关键字, 并将所有关键字按照固定的顺序封装为关键字数据包存放到关键 字存储队列中, 关键字存储队列的位宽与数据包的位宽相等, 每条报文的关键字数据包对 应存储该条报文的报文队列 ; 0009 S3、 控制单元选择优先级最高的一条报文进行处理, 读取该条报文的源 IP 和目的 IP 进行判断, 找出需要监控的 IP 类型 ; 0010 当源IP需要监控时, 。
16、控制单元读取该条报文的源IP和协议类型, 从报文队列中取 出该条报文的第一段报文内容, 根据K1=源IP+协议类型+报文内容, 生成K1, 并在K1前面 加上至少一位二进制位, 生成 K1 并存储到 A1 队列中, 其中, 二进制位的位数根据需要处理 的分段报文的数量决定, 保证每个分段报文可以唯一标识 ; 说 明 书 CN 102710524 A 4 2/8 页 5 0011 当目的IP需要监控时, 控制单元读取该条报文的目的IP和协议类型, 从报文队列 中取出该条报文的第一段报文内容, 根据 K1= 目的 IP+ 协议类型 + 报文内容, 生成 K1, 并在 K1前面加上至少一位二进制位,。
17、 生成K1 并存储到A1队列中, 其中, 二进制位的位数根据需 要处理的分段报文的数量决定, 保证每个分段报文可以唯一标识 ; 0012 S4 控制单元继续选择当前优先级最高的一条报文进行处理, 当优先级最高的一条 报文为当前报文时, 执行步骤 S5 ; 0013 S5、 处理单元读取 A1 队列的第一个元素, 并到处理结果表中作对表查询, 当查表 结果为预先设定的最高优先级处理结果时, 处理单元将 A1 队列的第一个元素取出, 以及将 相对应的该条报文的关键字数据包和报文队列取出, 对整条报文按照当前的处理结果进行 处理 ; 当查表结果不为预先设定的最高优先级处理结果时, 控制单元读取该条报。
18、文的源 IP 或目的 IP, 协议类型以及该条报文的第二段报文内容, 根据 K1= 源 IP/ 目的 IP+ 协议类型 + 报文内容, 生成 K1, 并在 K1 前面加上至少一位二进制位, 生成 K1 并存储到 A2 队列中, 通过 二进制位的加入对 K1 进行唯一标识 ; 0014 S6、 控制单元继续选择当前优先级最高的一条报文进行处理, 当优先级最高的一 条报文为当前报文时, 执行步骤 S7 ; 0015 S7、 处理单元读取 A2 队列的第一个元素, 并到处理结果表中作对表查询, 当查表 结果为预先设定的最高优先级处理结果时, 处理单元将 A1 队列的第一个元素和 A2 队列的 第一个。
19、元素取出, 以及将相对应的该条报文的关键字数据包和报文队列取出, 对整条报文 按照当前的处理结果进行处理 ; 当查表结果不预先设定的最高优先级处理结果时, 控制单 元读取该条报文的第三段报文内容, 根据 K1= 源 IP/ 目的 IP+ 协议类型 + 报文内容, 生成 K1, 并在 K1 前面加上至少一位二进制位, 生成 K1 并存储到 A3 队列中, 通过二进制位的加 入对 K1 进行唯一标识 ; 0016 S8、 循环执行上述步骤, 直到 A1 队列中的第一个元素被取出时, 结束对该条报文 的操作 ; 当在需要处理的分段报文数量范围内没有得到丢弃报文结果时, 将整条报文按照 已出现处理结果。
20、中的最高优先级处理结果进行处理 ; 当需要对该条报文进行端口关键字处 理时, 执行步骤 S9 ; 0017 S9、 控制单元选择优先级最高的一条报文进行处理, 当报文需要进行端口关键字 处理时, 读取该条报文的源端口和目的端口进行判断, 找出需要监控的端口类型 ; 0018 当源端口需要监控时, 控制单元读取该条报文的源端口和协议类型, 从报文队列 中取出该条报文的第一段报文内容, 根据 K2= 源端口 + 协议类型 + 报文内容, 生成 K2, 并在 K2前面加上至少一位二进制位, 生成K2 并存储到B1队列中, 其中, 二进制位的位数根据需 要处理的分段报文的数量决定, 保证每个分段报文可。
21、以唯一标识 ; 0019 当目的端口需要监控时, 控制单元读取该条报文的目的端口和协议类型, 从报文 队列中取出该条报文的第一段报文内容, 根据 K2= 目的端口 + 协议类型 + 报文内容, 生成 K2, 并在 K2 前面加上至少一位二进制位, 生成 K2 并存储到 B1 队列中, 其中, 二进制位的位 数根据需要处理的分段报文的数量决定, 保证每个分段报文可以唯一标识 ; 0020 S10、 对生成的 K2 作对表查询, 当查表结果为预先设定的最高优先级处理结果时, 处理单元将 B1 队列的第一个元素取出, 以及将相对应的该条报文的关键字数据包和报文 队列取出, 对整条报文按照当前的处理结。
22、果进行处理 ; 当查表结果不为预先设定的最高优 说 明 书 CN 102710524 A 5 3/8 页 6 先级处理结果时, 控制单元读取该条报文的第二段报文内容, 根据 K1= 源 IP/ 目的 IP+ 协议 类型 + 报文内容, 生成 K1, 并在 K1 前面加上至少一位二进制位, 生成 K1 并存储到 B2 队列 中, 通过二进制位的加入对 K1 进行唯一标识 ; 0021 S11、 循环执行上述步骤, 直到 B1 队列中的第一个元素被取出丢弃时, 结束对该条 报文的操作 ; 当在需要处理的分段报文数量范围内没有得到丢弃报文结果时, 将整条报文 按照已出现处理结果中的最高优先级处理结果。
23、进行处理。 0022 优选地, 关键字处理仲裁单元, 协调IP控制单元和端口控制单元分别对IP关键字 和端口关键字进行处理, 保证 IP 关键字和端口关键字的处理可以同时独立运行各自的时 序。 0023 实施本发明所述的多协议网络报文传输保序系统的实现方法, 具有以下有益效 果 : 能够在并行处理的情况下, 保证同种和不同协议网络数据的先后顺序, 保证报文保序的 操作速度, 适应各种硬件处理逻辑的时序要求。 附图说明 0024 图 1 是本发明的格式名称表 ; 0025 图 2 是本发明的报文的处理结果表 ; 0026 图 3 是本发明的单条报文处理的一实施例的方法流程图 ; 0027 图 4。
24、 是本发明的关键字处理时的报文传输保序方法的一实施例的结构示意图。 具体实施方式 0028 图 1 是本发明的格式名称表, 如图所示。图中的格式名称分别为 K1 和 K2, K1= 关 键字类型 (IP) + 协议类型 + 某一段报文的内容, 即 K1= 源 IP/ 目的 IP+ 协议类型 + 报文内 容 ; 当源 IP 为监控对象时, K1= 源 IP+ 协议类型 + 报文内容, 当目的 IP 为监控对象时, K1= 目的 IP+ 协议类型 + 报文内容。K2= 关键字类型 (端口) + 协议类型 + 某一段报文的内容, 即 K1= 源 IP/ 目的端口 + 协议类型 + 报文内容 ; 当源。
25、端口为监控对象时, K1= 源端口 + 协议类 型 + 报文内容, 当目的端口为监控对象时, K1= 目的端口 + 协议类型 + 报文内容。 0029 图2是本发明的报文的处理结果表, 如图所示。 表中的关键字类型包括IP和端口, 此处的 IP 包括源 IP 和目的 IP, 端口包括源端口和目的端口。当源 IP 为监控对象时, 表中 的IP指代源IP, 当目的IP为监控对象时, 表中的IP指代目的IP。 当源端口为监控对象时, 表中的端口指代源端口, 当目的端口为监控对象时, 表中的端口指代目的端口。 表中的关键 字为 IP+ 负载, 此处的负载为某一段报文的内容。不同的 IP 和不同的负载,。
26、 对应不同的处 理结果, 处理结果的类型根据用户的需要设定, 对于一条报文, IP 一定, 但报文分段负载内 容不同, 因此, IP+ 负载所对应的处理结果不同。在本实施例中, 用户关注三种处理结果, 即 复制、 丢弃和透传, 即三种对报文进行处理的结果。IP+ 负载 1 对应的处理结果为复制, IP+ 负载 2 对应的处理结果为丢弃, IP+ 负载 3 对应的处理结果为透传, 例如, 当源 IP 为监控对 象并且取一条报文的第一个报文分段时, 关键字为源 IP+ 第一段报文内容, 将其与处理结 果表进行对表查询, 当对应的结果为复制时, 得知当前获得的对该条报文的第一段报文内 容的处理结果是。
27、复制, 因为不知道第二段报文内容、 第三段报文内容以及需要查询的其他 报文段的报文内容, 而且用户对处理结果设置了优先级, 复制结果的优先级不是最高, 所以 说 明 书 CN 102710524 A 6 4/8 页 7 此时需要继续对该条报文的第二段报文内容进行处理查询处理结果。 当对应的结果为丢弃 时, 得知当前获得的对该条报文的第一段报文内容的处理结果是丢弃, 因为用户设置的丢 弃结果的优先级最高, 所以, 此时可以直接将整条报文进行丢弃处理。当目的 IP 为监控对 象时, 处理方式与前述方式相同。当源端口为监控对象并且取一条报文的第一个报文分段 时, 关键字为源端口 + 第一段报文内容。。
28、对于一条报文, 端口一定, 但报文分段负载内容不 同, 因此, 端口 + 负载所对应的处理结果不同。在本实施例中, 用户关注三种处理结果, 即 复制、 丢弃和透传, 即三种对报文进行处理的结果。端口 + 负载 1 对应的处理结果为复制, 端口 + 负载 2 对应的处理结果为丢弃, 端口 + 负载 3 对应的处理结果为透传。将端口 + 第 一段报文内容与处理结果表进行对表查询, 当对应的结果为复制时, 得知当前获得的对该 条报文的第一段报文内容的处理结果是复制, 因为不知道第二段报文内容、 第三段报文内 容以及需要查询的其他报文段的报文内容, 而且用户对处理结果设置了优先级, 复制结果 的优先级。
29、不是最高, 所以此时需要继续对该条报文的第二段报文内容进行处理查询处理结 果。当对应的结果为丢弃时, 得知当前获得的对该条报文的第一段报文内容的处理结果是 丢弃, 因为用户设置的丢弃结果的优先级最高, 所以, 此时可以直接将整条报文进行丢弃处 理。当目的端口为监控对象时, 处理方式与前述方式相同。 0030 图 3 是本发明的单条报文处理的一实施例的方法流程图, 如图所示。当报文输入 时, 报文解析单元对报文是否需要处理进行解析, 当报文不需要处理时, 直接将报文输出 ; 当报文需要处理时, 针对该条报文提取用户需要的关键字, 在本实施例中, 提取源 IP、 目的 IP、 源端口、 目的端口和。
30、协议类型关键字, 首先对 IP 关键字进行处理, 处理的方式按照本文 上一段的描述进行。 当不需要对该条报文的端口关键字进行处理时, 报文的处理即结束 ; 当 端口关键字需要进行处理时, 处理单元对端口关键字进行处理, 端口关键字处理完成后, 该 条报文的处理即结束。 0031 图 4 是本发明的关键字处理时的报文传输保序方法的一实施例的结构示意图, 如 图所示。 0032 首先, 报文提取单元将需要处理的报文提取出来并送入关键字提取单元, 本实施 例中, 先后提取了三条需要处理的报文, 分别为 P1、 P2、 P3。 0033 然后, 关键字提取单元提取每条报文的关键字, 例如源 IP、 目。
31、的 IP、 源端口、 目的 端口、 协议类型等, 本实施例中, 关键字提取单元分别提取报文 P1、 P2、 P3 的源 IP、 目的 IP、 源端口、 目的端口、 协议类型, 并将报文P1的所有关键字按照源IP、 目的IP、 源端口、 目的端 口、 协议类型的固定顺序封装为关键字数据包存放到关键字存储队列中 ; 将报文 P2、 P3 的 关键字也按照前述的固定顺序封装为关键字数据包存放到关键字存储队列中 ; 其中, 关键 字存储队列的位宽与关键字数据包的位宽相等。处理报文时, 报文内容的分段数量根据报 文的长度以及报文队列的位宽确定。本实施例中, 报文 P1 分为 4 段, 即分段 1、 分段。
32、 2、 分段 3、 分段 4, 报文 P2 分为 2 段, 报文 P3 分为 2 段。每条报文的关键字数据包对应着存储该条 报文的报文队列, 即报文 P1 的关键字数据包对应着存储报文 P1 的报文队列。 0034 接着, IP 控制单元选择优先级最高的一条报文进行处理, 读取该条报文的源 IP 和 目的IP进行判断, 找出需要监控的IP类型, 源IP或目的IP, 需要监控的IP类型预先设定 ; 当源 IP 需要监控时, IP 控制单元读取该条报文的源 IP 和协议类型, 从报文队列中取出该 条报文的第一段报文内容, 根据 K1= 源 IP+ 协议类型 + 报文内容, 生成 K1, 并在 K1。
33、 前面加 说 明 书 CN 102710524 A 7 5/8 页 8 上至少一位二进制位, 生成 K1 并存储到 A1 队列中, 其中, 二进制位的位数根据需要处理的 分段报文的数量决定, 保证每个分段报文可以唯一标识 ; 当目的 IP 需要监控时, IP 控制单 元读取该条报文的目的 IP 和协议类型, 从报文队列中取出该条报文的第一段报文内容, 根 据 K1= 目的 IP+ 协议类型 + 报文内容, 生成 K1, 并在 K1 前面加上至少一位二进制位, 生成 K1 并存储到 A1 队列中, 其中, 二进制位的位数根据需要处理的分段报文的数量决定, 保证 每个分段报文可以唯一标识。本实施例。
34、中, 预先设定需要处理的分段报文的数量为 3, 即当 一条报文的分段数大于 3 段时, 仅监控每条报文的分段 1、 分段 2 和分段 3。因为预先设定 需要处理的分段报文的数量为 3, 仅需两位二进制位即可将 3 段报文分别唯一标识, 因此, 在处理的过程中, 在 K1 前面加上两位二进制位, 其中, 00 唯一标识分段 1、 01 唯一标识分段 2、 10 唯一标识分段 3。 0035 本实施例中报文 P1 的优先级最高, 且报文 P1 的源 IP 需要监控。IP 控制单元从关 键字存储队列中读取报文 P1 关键字数据包中的源 IP 和协议类型, 从报文队列中读取报文 P1 的分段 1, 根。
35、据公式 K1= 源 IP+ 协议类型 + 报文内容, 生成 K1, 并在 K1 前面加上 00 后, 生 成 K1 , 即本实施例中的 K11 存储到 A1 队列中。 0036 接着, IP 控制单元继续选择当前优先级最高的一条报文进行处理, 当优先级最高 的一条报文为当前报文, 即报文P1时, 处理单元读取A1队列的第一个元素K11, 并到处理结 果表中作对表查询, 当 K11 在处理结果表中对应的结果为最高优先级处理结果时, 处理单 元将 A1 队列的第一个元素取出, 以及将相对应的该条报文的关键字数据包和报文队列取 出, 对整条报文按照当前的处理结果进行处理。在本实施例中, 按照图 2 。
36、的处理结果表进行 查表处理, 图 2 中的处理结果包括复制、 丢弃、 透传, 三者的优先级分别为丢弃的优先级最 高、 透传的优先级其次, 复制的优先级最低。如果此时查询的结果为丢弃报文时, 处理单元 将 A1 队列中的 K11 取出, 以及将相对应的报文 P1 的关键字数据包和 P1 的报文队列取出, 对整条报文做丢弃处理, 此时对报文 P1 的处理结束。当 K11 在处理结果表中对应的结果为 透传结果时, 因为透传处理结果并非最高优先级处理结果, 所以, 此时不对整条报文做出处 理, 而是由 IP 控制单元从关键字存储队列中读取报文 P1 关键字数据包中的源 IP 和协议类 型, 从报文队列。
37、中读取报文P1的分段2, 根据公式K1=源IP+协议类型+报文内容, 生成K1, 并在 K1 前面加上 01 后, 生成 K1 , 即本实施例中的 K112 存储到 A2 队列中。 0037 若IP控制单元选择的当前优先级最高的一条报文为P2, 且报文P2的源IP需要监 控时, IP 控制单元从关键字存储队列中读取报文 P2 关键字数据包中的源 IP 和协议类型, 从报文队列中读取报文 P2 的分段 1, 根据公式 K1= 源 IP+ 协议类型 + 报文内容, 生成 K1, 并 在 K1 前面加上 00 后, 生成 K1 , 即本实施例中的 K12 存储到 A1 队列中。 0038 接着, I。
38、P 控制单元继续选择当前优先级最高的一条报文进行处理, 当优先级最高 的一条报文为报文 P1 时, 处理单元读取 A2 队列的第一个元素 K112, 并到处理结果表中作 对表查询, 当 K112 在处理结果表中对应的结果为最高优先级处理结果即丢弃报文时, 处理 单元将 A1 队列的第一个元素 K11 和 A2 队列的第一个元素 K112 取出, 以及将报文 P1 的关 键字数据包和报文队列取出, 对整条报文按照当前的处理结果进行处理, 即将所取出的所 有元素全部做丢弃处理, 此时对报文 P1 的处理结束。当 K112 在处理结果表中对应的结果 为复制结果时, 因为复制处理结果并非最高优先级处理。
39、结果, 所以, 此时不对整条报文做出 处理, 而是由 IP 控制单元从关键字存储队列中读取报文 P1 关键字数据包中的源 IP 和协议 说 明 书 CN 102710524 A 8 6/8 页 9 类型, 从报文队列中读取报文 P1 的分段 3, 根据公式 K1= 源 IP+ 协议类型 + 报文内容, 生成 K1, 并在 K1 前面加上 10 后, 生成 K1 , 即本实施例中的 K113 存储到 A3 队列中。 0039 若IP控制单元选择的当前优先级最高的一条报文为P3, 且报文P3的源IP需要监 控时, IP 控制单元从关键字存储队列中读取报文 P3 关键字数据包中的源 IP 和协议类型。
40、, 从报文队列中读取报文 P3 的分段 1, 根据公式 K1= 源 IP+ 协议类型 + 报文内容, 生成 K1, 并 在 K1 前面加上 00 后, 生成 K1 , 即本实施例中的 K13 存储到 A1 队列中。 0040 IP 控制单元选择的当前优先级最高的一条报文不可能为报文 P2, 因为报文 P2 所 对应的 K12 为 A1 队列的第二个元素, 当 K12 不为第一个元素时, 其不能被取出判断处理结 果, 所以对 K12 的处理一定在 K11 之后。 0041 接着, IP 控制单元继续选择当前优先级最高的一条报文进行处理, 当优先级最高 的一条报文为报文P1时, 处理单元读取A3队。
41、列的第一个元素K113, 并到处理结果表中作对 表查询, 当 K113 在处理结果表中对应的结果为最高优先级处理结果即丢弃报文时, 处理单 元将 A1 队列的第一个元素 K11 和 A2 队列的第一个元素 K112 和 A3 队列的第一个元素 K113 取出, 以及将报文 P1 的关键字数据包和报文队列取出, 对整条报文按照当前的处理结果进 行处理, 即将所取出的所有元素全部做丢弃处理, 此时对报文 P1 的处理结束。当 K113 在处 理结果表中对应的结果为复制报文结果时, 因为复制处理结果并非最高优先级处理结果, 所以不能直接根据复制处理结果对整条报文做出处理, 但是预先设定需要处理的分段。
42、报文 的数量为3, 即仅需对报文P1的分段1、 分段2和分段3做出监控处理, 所以, 此时, 判断K11、 K112、 K113 处理结果的优先级, 将整条报文按照已出现处理结果中的最高优先级处理结果 进行处理, 在本实施例中, 因为 K11 的处理结果为透传, K112 和 K113 的处理结果为复制, 三 者中, 透传处理结果的优先级最高, 因此, 将报文P1做出透传处理, 即处理单元将A1队列的 第一个元素 K11 和 A2 队列的第一个元素 K112 和 A3 队列的第一个元素 K113 取出, 以及将 报文 P1 的关键字数据包和报文队列取出, 对整条报文按照当前的处理结果进行处理,。
43、 即将 所取出的所有元素全部做透传处理。当不需要对报文 P1 的端口关键字进行监控时, 对报文 P1 的处理即结束 ; 当需要对报文 P1 的端口关键字进行监控时, 对报文 P1 的处理不结束。 0042 端口控制单元选择优先级最高的一条报文进行处理, 当优先级最高的一条报文为 报文 P1 时, 读取该条报文的源端口和目的端口进行判断, 找出需要监控的端口类型, 需要 监控的端口类型预先设定 ; 当源端口需要监控时, 端口控制单元读取该条报文的源端口和 协议类型, 从报文队列中取出该条报文的第一段报文内容, 根据 K2= 源端口 + 协议类型 + 报 文内容, 生成 K2, 并在 K2 前面加。
44、上至少一位二进制位, 生成 K2 并存储到 B1 队列中, 其中, 二进制位的位数根据需要处理的分段报文的数量决定, 保证每个分段报文可以唯一标识 ; 当目的IP需要监控时, 端口控制单元读取该条报文的目的IP和协议类型, 从报文队列中取 出该条报文的第一段报文内容, 根据K2=目的IP+协议类型+报文内容, 生成K2, 并在K2前 面加上至少一位二进制位, 生成 K2 并存储到 B1 队列中, 其中, 二进制位的位数根据需要处 理的分段报文的数量决定, 保证每个分段报文可以唯一标识。 本实施例中, 预先设定需要处 理的分段报文的数量为3, 即当一条报文的分段数大于3段时, 仅监控每条报文的分。
45、段1、 分 段 2 和分段 3。因为预先设定需要处理的分段报文的数量为 3, 仅需两位二进制位即可将 3 段报文分别唯一标识, 因此, 在处理的过程中, 在 K2 前面加上两位二进制位, 其中, 00 唯一 标识分段 1、 01 唯一标识分段 2、 10 唯一标识分段 3。 说 明 书 CN 102710524 A 9 7/8 页 10 0043 本实施例中, 报文 P1 的源端口需要监控。端口控制单元从关键字存储队列中读取 报文 P1 关键字数据包中的源端口和协议类型, 从报文队列中读取报文 P1 的分段 1, 根据公 式 K2= 源端口 + 协议类型 + 报文内容, 生成 K2, 并在 K。
46、2 前面加上 00 后, 生成 K2 , 即本实施 例中的 K21 存储到 B1 队列中。 0044 接着, 端口控制单元继续选择当前优先级最高的一条报文进行处理, 当优先级最 高的一条报文为当前报文, 即报文 P1 时, 处理单元读取 B1 队列的第一个元素 K21, 并到处 理结果表中作对表查询, 当 K21 在处理结果表中对应的结果为最高优先级处理结果时, 处 理单元将 B1 队列的第一个元素取出, 以及将相对应的该条报文的关键字数据包和报文队 列取出, 对整条报文按照当前的处理结果进行处理。在本实施例中, 按照图 2 的处理结果表 进行查表处理, 图 2 中的处理结果包括复制、 丢弃、。
47、 透传, 三者的优先级分别为丢弃的优先 级最高、 透传的优先级其次, 复制的优先级最低。如果此时查询的结果为丢弃报文时, 处理 单元将 B1 队列中的 K21 取出, 以及将相对应的报文 P1 的关键字数据包和 P1 的报文队列取 出, 对整条报文做丢弃处理, 此时对报文 K2 的处理结束。当 K21 在处理结果表中对应的结 果为透传结果时, 因为透传处理结果并非最高优先级处理结果, 所以, 此时不对整条报文做 出处理, 而是由端口控制单元从关键字存储队列中读取报文 P1 关键字数据包中的源端口 和协议类型, 从报文队列中读取报文P1的分段2, 根据公式K2=源端口+协议类型+报文内 容, 生。
48、成 K2, 并在 K2 前面加上 01 后, 生成 K2 , 即本实施例中的 K212 存储到 B2 队列中。 0045 接着, 端口控制单元继续选择当前优先级最高的一条报文进行处理, 当优先级最 高的一条报文为当前报文, 即报文 P1 时, 处理单元读取 B2 队列的第一个元素 K212, 并到处 理结果表中作对表查询, 当 K212 在处理结果表中对应的结果为最高优先级处理结果即丢 弃报文时, 处理单元将 B1 队列的第一个元素 K21 和 B2 队列的第一个元素 K212 取出, 以及 将报文 P1 的关键字数据包和报文队列取出, 对整条报文按照当前的处理结果进行处理, 即 将所取出的所。
49、有元素全部做丢弃处理, 此时对报文 P1 的处理结束。当 K212 在处理结果表 中对应的结果为复制结果时, 因为复制处理结果并非最高优先级处理结果, 所以, 此时不对 整条报文做出处理, 而是由端口控制单元从关键字存储队列中读取报文 P1 关键字数据包 中的源端口和协议类型, 从报文队列中读取报文P1的分段3, 根据公式K2=源端口+协议类 型 + 报文内容, 生成 K2, 并在 K2 前面加上 10 后, 生成 K2 , 即本实施例中的 K213 存储到 B3 队列中。 0046 接着, 端口控制单元继续选择当前优先级最高的一条报文进行处理, 当优先级最 高的一条报文为当前报文, 即报文 P1 时, 处理单元读取 B3 队列的第一个元素 K213, 并到处 理结果表中作对表查询, 当 K213 在处理结果表中对应的结果为最高优先级处理结果即丢 弃报文时, 处理单元将 B1 队列的第一个元素 K21 和 B2 队列的第一个元素 K212 和 B3 队列 的第一个元素K213取出, 以及将报文P1的关键字数据包和报文队列取出, 对整条。