CN105743760B - 一种流量切换方法和装置 - Google Patents
一种流量切换方法和装置 Download PDFInfo
- Publication number
- CN105743760B CN105743760B CN201410767054.0A CN201410767054A CN105743760B CN 105743760 B CN105743760 B CN 105743760B CN 201410767054 A CN201410767054 A CN 201410767054A CN 105743760 B CN105743760 B CN 105743760B
- Authority
- CN
- China
- Prior art keywords
- network
- network equipment
- message
- tunnel
- time
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种流量切换方法和装置,包括:第一网络设备通过所述第一网络隧道向所述第二网络设备发送第一报文,通过所述第二网络隧道向所述第二网络设备发送第二报文,获取所述第二网络设备根据所述第一报文返回的第三报文,获取所述第二网络设备根据所述第二报文返回的第四报文,根据第一时间、第二时间、第三时间和第四时间确定所述第一网络隧道和第二网络隧道之间的网络时延;判断网络时延是否满足第一切换条件,当判断结果为满足时,将所述第二网络隧道中的第一转发流量切换到所述第一网络隧道转发,可见在网络时延过大时只有一条网络隧道在转发流量,第二网络设备不再受到所述网络时延的影响,降低了报文无法重组的情况发生的几率。
Description
技术领域
本发明涉及通信领域,特别是涉及一种流量切换方法和装置。
背景技术
混合链路(Hybrid Access,HA)是网络架构中的常见的接入形式。比如用户侧利用家庭网关(Home Gateway,HG)通过两条隧道接入网络就是一种常见的HA接入形式。为了配合HA接入形式,一般使用混合链路聚合节点(Hybrid access aggregation point,HAAP)作为网络侧的路由器节点,在HG和HAAP之间可以存在两条隧道,比如较常见的数字用户线路(Digital Subscriber Line,DSL)隧道和长期演进(Long Term Evolution,LTE)隧道。
HA接入形式下的报文转发方式与其他网络接入形式下的报文转发方式不同,会使用两条隧道采取逐包转发的方式转发报文。然而两条隧道所处的网络之间具有网络时延。这样当转发报文到达用户侧(例如HG)或者到达网络侧(例如HAAP)时,收到的报文会出现乱序的现象,为此在用户侧和网络侧均开辟了一个缓存空间缓存优先到达的报文,当剩余的报文到达后,将先到达保存在缓存空间的报文和后到达的报文重组后一起发送,以此达到保序的效果。
然而缓存空间的大小有限,当两条隧道所处网络之间的网络时延过大时,当缓存空间用尽后也没有等到剩余报文时,会使得获取的报文无法重组,导致HA接入形式的稳定性差、用户体验度差的效果。
发明内容
为了解决上述技术问题,本发明实施例提供了一种流量切换方法和装置,以使得在两条隧道所处网络之间的网络时延过大时,将流量切换到一条隧道进行转发,解决了因为两条隧道所处网络之间的网络时延过大导致接收到的报文无法重组的问题。
第一方面,本发明实施例提供了一种流量切换方法,应用于HA,所述HA接入形式中包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间通过第一网络隧道和第二网络隧道连接,所述方法包括:
所述第一网络设备通过所述第一网络隧道向所述第二网络设备发送第一报文,所述第一报文中携带第一时间戳,所述第一时间戳包含第一时间,所述第一时间为所述第一网络设备发送所述第一报文的时间;
所述第一网络设备通过所述第二网络隧道向所述第二网络设备发送第二报文,所述第二报文中携带第二时间戳,所述第二时间戳包含第二时间,所述第二时间为所述第一网络设备发送所述第二报文的时间;
所述第一网络设备获取所述第二网络设备根据所述第一报文返回的第三报文,所述第三报文中携带所述第一时间戳,所述第一网络设备确定第三时间,所述第三时间为所述第一网络设备接收到所述第三报文的时间;
所述第一网络设备获取所述第二网络设备根据所述第二报文返回的第四报文,所述第四报文中携带所述第二时间戳,所述第一网络设备确定第四时间,所述第四时间为所述第一网络设备接收到所述第四报文的时间;
所述第一网络设备根据所述第一时间、第二时间、第三时间和第四时间确定所述第一网络隧道和第二网络隧道之间的网络时延;
所述第一网络设备判断所述网络时延是否满足第一切换条件,所述第一切换条件包括所述网络时延大于第一预设阈值;
当判断结果为满足所述第一切换条件时,所述第一网络设备将所述第二网络隧道中的第一转发流量切换到所述第一网络隧道转发,所述第一转发流量为所述第二网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。
在第一方面的第一种可能的实现方式中,当判断结果为满足所述第一切换条件时,还包括:
所述第一网络设备向所述第二网络设备发送第一通告报文,使得所述第二网络设备将所述第二网络隧道中的第二转发流量切换到所述第一网络隧道转发,所述第一通告报文包括所述第一网络设备判断所述网络时延是否满足第一切换条件的判断结果,所述第二转发流量为所述第二网络隧道中从所述第二网络设备向所述第一网络设备转发的流量。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一切换条件还包括所述网络时延大于所述第一预设阈值的次数大于第一数值。
结合第一方面或者第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,在所述第一网络设备将所述第二网络隧道的转发流量切换到所述第一网络隧道转发后,还包括:
所述第一网络设备判断所述网络时延是否满足第二切换条件,所述第二切换条件包括所述网络时延小于第二预设阈值;
当判断结果为满足所述第二切换条件时,所述第一网络设备将第一回切流量切换到所述第二网络隧道转发,所述第一回切流量由所述第一网络设备根据所述第一网络隧道中从所述第一网络设备向所述第二网络设备转发的流量大小确定。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,当判断结果为满足所述第二切换条件时,还包括:
所述第一网络设备向所述第二网络设备发送第二通告报文,使得所述第二网络设备将所述第二网络隧道中的第二回切流量切换到所述第一网络隧道转发,所述第二通告报文包括所述第一网络设备判断所述网络时延是否满足第二切换条件判断结果,所述第二回切流量由所述第二网络设备根据所述第一网络隧道中从所述第二网络设备向所述第一网络设备转发的流量大小确定。
结合第一方面的第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述第二切换条件还包括所述网络时延大于所述第二预设阈值的次数大于第二数值。
结合第一方面或者第一方面的第一种或第二种或第三种或第四种或第五种可能的实现方式,在第六种可能的实现方式中,
所述第一网络设备按照第一周期发送所述第一报文;
所述第一网络设备按照第二周期发送所述第二报文。
结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,还包括:
在建立所述第二网络隧道时,所述第一网络设备获取所述第二网络设备发送的确认信息,所述确认信息用于确认所述第二网络隧道建立成功,所述确认信息包括预设数据,所述预设数据包括所述第一周期和所述第二周期,所述第二网络隧道先于所述第一网络隧道建立成功。
第二方面,本发明实施例提供了一种流量切换装置,应用于HA,所述HA接入形式中包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间通过第一网络隧道和第二网络隧道连接,包括:
发送单元,用于通过所述第一网络隧道向所述第二网络设备发送第一报文,所述第一报文中携带第一时间戳,所述第一时间戳包含第一时间,所述第一时间为所述第一网络设备发送所述第一报文的时间;
所述发送单元还用于通过所述第二网络隧道向所述第二网络设备发送第二报文,所述第二报文中携带第二时间戳,所述第二时间戳包含第二时间,所述第二时间为所述第一网络设备发送所述第二报文的时间;
接收单元,用于获取所述第二网络设备根据所述第一报文返回的第三报文,所述第三报文中携带所述第一时间戳,所述第一网络设备确定第三时间,所述第三时间为所述第一网络设备接收到所述第三报文的时间;
所述接收单元还用于获取所述第二网络设备根据所述第二报文返回的第四报文,所述第四报文中携带所述第二时间戳,所述第一网络设备确定第四时间,所述第四时间为所述第一网络设备接收到所述第四报文的时间;
计算单元,用于根据所述第一时间、第二时间、第三时间和第四时间确定所述第一网络隧道和第二网络隧道之间的网络时延;
判断单元,用于判断所述网络时延是否满足第一切换条件,所述第一切换条件包括所述网络时延大于第一预设阈值;
当所述判断单元的判断结果为满足所述第一切换条件时,切换单元,用于将所述第二网络隧道中的第一转发流量切换到所述第一网络隧道转发,所述第一转发流量为所述第二网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。
在第二方面的第一种可能的实现方式中,
所述发送单元还用于当所述判断单元的判断结果为满足所述第一切换条件时,向所述第二网络设备发送第一通告报文,使得所述第二网络设备将所述第二网络隧道中的第二转发流量切换到所述第一网络隧道转发,所述第一通告报文包括所述第一网络设备判断所述网络时延是否满足第一切换条件的判断结果,所述第二转发流量为所述第二网络隧道中从所述第二网络设备向所述第一网络设备转发的流量。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,述第一切换条件还包括所述网络时延大于所述第一预设阈值的次数大于第一数值。
结合第二方面或者第二方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,
所述判断单元还用于在触发所述切换单元后,判断所述网络时延是否满足第二切换条件,所述第二切换条件包括所述网络时延小于第二预设阈值;
当所述判断单元的判断结果为满足所述第二切换条件时,触发所述切换单元将第一回切流量切换到所述第二网络隧道转发,所述第一回切流量由所述第一网络设备根据所述第一网络隧道中从所述第一网络设备向所述第二网络设备转发的流量大小确定。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,
所述发送单元还用于当所述判断单元的判断结果为满足所述第二切换条件时,向所述第二网络设备发送第二通告报文,使得所述第二网络设备将所述第二网络隧道中的第二回切流量切换到所述第一网络隧道转发,所述第二通告报文包括所述第一网络设备判断所述网络时延是否满足第二切换条件判断结果,所述第二回切流量由所述第二网络设备根据所述第一网络隧道中从所述第二网络设备向所述第一网络设备转发的流量大小确定。
结合第二方面的第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述第二切换条件还包括所述网络时延大于所述第二预设阈值的次数大于第二数值。
结合第二方面或者第二方面的第一种或第二种或第三种或第四种或第五种可能的实现方式,在第六种可能的实现方式中,
所述发送单元按照第一周期发送所述第一报文;
所述发送单元按照第二周期发送所述第二报文。
结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,
在建立所述第二网络隧道时,所述接收单元还用于获取所述第二网络设备发送的确认信息,所述确认信息用于确认所述第二网络隧道建立成功,所述确认信息包括预设数据,所述预设数据包括所述第一周期和所述第二周期,所述第二网络隧道先于所述第一网络隧道建立成功。
由上述技术方案可以看出,所述第一网络设备在发送第一、第二报文的时间戳里分别携带发送该报文的时间,当获取对应第一、第二报文所返回的第三、第四报文时,第三、第四报文中也携带相同的时间戳,也就是所述第一网络设备发送第一、第二报文的时间,所述第一网络设备通过获取第三、第四报文的时间以及第三、第四报文中时间戳的时间,计算出所述第一网络链路与所述第二网络链路之间的网络时延,所述第一网络设备根据判断所述网络时延是否满足第一切换条件的判断结果,在所述网络时延过大时将所述第二网络隧道的转发流量切换到所述第一网络隧道转发,这样只有一条网络隧道在转发流量,使得所述第二网络设备接收到的报文不再受到所述网络时延的影响,由此降低了所述第二网络设备接收到的报文由于缓存空间不足导致报文无法重组的情况发生的几率。提高了HA接入形式的稳定性和改善了用户体验度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种流量切换方法的方法流程图;
图2为本发明实施例提供的一种流量切换方法的方法流程图;
图3为本发明实施例提供的一种流量切换方法的方法流程图;
图4为本发明实施例提供的一种流量切换方法的方法流程图;
图5为本发明实施例提供的一种流量切换装置的装置结构图;
图6为本发明实施例提供的一种第一网络设备的硬件结构示意图。
具体实施方式
现有技术常见的HA接入方式中,用户侧和网络侧之间会有两条网络隧道,而且由于隧道类型不同、所处网络不同、传输方式不同等情况,在转发报文时,这两条网络隧道之间或多或少会具有一定的网络时延,当这个网络时延过大时,同一组多个报文通过这两条网络隧道从用户侧传输到网络侧或者从网络侧传输到用户侧时,接收报文的一侧接收到的这一组报文之间将会出现乱序的现象,虽然用户侧和网络侧都为了保序而分别开辟了缓存空间来缓存同一组报文中先到达的报文,但是当所述网络时延过大时,有限容量大小的缓存空间也难以达到保序的效果,导致依然会出现同一组报文之间乱序的情况,由此造成发生乱序的同一组报文无法重组,造成丢包等问题。而且,当这两条网络隧道之间的网络时延较大时,还会影响隧道业务吞吐量降低,以文件传输协议(File Transfer Protocol,FTP)为例,当同一组报文中先到达网络侧(例如HAAP)并被缓存到缓存空间中时,由于HAAP还在等待缓存报文所属同一组的其他报文,会导致发送端一直无法收到被HAAP缓存报文的确认字符(Acknowledgement,ACK),这种情况下发送端会认为被缓存的报文没有送达而一直进行重传,由此导致隧道业务吞吐量降低。为了解决HA接入方式中用户侧、网络侧之间两条隧道的网络时延在过大时造成的问题,本发明实施例提供了一种流量切换方法和装置,其中,所述第一网络设备在发送第一、第二报文的时间戳里分别携带发送该报文的时间,当获取对应第一、第二报文所返回的第三、第四报文时,第三、第四报文中也携带相同的时间戳,也就是所述第一网络设备发送第一、第二报文的时间,所述第一网络设备通过获取第三、第四报文的时间以及第三、第四报文中时间戳的时间,计算出所述第一网络链路与所述第二网络链路之间的网络时延,所述第一网络设备根据判断所述网络时延是否满足第一切换条件的判断结果,在所述网络时延过大时将所述第二网络隧道的转发流量切换到所述第一网络隧道转发,这样只有一条网络隧道在转发流量,使得所述第二网络设备接收到的报文不再受到所述网络时延的影响,由此降低了所述第二网络设备接收到的报文由于缓存空间不足导致报文无法重组的情况发生的几率。提高了HA接入形式的稳定性和改善了用户体验度。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,所述第一网络设备可以理解为用户侧的网络设备,比如可以为HG。所述第二网络设备可以理解为网络侧的网络设备,比如可以为HAAP。对于在所述第一网络设备和所述第二网络设备之间的第一网络隧道和第二网络隧道。由于本发明实施例中,在网络时延满足第一切换条件时,是将所述第二网络隧道的流量切换到第一网络隧道中转发,本发明并不限定所述第一网络隧道和所述第二网络隧道的网络时延或者说网络质量之间的大小关系或好坏关系,不过在合理解决网络时延的条件下,可以理解为所述第一网络隧道的网络时延或者说网络质量好于所述第二网络隧道。或者说,所述第一网络隧道可以理解为网络时延相对较好的网络隧道,例如可以是DSL隧道(DSL tunnel),所述第二网络隧道可以理解为网络时延相对不好的网络隧道,比如可以是LTE隧道(LTE tunnel)。所述第一网络隧道和所述第二网络隧道可以均是属于同一个网络的网络隧道,也可以分别属于不同网络的网隧道。
图1为本发明实施例提供的一种流量切换方法的方法流程图,应用于HA,所述HA接入形式中包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间通过第一网络隧道和第二网络隧道连接,所述方法包括:
S101:所述第一网络设备通过所述第一网络隧道向所述第二网络设备发送第一报文,所述第一报文中携带第一时间戳,所述第一时间戳包含第一时间,所述第一时间为所述第一网络设备发送所述第一报文的时间。
举例说明,所述第一报文可以为现有的、所述第一网络设备和所述第二网络设备之间通过所述第一网络隧道发送的报文,也可以是专门用于携带所述第一时间戳的报文。可选的,本发明实施例为了节约系统资源,提供一种利用现有报文携带所述第一时间戳的方式,所述第一报文具体可以为所述第一网络隧道的通用路由封装协议保活(GenericRouting Encapsulation hello,GRE hello)报文,当所述第一网络隧道为DSL tunnel时,所述第一报文可以是DSL hello报文。
所述第一时间戳可以是属性值组合对(attribute value pair,AVP)的一种类型,用于携带所述第一网络设备发送所述第一报文的时间值。
S102:所述第一网络设备通过所述第二网络隧道向所述第二网络设备发送第二报文,所述第二报文中携带第二时间戳,所述第二时间戳包含第二时间,所述第二时间为所述第一网络设备发送所述第二报文的时间。
举例说明,所述第二报文可以为现有的、所述第一网络设备和所述第二网络设备之间通过所述第二网络隧道发送的报文,也可以是专门用于携带所述第二时间戳的报文。可选的,本发明实施例为了节约系统资源,提供一种利用现有报文携带所述第二时间戳的方式,所述第二报文具体可以为所述第二网络隧道的GRE hello报文,当所述第二网络隧道为LTE tunnel时,所述第二报文可以是LTE hello报文。
所述第二时间戳可以是AVP的一种类型,用于携带所述第一网络设备发送所述第二报文的时间值。
需要注意的是,本发明并不限定步骤S101和S102的执行顺序,可以是先后执行,也可以是同时执行。
S103:所述第一网络设备获取所述第二网络设备根据所述第一报文返回的第三报文,所述第三报文中携带所述第一时间戳,所述第一网络设备确定第三时间,所述第三时间为所述第一网络设备接收到所述第三报文的时间。
举例说明,所述第一网络设备通过在发送所述第一报文后一定时间作为判断收到的报文是否与所述第一报文相关的依据。若在发送所述第一报文后的一定时间内收到从所述第二网络设备返回的报文,那么所述第一网络设备可以确认该报文为对应于所述第一报文所返回的报文。
通过预先设置,所述第二网络设备在接收到所述第一报文后,并不改变所述第一报文所携带的所述第一时间戳,并把所述第一时间戳添加到所述第三报文中,返回给所述第一网络设备。当所述第一网络设备收到所述第三报文时,可以明确自身接收所述第三报文的第三时间,通过解析所述第三报文所携带的第一时间戳得到发送所述第一报文的第一时间。通过比较第一时间和第三时间,可以得出所述第一网络隧道的时延。
当所述第一报文具体为GRE hello报文时,所述第三报文可以是通用路由封装协议保活确认(Generic Routing Encapsulation hello Acknowledgement,GRE hello ack)报文。当所述第一网络隧道为DSL tunnel时,所述第三报文可以是DSL hello ack报文。
S104:所述第一网络设备获取所述第二网络设备根据所述第二报文返回的第四报文,所述第四报文中携带所述第二时间戳,所述第一网络设备确定第四时间,所述第四时间为所述第一网络设备接收到所述第四报文的时间。
举例说明,所述第一网络设备通过在发送所述第二报文后一定时间作为判断收到的报文是否与所述第二报文相关的依据。若在发送所述第二报文后的一定时间内收到从所述第二网络设备返回的报文,那么所述第一网络设备可以确认该报文为对应于所述第二报文所返回的报文。
通过预先设置,所述第二网络设备在接收到所述第二报文后,并不改变所述第二报文所携带的所述第二时间戳,并把所述第二时间戳添加到所述第四报文中,返回给所述第一网络设备。当所述第一网络设备收到所述第四报文时,可以明确自身接收所述第四报文的第四时间,通过解析所述第四报文所携带的第二时间戳得到发送所述第二报文的第二时间。通过比较第二时间和第四时间,可以得出所述第二网络隧道的时延。
当所述第二报文具体为GRE hello报文时,所述第四报文可以是GRE hello ack报文。当所述第二网络隧道为LTE tunnel时,所述第四报文可以是LTE hello ack报文。
需要注意的是,本发明不限定所述第一网络设备获取第三报文和第四报文的先后顺序,或者说本发明不限定步骤S103和S104的执行顺序,可以是先后执行,也可以是同时执行。
S105:所述第一网络设备根据所述第一时间、第二时间、第三时间和第四时间确定所述第一网络隧道和第二网络隧道之间的网络时延。
举例说明,在确定所述第一网络隧道和第二网络隧道之间的网络时延之前,需要先算出所述第一网络隧道自身的网络时延和所述第二网络隧道自身的网络时延。
可选的,本发明实施例提供了一种计算方式:
所述第一网络隧道自身的网络时延可以通过所述第三时间减去第一时间获得,具体可以计算回路时延(round trip time,RTT):
RTT1=T3-T1;其中,RTT1为所述第一网络隧道的网络时延,T3为所述第三时间,T1为所述第一时间。
所述第二网络隧道自身的网络时延可以通过所述第四时间减去第二时间获得,具体为:
RTT2=T4-T2;其中,RTT2为所述第二网络隧道的网络时延,T4为所述第四时间,T2为所述第二时间。
所述第一网络隧道和第二网络隧道之间的网络时延可以通过RTT1和RTT2获得,具体为:
△RTT=RTT2-RTT1;其中,△RTT为所述网络时延。
S106:所述第一网络设备判断所述网络时延是否满足第一切换条件,所述第一切换条件包括所述网络时延大于第一预设阈值。
举例说明,所述第一预设阈值可以通过综合第一网络设备和所述第二网络设备的性能以及分别开辟的缓存空间大小确定。
当所述网络时延满足所述第一切换条件时,可以理解为所述第一网络隧道和所述第二网络隧道之间网络时延已经较大,在第二网络设备接收到的报文可能会出现乱序的情况,也就是说,所述第一网络设备一旦发现所述网络时延过大,便可以进行流量切换操作。
当所述网络时延不满足所述第一切换条件时,可以理解为所述第一网络隧道和所述第二网络隧道之间网络时延还处于合理范围,通过所述第一网络设备和所述第二网络设备分别开辟的缓存空间可以有效达到保序的效果。
S107:当判断结果为满足所述第一切换条件时,所述第一网络设备将所述第二网络隧道中的第一转发流量切换到所述第一网络隧道转发,所述第一转发流量为所述第二网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。
举例说明,所述第一网络设备一般只能控制自身使用哪一条隧道转发报文,故当所述网络时延大于所述第一预设阈值时,所述第一网络设备可以将所述第二网络隧道中相对于所述第一网络设备的上行流量切换到所述第一网络隧道中进行转发,而不再使用所述第二网络隧道转发上行流量。所述第二网络隧道中相对于所述第一网络设备的上行流量可以理解为所述第二网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。切换后,在所述HA接入方式中,所述第二网络设备将不会通过所述第二网络隧道接收报文,而只通过所述第一网络隧道接收报文,由此可以降低所述第二网络设备接收到的报文出现乱序的可能。
可以看出,所述第一网络设备在发送第一、第二报文的时间戳里分别携带发送该报文的时间,当获取对应第一、第二报文所返回的第三、第四报文时,第三、第四报文中也携带相同的时间戳,也就是所述第一网络设备发送第一、第二报文的时间,所述第一网络设备通过获取第三、第四报文的时间以及第三、第四报文中时间戳的时间,计算出所述第一网络链路与所述第二网络链路之间的网络时延,所述第一网络设备根据判断所述网络时延是否满足第一切换条件的判断结果,在所述网络时延过大时将所述第二网络隧道的转发流量切换到所述第一网络隧道转发,这样只有一条网络隧道在转发流量,使得所述第二网络设备接收到的报文不再受到所述网络时延的影响,由此降低了所述第二网络设备接收到的报文由于缓存空间不足导致报文无法重组的情况发生的几率。提高了HA接入形式的稳定性和改善了用户体验度。
所述第一网络设备在当判断结果为满足所述第一切换条件时,除了对所述第二网络隧道的上行流量进行切换以外,还可以将该判断结果向所述第二网络设备发送,通知所述第二网络设备将所述第二网络隧道中相对于所述第一网络设备的下行流量也切换到所述第一网络隧道中转发。图2为本发明实施例提供的一种流量切换方法的方法流程图,如图2的S208所示:
S201:所述第一网络设备通过所述第一网络隧道向所述第二网络设备发送第一报文,所述第一报文中携带第一时间戳,所述第一时间戳包含第一时间,所述第一时间为所述第一网络设备发送所述第一报文的时间。
S202:所述第一网络设备通过所述第二网络隧道向所述第二网络设备发送第二报文,所述第二报文中携带第二时间戳,所述第二时间戳包含第二时间,所述第二时间为所述第一网络设备发送所述第二报文的时间。
S203:所述第一网络设备获取所述第二网络设备根据所述第一报文返回的第三报文,所述第三报文中携带所述第一时间戳,所述第一网络设备确定第三时间,所述第三时间为所述第一网络设备接收到所述第三报文的时间。
S204:所述第一网络设备获取所述第二网络设备根据所述第二报文返回的第四报文,所述第四报文中携带所述第二时间戳,所述第一网络设备确定第四时间,所述第四时间为所述第一网络设备接收到所述第四报文的时间。
S205:所述第一网络设备根据所述第一时间、第二时间、第三时间和第四时间确定所述第一网络隧道和第二网络隧道之间的网络时延。
S206:所述第一网络设备判断所述网络时延是否满足第一切换条件,所述第一切换条件包括所述网络时延大于第一预设阈值。
S207:当判断结果为满足所述第一切换条件时,所述第一网络设备将所述第二网络隧道中的第一转发流量切换到所述第一网络隧道转发,所述第一转发流量为所述第二网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。
S208:当判断结果为满足所述第一切换条件时,所述第一网络设备向所述第二网络设备发送第一通告报文,使得所述第二网络设备将所述第二网络隧道中的第二转发流量切换到所述第一网络隧道转发,所述第一通告报文包括所述第一网络设备判断所述网络时延是否满足第一切换条件的判断结果,所述第二转发流量为所述第二网络隧道中从所述第二网络设备向所述第一网络设备转发的流量。
举例说明,所述第二网络隧道中从所述第二网络设备向所述第一网络设备转发的流量可以理解相对于所述第一网络设备在所述第二网络隧道中的下行流量。切换后,所述第二网络设备将不再使用所述第二网络隧道向所述第一网络设备转发流量,而只用所述第一网络隧道向所述第一网络设备转发流量。所述第二网络设备切换所述第二转发流量到所述第一网络隧道中后,在所述HA接入方式中,所述第一网络设备将不会通过所述第二网络隧道接收到报文,而只会通过所述第一网络隧道接收报文,由此可以降低所述第一网络设备接收到的报文出现乱序的可能。
所述第一通告报文可以是通用路由封装协议通告(GRE notify)报文。
需要注意的是,本发明不限定S207和S208的执行先后顺序,也可以是同时执行。
考虑到网络传输质量的波动对判断网络时延的影响,可选的,本发明实施例还提供了一种第一切换条件,所述第一切换条件除了包括所述网络时延大于第一预设阈值,还包括所述网络时延大于所述第一预设阈值的次数大于第一数值。也就是说,所述第一网络设备将通过多次出现所述网络时延大于所述第一预设阈值后,才确认符合所述第一切换条件。增加累计所述网络时延大于所述第一预设阈值的次数作为判断标准后,能够有效去除网络波动对判断的影响。所述第一数值一般设置为大于等于2的整数。例如,当所述第一数值设置为3时,当所述第一网络设备第三次判断出所述网络时延大于所述第一预设阈值时,进行流量切换。
所述第一网络设备可以周期发送所述第一报文和所述第二报文,也可以随机发送,不过为了能够有效监控所述网络时延,更为优选的可以选择周期性的发送所述第一报文和所述第二报文。可选的,所述第一网络设备按照第一周期发送所述第一报文;所述第一网络设备按照第二周期发送所述第二报文。
举例说明,本发明不限定所述第一周期和所述第二周期之间的大小关系或者是否相同。一种优选的方式是所述第一周期和所述第二周期相同。
当所述第一网络设备具体为HG,所述第二网络设备具体为HAAP,所述第一报文为DSL hello报文,所述第二报文为LTE hello报文时,所述HG发送DSL hello报文的第一周期和发送LTE hello报文的第二周期可以由所述HAAP设置,所述HAAP可以将设置结果通过用于确认所述第二网络隧道建立成功的确认信息携带,发送给所述第一网络设备。这里可以理解为所述第二网络隧道先于所述第一网络隧道建立成功。
可选的,如图2的S200所示:
S200:在建立所述第二网络隧道时,所述第一网络设备获取所述第二网络设备发送的确认信息,所述确认信息用于确认所述第二网络隧道建立成功,所述确认信息包括预设数据,所述预设数据包括所述第一周期和所述第二周期,所述第二网络隧道先于所述第一网络隧道建立成功。
当所述第二网络隧道具体为LTE tunnel时,所述确认信息可以为LTE隧道建立应答(LTE setup accept)报文,所述预设数据可以为保活周期属性(hello interval AVP),其中包括发送DSL hello报文的第一周期和发送LTE hello报文的第二周期。
在流量切换后,所述第一网络设备和所述第二网络设备之间将仅使用所述第一网络隧道转发流量,而不再使用所述第二网络隧道转发流量,但是所述第一网络设备仍然通过所述第二网络隧道发送所述第二报文。不过毕竟所述第一网络隧道的转发流量能力有限,故所述第一网络设备持续判断所述网络时延,当判断所述网络时延好转后,可以选择将当前所述第一网络隧道中转发的部分流量回切到所述第二网络隧道中进行转发,降低所述第一网络隧道的负担。
可选的,在如图1所对应实施例的基础上,在所述第一网络设备将所述第二网络隧道的转发流量切换到所述第一网络隧道转发后,如图3所示,图3为本发明实施例提供的一种流量切换方法的方法流程图。
S301:所述第一网络设备判断所述网络时延是否满足第二切换条件,所述第二切换条件包括所述网络时延小于第二预设阈值。
举例说明,S301中的所述网络时延是通过如图1所对应实施例中S101至S105获得。所述第二预设阈值可以理解为小于所述第一预设阈值,所述第二预设阈值也可以和所述第一预设阈值相同。
当所述网络时延满足所述第二切换条件时,可以理解为当前所述第一网络隧道和所述第二网络隧道之间的网络时延较小,处于可以正常完成流量转发的范围。也就是说,所述第一网络设备一旦发现所述网络时延较小,便可以进行流量回切操作。
当所述网络时延不满足所述第二切换条件时,可以理解为所述第一网络隧道和所述第二网络隧道之间网络时延已经较大,如果使用所述第二网络隧道转发流量,在第二网络设备接收到的报文可能会出现乱序的情况。
S302:当判断结果为满足所述第二切换条件时,所述第一网络设备将第一回切流量切换到所述第二网络隧道转发,所述第一回切流量由所述第一网络设备根据所述第一网络隧道中从所述第一网络设备向所述第二网络设备转发的流量大小确定。
举例说明,所述第一网络设备还是只能控制相对于所述第一网络设备的上行流量的切换,也就是所述第一网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。故所述第一网络设备将所述第一网络隧道中的上行流量中的所述第一回切流量切换到所述第二网络隧道中进行转发。所述第一回切流量的大小可以根据当前所述第一网络隧道中的上行流量的大小确定。一般情况下,所述第一回切流量可以是所述第一网络隧道的上行流量中超出所述第一网络隧道额定带宽的流量。或者可以理解为所述第一回切流量为所述第一网络隧道的上行流量的一部分。
可以看出,在所述网络时延好转后,所述第一网络设备还可以重新开启所述第二网络隧道用来转发流量,降低所述第一网络隧道的流量转发负担,提高网络系统的处理效率。
所述第一网络设备在当判断结果为满足所述第二切换条件时,除了对所述第一网络隧道的上行流量中的第一回切流量进行回切以外,还可以将该判断结果向所述第二网络设备发送,通知所述第二网络设备将所述第一网络隧道中相对于所述第一网络设备的下行流量中的第二回切流量也回切到所述第一网络隧道中转发。图4为本发明实施例提供的一种流量切换方法的方法流程图,如图4的S403所示:
S401:所述第一网络设备判断所述网络时延是否满足第二切换条件,所述第二切换条件包括所述网络时延小于第二预设阈值。
S402:当判断结果为满足所述第二切换条件时,所述第一网络设备将第一回切流量切换到所述第二网络隧道转发,所述第一回切流量由所述第一网络设备根据所述第一网络隧道中从所述第一网络设备向所述第二网络设备转发的流量大小确定。
S403:当判断结果为满足所述第二切换条件时,所述第一网络设备向所述第二网络设备发送第二通告报文,使得所述第二网络设备将所述第二网络隧道中的第二回切流量切换到所述第一网络隧道转发,所述第二通告报文包括所述第一网络设备判断所述网络时延是否满足第二切换条件判断结果,所述第二回切流量由所述第二网络设备根据所述第一网络隧道中从所述第二网络设备向所述第一网络设备转发的流量大小确定。
举例说明,所述第二回切流量的大小可以根据当前所述第一网络隧道中相对于所述第一网络设备的下行流量的大小确定。一般情况下,所述第二回切流量可以是所述第一网络隧道的下行流量中超出所述第一网络隧道额定带宽的流量。或者可以理解为所述第二回切流量为所述第一网络隧道的下行流量的一部分。
所述第二通告报文可以是GRE notify报文。
本发明不限定所述第一回切流量和所述第二回切流量的大小,所述第一回切流量和所述第二回切流量的大小可以相同也可以不同。
需要注意的是,本发明不限定S402和S403的执行先后顺序,也可以是同时执行。
考虑到网络传输质量的波动对判断网络时延的影响,可选的,本发明实施例还提供了一种第二切换条件,所述第二切换条件除了包括所述网络时延小于第二预设阈值,还包括所述网络时延小于所述第二预设阈值的次数大于第二数值。也就是说,所述第一网络设备将通过多次出现所述网络时延小于所述第二预设阈值后,才确认符合所述第二切换条件。增加累计所述网络时延小于所述第二预设阈值的次数作为判断标准后,能够有效去除网络波动对判断的影响。所述第二数值一般设置为大于等于2的整数。例如,当所述第一数值设置为2时,当所述第一网络设备第二次判断出所述网络时延小于所述第二预设阈值时,进行流量切换。本发明不限定所述第一数值和第二数值的大小关系,所述第一数值和第二数值可以不同,也可以相同。
图5为本发明实施例提供的一种流量切换装置的装置结构图,所述流量切换装置500应用于HA,所述HA接入形式中包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间通过第一网络隧道和第二网络隧道连接,包括:
发送单元501,用于通过所述第一网络隧道向所述第二网络设备发送第一报文,所述第一报文中携带第一时间戳,所述第一时间戳包含第一时间,所述第一时间为所述第一网络设备发送所述第一报文的时间。
举例说明,所述第一报文可以为现有的、所述第一网络设备和所述第二网络设备之间通过所述第一网络隧道发送的报文,也可以是专门用于携带所述第一时间戳的报文。可选的,本发明实施例为了节约系统资源,提供一种利用现有报文携带所述第一时间戳的方式,所述第一报文具体可以为所述第一网络隧道的GRE hello报文,当所述第一网络隧道为DSL tunnel时,所述第一报文可以是DSL hello报文。
所述第一时间戳可以是AVP的一种类型,用于携带所述第一网络设备发送所述第一报文的时间值。
所述发送单元501还用于通过所述第二网络隧道向所述第二网络设备发送第二报文,所述第二报文中携带第二时间戳,所述第二时间戳包含第二时间,所述第二时间为所述第一网络设备发送所述第二报文的时间。
举例说明,所述第二报文可以为现有的、所述第一网络设备和所述第二网络设备之间通过所述第二网络隧道发送的报文,也可以是专门用于携带所述第二时间戳的报文。可选的,本发明实施例为了节约系统资源,提供一种利用现有报文携带所述第二时间戳的方式,所述第二报文具体可以为所述第二网络隧道的GRE hello报文,当所述第二网络隧道为LTE tunnel时,所述第二报文可以是LTE hello报文。
所述第二时间戳可以是AVP的一种类型,用于携带所述第一网络设备发送所述第二报文的时间值。
需要注意的是,本发明并不限定所述发送单元501发送所述第一报文和所述第二报文的顺序,也可以是同时发送。
接收单元502,用于获取所述第二网络设备根据所述第一报文返回的第三报文,所述第三报文中携带所述第一时间戳,所述第一网络设备确定第三时间,所述第三时间为所述第一网络设备接收到所述第三报文的时间。
举例说明,所述接收单元502通过在所述发送单元501发送所述第一报文后一定时间作为判断收到的报文是否与所述第一报文相关的依据。若所述接收单元502在发送所述第一报文后的一定时间内收到从所述第二网络设备返回的报文,那么所述接收单元502可以确认该报文为对应于所述第一报文所返回的报文。
通过预先设置,所述第二网络设备在接收到所述第一报文后,并不改变所述第一报文所携带的所述第一时间戳,并把所述第一时间戳添加到所述第三报文中,返回给所述接收单元502。当所述接收单元502收到所述第三报文时,可以明确自身接收所述第三报文的第三时间,通过解析所述第三报文所携带的第一时间戳得到发送所述第一报文的第一时间。通过比较第一时间和第三时间,可以得出所述第一网络隧道的时延。
当所述第一报文具体为GRE hello报文时,所述第三报文可以是GRE hello ack报文。当所述第一网络隧道为DSL tunnel时,所述第三报文可以是DSL hello ack报文。
所述接收单元502还用于获取所述第二网络设备根据所述第二报文返回的第四报文,所述第四报文中携带所述第二时间戳,所述第一网络设备确定第四时间,所述第四时间为所述第一网络设备接收到所述第四报文的时间。
举例说明,所述接收单元502通过在所述发送单元501发送所述第二报文后一定时间作为判断收到的报文是否与所述第二报文相关的依据。若所述接收单元502在发送所述第二报文后的一定时间内收到从所述第二网络设备返回的报文,那么所述接收单元502可以确认该报文为对应于所述第二报文所返回的报文。
通过预先设置,所述第二网络设备在接收到所述第二报文后,并不改变所述第二报文所携带的所述第二时间戳,并把所述第二时间戳添加到所述第四报文中,返回给所述接收单元502。当所述接收单元502收到所述第四报文时,可以明确自身接收所述第四报文的第四时间,通过解析所述第四报文所携带的第二时间戳得到发送所述第二报文的第二时间。通过比较第二时间和第四时间,可以得出所述第二网络隧道的时延。
当所述第二报文具体为GRE hello报文时,所述第四报文可以是GRE hello ack报文。当所述第二网络隧道为LTE tunnel时,所述第四报文可以是LTE hello ack报文。
需要注意的是,本发明不限定所述接收单元502获取第三报文和第四报文的先后顺序,可以是先后接收,也可以是同时接收。
计算单元503,用于根据所述第一时间、第二时间、第三时间和第四时间确定所述第一网络隧道和第二网络隧道之间的网络时延。
举例说明,所述计算单元503在确定所述第一网络隧道和第二网络隧道之间的网络时延之前,需要先算出所述第一网络隧道自身的网络时延和所述第二网络隧道自身的网络时延。
判断单元504,用于判断所述网络时延是否满足第一切换条件,所述第一切换条件包括所述网络时延大于第一预设阈值。
举例说明,所述第一预设阈值可以通过综合第一网络设备和所述第二网络设备的性能以及分别开辟的缓存空间大小确定。
当所述网络时延满足所述第一切换条件时,可以理解为所述第一网络隧道和所述第二网络隧道之间网络时延已经较大,在第二网络设备接收到的报文可能会出现乱序的情况,也就是说,所述判断单元504一旦发现所述网络时延过大,便可以进行流量切换操作。
当所述网络时延不满足所述第一切换条件时,可以理解为所述第一网络隧道和所述第二网络隧道之间网络时延还处于合理范围,通过所述第一网络设备和所述第二网络设备分别开辟的缓存空间可以有效达到保序的效果。
当所述判断单元504的判断结果为满足所述第一切换条件时,切换单元505,用于将所述第二网络隧道中的第一转发流量切换到所述第一网络隧道转发,所述第一转发流量为所述第二网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。
举例说明,所述切换单元505一般只能控制自身使用哪一条隧道转发报文,故当所述网络时延大于所述第一预设阈值时,所述切换单元505可以将所述第二网络隧道中相对于所述第一网络设备的上行流量切换到所述第一网络隧道中进行转发,而不再使用所述第二网络隧道转发上行流量。所述第二网络隧道中相对于所述第一网络设备的上行流量可以理解为所述第二网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。切换后,在所述HA接入方式中,所述第二网络设备将不会通过所述第二网络隧道接收报文,而只通过所述第一网络隧道接收报文,由此可以降低所述第二网络设备接收到的报文出现乱序的可能。
可以看出,所述第一网络设备在发送第一、第二报文的时间戳里分别携带发送该报文的时间,当获取对应第一、第二报文所返回的第三、第四报文时,第三、第四报文中也携带相同的时间戳,也就是所述第一网络设备发送第一、第二报文的时间,所述第一网络设备通过获取第三、第四报文的时间以及第三、第四报文中时间戳的时间,计算出所述第一网络链路与所述第二网络链路之间的网络时延,所述第一网络设备根据判断所述网络时延是否满足第一切换条件的判断结果,在所述网络时延过大时将所述第二网络隧道的转发流量切换到所述第一网络隧道转发,这样只有一条网络隧道在转发流量,使得所述第二网络设备接收到的报文不再受到所述网络时延的影响,由此降低了所述第二网络设备接收到的报文由于缓存空间不足导致报文无法重组的情况发生的几率。提高了HA接入形式的稳定性和改善了用户体验度。
在当所述判断单元504的判断结果为满足所述第一切换条件时,除了触发所述切换单元505对所述第二网络隧道的上行流量进行切换以外,还可以将该判断结果向所述第二网络设备发送,通知所述第二网络设备将所述第二网络隧道中相对于所述第一网络设备的下行流量也切换到所述第一网络隧道中转发。可选的:
所述发送单元501还用于当所述判断单元504的判断结果为满足所述第一切换条件时,向所述第二网络设备发送第一通告报文,使得所述第二网络设备将所述第二网络隧道中的第二转发流量切换到所述第一网络隧道转发,所述第一通告报文包括所述第一网络设备判断所述网络时延是否满足第一切换条件的判断结果,所述第二转发流量为所述第二网络隧道中从所述第二网络设备向所述第一网络设备转发的流量。
举例说明,所述第二网络隧道中从所述第二网络设备向所述第一网络设备转发的流量可以理解相对于所述第一网络设备在所述第二网络隧道中的下行流量。切换后,所述第二网络设备将不再使用所述第二网络隧道向所述第一网络设备转发流量,而只用所述第一网络隧道向所述第一网络设备转发流量。所述第二网络设备切换所述第二转发流量到所述第一网络隧道中后,在所述HA接入方式中,所述第一网络设备将不会通过所述第二网络隧道接收到报文,而只会通过所述第一网络隧道接收报文,由此可以降低所述第一网络设备接收到的报文出现乱序的可能。
所述第一通告报文可以是GRE notify报文。
需要注意的是,本发明不限定所述切换单元505执行切换所述第一转发流量到所述第一网络隧道,和所述发送单元501执行发送第一通告报文的执行先后顺序,也可以是同时执行。
考虑到网络传输质量的波动对判断网络时延的影响,可选的,本发明实施例还提供了一种第一切换条件,所述第一切换条件除了包括所述网络时延大于第一预设阈值,还包括所述网络时延大于所述第一预设阈值的次数大于第一数值。也就是说,所述判断单元504将通过多次出现所述网络时延大于所述第一预设阈值后,才确认符合所述第一切换条件。增加累计所述网络时延大于所述第一预设阈值的次数作为判断标准后,能够有效去除网络波动对判断的影响。所述第一数值一般设置为大于等于2的整数。例如,当所述第一数值设置为3时,当所述判定单元504第三次判断出所述网络时延大于所述第一预设阈值时,进行流量切换。
所述发送单元501可以周期发送所述第一报文和所述第二报文,也可以随机发送,不过为了能够有效监控所述网络时延,更为优选的可以选择周期性的发送所述第一报文和所述第二报文。可选的,所述发送单元501按照第一周期发送所述第一报文;所述发送单元501按照第二周期发送所述第二报文。
举例说明,本发明不限定所述第一周期和所述第二周期之间的大小关系或者是否相同。一种优选的方式是所述第一周期和所述第二周期相同。
当所述第一网络设备具体为HG,所述第二网络设备具体为HAAP,所述第一报文为DSL hello报文,所述第二报文为LTE hello报文时,所述HG发送DSL hello报文的第一周期和发送LTE hello报文的第二周期可以由所述HAAP设置,所述HAAP可以将设置结果通过用于确认所述第二网络隧道建立成功的确认信息携带,发送给所述接收单元502。这里可以理解为所述第二网络隧道先于所述第一网络隧道建立成功。
在建立所述第二网络隧道时,所述接收单元502还用于获取所述第二网络设备发送的确认信息,所述确认信息用于确认所述第二网络隧道建立成功,所述确认信息包括预设数据,所述预设数据包括所述第一周期和所述第二周期,所述第二网络隧道先于所述第一网络隧道建立成功。
当所述第二网络隧道具体为LTE tunnel时,所述确认信息可以为LTE setupaccept报文,所述预设数据可以为hello interval AVP,其中包括发送DSL hello报文的第一周期和发送LTE hello报文的第二周期。
在流量切换后,所述第一网络设备和所述第二网络设备之间将仅使用所述第一网络隧道转发流量,而不再使用所述第二网络隧道转发流量,但是所述发送单元501仍然通过所述第二网络隧道发送所述第二报文。不过毕竟所述第一网络隧道的转发流量能力有限,故所述判断单元504持续判断所述网络时延,当判断所述网络时延好转后,可以触发所述切换单元505选择将当前所述第一网络隧道中转发的部分流量回切到所述第二网络隧道中进行转发,降低所述第一网络隧道的负担。可选的:
所述判断单元504还用于在触发所述切换单元505后,判断所述网络时延是否满足第二切换条件,所述第二切换条件包括所述网络时延小于第二预设阈值。
举例说明,所述第二预设阈值可以理解为小于所述第一预设阈值,所述第二预设阈值也可以和所述第一预设阈值相同。
当所述网络时延满足所述第二切换条件时,可以理解为当前所述第一网络隧道和所述第二网络隧道之间的网络时延较小,处于可以正常完成流量转发的范围。也就是说,所述判断单元504一旦发现所述网络时延较小,便可以触发所述切换单元505进行流量回切操作。
当所述网络时延不满足所述第二切换条件时,可以理解为所述第一网络隧道和所述第二网络隧道之间网络时延已经较大,如果使用所述第二网络隧道转发流量,在第二网络设备接收到的报文可能会出现乱序的情况。
当所述判断单元504的判断结果为满足所述第二切换条件时,触发所述切换单元505将第一回切流量切换到所述第二网络隧道转发,所述第一回切流量由所述第一网络设备根据所述第一网络隧道中从所述第一网络设备向所述第二网络设备转发的流量大小确定。
举例说明,所述切换单元505还是只能控制相对于所述第一网络设备的上行流量的切换,也就是所述第一网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。故所述切换单元505将所述第一网络隧道中的上行流量中的所述第一回切流量切换到所述第二网络隧道中进行转发。所述第一回切流量的大小可以根据当前所述第一网络隧道中的上行流量的大小确定。一般情况下,所述第一回切流量可以是所述第一网络隧道的上行流量中超出所述第一网络隧道额定带宽的流量。或者可以理解为所述第一回切流量为所述第一网络隧道的上行流量的一部分。
可以看出,在所述网络时延好转后,所述切换单元505还可以重新开启所述第二网络隧道用来转发流量,降低所述第一网络隧道的流量转发负担,提高网络系统的处理效率。
所述判断单元504在当判断结果为满足所述第二切换条件时,除了触发所述切换单元505对所述第一网络隧道的上行流量中的第一回切流量进行回切以外,还可以触发所述发送单元501将该判断结果向所述第二网络设备发送,通知所述第二网络设备将所述第一网络隧道中相对于所述第一网络设备的下行流量中的第二回切流量也回切到所述第一网络隧道中转发。可选的:
所述发送单元501还用于当所述判断单元504的判断结果为满足所述第二切换条件时,向所述第二网络设备发送第二通告报文,使得所述第二网络设备将所述第二网络隧道中的第二回切流量切换到所述第一网络隧道转发,所述第二通告报文包括所述第一网络设备判断所述网络时延是否满足第二切换条件判断结果,所述第二回切流量由所述第二网络设备根据所述第一网络隧道中从所述第二网络设备向所述第一网络设备转发的流量大小确定。
举例说明,所述第二回切流量的大小可以根据当前所述第一网络隧道中相对于所述第一网络设备的下行流量的大小确定。一般情况下,所述第二回切流量可以是所述第一网络隧道的下行流量中超出所述第一网络隧道额定带宽的流量。或者可以理解为所述第二回切流量为所述第一网络隧道的下行流量的一部分。
所述第二通告报文可以是GRE notify报文。
本发明不限定所述第一回切流量和所述第二回切流量的大小,所述第一回切流量和所述第二回切流量的大小可以相同也可以不同。
考虑到网络传输质量的波动对判断网络时延的影响,可选的,本发明实施例还提供了一种第二切换条件,所述第二切换条件除了包括所述网络时延小于第二预设阈值,还包括所述网络时延小于所述第二预设阈值的次数大于第二数值。也就是说,所述判断单元504将通过多次出现所述网络时延小于所述第二预设阈值后,才确认符合所述第二切换条件。增加累计所述网络时延小于所述第二预设阈值的次数作为判断标准后,能够有效去除网络波动对判断的影响。所述第二数值一般设置为大于等于2的整数。例如,当所述第一数值设置为2时,当所述判断单元504第二次判断出所述网络时延小于所述第二预设阈值时,触发所述切换单元505进行流量切换。本发明不限定所述第一数值和第二数值的大小关系,所述第一数值和第二数值可以不同,也可以相同。
参阅图6,图6为本发明实施例提供的一种第一网络设备的硬件结构示意图,所述第一网络设备600位于HA中,述HA接入形式中包括第一网络设备600和第二网络设备,所述第一网络设备600和第二网络设备之间通过第一网络隧道和第二网络隧道连接,所述第一网络设备600包括存储器601、接收器602和发送器603,以及分别与所述存储器601、所述接收器602和所述发送器603连接的处理器604,所述存储器601用于存储一组程序指令,所述处理器604用于调用所述存储器601存储的程序指令执行如下操作:
触发所述发送器603通过所述第一网络隧道向所述第二网络设备发送第一报文,所述第一报文中携带第一时间戳,所述第一时间戳包含第一时间,所述第一时间为所述第一网络设备发送所述第一报文的时间;
触发所述发送器603通过所述第二网络隧道向所述第二网络设备发送第二报文,所述第二报文中携带第二时间戳,所述第二时间戳包含第二时间,所述第二时间为所述第一网络设备发送所述第二报文的时间;
触发所述接收器602获取所述第二网络设备根据所述第一报文返回的第三报文,所述第三报文中携带所述第一时间戳,所述第一网络设备确定第三时间,所述第三时间为所述第一网络设备接收到所述第三报文的时间;
触发所述接收器602获取所述第二网络设备根据所述第二报文返回的第四报文,所述第四报文中携带所述第二时间戳,所述第一网络设备确定第四时间,所述第四时间为所述第一网络设备接收到所述第四报文的时间;
根据所述第一时间、第二时间、第三时间和第四时间确定所述第一网络隧道和第二网络隧道之间的网络时延;
判断所述网络时延是否满足第一切换条件,所述第一切换条件包括所述网络时延大于第一预设阈值;
当判断结果为满足所述第一切换条件时,将所述第二网络隧道中的第一转发流量切换到所述第一网络隧道转发,所述第一转发流量为所述第二网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。
可选地,所述处理器604可以为中央处理器(Central Processing Unit,CPU),所述存储器601可以为随机存取存储器(Random Access Memory,RAM)类型的内部存储器,所述接收器602和所述发送器603可以包含普通物理接口,所述物理接口可以为以太(Ethernet)接口或异步传输模式(Asynchronous Transfer Mode,ATM)接口。所述处理器604、发送器603、接收器602和存储器601可以集成为一个或多个独立的电路或硬件,如:专用集成电路(Application Specific Integrated Circuit,ASIC)。
本发明实施例中提到的第一网络设备、第一网络隧道、第一报文、第一时间、第一切换条件、第一预设阈值、第一转发流量、第一通告报文、第一数值、第一回切流量和第一周期的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”、“第三”、“第四”。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(Read-Only Memory,ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种流量切换方法,其特征在于,应用于混合链路HA,所述HA接入形式中包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间通过第一网络隧道和第二网络隧道连接,所述方法包括:
所述第一网络设备通过所述第一网络隧道向所述第二网络设备发送第一报文,所述第一报文中携带第一时间戳,所述第一时间戳包含第一时间,所述第一时间为所述第一网络设备发送所述第一报文的时间;
所述第一网络设备通过所述第二网络隧道向所述第二网络设备发送第二报文,所述第二报文中携带第二时间戳,所述第二时间戳包含第二时间,所述第二时间为所述第一网络设备发送所述第二报文的时间;
所述第一网络设备获取所述第二网络设备根据所述第一报文返回的第三报文,所述第三报文中携带所述第一时间戳,所述第一网络设备确定第三时间,所述第三时间为所述第一网络设备接收到所述第三报文的时间;
所述第一网络设备获取所述第二网络设备根据所述第二报文返回的第四报文,所述第四报文中携带所述第二时间戳,所述第一网络设备确定第四时间,所述第四时间为所述第一网络设备接收到所述第四报文的时间;
所述第一网络设备根据所述第一时间、第二时间、第三时间和第四时间确定所述第一网络隧道和第二网络隧道之间的网络时延;
所述第一网络设备判断所述网络时延是否满足第一切换条件,所述第一切换条件包括所述网络时延大于第一预设阈值;
当判断结果为满足所述第一切换条件时,所述第一网络设备将所述第二网络隧道中的第一转发流量切换到所述第一网络隧道转发,所述第一转发流量为所述第二网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。
2.根据权利要求1所述的方法,其特征在于,当判断结果为满足所述第一切换条件时,还包括:
所述第一网络设备向所述第二网络设备发送第一通告报文,使得所述第二网络设备将所述第二网络隧道中的第二转发流量切换到所述第一网络隧道转发,所述第一通告报文包括所述第一网络设备判断所述网络时延是否满足第一切换条件的判断结果,所述第二转发流量为所述第二网络隧道中从所述第二网络设备向所述第一网络设备转发的流量。
3.根据权利要求1所述的方法,其特征在于,所述第一切换条件还包括所述网络时延大于所述第一预设阈值的次数大于第一数值。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述第一网络设备将所述第二网络隧道的转发流量切换到所述第一网络隧道转发后,还包括:
所述第一网络设备判断所述网络时延是否满足第二切换条件,所述第二切换条件包括所述网络时延小于第二预设阈值;
当判断结果为满足所述第二切换条件时,所述第一网络设备将第一回切流量切换到所述第二网络隧道转发,所述第一回切流量由所述第一网络设备根据所述第一网络隧道中从所述第一网络设备向所述第二网络设备转发的流量大小确定。
5.根据权利要求4所述的方法,其特征在于,当判断结果为满足所述第二切换条件时,还包括:
所述第一网络设备向所述第二网络设备发送第二通告报文,使得所述第二网络设备将所述第二网络隧道中的第二回切流量切换到所述第一网络隧道转发,所述第二通告报文包括所述第一网络设备判断所述网络时延是否满足第二切换条件判断结果,所述第二回切流量由所述第二网络设备根据所述第一网络隧道中从所述第二网络设备向所述第一网络设备转发的流量大小确定。
6.根据权利要求4所述的方法,其特征在于,所述第二切换条件还包括所述网络时延小于所述第二预设阈值的次数大于第二数值。
7.根据权利要求1至3任一项所述的方法,其特征在于,
所述第一网络设备按照第一周期发送所述第一报文;
所述第一网络设备按照第二周期发送所述第二报文。
8.根据权利要求7所述的方法,其特征在于,还包括:
在建立所述第二网络隧道时,所述第一网络设备获取所述第二网络设备发送的确认信息,所述确认信息用于确认所述第二网络隧道建立成功,所述确认信息包括预设数据,所述预设数据包括所述第一周期和所述第二周期,所述第二网络隧道先于所述第一网络隧道建立成功。
9.一种流量切换装置,其特征在于,应用于混合链路HA,所述HA接入形式中包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间通过第一网络隧道和第二网络隧道连接,包括:
发送单元,用于通过所述第一网络隧道向所述第二网络设备发送第一报文,所述第一报文中携带第一时间戳,所述第一时间戳包含第一时间,所述第一时间为所述第一网络设备发送所述第一报文的时间;
所述发送单元还用于通过所述第二网络隧道向所述第二网络设备发送第二报文,所述第二报文中携带第二时间戳,所述第二时间戳包含第二时间,所述第二时间为所述第一网络设备发送所述第二报文的时间;
接收单元,用于获取所述第二网络设备根据所述第一报文返回的第三报文,所述第三报文中携带所述第一时间戳,所述第一网络设备确定第三时间,所述第三时间为所述第一网络设备接收到所述第三报文的时间;
所述接收单元还用于获取所述第二网络设备根据所述第二报文返回的第四报文,所述第四报文中携带所述第二时间戳,所述第一网络设备确定第四时间,所述第四时间为所述第一网络设备接收到所述第四报文的时间;
计算单元,用于根据所述第一时间、第二时间、第三时间和第四时间确定所述第一网络隧道和第二网络隧道之间的网络时延;
判断单元,用于判断所述网络时延是否满足第一切换条件,所述第一切换条件包括所述网络时延大于第一预设阈值;
当所述判断单元的判断结果为满足所述第一切换条件时,切换单元,用于将所述第二网络隧道中的第一转发流量切换到所述第一网络隧道转发,所述第一转发流量为所述第二网络隧道中从所述第一网络设备向所述第二网络设备转发的流量。
10.根据权利要求9所述的装置,其特征在于,
所述发送单元还用于当所述判断单元的判断结果为满足所述第一切换条件时,向所述第二网络设备发送第一通告报文,使得所述第二网络设备将所述第二网络隧道中的第二转发流量切换到所述第一网络隧道转发,所述第一通告报文包括所述第一网络设备判断所述网络时延是否满足第一切换条件的判断结果,所述第二转发流量为所述第二网络隧道中从所述第二网络设备向所述第一网络设备转发的流量。
11.根据权利要求9所述的装置,其特征在于,所述第一切换条件还包括所述网络时延大于所述第一预设阈值的次数大于第一数值。
12.根据权利要求9至11任一项所述的装置,其特征在于,
所述判断单元还用于在触发所述切换单元后,判断所述网络时延是否满足第二切换条件,所述第二切换条件包括所述网络时延小于第二预设阈值;
当所述判断单元的判断结果为满足所述第二切换条件时,触发所述切换单元将第一回切流量切换到所述第二网络隧道转发,所述第一回切流量由所述第一网络设备根据所述第一网络隧道中从所述第一网络设备向所述第二网络设备转发的流量大小确定。
13.根据权利要求12所述的装置,其特征在于,
所述发送单元还用于当所述判断单元的判断结果为满足所述第二切换条件时,向所述第二网络设备发送第二通告报文,使得所述第二网络设备将所述第二网络隧道中的第二回切流量切换到所述第一网络隧道转发,所述第二通告报文包括所述第一网络设备判断所述网络时延是否满足第二切换条件判断结果,所述第二回切流量由所述第二网络设备根据所述第一网络隧道中从所述第二网络设备向所述第一网络设备转发的流量大小确定。
14.根据权利要求12所述的装置,其特征在于,所述第二切换条件还包括所述网络时延小于所述第二预设阈值的次数大于第二数值。
15.根据权利要求9至11任一项所述的装置,其特征在于,
所述发送单元按照第一周期发送所述第一报文;
所述发送单元按照第二周期发送所述第二报文。
16.根据权利要求15所述的装置,其特征在于,
在建立所述第二网络隧道时,所述接收单元还用于获取所述第二网络设备发送的确认信息,所述确认信息用于确认所述第二网络隧道建立成功,所述确认信息包括预设数据,所述预设数据包括所述第一周期和所述第二周期,所述第二网络隧道先于所述第一网络隧道建立成功。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410767054.0A CN105743760B (zh) | 2014-12-12 | 2014-12-12 | 一种流量切换方法和装置 |
PCT/CN2015/088978 WO2016090978A1 (zh) | 2014-12-12 | 2015-09-06 | 一种流量切换方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410767054.0A CN105743760B (zh) | 2014-12-12 | 2014-12-12 | 一种流量切换方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105743760A CN105743760A (zh) | 2016-07-06 |
CN105743760B true CN105743760B (zh) | 2019-06-11 |
Family
ID=56106624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410767054.0A Active CN105743760B (zh) | 2014-12-12 | 2014-12-12 | 一种流量切换方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105743760B (zh) |
WO (1) | WO2016090978A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111740919B (zh) | 2017-01-20 | 2023-08-22 | 华为技术有限公司 | 一种报负载分担方法及网络设备 |
WO2019000419A1 (zh) * | 2017-06-30 | 2019-01-03 | 华为技术有限公司 | 传输报文的方法、装置和系统 |
CN109428816A (zh) * | 2017-08-28 | 2019-03-05 | 中国电信股份有限公司 | 链路保护方法、装置及存储介质 |
TWI705677B (zh) * | 2018-06-11 | 2020-09-21 | 台達電子工業股份有限公司 | 智慧定義光隧道網路系統與網路系統控制方法 |
US10615902B2 (en) | 2018-06-11 | 2020-04-07 | Delta Electronics, Inc. | Intelligence-defined optical tunnel network system and network system control method |
US10931393B2 (en) | 2018-06-11 | 2021-02-23 | Delta Electronics, Inc. | Intelligence-defined optical tunnel network system and network system control method |
CN109040330B (zh) * | 2018-06-12 | 2021-08-06 | 新华三技术有限公司 | 一种流量切换方法以及装置 |
CN112153404B (zh) * | 2020-09-23 | 2022-09-09 | 北京达佳互联信息技术有限公司 | 码率调整方法、检测方法、装置、设备及存储介质 |
CN114465960A (zh) * | 2022-02-07 | 2022-05-10 | 北京沃东天骏信息技术有限公司 | 流量切换方法、装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2166711A1 (en) * | 2007-06-14 | 2010-03-24 | Huawei Technologies Co., Ltd. | Method, device and system for protecting multicast traffic |
CN104158761A (zh) * | 2014-08-05 | 2014-11-19 | 华为技术有限公司 | 一种分流流量的方法和装置 |
CN104158752A (zh) * | 2014-09-01 | 2014-11-19 | 华为技术有限公司 | 业务流量的处理方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2728802B1 (en) * | 2012-11-02 | 2020-08-12 | Deutsche Telekom AG | Method and system for network and service controlled hybrid access |
-
2014
- 2014-12-12 CN CN201410767054.0A patent/CN105743760B/zh active Active
-
2015
- 2015-09-06 WO PCT/CN2015/088978 patent/WO2016090978A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2166711A1 (en) * | 2007-06-14 | 2010-03-24 | Huawei Technologies Co., Ltd. | Method, device and system for protecting multicast traffic |
CN104158761A (zh) * | 2014-08-05 | 2014-11-19 | 华为技术有限公司 | 一种分流流量的方法和装置 |
CN104158752A (zh) * | 2014-09-01 | 2014-11-19 | 华为技术有限公司 | 业务流量的处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
GRE Notification for Hybrid Access,draft-lhwxz-gre-notifications-hybrid-access-00;LEYMANN,N.et al;《IETF》;20140627;1-36 |
Also Published As
Publication number | Publication date |
---|---|
WO2016090978A1 (zh) | 2016-06-16 |
CN105743760A (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105743760B (zh) | 一种流量切换方法和装置 | |
JP7078850B2 (ja) | ネットワーク制御装置及びネットワーク制御方法 | |
US8897130B2 (en) | Network traffic management | |
Kliazovich et al. | Cross-layer congestion control in ad hoc wireless networks | |
US7675857B1 (en) | Method and apparatus to avoid network congestion | |
US8115617B2 (en) | Alarm reordering to handle alarm storms in large networks | |
JP5538257B2 (ja) | 帯域監視装置、及びパケット中継装置 | |
US9426080B2 (en) | Data communication apparatus, data transmission method, and computer system | |
CN101534249A (zh) | 一种在捆绑链路上发送数据的方法及网络设备 | |
Thilagavathe et al. | Cross layer based congestion control technique for reliable and energy aware routing in MANET | |
CN103560947B (zh) | 一种避免中间系统邻居关系震荡的方法及装置 | |
CN109842570A (zh) | 聚合速率控制方法、设备以及系统 | |
Kim et al. | Receive Buffer based Path Management for MPTCP in heterogeneous networks | |
CN108512708A (zh) | 一种缓存计算的方法及装置 | |
CN101018203A (zh) | 航空电信网的动态负载分配方法 | |
Haile et al. | Performance of QUIC congestion control algorithms in 5G networks | |
CN112448893A (zh) | 一种链路带宽调节方法、装置及存储介质 | |
Sreenivas et al. | L2DB-TCP: An adaptive congestion control technique for MANET based on link layer measurements | |
CN108243117A (zh) | 一种流量监控方法、装置及电子设备 | |
CN108322402B (zh) | 报文处理方法、设备及系统 | |
CN102088414B (zh) | 随机和弃头结合的被动队列管理的方法 | |
Adhari et al. | LEDBAT-MP--On the Application of" Lower-than-Best-Effort" for Concurrent Multipath Transfer | |
JPWO2008146730A1 (ja) | ノード装置、パケット転送方法及びパケット転送プログラム | |
Shihada et al. | BAIMD: a responsive rate control for TCP over optical burst switched (OBS) networks | |
CN102123094B (zh) | 两次随机丢包的被动队列管理的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |