本发明专利技术公开了一种标记报文的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取表项当前统计的报文流量值,计算所述报文流量值与上一次统计的报文流量值的差值;计算当前时间点与上一次统计的时间点的时间差,将所述差值与所述时间差的比值作为传输报文字节的速率;从多个表项的速率中确定取值最大的预定数目个速率,将与所述预定数目个速率对应的报文作为大象流,以在发生传输拥塞时,优先对所述大象流进行拥塞通告标记。该实施方式根据数据流的本身特性,分析出大象流和老鼠流,对时延敏感的老鼠流不进行ECN标记,正常转发,而对于大象流进行ECN标记后转发。而对于大象流进行ECN标记后转发。而对于大象流进行ECN标记后转发。
【技术实现步骤摘要】
一种标记报文的方法和装置
[0001]本专利技术涉及计算机
,尤其涉及一种标记报文的方法和装置。
技术介绍
[0002]在源服务器与目标服务器之间传输数据发生拥塞时,发生拥塞的交换机会对IP报文进行ECN(Explicit Congestion Notification,显式拥塞通告功能)标记、转发;目标服务器接收ECN标记的报文,向源服务器发送一个CNP通告(Congestion Notification Packet,拥塞通知方式),通告链路发生拥塞,需降低数据发送速率,减轻网络拥塞。
[0003]除上述方式外,目前还存有其他几种拥塞报文ECN标记技术,如Fast ECN标记和基于转发时延的ECN标记。在实现本专利技术的过程中,专利技术人发现现有技术至少存在如下问题:均没有基于数据流本身特性做出相应调整,无法做到最优的网络转发性能,如老鼠流对缓解链路拥塞意义不大,但会被ENC标记丢弃。
技术实现思路
[0004]有鉴于此,本专利技术实施例提供一种标记报文的方法和装置,至少能够解决现有没有考虑数据流本身特性以及全部丢弃数据流的不合理现象。
[0005]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种标记报文的方法,包括:
[0006]获取表项当前统计的报文流量值,计算所述报文流量值与上一次统计的报文流量值的差值;其中,报文流量值通过统计报文的字节数得到,表项与报文具有对应关系;
[0007]计算当前时间点与上一次统计的时间点的时间差,将所述差值与所述时间差的比值作为传输报文字节的速率;
[0008]从多个表项的速率中确定取值最大的预定数目个速率,将与所述预定数目个速率对应的报文作为大象流,以在发生传输拥塞时,优先对所述大象流进行拥塞通告标记。
[0009]可选的,所述获取表项当前统计的报文流量值,包括:
[0010]接收报文并解析,获取所述报文中的至少一个元组信息,查询是否存在与所述至少一个元组信息对应的表项;
[0011]若查询结果为存在,则通过与所述表项对应的计数器,将所述报文的字节数累加至已统计的字节数上;或
[0012]若查询结果为不存在,则基于所述至少一个元组信息创建表项,为所述表项配置一个计数器,以通过计数器统计所述报文的字节数。
[0013]可选的,所述查询是否存在与所述至少一个元组信息对应的表项,包括:对所述至少一个元组信息进行哈希处理,得到哈希索引,查询是否存在与所述哈希索引对应的表项;
[0014]所述基于所述至少一个元组信息创建表项,包括:将所述哈希索引作为所述表项的索引项。
[0015]可选的,所述至少一个元组信息包括源IP地址、目标IP地址、源端口、目标端口和
协议字段中的至少一个。
[0016]可选的,在所述计算所述报文流量值与上一次统计的报文流量值的差值之后,在所述计算当前时间点与上一次统计的时间点的时间差之前,还包括:
[0017]若所述差值为零,则确定无流量通过,触发对所述表项和与所述表项对应的计数器的删除操作。
[0018]可选的,在将与所述预定数目个速率对应的报文作为大象流,以在发生传输拥塞时,优先对所述大象流进行拥塞通告标记之后,还包括:
[0019]将除所述大象流外的剩余报文作为老鼠流,以在发生传输拥塞并丢弃大象流后,若仍发生传输拥塞,则对所述老鼠流进行拥塞通告标记。
[0020]为实现上述目的,根据本专利技术实施例的另一方面,提供了一种标记报文的装置,包括:
[0021]流量查询模块,用于获取表项当前统计的报文流量值;其中,报文流量值通过统计报文的字节数得到,表项与报文具有对应关系;
[0022]速率计算模块,用于计算所述报文流量值与上一次统计的报文流量值的差值,当前时间点与上一次统计的时间点的时间差,将所述差值与所述时间差的比值作为传输报文字节的速率;
[0023]标记控制模块,用于从多个表项的速率中确定取值最大的预定数目个速率,将与所述预定数目个速率对应的报文作为大象流,以在发生传输拥塞时,优先对所述大象流进行拥塞通告标记。
[0024]可选的,所述流量查询模块,包括:
[0025]流匹配模块,用于接收报文并解析,获取所述报文中的至少一个元组信息,查询是否存在与所述至少一个元组信息对应的表项;
[0026]流量统计更新模块,用于若查询结果为存在,则通过与所述表项对应的计数器,将所述报文的字节数累加至已统计的字节数上;
[0027]流学习模块,用于若查询结果为不存在,则基于所述至少一个元组信息创建表项,为所述表项配置一个计数器,以通过计数器统计所述报文的字节数。
[0028]可选的,所述流匹配模块,还用于:对所述至少一个元组信息进行哈希处理,得到哈希索引,查询是否存在与所述哈希索引对应的表项;
[0029]所述流学习模块,还用于:将所述哈希索引作为所述表项的索引项。
[0030]可选的,所述至少一个元组信息包括源IP地址、目标IP地址、源端口、目标端口和协议字段中的至少一个。
[0031]可选的,还包括流老化模块,用于:若所述差值为零,则确定无流量通过,触发对所述表项和与所述表项对应的计数器的删除操作。
[0032]可选的,还包括老鼠流处理模块,用于:将除所述大象流外的剩余报文作为老鼠流,以在发生传输拥塞并丢弃大象流后,若仍发生传输拥塞,则对所述老鼠流进行拥塞通告标记。
[0033]为实现上述目的,根据本专利技术实施例的再一方面,提供了一种标记报文的电子设备。
[0034]本专利技术实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多
个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的标记报文的方法。
[0035]为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的标记报文的方法。
[0036]根据本专利技术所述提供的方案,上述专利技术中的一个实施例具有如下优点或有益效果:基于数据流特性对发生拥塞的IP报文进行有效的ECN标记,开始时仅对大象流进行ECN标记,对时延敏感的老鼠流不进行ECN标记,正常转发,只有在丢弃大象流后仍不能缓解拥塞时才丢弃老鼠流。
[0037]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0038]附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:
[0039]图1是根据本专利技术实施例的一种标记报文的方法的主要流程示意图;
[0040]图2是根据本专利技术实施例的一种可选的标记报文的方法的流程示意图;
[0041]图3是根据本专利技术实施例的另一种可选的标记报文的方法的流程示意图;
[0042]图4是根据本专利技术实施例的一种标记报文的装置的主要模块示意图;
[0043]图本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种标记报文的方法,其特征在于,包括:获取表项当前统计的报文流量值,计算所述报文流量值与上一次统计的报文流量值的差值;其中,报文流量值通过统计报文的字节数得到,表项与报文具有对应关系;计算当前时间点与上一次统计的时间点的时间差,将所述差值与所述时间差的比值作为传输报文字节的速率;从多个表项的速率中确定取值最大的预定数目个速率,将与所述预定数目个速率对应的报文作为大象流,以在发生传输拥塞时,优先对所述大象流进行拥塞通告标记。2.根据权利要求1所述的方法,其特征在于,所述获取表项当前统计的报文流量值,包括:接收报文并解析,获取所述报文中的至少一个元组信息,查询是否存在与所述至少一个元组信息对应的表项;若查询结果为存在,则通过与所述表项对应的计数器,将所述报文的字节数累加至已统计的字节数上;或若查询结果为不存在,则基于所述至少一个元组信息创建表项,为所述表项配置一个计数器,以通过计数器统计所述报文的字节数。3.根据权利要求2所述的方法,其特征在于,所述查询是否存在与所述至少一个元组信息对应的表项,包括:对所述至少一个元组信息进行哈希处理,得到哈希索引,查询是否存在与所述哈希索引对应的表项;所述基于所述至少一个元组信息创建表项,包括:将所述哈希索引作为所述表项的索引项。4.根据权利要求2或3所述的方法,其特征在于,所述至少一个元组信息包括源IP地址、目标IP地址、源端口、目标端口和协议字段中的至少一个。5.根据权利要求1所述的方法,其特征在于,在所述计算所述报文流量值与上一次统计的报文流量值的差值之后,在所述计算当前时间点与上一次统计的时间点的时间差之前,还包括:若所述差值为零,则确定无流量通过,触发对所述表项和与所述表项对应的计数器的删除操作。6.根据权利要求1所述的方法...
【专利技术属性】
技术研发人员:夏云磊,王家富,李力,
申请(专利权)人:北京京东世纪贸易有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。