CN106713099B - 一种gre隧道的维护方法及装置 - Google Patents

一种gre隧道的维护方法及装置 Download PDF

Info

Publication number
CN106713099B
CN106713099B CN201510786304.XA CN201510786304A CN106713099B CN 106713099 B CN106713099 B CN 106713099B CN 201510786304 A CN201510786304 A CN 201510786304A CN 106713099 B CN106713099 B CN 106713099B
Authority
CN
China
Prior art keywords
gre tunnel
adjusting
gre
time
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510786304.XA
Other languages
English (en)
Other versions
CN106713099A (zh
Inventor
杨强
林文福
景晓军
沈智杰
唐新民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Surfilter Network Technology Co ltd
Original Assignee
Surfilter Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Surfilter Network Technology Co ltd filed Critical Surfilter Network Technology Co ltd
Priority to CN201510786304.XA priority Critical patent/CN106713099B/zh
Publication of CN106713099A publication Critical patent/CN106713099A/zh
Application granted granted Critical
Publication of CN106713099B publication Critical patent/CN106713099B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9015Buffering arrangements for supporting a linked list

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种GRE隧道的维护方法及装置,该方法包括:加根据GRE隧道的丢包率实时调整该GRE隧道的缓存个数;根据该GRE隧道的数据包的乱序程度调整其缓存的存储结构;根据所述乱序程度及所述缓存调整该GRE隧道的查找算法;根据该GRE隧道的活动时间执行该GRE隧道的淘汰机制。该发明的有益效果为:维护大量GRE隧道的同时,能够自适应调整隧道中的缓存大小,根据隧道中隧道的乱序程度自动切换乱序算法,从而能够更加快速的完成乱序的重排,通过有效的GRE隧道淘汰策略,使得系统内存能够维持在一种均衡的状态,能够长期可靠的维护GRE隧道。

Description

一种GRE隧道的维护方法及装置
技术领域
本发明涉及通信技术领域,更具体地说,涉及一种GRE隧道的维护方法及装置。
背景技术
随着电信技术的发展,各种不同的隧道技术也不断的涌现出来,GRE(GenericRouting Encapsulation)隧道技术正是在这种背景下产生,它是一种应用较为广泛的隧道技术,由两端IP地址和目的IP地址来定义,根据GRE包头中的协议类型,校验,密钥,序列号来维持一条隧道,当隧道创建完毕之后,可以根据当前隧道中的序列号来完成端地址和目的地址的连续通信过程。
现有技术中提供的一种动态GRE隧道建立的方法,该方法主要应用于包括动态GRE隧道的主动发起方与被动接收方的系统中。主要针对于GRE隧道的建立所提出的一种方法,并没有针对GRE隧道在创建过程中的所占用的系统内存进行一种动态的分配和管理,而且当GRE隧道中的序列号在通信情况较为复杂的时候,会产生乱序以及数据异常丢失的情况,这个时候就必须要对乱序的数据进行备份,还原和删减,这就涉及到了在维护大量GRE隧道的时候如何有效快速的完成GRE隧道的乱序重排的过程。
在长期创建GRE隧道之后,当维护的GRE隧道数目达到百万级别乃至千万级别的时候,由于大量数据的缓存,必然会导致系统内存的耗尽,从而使系统的性能出现下降,乃至高负荷运转。
发明内容
本发明要解决的技术问题在于,针对现有技术中内存耗尽造成性能下降,导致高负荷运转的缺陷,提供一种GRE隧道的维护方法及装置。
本发明解决其技术问题所采用的技术方案是:
构造一种GRE隧道的维护方法,包括:
根据GRE隧道的丢包率实时调整该GRE隧道的缓存个数;
根据该GRE隧道的数据包的乱序程度调整其缓存的存储结构;
根据所述乱序程度及所述缓存调整该GRE隧道的查找算法;
根据该GRE隧道的活动时间执行该GRE隧道的淘汰机制。
在本发明所述的维护方法中,所述根据GRE隧道的丢包率实时调整该GRE隧道的缓存个数的步骤包括:
S11、根据GRE隧道的丢包率确定该GRE隧道的缓存个数;
S12、判断所述丢包率是否保持不变,若是,执行步骤S13,若否,转至步骤S14;
S13、对该GRE隧道不作调整;
S14、判断所述丢包率是否上升,若是,执行步骤S15,若否,转至步骤S16;
S15、增加所述缓存个数;
S16、判断所述GRE隧道的缓存个数是否低于预设的丢包级别的缓存个数,若是,转至步骤S18,若否,转至步骤S17;
S17、调整该GRE隧道的缓存个数,转至步骤S16;
S18、减少所述缓存个数。
在本发明所述的维护方法中,所述根据该GRE隧道的数据包的乱序程度调整其缓存的存储结构的步骤包括:
获取该GRE隧道的数据包的序列号;若所述序列号大于预设的第一阈值时,则将所述数据包存储至内存中;若所述序列号小于所述第一阈值时,则丢弃所述数据包;
依据所述乱序程度与所述缓存个数计算获取一计算值;若所述计算值小于预设的第二阈值时,将存储于所述缓存中的数据包的存储结构调整为链表存储结构;若所述计算值不小于所述第二阈值时,将存储于所述缓存中的数据包的存储结构调整为二叉树存储结构。
在本发明所述的维护方法中,所述根据所述乱序程度及所述缓存调整该GRE隧道的查找算法的步骤包括:
若所述乱序程度处于第一区间时,采用顺序查找算法;
若所述乱序程度处于第二区间时,采用折半查找算法;
若所述乱序程度处于第三区间时,采用索引查找算法;
若所述乱序程度处于第四区间时,采用哈希查找算法。
在本发明所述的维护方法中,所述根据该GRE隧道的活动时间执行该GRE隧道的淘汰机制的步骤包括:
获取所有GRE隧道的最终活动时间及所述最终活动时间中的最小时间;
根据所述最终活动时间及所述GRE隧道的总个数计算基准时间;
根据所述基准时间及所述最小时间计算淘汰时间;
淘汰最终活动时间处于所述淘汰时间之前的GRE隧道。
另一方面,提供一种GRE隧道的维护装置,包括:
缓存个数调整模块,用于根据GRE隧道的丢包率实时调整该GRE隧道的缓存个数;
存储结构调整模块,用于根据该GRE隧道的数据包的乱序程度调整其缓存的存储结构;
查找算法调整模块,用于根据所述乱序程度及所述缓存调整该GRE隧道的查找算法;
淘汰机制执行模块,用于根据该GRE隧道的活动时间执行该GRE隧道的淘汰机制。
在本发明所述的维护装置中,所述缓存个数调整模块包括:
缓存个数确定子模块,用于根据GRE隧道的丢包率确定该GRE隧道的缓存个数;
第一判断子模块,用于判断所述丢包率是否保持不变;
第二判断子模块,用于判断所述丢包率是否上升;
缓存个数增加子模块,用于增加所述缓存个数;
第三判断子模块,用于判断所述GRE隧道的缓存个数是否低于预设的丢包级别的缓存个数;
缓存个数调整子模块,用于调整该GRE隧道的缓存个数;
缓存个数减少子模块,用于减少所述缓存个数。
在本发明所述的维护装置中,所述存储结构调整模块包括:
序列号判断子模块,用于获取该GRE隧道的数据包的序列号;若所述序列号大于预设的第一阈值时,则将所述数据包存储至内存中;若所述序列号小于所述第一阈值时,则丢弃所述数据包;
存储结构调整子模块,用于依据所述乱序程度与所述缓存个数计算获取一计算值;若所述计算值小于预设的第二阈值时,将存储于所述缓存中的数据包的存储结构调整为链表存储结构;若所述计算值不小于所述第二阈值时,将存储于所述缓存中的数据包的存储结构调整为二叉树存储结构。
在本发明所述的维护装置中,于所述查找算法调整模块中:
若所述乱序程度处于第一区间时,采用顺序查找算法;
若所述乱序程度处于第二区间时,采用折半查找算法;
若所述乱序程度处于第三区间时,采用索引查找算法;
若所述乱序程度处于第四区间时,采用哈希查找算法。
在本发明所述的维护装置中,所述淘汰机制执行模块包括:
时间获取子模块,用于获取所有GRE隧道的最终活动时间及所述最终活动时间中的最小时间;
基准时间计算子模块,用于根据所述最终活动时间及所述GRE隧道的总个数计算基准时间;
淘汰时间计算子模块,用于根据所述基准时间及所述最小时间计算淘汰时间;
淘汰子模块,用于淘汰最终活动时间处于所述淘汰时间之前的GRE隧道。
上述公开的一种GRE隧道的维护方法及装置具有以下有益效果:本发明用以维护大量GRE隧道的同时,能够根据隧道中当前数据的实时情况,自适应调整隧道中的缓存大小,根据隧道中隧道的乱序程度自动切换乱序算法,从而能够更加快速的完成乱序的重排,通过有效的GRE隧道淘汰策略,使得系统内存能够维持在一种均衡的状态,能够长期可靠的维护GRE隧道。
附图说明
图1为本发明提供的一种GRE隧道的维护方法流程图;
图2为本发明提供的调整GRE隧道的缓存个数的方法流程图;
图3为本发明提供的的调整缓存的存储结构的坐标图;
图4为本发明提供的调整GRE隧道的查找算法的坐标图;
图5为本发明提供的GRE隧道的淘汰机制的示意图;
图6为本发明提供的一种GRE隧道的维护装置框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种GRE隧道的维护方法及装置,本发明涉及GRE隧道的内存管理技术,以及根据隧道实时情况自适应动态调整缓存技术。本发明目的在于,根据隧道丢包率动态调整隧道的缓存大小,根据隧道中数据包的乱序程度动态调整缓存的存储结构,根据乱序程度和隧道缓存数的乘积动态调整乱序的查找算法,保证系统在处理海量数据的速度,通过隧道的活动时间来淘汰隧道,完成隧道内存资源的释放,从而保证系统的内存资源达到均衡的状态,保证系统长期稳定的运行。从而解决了如下问题:在维护大量的GRE隧道的时候,如何管理系统中的内存资源,使得系统资源不会随着维护GRE隧道数量的上升而导致内存资源的耗尽,导致性能下降。在维护大量的GRE隧道的时候,如何自适应调整各个隧道中的缓存大小,并且能够根据隧道中的乱序程度,自适应调整乱序重排的算法,从而提升隧道中缓存数据的处理速度。
参见图1,图1为本发明提供的一种GRE隧道的维护方法流程图,参见图2,图2为本发明提供的调整GRE隧道的缓存个数的方法流程图,该GRE隧道的维护方法包括:
S1、根据GRE隧道的丢包率实时调整该GRE隧道的缓存个数;该步骤S1包括以下子步骤:
S11、根据GRE隧道的丢包率确定该GRE隧道的缓存个数;通过统计丢包的数量,当数据异常丢包的时候则不断的递增,隧道淘汰的时候需要清0。根据当前接收到的数据包总数,可以算出当前隧道的丢包率。例如,首先当隧道在新创建的时候,由于丢包率初始化为1所以每条隧道的缓存个数设定为5,然后从统计丢包率单元中可以实时获得到当前隧道的丢包率,根据缓存个数每条隧道/丢包率(百分比)图可以确定当前隧道的缓存个数。
S12、判断所述丢包率是否保持不变,若是,执行步骤S13,若否,转至步骤S14;
S13、对该GRE隧道不作调整;例如,当丢包率在10%以下的时候不做隧道缓存的调整。
S14、判断所述丢包率是否上升,若是,执行步骤S15,若否,转至步骤S16;
S15、增加所述缓存个数;
S16、判断所述GRE隧道的缓存个数是否低于预设的丢包级别的缓存个数,若是,转至步骤S18,若否,转至步骤S17;
S17、调整该GRE隧道的缓存个数,转至步骤S16;
S18、减少所述缓存个数。
例如,当丢包率在10%~20%的时候,调整缓存大小为10个,当丢包率在20%~25%的时候,调整缓存大小为40个,当超过20%的时候,调整大小为100个。由于隧道的丢包率实时变动的,这样根据不同的丢包率可以自适应的调整隧道的缓存大小,保证每条隧道中的数据能够准确的还原出来。
S2、根据该GRE隧道的数据包的乱序程度调整其缓存的存储结构;参见图3,图3为本发明提供的的调整缓存的存储结构的坐标图,该步骤S2包括以下子步骤:
S21、获取该GRE隧道的数据包的序列号;若所述序列号大于预设的第一阈值时,则将所述数据包存储至内存中;若所述序列号小于所述第一阈值时,则丢弃所述数据包;GRE隧道中由于通信线路的复杂,隧道中的数据中并非都是能够在数据到来的时候都能够实时的处理掉,所以通常GRE隧道提供了序列号字段,隧道根据序列号的来判断当前数据是否需要得到处理,如果当前序列号的数据为需要处理的序列号的时候,则直接处理掉数据,不需要放到缓存中,如果当前序列号的数据大于需要处理的序列号(即预设的第一阈值)的时候,认为该序列号的数据需要等待其他数据的到来才能够得到处理,这样就必须要把这个数据缓存到内存中,如果当前序列号的数据小于需要处理的序列号的时候,认为该序列号的数据已经得到了处理,当前接收到的数据有可能是隧道重传的一个数据,可以直接丢弃掉。
此外,统计隧道中乱序的程度,当前进入到的隧道的数据如果并非是当前需要处理的单元的时候,将会把数据放到缓存中,在第一次放入到缓存中的时候,计数为1,后续如果需要继续放入到缓存中的时候,则与上一次放入到缓存中的数据的序列号进行对比,如果为上一次数据序列号+1时则计数为0,否则计数为1,根据隧道的最大数值将得到一个乱序程度(百分比)。
S22、依据所述乱序程度与所述缓存个数计算获取一计算值;若所述计算值小于预设的第二阈值时,将存储于所述缓存中的数据包的存储结构调整为链表存储结构;若所述计算值不小于所述第二阈值时,将存储于所述缓存中的数据包的存储结构调整为二叉树存储结构。放入到缓存中的数据可以分成两中存储结构,一种存储结构为链表,而另外一种存储结构为二叉树,分成两种存储结构主要是为了降低系统的处理负荷,由于链表结构在维护的时候系统开销比较小,但是查询速度相对比较慢,而二叉树在维护的时候系统开销比较大,但是查询速度相对比较,为了使得系统能够得到更加的均衡,系统可以根据隧道中的缓存个数*(1-乱序程度)得到一个值,如果该值小于40的时候,则采用链表存储结构,而当超过40的时候,则采用二叉树存储结构。而链表需要过渡为二叉树,或者二叉树退化为链表的时候,这个相对于存储来说,由于只是改变了存储结构中的指针指向,并没有对数据做二次复制操作,所以过渡过程的开销可以忽略不计。
S3、根据所述乱序程度及所述缓存调整该GRE隧道的查找算法;参见图4,图4为本发明提供的调整GRE隧道的查找算法的坐标图,可以知道采用链表存储结构的缓存数据在查找的时候速度是相对比较慢,而系统维护的GRE隧道总数又是在百万或者千万级别的海量数据,为了加快系统的处理速度,该步骤S3包括以下四种情况:
C1、若所述乱序程度处于第一区间时,采用顺序查找算法;例如,当乱序程度低于5%的时候,采取简单的顺序查找方式。
C2、若所述乱序程度处于第二区间时,采用折半查找算法;例如,在乱序程度处于5%~10%的时候采取折半查找算法。
C3、若所述乱序程度处于第三区间时,采用索引查找算法;例如,在10%~30%的时候采取索引查找。
C4、若所述乱序程度处于第四区间时,采用哈希查找算法。例如,超过30%的时候采取哈希查找。
S4、根据该GRE隧道的活动时间执行该GRE隧道的淘汰机制。参见图5,图5为本发明提供的GRE隧道的淘汰机制的示意图,该步骤S4包括以下子步骤:
S41、获取所有GRE隧道的最终活动时间及所述最终活动时间中的最小时间;例如,GRE隧道每次在被使用的时候需要及时更新当前的时间,时间格式为xxxx.yyyyy(xxx为秒数,yyyy为纳秒数),可以得到隧道的最终活动时间,由于GRE隧道创建数目的增加,必将导致内存的紧张,这个时候可以根据GRE隧道的最终活动时间,算出一组总时间,以及最小时间。
S42、根据所述最终活动时间及所述GRE隧道的总个数计算基准时间;例如,根据GRE隧道个数,可以得到一个平均时间,将这个平均时间作为基准时间。平均时间的具体计算方法为:假设系统维护了100条隧道,由于每条隧道的活动时间是不一样的,系统根据隧道的活动状况,来更新活动时间,从而产生一组隧道活动时间组,这里为100个,隧道的总活动时间为100条隧道的总时间,即100个数据之和SUM,根据SUM/100(隧道总数),可以得到一个平均时间。
S43、根据所述基准时间及所述最小时间计算淘汰时间;例如,淘汰时间则为(基准时间-最小时间)*20%(即图5中基准线与最低线的20%)得出一个淘汰时间。
S44、淘汰最终活动时间处于所述淘汰时间之前的GRE隧道。例如,最终根据这个淘汰时间,淘汰掉在这个时间之前的隧道,并且释放掉这些隧道占用的内存,从而保证后续GRE隧道的继续创建,而系统的内存维持到一个相对稳定的位置上。
参见图6,图6为本发明提供的一种GRE隧道的维护装置100框图,该GRE隧道的维护装置100包括:
缓存个数调整模块1,用于根据GRE隧道的丢包率实时调整该GRE隧道的缓存个数;
存储结构调整模块2,用于根据该GRE隧道的数据包的乱序程度调整其缓存的存储结构;
查找算法调整模块3,用于根据所述乱序程度及所述缓存调整该GRE隧道的查找算法;
淘汰机制执行模块4,用于根据该GRE隧道的活动时间执行该GRE隧道的淘汰机制。
进一步的,所述缓存个数调整模块1包括:
缓存个数确定子模块,用于根据GRE隧道的丢包率确定该GRE隧道的缓存个数;
第一判断子模块,用于判断所述丢包率是否保持不变;
第二判断子模块,用于判断所述丢包率是否上升;
缓存个数增加子模块,用于增加所述缓存个数;
第三判断子模块,用于判断所述GRE隧道的缓存个数是否低于预设的丢包级别的缓存个数;
缓存个数调整子模块,用于调整该GRE隧道的缓存个数;
缓存个数减少子模块,用于减少所述缓存个数。
进一步的,所述存储结构调整模块2包括:
序列号判断子模块,用于获取该GRE隧道的数据包的序列号;若所述序列号大于预设的第一阈值时,则将所述数据包存储至内存中;若所述序列号小于所述第一阈值时,则丢弃所述数据包;
存储结构调整子模块,用于依据所述乱序程度与所述缓存个数计算获取一计算值;若所述计算值小于预设的第二阈值时,将存储于所述缓存中的数据包的存储结构调整为链表存储结构;若所述计算值不小于所述第二阈值时,将存储于所述缓存中的数据包的存储结构调整为二叉树存储结构。
进一步的,于所述查找算法调整模块3中:
若所述乱序程度处于第一区间时,采用顺序查找算法;
若所述乱序程度处于第二区间时,采用折半查找算法;
若所述乱序程度处于第三区间时,采用索引查找算法;
若所述乱序程度处于第四区间时,采用哈希查找算法。
进一步的,所述淘汰机制执行模块4包括:
时间获取子模块,用于获取所有GRE隧道的最终活动时间及所述最终活动时间中的最小时间;
基准时间计算子模块,用于根据所述最终活动时间及所述GRE隧道的总个数计算基准时间;
淘汰时间计算子模块,用于根据所述基准时间及所述最小时间计算淘汰时间;
淘汰子模块,用于淘汰最终活动时间处于所述淘汰时间之前的GRE隧道。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (6)

1.一种GRE隧道的维护方法,其特征在于,包括:
根据GRE隧道的丢包率实时调整该GRE隧道的缓存个数;
根据该GRE隧道的数据包的乱序程度调整其缓存的存储结构;所述根据该GRE隧道的数据包的乱序程度调整其缓存的存储结构的步骤包括:获取该GRE隧道的数据包的序列号;若所述序列号大于预设的第一阈值时,则将所述数据包存储至内存中;若所述序列号小于所述第一阈值时,则丢弃所述数据包;依据所述乱序程度与所述缓存个数计算获取一计算值;若所述计算值小于预设的第二阈值时,将存储于所述缓存中的数据包的存储结构调整为链表存储结构;若所述计算值不小于所述第二阈值时,将存储于所述缓存中的数据包的存储结构调整为二叉树存储结构;
根据所述乱序程度及所述缓存调整该GRE隧道的查找算法;
根据该GRE隧道的活动时间执行该GRE隧道的淘汰机制;所述根据该GRE隧道的活动时间执行该GRE隧道的淘汰机制的步骤包括:获取所有GRE隧道的最终活动时间及所述最终活动时间中的最小时间;根据所述最终活动时间及所述GRE隧道的总个数计算基准时间;根据所述基准时间及所述最小时间计算淘汰时间;淘汰最终活动时间处于所述淘汰时间之前的GRE隧道。
2.根据权利要求1所述的维护方法,其特征在于,所述根据GRE隧道的丢包率实时调整该GRE隧道的缓存个数的步骤包括:
S11、根据GRE隧道的丢包率确定该GRE隧道的缓存个数;
S12、判断所述丢包率是否保持不变,若是,执行步骤S13,若否,转至步骤S14;
S13、对该GRE隧道不作调整;
S14、判断所述丢包率是否上升,若是,执行步骤S15,若否,转至步骤S16;
S15、增加所述缓存个数;
S16、判断所述GRE隧道的缓存个数是否低于预设的丢包级别的缓存个数,若是,转至步骤S18,若否,转至步骤S17;
S17、调整该GRE隧道的缓存个数,转至步骤S16;
S18、减少所述缓存个数。
3.根据权利要求1所述的维护方法,其特征在于,所述根据所述乱序程度及所述缓存调整该GRE隧道的查找算法的步骤包括:
若所述乱序程度处于第一区间时,采用顺序查找算法;
若所述乱序程度处于第二区间时,采用折半查找算法;
若所述乱序程度处于第三区间时,采用索引查找算法;
若所述乱序程度处于第四区间时,采用哈希查找算法。
4.一种GRE隧道的维护装置,其特征在于,包括:
缓存个数调整模块,用于根据GRE隧道的丢包率实时调整该GRE隧道的缓存个数;
存储结构调整模块,用于根据该GRE隧道的数据包的乱序程度调整其缓存的存储结构;所述存储结构调整模块包括:序列号判断子模块,用于获取该GRE隧道的数据包的序列号;若所述序列号大于预设的第一阈值时,则将所述数据包存储至内存中;若所述序列号小于所述第一阈值时,则丢弃所述数据包;
存储结构调整子模块,用于依据所述乱序程度与所述缓存个数计算获取一计算值;若所述计算值小于预设的第二阈值时,将存储于所述缓存中的数据包的存储结构调整为链表存储结构;若所述计算值不小于所述第二阈值时,将存储于所述缓存中的数据包的存储结构调整为二叉树存储结构;
查找算法调整模块,用于根据所述乱序程度及所述缓存调整该GRE隧道的查找算法;
淘汰机制执行模块,用于根据该GRE隧道的活动时间执行该GRE隧道的淘汰机制;所述淘汰机制执行模块包括:时间获取子模块,用于获取所有GRE隧道的最终活动时间及所述最终活动时间中的最小时间;基准时间计算子模块,用于根据所述最终活动时间及所述GRE隧道的总个数计算基准时间;淘汰时间计算子模块,用于根据所述基准时间及所述最小时间计算淘汰时间;淘汰子模块,用于淘汰最终活动时间处于所述淘汰时间之前的GRE隧道。
5.根据权利要求4所述的维护装置,其特征在于,所述缓存个数调整模块包括:
缓存个数确定子模块,用于根据GRE隧道的丢包率确定该GRE隧道的缓存个数;
第一判断子模块,用于判断所述丢包率是否保持不变;
第二判断子模块,用于判断所述丢包率是否上升;
缓存个数增加子模块,用于增加所述缓存个数;
第三判断子模块,用于判断所述GRE隧道的缓存个数是否低于预设的丢包级别的缓存个数;
缓存个数调整子模块,用于调整该GRE隧道的缓存个数;
缓存个数减少子模块,用于减少所述缓存个数。
6.根据权利要求4所述的维护装置,其特征在于,所述查找算法调整模块还用于:
若所述乱序程度处于第一区间时,采用顺序查找算法;
若所述乱序程度处于第二区间时,采用折半查找算法;
若所述乱序程度处于第三区间时,采用索引查找算法;
若所述乱序程度处于第四区间时,采用哈希查找算法。
CN201510786304.XA 2015-11-16 2015-11-16 一种gre隧道的维护方法及装置 Active CN106713099B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510786304.XA CN106713099B (zh) 2015-11-16 2015-11-16 一种gre隧道的维护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510786304.XA CN106713099B (zh) 2015-11-16 2015-11-16 一种gre隧道的维护方法及装置

Publications (2)

Publication Number Publication Date
CN106713099A CN106713099A (zh) 2017-05-24
CN106713099B true CN106713099B (zh) 2020-08-04

Family

ID=58931005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510786304.XA Active CN106713099B (zh) 2015-11-16 2015-11-16 一种gre隧道的维护方法及装置

Country Status (1)

Country Link
CN (1) CN106713099B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109672701B (zh) * 2017-10-16 2020-12-11 中国科学院信息工程研究所 一种差异化tcp链接管理方法及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100442755C (zh) * 2003-11-14 2008-12-10 华为技术有限公司 一种保证通用路由封装隧道传输可靠的方法
CN100588171C (zh) * 2007-09-10 2010-02-03 杭州华三通信技术有限公司 实现通用路由封装隧道穿越的方法及设备
CN101494585B (zh) * 2009-03-11 2011-02-02 杭州华三通信技术有限公司 一种实现通用路由封装隧道可靠传输的方法及设备

Also Published As

Publication number Publication date
CN106713099A (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
US11228534B2 (en) Congestion control method, network device, and network interface controller
AU2015255284B2 (en) Method and system for reduction of time variance of packets received from bonded communication links
US20200304608A1 (en) Packet Transmission Method and Apparatus
US8081644B2 (en) Method and device for controlling a queue buffer
CN111669732B (zh) 一种用于在蓝牙Mesh网络中的节点处过滤冗余数据包的方法
WO2012138521A1 (en) Systems and methods for in-line removal of duplicate network packets
CN106713182A (zh) 一种处理流表的方法及装置
CN103475657B (zh) 防syn泛洪攻击的处理方法和装置
CN113064738B (zh) 基于概要数据的主动队列管理方法
CN106576108A (zh) 通信系统中的通信方法和设备及系统
JP2021064835A (ja) ネットワーク管理装置及び方法
CN106713099B (zh) 一种gre隧道的维护方法及装置
CN111224888A (zh) 发送报文的方法及报文转发设备
CN108512708B (zh) 一种缓存计算的方法及装置
CN113438176B (zh) 一种处理分片ip数据包的方法及装置
US20160149817A1 (en) Analysis device
CN109450814A (zh) 分片报文的转发方法及装置
CN109729014B (zh) 一种报文存储方法和装置
CN117999771A (zh) 基于转发表的填覆水平适配转发数据库学习速率
CN109861908B (zh) 一种路由转发方法及设备
CN109726146B (zh) 基于区块高度的可定制淘汰策略的可伸缩缓存方法
CN106095559A (zh) 基于移动终端数据代理数据加速节流系统及方法
CN102868621B (zh) 一种利用异步方式实现大容量路由快速写硬件的方法
Whitehead et al. An efficient hybrid approach to per-flow state tracking for high-speed networks
CN117714233B (zh) 一种用于隧道报文封装的方法、计算机设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant