书签 分享 收藏 举报 版权申诉 / 14

一种多协议网络报文传输保序系统的实现方法.pdf

  • 上传人:sha****007
  • 文档编号:6420638
  • 上传时间:2019-07-12
  • 格式:PDF
  • 页数:14
  • 大小:3.11MB
  • 摘要
    申请专利号:

    CN201210199323.9

    申请日:

    2012.06.15

    公开号:

    CN102710524B

    公开日:

    2015.01.21

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):H04L 12/56申请日:20120615|||公开

    IPC分类号:

    H04L12/861(2013.01)I; H04L29/06

    主分类号:

    H04L12/861

    申请人:

    大连梯耐德网络技术有限公司

    发明人:

    兰巨龙; 魏长城; 徐天赐; 张建辉; 姜鲲鹏; 彭博; 董永吉

    地址:

    116023 辽宁省大连市高新园区黄浦路541号网络产业大厦21F

    优先权:

    专利代理机构:

    大连东方专利代理有限责任公司 21212

    代理人:

    姜玉蓉;李洪福

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种多协议网络报文传输保序系统的实现方法,其特征在于,将报文的关键字按照固定顺序封装为关键字数据包存储,对该条报文的每段内容和关键字数据包中的至少一种关键字进行封装,并在前面加上至少一位二进制位,来唯一标识该条报文的分段序号,并控制该条报文仅在其第一段报文内容处理完成的情况下才能进行第二段报文内容的处理,直到需要处理的分段报文的处理结果中出现预先设定的最高优先级处理结果时,将整条报文按照最高优先级处理结果进行处理。实施本发明具有以下有益效果:能够在并行处理的情况下,保证同种协议网络数据的先后顺序,保证报文保序的操作速度,适应各种硬件处理逻辑的时序要求。

    权利要求书

    权利要求书
    1.  一种多协议网络报文传输保序系统的实现方法,其特征在于,将报文的关键字按照
    固定顺序封装为关键字数据包存储,然后将该条报文的每段报文内容和关键字数据包中的至少一种关键字进行封装,并在前面加上至少一位二进制位,来唯一标识该条报文的分段序号,并控制该条报文仅在其第一段报文内容处理完成的情况下才能进行第二段报文内容的处理,直到需要处理的分段报文的处理结果中出现预先设定的最高优先级处理结果时,将整条报文按照最高优先级处理结果进行处理;或者需要处理的分段报文已经全部处理完成但没有出现预先设定的最高优先级处理结果时,将整条报文按照已出现处理结果中的最高优先级处理结果进行处理。

    2.  根据权利要求1所述的多协议网络报文传输保序系统的实现方法,其特征在于,包括如下步骤:
    S1、报文提取单元将需要处理的报文提取出来,将每一条需要处理的报文,送入关键字提取单元;
    S2、关键字提取单元对报文进行处理,提取该报文的源IP、目的IP、源端口、目的端口和协议类型关键字,并将所有关键字按照固定的顺序封装为关键字数据包存放到关键字存储队列中,关键字存储队列的位宽与数据包的位宽相等,每条报文的关键字数据包对应存储该条报文的报文队列;
    S3、控制单元选择优先级最高的一条报文进行处理,读取该条报文的源IP和目的IP进行判断,找出需要监控的IP类型;
    当源IP需要监控时,控制单元读取该条报文的源IP和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K1=源IP+协议类型+报文内容,生成K1,并在K1前面加上至少一位二进制位,生成K1’并存储到A1队列中,其中,二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识;
    当目的IP需要监控时,控制单元读取该条报文的目的IP和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K1=目的IP+协议类型+报文内容,生成K1,并在K1前面加上至少一位二进制位,生成K1’并存储到A1队列中,其中,二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识;
    S4控制单元继续选择当前优先级最高的一条报文进行处理,当优先级最高的一条报文为当前报文时,执行步骤S5;
    S5、处理单元读取A1队列的第一个元素,并到处理结果表中作对表查询,当查表结果为预先设定的最高优先级处理结果时,处理单元将A1队列的第一个元素取出,以及将相对应的该条报文的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理;当查表结果不为预先设定的最高优先级处理结果时,控制单元读取该条报文的源IP或目的IP,协议类型以及该条报文的第二段报文内容,根据K1=源IP/目的IP+协议类型+报文内容,生成K1,并在K1前面加上至少一位二进制位,生成K1’并存储到A2队列中,通过二进制位的加入对K1’进行唯一标识;
    S6、控制单元继续选择当前优先级最高的一条报文进行处理,当优先级最高的一条报文为当前报文时,执行步骤S7;
    S7、处理单元读取A2队列的第一个元素,并到处理结果表中作对表查询,当查表结果为预先设定的最高优先级处理结果时,处理单元将A1队列的第一个元素和A2队列的第一
    个元素取出,以及将相对应的该条报文的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理;当查表结果不预先设定的最高优先级处理结果时,控制单元读取该条报文的第三段报文内容,根据K1=源IP/目的IP+协议类型+报文内容,生成K1,并在K1前面加上至少一位二进制位,生成K1’并存储到A3队列中,通过二进制位的加入对K1’进行唯一标识;
    S8、循环执行上述步骤,直到A1队列中的第一个元素被取出时,结束对该条报文的操作;当在需要处理的分段报文数量范围内没有得到丢弃报文结果时,将整条报文按照已出现处理结果中的最高优先级处理结果进行处理;当需要对该条报文进行端口关键字处理时,执行步骤S9;
    S9、控制单元选择优先级最高的一条报文进行处理,当报文需要进行端口关键字处理时,读取该条报文的源端口和目的端口进行判断,找出需要监控的端口类型;
    当源端口需要监控时,控制单元读取该条报文的源端口和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K2=源端口+协议类型+报文内容,生成K2,并在K2前面加上至少一位二进制位,生成K2’并存储到B1队列中,其中,二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识;
    当目的端口需要监控时,控制单元读取该条报文的目的端口和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K2=目的端口+协议类型+报文内容,生成K2,并在K2前面加上至少一位二进制位,生成K2’并存储到B1队列中,其中,二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识;
    S10、对生成的K2’作对表查询,当查表结果为预先设定的最高优先级处理结果时,处理单元将B1队列的第一个元素取出,以及将相对应的该条报文的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理;当查表结果不为预先设定的最高优先级处理结果时,控制单元读取该条报文的第二段报文内容,根据K1=源IP/目的IP+协议类型
    +报文内容,生成K1,并在K1前面加上至少一位二进制位,生成K1’并存储到B2队列中,通过二进制位的加入对K1’进行唯一标识;
    S11、循环执行上述步骤,直到B1队列中的第一个元素被取出丢弃时,结束对该条报文的操作;当在需要处理的分段报文数量范围内没有得到丢弃报文结果时,将整条报文按照已出现处理结果中的最高优先级处理结果进行处理。

    3.  根据权利要求1或2所述的多协议网络报文传输保序系统的实现方法,其特征在于,关键字处理仲裁单元,协调IP控制单元和端口控制单元分别对IP关键字和端口关键字进行处理,保证IP关键字和端口关键字的处理可以同时独立运行各自的时序。

    说明书

    说明书一种多协议网络报文传输保序系统的实现方法
    技术领域
    [0001]本发明涉及一种保序系统的实现方法,更具体地说,涉及一种多协议网络报文传输保序系统的实现方法。
    背景技术
    [0002]随着网络速度的日益发展,要求网络产品对网络数据的处理速度越来越高,网络中数据的并行处理也越来越多,在并行处理的情况下,需要保证同种协议网络数据的先后顺序,也就是保序。要实现高速的报文处理和保序软件的处理速度远不能满足要求,则需要在硬件上进行实现。
    [0003]本发明主要是使用一种新的方式,保证报文保序操作速度,适应各种硬件处理逻辑的时序要求。
    发明内容
    [0004]本发明针对以上问题的提出,而研制一种多协议网络报文传输保序系统的实现方法。
    [0005]本发明提供一种多协议网络报文传输保序系统的实现方法,其特征在于,将报文的关键字按照固定顺序封装为关键字数据包存储,然后将该条报文的每段报文内容和关键字数据包中的至少一种关键字进行封装,并在前面加上至少一位二进制位,来唯一标识该条报文的分段序号,并控制该条报文仅在其第一段报文内容处理完成的情况下才能进行第二段报文内容的处理,直到需要处理的分段报文的处理结果中出现预先设定的最高优先级处理结果时,将整条报文按照最高优先级处理结果进行处理;或者需要处理的分段报文已经全部处理完成但没有出现预先设定的最高优先级处理结果时,将整条报文按照已出现处理结果中的最高优先级处理结果进行处理。
    [0006]优选地,方法包括如下步骤:
    [0007]S1、报文提取单元将需要处理的报文提取出来,将每一条需要处理的报文,送入关键字提取单元;
    [0008]S2、关键字提取单元对报文进行处理,提取该报文的源IP、目的IP、源端口、目的端口和协议类型关键字,并将所有关键字按照固定的顺序封装为关键字数据包存放到关键字存储队列中,关键字存储队列的位宽与数据包的位宽相等,每条报文的关键字数据包对应存储该条报文的报文队列;
    [0009]S3、控制单元选择优先级最高的一条报文进行处理,读取该条报文的源IP和目的
    IP进行判断,找出需要监控的IP类型;
    [0010]当源IP需要监控时,控制单元读取该条报文的源IP和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K1=源IP+协议类型+报文内容,生成K1,并在K1前面加上至少一位二进制位,生成K1’并存储到A1队列中,其中,二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识;
    [0011]当目的IP需要监控时,控制单元读取该条报文的目的IP和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K1=目的IP+协议类型+报文内容,生成K1,并在K1前面加上至少一位二进制位,生成K1’并存储到A1队列中,其中,二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识;
    [0012]S4控制单元继续选择当前优先级最高的一条报文进行处理,当优先级最高的一条报文为当前报文时,执行步骤S5;
    [0013]S5、处理单元读取A1队列的第一个元素,并到处理结果表中作对表查询,当查表结果为预先设定的最高优先级处理结果时,处理单元将A1队列的第一个元素取出,以及将相对应的该条报文的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理;当查表结果不为预先设定的最高优先级处理结果时,控制单元读取该条报文的源IP或目的IP,协议类型以及该条报文的第二段报文内容,根据K1=源IP/目的IP+协议类型+报文内容,生成K1,并在K1前面加上至少一位二进制位,生成K1’并存储到A2队列中,通过二进制位的加入对K1’进行唯一标识;
    [0014]S6、控制单元继续选择当前优先级最高的一条报文进行处理,当优先级最高的一条报文为当前报文时,执行步骤S7;
    [0015]S7、处理单元读取A2队列的第一个元素,并到处理结果表中作对表查询,当查表结果为预先设定的最高优先级处理结果时,处理单元将A1队列的第一个元素和A2队列的第一个元素取出,以及将相对应的该条报文的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理;当查表结果不预先设定的最高优先级处理结果时,控制单元读取该条报文的第三段报文内容,根据K1=源IP/目的IP+协议类型+报文内容,生成K1,并在K1前面加上至少一位二进制位,生成K1’并存储到A3队列中,通过二进制位的加入对K1’进行唯一标识;
    [0016]S8、循环执行上述步骤,直到A1队列中的第一个元素被取出时,结束对该条报文的操作;当在需要处理的分段报文数量范围内没有得到丢弃报文结果时,将整条报文按照已出现处理结果中的最高优先级处理结果进行处理;当需要对该条报文进行端口关键字处理时,执行步骤S9;
    [0017]S9、控制单元选择优先级最高的一条报文进行处理,当报文需要进行端口关键字处理时,读取该条报文的源端口和目的端口进行判断,找出需要监控的端口类型;
    [0018]当源端口需要监控时,控制单元读取该条报文的源端口和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K2=源端口+协议类型+报文内容,生成K2,并在K2前面加上至少一位二进制位,生成K2’并存储到B1队列中,其中,二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识;
    [0019]当目的端口需要监控时,控制单元读取该条报文的目的端口和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K2=目的端口+协议类型+报文内容,生成K2,并在K2前面加上至少一位二进制位,生成K2’并存储到B1队列中,其中,二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识;
    [0020] S10、对生成的K2’作对表查询,当查表结果为预先设定的最高优先级处理结果时,处理单元将B1队列的第一个元素取出,以及将相对应的该条报文的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理;当查表结果不为预先设定的最高优
    先级处理结果时,控制单元读取该条报文的第二段报文内容,根据K1=源IP/目的IP+协议类型+报文内容,生成K1,并在K1前面加上至少一位二进制位,生成K1’并存储到B2队列中,通过二进制位的加入对K1’进行唯一标识;
    [0021]S11、循环执行上述步骤,直到B1队列中的第一个元素被取出丢弃时,结束对该条报文的操作;当在需要处理的分段报文数量范围内没有得到丢弃报文结果时,将整条报文按照已出现处理结果中的最高优先级处理结果进行处理。
    [0022]优选地,关键字处理仲裁单元,协调IP控制单元和端口控制单元分别对IP关键字和端口关键字进行处理,保证IP关键字和端口关键字的处理可以同时独立运行各自的时序。
    [0023]实施本发明所述的多协议网络报文传输保序系统的实现方法,具有以下有益效果:能够在并行处理的情况下,保证同种和不同协议网络数据的先后顺序,保证报文保序的操作速度,适应各种硬件处理逻辑的时序要求。
    附图说明
    [0024]图1是本发明的格式名称表;
    [0025]图2是本发明的报文的处理结果表;
    [0026]图3是本发明的单条报文处理的一实施例的方法流程图;
    [0027]图4是本发明的关键字处理时的报文传输保序方法的一实施例的结构示意图。
    具体实施方式
    [0028]图1是本发明的格式名称表,如图所示。图中的格式名称分别为K1和K2,K1=关键字类型(IP)+协议类型+某一段报文的内容,即K1=源IP/目的IP+协议类型+报文内容;当源IP为监控对象时,K1=源IP+协议类型+报文内容,当目的IP为监控对象时,K1=目的IP+协议类型+报文内容。K2=关键字类型(端口)+协议类型+某一段报文的内容,即K1=源IP/目的端口+协议类型+报文内容;当源端口为监控对象时,K1=源端口+协议类型+报文内容,当目的端口为监控对象时,K1=目的端口+协议类型+报文内容。
    [0029] 图2是本发明的报文的处理结果表,如图所示。表中的关键字类型包括IP和端口,此处的IP包括源IP和目的IP,端口包括源端口和目的端口。当源IP为监控对象时,表中的IP指代源IP,当目的IP为监控对象时,表中的IP指代目的IP。当源端口为监控对象时,表中的端口指代源端口,当目的端口为监控对象时,表中的端口指代目的端口。表中的关键字为IP+负载,此处的负载为某一段报文的内容。不同的IP和不同的负载,对应不同的处理结果,处理结果的类型根据用户的需要设定,对于一条报文,IP一定,但报文分段负载内容不同,因此,IP+负载所对应的处理结果不同。在本实施例中,用户关注三种处理结果,即复制、丢弃和透传,即三种对报文进行处理的结果。IP+负载1对应的处理结果为复制,IP+负载2对应的处理结果为丢弃,IP+负载3对应的处理结果为透传,例如,当源IP为监控对象并且取一条报文的第一个报文分段时,关键字为源IP+第一段报文内容,将其与处理结果表进行对表查询,当对应的结果为复制时,得知当前获得的对该条报文的第一段报文内容的处理结果是复制,因为不知道第二段报文内容、第三段报文内容以及需要查询的其他报文段的报文内容,而且用户对处理结果设置了优先级,复制结果的优先级不是最高,所以
    此时需要继续对该条报文的第二段报文内容进行处理查询处理结果。当对应的结果为丢弃时,得知当前获得的对该条报文的第一段报文内容的处理结果是丢弃,因为用户设置的丢弃结果的优先级最高,所以,此时可以直接将整条报文进行丢弃处理。当目的IP为监控对象时,处理方式与前述方式相同。当源端口为监控对象并且取一条报文的第一个报文分段时,关键字为源端口+第一段报文内容。对于一条报文,端口一定,但报文分段负载内容不同,因此,端口+负载所对应的处理结果不同。在本实施例中,用户关注三种处理结果,即复制、丢弃和透传,即三种对报文进行处理的结果。端口+负载1对应的处理结果为复制,端口+负载2对应的处理结果为丢弃,端口+负载3对应的处理结果为透传。将端口+第一段报文内容与处理结果表进行对表查询,当对应的结果为复制时,得知当前获得的对该条报文的第一段报文内容的处理结果是复制,因为不知道第二段报文内容、第三段报文内容以及需要查询的其他报文段的报文内容,而且用户对处理结果设置了优先级,复制结果的优先级不是最高,所以此时需要继续对该条报文的第二段报文内容进行处理查询处理结果。当对应的结果为丢弃时,得知当前获得的对该条报文的第一段报文内容的处理结果是丢弃,因为用户设置的丢弃结果的优先级最高,所以,此时可以直接将整条报文进行丢弃处理。当目的端口为监控对象时,处理方式与前述方式相同。
    [0030] 图3是本发明的单条报文处理的一实施例的方法流程图,如图所示。当报文输入时,报文解析单元对报文是否需要处理进行解析,当报文不需要处理时,直接将报文输出;当报文需要处理时,针对该条报文提取用户需要的关键字,在本实施例中,提取源IP、目的IP、源端口、目的端口和协议类型关键字,首先对IP关键字进行处理,处理的方式按照本文上一段的描述进行。当不需要对该条报文的端口关键字进行处理时,报文的处理即结束;当端口关键字需要进行处理时,处理单元对端口关键字进行处理,端口关键字处理完成后,该条报文的处理即结束。
    [0031] 图4是本发明的关键字处理时的报文传输保序方法的一实施例的结构示意图,如图所示。
    [0032] 首先,报文提取单元将需要处理的报文提取出来并送入关键字提取单元,本实施例中,先后提取了三条需要处理的报文,分别为P1、P2、P3。
    [0033] 然后,关键字提取单元提取每条报文的关键字,例如源IP、目的IP、源端口、目的端口、协议类型等,本实施例中,关键字提取单元分别提取报文P1、P2、P3的源IP、目的IP、源端口、目的端口、协议类型,并将报文P1的所有关键字按照源IP、目的IP、源端口、目的端口、协议类型的固定顺序封装为关键字数据包存放到关键字存储队列中;将报文P2、P3的关键字也按照前述的固定顺序封装为关键字数据包存放到关键字存储队列中;其中,关键字存储队列的位宽与关键字数据包的位宽相等。处理报文时,报文内容的分段数量根据报文的长度以及报文队列的位宽确定。本实施例中,报文P1分为4段,即分段1、分段2、分段
    3、分段4,报文P2分为2段,报文P3分为2段。每条报文的关键字数据包对应着存储该条报文的报文队列,即报文P1的关键字数据包对应着存储报文P1的报文队列。
    [0034] 接着,IP控制单元选择优先级最高的一条报文进行处理,读取该条报文的源IP和目的IP进行判断,找出需要监控的IP类型,源IP或目的IP,需要监控的IP类型预先设定;当源IP需要监控时,IP控制单元读取该条报文的源IP和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K1=源IP+协议类型+报文内容,生成K1,并在K1前面加
    上至少一位二进制位,生成K1’并存储到A1队列中,其中,二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识;当目的IP需要监控时,IP控制单元读取该条报文的目的IP和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K1=目的IP+协议类型+报文内容,生成K1,并在K1前面加上至少一位二进制位,生成K1’并存储到A1队列中,其中,二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识。本实施例中,预先设定需要处理的分段报文的数量为3,即当一条报文的分段数大于3段时,仅监控每条报文的分段1、分段2和分段3。因为预先设定需要处理的分段报文的数量为3,仅需两位二进制位即可将3段报文分别唯一标识,因此,在处理的过程中,在K1前面加上两位二进制位,其中,00唯一标识分段1、01唯一标识分段
    2、10唯一标识分段3。
    [0035]本实施例中报文P1的优先级最高,且报文P1的源IP需要监控。IP控制单元从关键字存储队列中读取报文P1关键字数据包中的源IP和协议类型,从报文队列中读取报文P1的分段1,根据公式K1=源IP+协议类型+报文内容,生成K1,并在K1前面加上00后,生成K1’,即本实施例中的K11存储到A1队列中。
    [0036] 接着,IP控制单元继续选择当前优先级最高的一条报文进行处理,当优先级最高的一条报文为当前报文,即报文P1时,处理单元读取A1队列的第一个元素K11,并到处理结果表中作对表查询,当K11在处理结果表中对应的结果为最高优先级处理结果时,处理单元将A1队列的第一个元素取出,以及将相对应的该条报文的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理。在本实施例中,按照图2的处理结果表进行查表处理,图2中的处理结果包括复制、丢弃、透传,三者的优先级分别为丢弃的优先级最高、透传的优先级其次,复制的优先级最低。如果此时查询的结果为丢弃报文时,处理单元将A1队列中的K11取出,以及将相对应的报文P1的关键字数据包和P1的报文队列取出,对整条报文做丢弃处理,此时对报文P1的处理结束。当K11在处理结果表中对应的结果为透传结果时,因为透传处理结果并非最高优先级处理结果,所以,此时不对整条报文做出处理,而是由IP控制单元从关键字存储队列中读取报文P1关键字数据包中的源IP和协议类型,从报文队列中读取报文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]接着,IP控制单元继续选择当前优先级最高的一条报文进行处理,当优先级最高的一条报文为报文P1时,处理单元读取A2队列的第一个元素K112,并到处理结果表中作对表查询,当K112在处理结果表中对应的结果为最高优先级处理结果即丢弃报文时,处理单元将A1队列的第一个元素K11和A2队列的第一个元素K112取出,以及将报文P1的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理,即将所取出的所有元素全部做丢弃处理,此时对报文P1的处理结束。当K112在处理结果表中对应的结果为复制结果时,因为复制处理结果并非最高优先级处理结果,所以,此时不对整条报文做出处理,而是由IP控制单元从关键字存储队列中读取报文P1关键字数据包中的源IP和协议
    类型,从报文队列中读取报文P1的分段3,根据公式K1=源IP+协议类型+报文内容,生成
    K1,并在K1前面加上10后,生成K1’,即本实施例中的K113存储到A3队列中。
    [0039] 若IP控制单元选择的当前优先级最高的一条报文为P3,且报文P3的源IP需要监控时,IP控制单元从关键字存储队列中读取报文P3关键字数据包中的源IP和协议类型,从报文队列中读取报文P3的分段1,根据公式K1=源IP+协议类型+报文内容,生成K1,并在K1前面加上00后,生成K1’,即本实施例中的K13存储到A1队列中。
    [0040]IP控制单元选择的当前优先级最高的一条报文不可能为报文P2,因为报文P2所对应的K12为A1队列的第二个元素,当K12不为第一个元素时,其不能被取出判断处理结果,所以对K12的处理一定在K11之后。
    [0041] 接着,IP控制单元继续选择当前优先级最高的一条报文进行处理,当优先级最高的一条报文为报文P1时,处理单元读取A3队列的第一个元素K113,并到处理结果表中作对表查询,当K113在处理结果表中对应的结果为最高优先级处理结果即丢弃报文时,处理单元将A1队列的第一个元素K11和A2队列的第一个元素K112和A3队列的第一个元素K113取出,以及将报文P1的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理,即将所取出的所有元素全部做丢弃处理,此时对报文P1的处理结束。当K113在处理结果表中对应的结果为复制报文结果时,因为复制处理结果并非最高优先级处理结果,所以不能直接根据复制处理结果对整条报文做出处理,但是预先设定需要处理的分段报文的数量为3,即仅需对报文P1的分段1、分段2和分段3做出监控处理,所以,此时,判断K11、K112、K113处理结果的优先级,将整条报文按照已出现处理结果中的最高优先级处理结果进行处理,在本实施例中,因为K11的处理结果为透传,K112和K113的处理结果为复制,三者中,透传处理结果的优先级最高,因此,将报文P1做出透传处理,即处理单元将A1队列的第一个元素K11和A2队列的第一个元素K112和A3队列的第一个元素K113取出,以及将报文P1的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理,即将所取出的所有元素全部做透传处理。当不需要对报文P1的端口关键字进行监控时,对报文P1的处理即结束;当需要对报文P1的端口关键字进行监控时,对报文P1的处理不结束。[0042] 端口控制单元选择优先级最高的一条报文进行处理,当优先级最高的一条报文为报文P1时,读取该条报文的源端口和目的端口进行判断,找出需要监控的端口类型,需要监控的端口类型预先设定;当源端口需要监控时,端口控制单元读取该条报文的源端口和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K2=源端口+协议类型+报文内容,生成K2,并在K2前面加上至少一位二进制位,生成K2’并存储到B1队列中,其中,
    二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识;当目的IP需要监控时,端口控制单元读取该条报文的目的IP和协议类型,从报文队列中取出该条报文的第一段报文内容,根据K2=目的IP+协议类型+报文内容,生成K2,并在K2前面加上至少一位二进制位,生成K2’并存储到B1队列中,其中,二进制位的位数根据需要处理的分段报文的数量决定,保证每个分段报文可以唯一标识。本实施例中,预先设定需要处理的分段报文的数量为3,即当一条报文的分段数大于3段时,仅监控每条报文的分段1、分段2和分段3。因为预先设定需要处理的分段报文的数量为3,仅需两位二进制位即可将3段报文分别唯一标识,因此,在处理的过程中,在K2前面加上两位二进制位,其中,00唯一标识分段1、01唯一标识分段2、10唯一标识分段3。
    [0043]本实施例中,报文P1的源端口需要监控。端口控制单元从关键字存储队列中读取报文P1关键字数据包中的源端口和协议类型,从报文队列中读取报文P1的分段1,根据公式K2=源端口+协议类型+报文内容,生成K2,并在K2前面加上00后,生成K2’,即本实施例中的K21存储到B1队列中。
    [0044] 接着,端口控制单元继续选择当前优先级最高的一条报文进行处理,当优先级最高的一条报文为当前报文,即报文P1时,处理单元读取B1队列的第一个元素K21,并到处理结果表中作对表查询,当K21在处理结果表中对应的结果为最高优先级处理结果时,处理单元将B1队列的第一个元素取出,以及将相对应的该条报文的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理。在本实施例中,按照图2的处理结果表进行查表处理,图2中的处理结果包括复制、丢弃、透传,三者的优先级分别为丢弃的优先级最高、透传的优先级其次,复制的优先级最低。如果此时查询的结果为丢弃报文时,处理单元将B1队列中的K21取出,以及将相对应的报文P1的关键字数据包和P1的报文队列取出,对整条报文做丢弃处理,此时对报文K2的处理结束。当K21在处理结果表中对应的结果为透传结果时,因为透传处理结果并非最高优先级处理结果,所以,此时不对整条报文做出处理,而是由端口控制单元从关键字存储队列中读取报文P1关键字数据包中的源端口和协议类型,从报文队列中读取报文P1的分段2,根据公式K2=源端口+协议类型+报文内容,生成K2,并在K2前面加上01后,生成K2’,即本实施例中的K212存储到B2队列中。[0045] 接着,端口控制单元继续选择当前优先级最高的一条报文进行处理,当优先级最高的一条报文为当前报文,即报文P1时,处理单元读取B2队列的第一个元素K212,并到处理结果表中作对表查询,当K212在处理结果表中对应的结果为最高优先级处理结果即丢弃报文时,处理单元将B1队列的第一个元素K21和B2队列的第一个元素K212取出,以及将报文P1的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理,即将所取出的所有元素全部做丢弃处理,此时对报文P1的处理结束。当K212在处理结果表中对应的结果为复制结果时,因为复制处理结果并非最高优先级处理结果,所以,此时不对整条报文做出处理,而是由端口控制单元从关键字存储队列中读取报文P1关键字数据包中的源端口和协议类型,从报文队列中读取报文P1的分段3,根据公式K2=源端口+协议类型+报文内容,生成K2,并在K2前面加上10后,生成K2’,即本实施例中的K213存储到B3队列中。
    [0046] 接着,端口控制单元继续选择当前优先级最高的一条报文进行处理,当优先级最高的一条报文为当前报文,即报文P1时,处理单元读取B3队列的第一个元素K213,并到处理结果表中作对表查询,当K213在处理结果表中对应的结果为最高优先级处理结果即丢弃报文时,处理单元将B1队列的第一个元素K21和B2队列的第一个元素K212和B3队列的第一个元素K213取出,以及将报文P1的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理,即将所取出的所有元素全部做丢弃处理,此时对报文P1的处理结束。当K213在处理结果表中对应的结果为复制报文结果时,因为复制处理结果并非最高优先级处理结果,所以不能直接根据复制处理结果对整条报文做出处理,但是预先设定需要处理的分段报文的数量为3,即仅需对报文P1的分段1、分段2和分段3做出监控处理,所以,此时,判断K21、K212、K213处理结果的优先级,将整条报文按照已出现处理结果中的最高优先级处理结果进行处理,在本实施例中,因为K21的处理结果为透传,K212和K213的
    处理结果为复制,三者中,透传处理结果的优先级最高,因此,将报文P1做出透传处理,即处理单元将B1队列的第一个元素K21和B2队列的第一个元素K212和B3队列的第一个元素K213取出,以及将报文P1的关键字数据包和报文队列取出,对整条报文按照当前的处理结果进行处理,即将所取出的所有元素全部做透传处理,对报文P1的处理即结束。
    [0047]作为优选的实施方式,还存在关键字处理仲裁单元,该仲裁单元协调IP控制单元和端口控制单元分别对IP关键字和端口关键字进行处理,保证IP关键字和端口关键字的处理可以同时独立运行各自的时序。
    [0048] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

    关 键  词:
    一种 协议 网络 报文 传输 系统 实现 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种多协议网络报文传输保序系统的实现方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6420638.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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