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

文档序号:7733509阅读:172来源:国知局
专利名称:发送报文的方法和装置的制作方法
技术领域
本发明涉及数据通信领域,尤其涉及一种发送报文的方法和装置。
背景技术
流量监管是一种常用的网络流量控制技术。由于随着时代的发展,网络数据通信的急剧增加,网络流量增长的速度非常快,流量监管就变得越来越重要,流量监管越来越频
系ο现有的流量监管的技术是采用令牌桶来控制报文流量的,报文被转发前首先需要对报文进行分类,如果是符合规定流量特征的报文,则查看令牌桶中是否有足够的令牌,如果令牌桶中有足够的令牌,则报文可以被转发,令牌桶中减掉与转发的报文数量相应的令牌数;如果令牌桶中没有足够的令牌,则该报文被丢弃。由此,可以实现对某类报文的流量进行控制。现有的流量监管技术中,并不感知报文特征,因此,对于分片报文和一个完整的报文并不会区别的对待。所以会造成分片报文有可能部分被转发,部分被丢弃。在报文的接收端,由于缺少部分分片报文,无法组合成完整的报文,而只能将接收到的分片报文丢弃。从而造成了网络带宽的浪费。

发明内容
本发明实施例涉及一种发送报文的方法和装置,可以防止分片报文中的部分分片无法发送而导致在接收端无法组合成完整报文。本发明实施例提供了一种发送报文的方法,所述发送报文的方法包括判断报文是否为分片报文;如果所述报文是分片报文,判断令牌桶中的令牌数是否足够;当令牌桶中令牌数足够时,发送所述分片报文,并减掉所述令牌桶中的令牌数,减掉的令牌数量与发送的分片报文的字节数相应;当令牌桶中令牌数不足时,发送所述分片报文,并减掉所述令牌桶中的令牌数,减掉的令牌数量与发送的分片报文的字节数相应;其中,减掉与发送的分片报文字节数相应的令牌数量后,所述令牌桶中的令牌数为负数。。本发明实施例提供了一种发送报文的装置,所述发送报文的装置包括第一判断单元,用于判断报文是否为分片报文,如果所述报文是分片报文则判断令牌桶中的令牌数是否足够;当令牌桶中令牌数足够时,触发发送单元和第一处理单元; 当令牌桶中令牌数不足时,触发发送单元和第二处理单元;发送单元,用于发送所述分片报文;第一处理单元,用于减掉所述令牌桶中的令牌数,其中,减掉的令牌数量与发送的分片报文的字节数相应;第二处理单元,用于减掉所述令牌桶中的令牌数,其中,减掉的令牌数量与发送的
4分片报文的字节数相应;减掉与发送的分片报文字节数相应的令牌数量后,所述令牌桶中的令牌数为负数。本实施例的发送报文的方法和装置,即使令牌桶中没有足够的令牌,也可以通过令牌桶的赤字,将分片报文发送出去,使得接收方能够收到属于同一个报文的所有的分片报文并组合成一个完整的报文,避免了网络资源和带宽的浪费。


图1为本发明实施例提供一种发送报文的方法的流程图;图2为本发明另一实施例提供一种发送报文的方法的流程图;图3为本发明实施例提供一种发送报文的装置的示意图;图4为本发明另一实施例提供一种发送报文的装置的示意图;图5为本发明又一实施例提供一种发送报文的装置的示意图。
具体实施例方式下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。本发明实施例的发送报文的方法和装置,在报文发送时需要先判断报文的类型, 如果报文是分片报文则做特殊处理,当具有与该分片报文属于同一报文的分片报文被转发过时,即使该分片报文本来不符合转发条件也要强行转发,与现有的报文发送方法并不相同,这样才能保证分片报文均被转发。图1为本发明实施例提供一种发送报文的方法的流程图,如图所示,本实施例的发送报文的方法具体包括101,判断报文是否为分片报文;102,如果报文是分片报文,则判断令牌桶中的令牌数是否足够;103,当令牌桶中令牌数足够时,发送所述分片报文,并减掉所述令牌桶中的令牌数;其中,减掉的令牌数量与发送的分片报文的字节数相应;104,当令牌桶中令牌数不足时,发送所述分片报文,并减掉所述令牌桶中的令牌数;其中,减掉的令牌数量与发送的分片报文的字节数相应;而在减掉与发送的分片报文字节数相应的令牌数量后,令牌桶中的令牌数为负数(也可称为令牌桶的赤字)。从中可以看出,本实施例的发送报文的方法,即使令牌桶中没有足够的令牌,也可以通过令牌桶的赤字,将分片报文发送出去,使得接收方能够收到属于同一个报文的所有的分片报文并组合成一个完整的报文,避免了网络资源和带宽的浪费。可选的,如图2所示,本发明另一实施例提供一种发送报文的方法的流程图,包括201,判断报文是否为分片报文,如果是则执行202 ;202,判断令牌桶中的令牌数是否足够;如果是则执行204,否则执行206 ;例如,根据该分片报文自身的报文长度(字节数),判断令牌桶中的令牌数是否足够;204,发送分片报文,并减掉所述令牌桶中的令牌数;其中,减掉的令牌数量与发送的分片报文的字节数相应;
205,在分片报文流表中记录该分片报文;对于一个分片报文来说,报文头中的标识(英文全称为identifier,简称为ID) 字段能够标识出该分片报文属于哪一个原始数据报(即一个完整的报文);报文头中的偏移字段则能够标识出该分片报文在原始数据报内的位置;报文头中的标志(英文全称为 Flag)字段能够标识出一个报文是否为分片报文。因此,在205中,优选的,可以在分片报文流表中记录该分片报文的报文头中的标识字段、偏移字段以及标志字段。在另一可选实现中,还可以在分片报文流表中记录该分片报文的整个报文头信息。206,查询分片报文流表,判断分片报文流表中是否存在与所述分片报文匹配的表项,如果是则执行207,否则执行208 ;207,发送所述分片报文,并减掉所述令牌桶中的令牌数;其中,减掉的令牌数量与发送的分片报文的字节数相应,所述令牌桶中的令牌数为负数;执行205 ;分片报文流表中存在于该分片报文匹配的表项,说明在之前,至少有一个与该分片报文属于同一个报文的其他分片报文,已经被发送出去。208,丢弃或缓存该分片报文。 本发明的实施例中,可以直接将该分片报文丢弃,也可以缓存该分片报文,待后续令牌桶中的令牌数足够了、或者是分片报文流表中存在与该分片报文匹配的表项后,再继续处理。从中可以看出,本实施例的发送报文的方法,即使令牌桶中没有足够的令牌,只要分片报文流表中存在与分片报文匹配的表项,就可以通过令牌桶赤字,将该分片报文发送出去,使得接收方能够收到属于同一个报文的所有的分片报文并组合成一个完整的报文, 避免了网络资源和带宽的浪费。可选的,如果在101或者201中判断报文不是分片报文,则可以按照现有技术的方案来处理,本发明的实施例不做限定。可选的,在205中,将该分片报文记录到上述分片报文流表时,如果在分片报文流表中,记录的至少两个分片报文已经能够组合成一个完整的报文,则释放该分片报文流表中用于记录所述至少两个分片报文的资源。例如,可以根据分片报文的IP报文头中的标志字段和偏移字段就可以判断出记录的分片报文是否可以完整的组合成一个完整的报文。进一步可选的,上述204和205的执行顺序可互换,或同时执行;上述205和207的执行顺序可互换,或同时执行。为了简便,本实施例以及附图中仅示出了一种情况,实际上本发明的实施例对此并不限定。可选的,当令牌桶中的令牌数为负数时,后续注入的令牌将优先用于抵消令牌桶的赤字,然后再增加令牌。优选的,令牌桶的赤字上限可以在令牌桶初始化的时候设定。上述实施例是对于发送报文的方法的描述,当然发送报文可以通过发送报文的装置来实现,图3为本发明实施例提供一种发送报文的装置的示意图,如图所示,本实施例的发送报文的装置具体包括第一判断单元11、发送单元12、第一处理单元13和第二处理单元14。其中第一判断单元11,用于判断报文是否为分片报文,如果报文是分片报文,则判断令牌桶中的令牌数是否足够;当令牌桶中令牌数足够时,触发发送单元12和第一处理单元 13 ;当令牌桶中令牌数不足时,触发发送单元12和第二处理单元14 ;
发送单元12,用于发送分片报文;第一处理单元13,用于减掉所述令牌桶中的令牌数,其中,减掉的令牌数量与发送的分片报文的字节数相应;第二处理单元14,用于减掉所述令牌桶中的令牌数,其中,减掉的令牌数量与发送的分片报文的字节数相应,减掉与发送的分片报文字节数相应的令牌数量后,令牌桶中的令牌数为负数(也可称为令牌桶的赤字)。本发明实施例的发送报文的装置,即使令牌桶中没有足够的令牌,也可以通过令牌桶的赤字,将分片报文发送出去,使得接收方能够收到属于同一个报文的所有的分片报文并组合成一个完整的报文,避免了网络资源和带宽的浪费。可选的,如图4所示,本发明另一实施例中,所述装置还可以包括记录单元M和第二判断单元25。在本实施例中,当令牌桶中令牌数足够时,所述第一判断单元11还进一步用于触发所述记录单元M ;当令牌桶中令牌数不足时,所述第一判断单元11还进一步用于通过所述第二判断单元25,触发发送单元12、第二处理单元14和记录单元对。其中,所述记录单元M,用于在分片报文流表中记录该分片报文;所述第二判断单元25用于查询分片报文流表,判断分片报文流表中是否存在与该分片报文匹配的表项,如果存在,则触发发送单元12、第二处理单元14和记录单元M ;进一步可选的,如图5所示,本发明又一实施例中,所述装置还可以包括释放单元沈。如果在分片报文流表中,记录的至少两个分片报文已经能够组合成一个完整的报文,则所述释放单元26用于释放所述分片报文流表中用于记录所述至少两个分片报文的资源。本实施例的发送报文的装置,对于发送的分片报文,即使令牌桶中没有足够的令牌,只要分片报文流表中存在与该分片报文匹配的表项,则可以通过令牌桶赤字,将该分片报文发送出去,使得接收方能够收到属于同一个报文的所有的分片报文并组合成一个完整的报文,避免了网络资源和带宽的浪费。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。 这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。 专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器 (ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。以上所述的具体实施方式
,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式
而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种发送报文的方法,其特征在于,包括判断报文是否为分片报文;如果所述报文是分片报文,判断令牌桶中的令牌数是否足够;当令牌桶中令牌数足够时,发送所述分片报文,并减掉所述令牌桶中的令牌数,减掉的令牌数量与发送的分片报文的字节数相应;当令牌桶中令牌数不足时,发送所述分片报文,并减掉所述令牌桶中的令牌数,减掉的令牌数量与发送的分片报文的字节数相应;其中,减掉与发送的分片报文字节数相应的令牌数量后,所述令牌桶中的令牌数为负数。
2.根据权利要求1所述的发送报文的方法,其特征在于,当所述令牌桶中的令牌数不足时,在发送所述分片报文之前,所述方法还包括查询分片报文流表,判断所述分片报文流表中是否存在与所述分片报文匹配的表项;如存在与所述分片报文匹配的表项,则发送所述分片报文。
3.根据权利要求1或2所述的发送报文的方法,其特征在于,当所述令牌桶中的令牌数足够或者不足时,所述方法还包括在分片报文流表中记录所述分片报文。
4.根据权利要求3所述的发送报文的方法,其特征在于,在所述分片报文流表中记录所述分片报文,包括在分片报文流表中,至少记录所述分片报文的报文头中的标识字段、 偏移字段以及标志字段。
5.根据权利要求3所述的发送报文的方法,其特征在于,如果在所述分片报文流表中, 记录的至少两个分片报文已经能够组合成一个完整的报文,则所述方法进一步包括释放所述分片报文流表中用于记录所述至少两个分片报文的资源。
6.一种发送报文的装置,其特征在于,包括第一判断单元,用于判断报文是否为分片报文,如果所述报文是分片报文则判断令牌桶中的令牌数是否足够;当令牌桶中令牌数足够时,触发发送单元和第一处理单元;当令牌桶中令牌数不足时,触发发送单元和第二处理单元;发送单元,用于发送所述分片报文;第一处理单元,用于减掉所述令牌桶中的令牌数,其中,减掉的令牌数量与发送的分片报文的字节数相应;第二处理单元,用于减掉所述令牌桶中的令牌数,其中,减掉的令牌数量与发送的分片报文的字节数相应;减掉与发送的分片报文字节数相应的令牌数量后,所述令牌桶中的令牌数为负数。
7.根据权利要求6所述的发送报文的装置,其特征在于,当令牌桶中令牌数足够时,所述第一判断单元还进一步用于触发记录单元;当令牌桶中令牌数不足时,所述第一判断单元还进一步用于通过第二判断单元,触发所述发送单元、所述第二处理单元和所述记录单元;其中所述记录单元,用于在分片报文流表中记录该分片报文;所述第二判断单元,用于查询所述分片报文流表,判断所述分片报文流表中是否存在与该分片报文匹配的表项,如果存在,则触发所述发送单元、所述第二处理单元和所述记录单元。
8.根据权利要求7所述的发送报文的装置,其特征在于,所述装置还包括释放单元;如果在所述分片报文流表中,记录的至少两个分片报文已经能够组合成一个完整的报文,则所述释放单元用于释放所述分片报文流表中用于记录所述至少两个分片报文的资源。
全文摘要
本发明实施例涉及一种发送报文的方法和装置,所述发送报文的方法包括判断报文是否为分片报文;如果所述报文是分片报文,判断令牌桶中的令牌数是否足够;发送所述分片报文,并减掉所述令牌桶中的令牌数,减掉的令牌数量与发送的分片报文的字节数相应,当令牌桶中令牌数不足时,减掉与发送的分片报文字节数相应的令牌数量后,所述令牌桶中的令牌数为负数。本实施例的发送报文的方法和装置,即使令牌桶中没有足够的令牌,也可以通过令牌桶的赤字,将分片报文发送出去,使得接收方能够收到属于同一个报文的所有的分片报文并组合成一个完整的报文,避免了网络资源和带宽的浪费。
文档编号H04L12/56GK102271086SQ201110209059
公开日2011年12月7日 申请日期2011年7月25日 优先权日2011年7月25日
发明者张永平, 柳军, 王风利, 高征海 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1