多路径通信方法、装置、电子设备及计算机可读介质与流程

文档序号:27683099发布日期:2021-12-01 00:24阅读:142来源:国知局
多路径通信方法、装置、电子设备及计算机可读介质与流程

1.本公开涉及通信技术领域,具体而言,涉及一种多路径通信方法、多路径通信装置、电子设备及计算机可读介质。


背景技术:

2.客户端与服务器端在进行ip(internet protocol,网络协议)通信时,通常都是由提供接入线路的通信运营商分配ip地址。
3.而当客户端终端的接入链路中断时,一般只能使用其他ip地址重新从其他链路连接服务器。对于服务器来说,就意味着必须通过更新dns(domain name system,域名系统)解析或应用层的备用ip地址来满足故障时持续提供业务的需求。因此,现有技术中不得不采用各种复杂的网络架构来解决系统的可靠性问题。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本公开的目的在于提供一种多路径通信方法、多路径通信装置、电子设备及计算机可读介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
6.根据本公开的第一个方面,提供一种多路径通信方法,包括:
7.在服务器端配置对应的服务端网关,并在客户端配置对应的客户端网关;
8.在所述服务端网关与所述客户端网关之间建立多路径的流控制传输协议的连接通道;
9.通过所述流控制传输协议的连接通道进行所述客户端与所述服务器之间的多路径通信过程。
10.在本公开的一种示例性实施例中,所述在所述服务端网关与所述客户端网关之间建立多路径的流控制传输协议的连接通道,包括:
11.在所述服务端网关与所述客户端网关分别提供多个网口,其中,每个所述网口分别对应一个网络出口协议地址;
12.通过所述客户端网关使用流控制传输协议向所述服务器的任意一个网络出口协议地址发起连接请求;
13.响应于所述客户端网关发起的连接请求,通过所述服务端网关返回分配给所述客户端的多个服务器端点地址;
14.通过所述服务端网关将所述服务器对应的虚拟网络协议地址列表发送至所述客户端网关,以使所述客户端网关根据所述虚拟网络协议地址列表建立路由表,其中,所述路由表用于所述客户端与所述服务器之间的通信;
15.根据所述多个服务器端点地址在所述服务端网关与所述客户端网关之间建立多
路径的连接通道。
16.在本公开的一种示例性实施例中,所述响应于所述客户端网关发起的连接请求,通过所述服务端网关返回分配给所述客户端的多个服务器端点地址,包括:
17.获取所述客户端的网络特性参数,并根据所述网络特性参数确定分配给所述客户端的多个服务器端点地址;
18.响应于所述客户端网关发起的连接请求,通过所述服务端网关返回所述连接请求对应的信息确认帧,并将所述多个服务器端点地址携带在所述信息确认帧中。
19.在本公开的一种示例性实施例中,所述通过所述流控制传输协议的连接通道进行所述客户端与所述服务器之间的多路径通信过程,包括:
20.获取所述服务器的虚拟网络协议地址,并根据所述虚拟网络协议地址向所述服务器发起传输控制协议连接;
21.获取所述客户端网关中的路由表,并根据所述虚拟网络协议地址从所述路由表中确定出所述服务器对应的服务端网关;
22.通过所述客户端网关将传输控制协议报文封装在流控制传输协议报文中,并将所述流控制传输协议报文发送至所述服务端网关;
23.通过所述服务端网关对所述流控制传输协议报文进行解封装,并将所述传输控制协议报文发送至所述服务器。
24.在本公开的一种示例性实施例中,所述将所述传输控制协议报文发送至所述服务器,包括:
25.获取所述服务器对应的虚拟网络协议地址列表,并根据所述虚拟网络协议地址列表将所述服务器的虚拟网络协议地址转换为网络出口协议地址;
26.根据所述服务器的网络出口协议地址将所述传输控制协议报文发送至所述服务器。
27.在本公开的一种示例性实施例中,所述方法还包括:
28.通过所述客户端网关和/或所述服务端网关向每个路径发起路径最大传输单元检测;
29.在将传输控制协议报文封装在流控制传输协议报文中时,根据所述路径最大传输单元的检测结果调整所述传输控制协议报文的大小。
30.在本公开的一种示例性实施例中,所述在将传输控制协议报文封装在流控制传输协议报文中时,根据所述路径最大传输单元的检测结果调整所述传输控制协议报文的大小,包括:
31.若所述传输控制协议报文的原始尺寸小于或等于所述路径最大传输单元的检测值,则按照所述传输控制协议报文的原始尺寸将传输控制协议报文封装在流控制传输协议报文中;
32.若所述传输控制协议报文的原始尺寸大于所述路径最大传输单元的检测值,则将所述路径最大传输单元的检测值作为所述传输控制协议报文的目标尺寸,并按照所述目标尺寸将传输控制协议报文封装在流控制传输协议报文中。
33.在本公开的一种示例性实施例中,所述方法还包括:
34.通过所述客户端网关和所述服务端网关对每个路径的可用性进行实时监测;
35.若监测到所述路径不可用,则通过所述客户端网关和所述服务端网关屏蔽所述路径,直到所述路径的故障恢复。
36.根据本公开的第二方面,提供一种多路径通信装置,包括:
37.网关配置模块,用于在服务器端配置对应的服务端网关,并在客户端配置对应的客户端网关;
38.通道建立模块,用于在所述服务端网关与所述客户端网关之间建立多路径的流控制传输协议的连接通道;
39.多路径通信模块,用于通过所述流控制传输协议的连接通道进行所述客户端与所述服务器之间的多路径通信过程。
40.根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的多路径通信方法。
41.根据本公开的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的多路径通信方法。
42.本公开示例性实施例可以具有以下有益效果:
43.本公开示例实施方式的多路径通信方法中,通过在服务器端和客户端分别配置对应的轻量级网关设备,并通过服务端网关和客户端网关建立多路径的连接通道,来实现客户端与服务器之间基于流控制传输协议的多路径通信过程。本公开示例实施方式中的多路径通信方法,可以通过一种简单的轻量级架构,在不改动软件架构和代码的情况下,解决网络接入层故障而导致的业务中断问题,并且能够满足自动检测路径故障并快速自动切换路径、故障切换时不需要中断连接、对应用层透明无感知、易于部署等特性。
44.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
45.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1示出了本公开示例实施方式的多路径通信方法的流程示意图;
47.图2示出了本公开示例实施方式的建立多路径连接通道的流程示意图;
48.图3示出了本公开示例实施方式的通过服务端网关返回服务器端点地址的流程示意图;
49.图4示出了本公开示例实施方式的客户端与服务器之间的多路径通信过程的流程示意图;
50.图5示出了本公开示例实施方式的向每个路径发起路径最大传输单元检测的流程示意图;
51.图6示意性示出了根据本公开的一个具体实施方式的多路径通信的架构图;
52.图7示出了本公开示例实施方式的多路径通信装置的框图;
53.图8示出了适于用来实现本公开实施方式的电子设备的计算机系统的结构示意图。
具体实施方式
54.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
55.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
56.客户端与服务器端在进行ip通信时,通常都是由提供接入线路的通信运营商分配ip地址。虽然通信运营商也允许客户自备ip地址入网,但门槛极高,实际上对一般客户而言基本无法实现。
57.而当客户端终端的接入链路中断时,一般只能使用其他ip地址重新从其他链路连接服务器。对于服务器来说,就意味着必须通过更新dns解析或应用层的备用ip地址来满足故障时持续提供业务的需求。为此,运维工程师们不得不采用各种复杂的网络架构,甚至需要软件工程师重构系统,以适应系统云化带来的可靠性问题。
58.以云计算的应用场景为例,随着互联网的进一步发展,云计算服务已经日益成为it底层架构最主要的实现方式,大量的业务由局域网中的物理服务器迁移到云计算资源池。当某些核心业务迁移到云上时,对从客户端到云主机,乃至其中运行的具体业务,端到端的高可用性要求变得更加重要。不幸的是,迄今为止全球各大云运营商都频繁地出现资源池级别的特大型故障,导致许多关键业务停摆,给企业造成损失。
59.为了实现关键业务的持续运行,各种各样的技术及设备应运而生,实现了从存储、操作系统到应用服务的各种保障。但是,当资源池级别的网络故障发生时,由于ip地址很难迁移到能够正常提供服务的接入点,导致业务保障措施失效或故障恢复时间漫长。
60.在此基础上,sctp(stream control transmission protocol,流控制传输协议)作为一个年轻的传输层协议,能够实现多端多路径的通信,并具备路径故障监测和切换的能力。但是,sctp在软件实现上对操作系统及其api(application programming interface,应用程序接口)的要求很高,需要应用系统从终端和服务端同时进行改造,导致其很难应用到存量软件系统上。
61.基于上述问题,本示例实施方式首先提供了一种多路径通信方法。参考图1所示,上述多路径通信方法可以包括以下步骤:
62.步骤s110.在服务器端配置对应的服务端网关,并在客户端配置对应的客户端网关。
63.步骤s120.在服务端网关与客户端网关之间建立多路径的流控制传输协议的连接通道。
64.步骤s130.通过流控制传输协议的连接通道进行客户端与服务器之间的多路径通信过程。
65.本公开示例实施方式的多路径通信方法中,通过在服务器端和客户端分别配置对应的轻量级网关设备,并通过服务端网关和客户端网关建立多路径的连接通道,来实现客户端与服务器之间基于流控制传输协议的多路径通信过程。本公开示例实施方式中的多路径通信方法,可以通过一种简单的轻量级架构,在不改动软件架构和代码的情况下,解决网络接入层故障而导致的业务中断问题,并且能够满足自动检测路径故障并快速自动切换路径、故障切换时不需要中断连接、对应用层透明无感知、易于部署等特性。
66.本公开示例实施方式中的多路径通信方法可广泛应用于需要高可靠的多端点ip接入的系统解决方案中。通过在服务端和客户端之间设置网关设备,并在网关设备间建立sctp连接,用来传输真实负载的tcp/udp(transmission control protocol,传输控制协议/user datagram protocol,用户数据报协议)流量。例如,在同一个云资源池或物理dc(data center,主数据中心)机房,可以通过多个运营商及多种不同架构网络为应用服务提供多ip的接入方式,并且在任何接入路径中断时不影响业务的持续运行。还可以用于跨越云资源池部署应用,采用各云资源池的互联网出口网络部署应用服务,资源池间的vpc(virtual private cloud,虚拟私有云)通过dci(digital copyright identifier,数字版权唯一标识符)或云专线实现服务器数据同步,从而应对云资源池级别的故障。
67.下面,结合图2至图6对本示例实施方式的上述步骤进行更加详细的说明。
68.在步骤s110中,在服务器端配置对应的服务端网关,并在客户端配置对应的客户端网关。
69.本示例实施方式中,服务器指的是提供系统服务的物理服务器或云主机及其承载的软件进程,客户端指需要连接到服务器的客户端软硬件。网关又称网间连接器、协议转换器,是一种充当转换重任的计算机系统或设备,可以对收到的信息重新打包,以适应目的系统的需求。通过在服务器端和客户端分别配置对应的网关设备,并通过网关设备来向基于传统tcp连接技术的软件提供sctp多径网络技术,可以避免软件重构。
70.服务端网关可以提供多个网口,分别连接到多个互联网出口(如多个运营商、多种不同性质的网络接入等),同时还可以提供若干个网络接口,用来连接承载服务器(物理服务器或者云主机)的局域网。
71.客户端网关可以提供多个网口,连接多个互联网出口(如有线网络接入、无线网络接入等),同时还可以提供若干个网络接口,用来连接到客户端所在的局域网。客户端网关也可以是内置在用户的客户端终端内的软件模块。
72.在步骤s120中,在服务端网关与客户端网关之间建立多路径的流控制传输协议的连接通道。
73.本示例实施方式中,为了实现客户端与服务器端之间的通信过程,首先要进行通信两端sctp隧道的建立。如图2所示,在服务端网关与客户端网关之间建立多路径的流控制
传输协议的连接通道,具体可以包括以下几个步骤:
74.步骤s210.在服务端网关与客户端网关分别提供多个网口,其中,每个网口分别对应一个网络出口协议地址。
75.本示例实施方式中,服务端网关可以提供多个网口,每个网口分别对应一个网络出口ip,可连接到多个运营商或者多种异构接入网络。另外,客户端网关也提供多个网口,并设置多个网络出口ip,可连接到多个运营商或者多种异构接入网络。
76.步骤s220.通过客户端网关使用流控制传输协议向服务器的任意一个网络出口协议地址发起连接请求。
77.设置好网关和对应的网络出口ip之后,通过客户端网关使用sctp向服务器的其中一个ip地址发起连接请求。
78.步骤s230.响应于客户端网关发起的连接请求,通过服务端网关返回分配给客户端的多个服务器端点地址。
79.服务端网关响应于客户端网关发起的连接请求,为客户端分配服务器端点ip并返回至客户端网关。
80.本示例实施方式中,如图3所示,响应于客户端网关发起的连接请求,通过服务端网关返回分配给客户端的多个服务器端点地址,具体可以包括以下几个步骤:
81.步骤s310.获取客户端的网络特性参数,并根据网络特性参数确定分配给客户端的多个服务器端点地址。
82.服务端网关通过内置的路径选择策略模块,根据客户端的网络特性参数来确定分配给客户端的多个服务器端点ip,其中,客户端的网络特性参数可例如客户端的运营商类型、有线连接或无线连接等。
83.步骤s320.响应于客户端网关发起的连接请求,通过服务端网关返回连接请求对应的信息确认帧,并将多个服务器端点地址携带在信息确认帧中。
84.服务端网关响应于客户端网关发起的连接请求,将分配好的服务器端点ip通过cookie ack(信息确认帧)携带到客户端网关。
85.通过在服务端网关部署路径选择策略模块,当接收到来自客户端网关的连接时,可以在服务端自动分配sctp连接端点,自动分配最优的几条路径供客户端网关建立多径连接。
86.步骤s240.通过服务端网关将服务器对应的虚拟网络协议地址列表发送至客户端网关,以使客户端网关根据虚拟网络协议地址列表建立路由表。
87.服务端网关通过带内管理报文向客户端网关通告所提供的服务器虚拟ip地址列表,客户端可以根据该虚拟网络协议地址列表在本地建立路由表,用于后续客户端与服务器之间的通信。网关间可以通过带内报文实现业务的自动发布和路径优化。
88.步骤s250.根据多个服务器端点地址在服务端网关与客户端网关之间建立多路径的连接通道。
89.客户端网关获取到服务端网关返回的服务器端点ip后,根据多个服务器端点ip起到服务端网关的多个路径连接。
90.客户端侧通过客户端网关设备接入多个运营商,可以实现多路径的通信保障,在部分电路出现故障时能够保证数据通信顺畅,同时也实现路径自动最优化的能力。
91.通过上述步骤完成通信两端sctp隧道的建立以后,客户端和服务端即可通过上述连接通道实现tcp会话过程。
92.在步骤s130中,通过流控制传输协议的连接通道进行客户端与服务器之间的多路径通信过程。
93.本示例实施方式中,如图4所示,通过流控制传输协议的连接通道进行客户端与服务器之间的多路径通信过程,具体可以包括以下几个步骤:
94.步骤s410.获取服务器的虚拟网络协议地址,并根据虚拟网络协议地址向服务器发起传输控制协议连接。
95.首先,客户端终端把默认路由指向客户端网关,或者通过网络必经路径中的一台路由器把下一条指向客户端网关。客户端获取服务器的虚拟ip地址,并使用虚拟ip地址向服务器发起tcp连接。
96.步骤s420.获取客户端网关中的路由表,并根据虚拟网络协议地址从路由表中确定出服务器对应的服务端网关。
97.获取客户端根据虚拟网络协议地址列表在本地建立的路由表,并根据虚拟ip地址从内置的路由表中查找目标服务器对应的服务端网关。
98.步骤s430.通过客户端网关将传输控制协议报文封装在流控制传输协议报文中,并将流控制传输协议报文发送至服务端网关。
99.客户端网关把需要发送的tcp报文封装到sctp协议负载中,并通过某一条物理链路发往服务端网关。
100.步骤s440.通过服务端网关对流控制传输协议报文进行解封装,并将传输控制协议报文发送至服务器。
101.服务端网关解封装收到的sctp报文,并将其中的tcp负载发往真实服务器。
102.在将传输控制协议报文发送至服务器时,可以通过获取服务器对应的虚拟网络协议地址列表,并根据虚拟网络协议地址列表将服务器的虚拟网络协议地址转换为网络出口协议地址,然后根据服务器的网络出口协议地址将传输控制协议报文发送至服务器。
103.本示例实施方式中,客户端和服务器的传统tcp通信报文在两端网关进行sctp封装和解封装,通过这种方式可以屏蔽客户端和服务器端的原始ip地址,并屏蔽中间隧道网络波动对通信两端的感知。
104.基于上述步骤,客户端软件/应用服务软件即可通过两侧网关建立的通道进行持续通信。通过两端网关设备建立的sctp链路中传递自定义管理报文,实现服务端虚拟ip地址的分发。本示例实施方式中,以一种轻量级的方式保障基于tcp(udp)/ip网络通信的服务端及客户端,当某一通信运营商路径中断时,能够在不改变两端ip地址的条件下平滑地切换到其他路径,从而实现持续性的网络服务。
105.除此之外,本示例实施方式中提供的一种多路径通信方法还可以自动检测各路径的pmtu(path maximum transmission unit,路径最大传输单元)并进行报文重组,如图5所示,具体可以包括以下几个步骤:
106.步骤s510.通过客户端网关和/或服务端网关向每个路径发起路径最大传输单元检测。
107.本示例实施方式中,客户端网关与服务端网关可以分别向每个路径发起pmtu检
测,并记录检测结果供后续报文重组使用。
108.步骤s520.在将传输控制协议报文封装在流控制传输协议报文中时,根据路径最大传输单元的检测结果调整传输控制协议报文的大小。
109.本示例实施方式中,若传输控制协议报文的原始尺寸小于或等于路径最大传输单元的检测值,则按照传输控制协议报文的原始尺寸将传输控制协议报文封装在流控制传输协议报文中;若传输控制协议报文的原始尺寸大于路径最大传输单元的检测值,则将路径最大传输单元的检测值作为传输控制协议报文的目标尺寸,并按照目标尺寸将传输控制协议报文封装在流控制传输协议报文中。
110.具体而言,如果tcp报文的尺寸超过pmtu大小,则进行报文重组,在把tcp流封装到sctp trunk(中继链路)时,选择合适的尺寸,从而避免在网络传输路径中出现报文分片,提高网络吞吐效率。如果tcp报文的尺寸没有超过pmtu大小,则不需要进行报文重组,直接按照原始尺寸发送即可。
111.另外,本示例实施方式中提供的一种多路径通信方法还可以在部分链路故障时进行保障流程,具体的,可以通过客户端网关和服务端网关对每个路径的可用性进行实时监测,若监测到路径不可用,则通过客户端网关和服务端网关屏蔽路径,直到路径的故障恢复。
112.客户端和服务端网关可以通过sctp的heartbeat(心跳服务)机制监控每一条路径的可用性,如某个路径发生丢包或中断,客户端网关及服务端网关可以自动检测到并自动屏蔽该路径,直到故障恢复。
113.如图6所示是本公开的一个具体实施方式中多路径通信的架构图,是对本示例实施方式中的上述步骤的具体应用场景的举例说明,该架构图可以包括以下几个部分:
114.应用服务器601指提供系统服务的物理服务器或云主机及其承载的软件进程。
115.客户端终端602指需要连接到应用服务器的客户端软硬件。
116.服务端网关603可以提供多个网口,分别连接到多个互联网出口(如多个运营商、多种不同性质的网络接入等),同时还可以提供若干个网络接口,用来连接承载服务器(物理服务器或者云主机)的局域网。服务端网关603中包含路径选择策略模块,当接收到来自客户端网关的连接时,可以通过该路径选择策略模块在服务端自动分配sctp连接端点,自动分配最优的几条路径供客户端网关建立多径连接。
117.客户端网关604可以提供多个网口,连接多个互联网出口(如有线网络接入、无线网络接入等),同时还可以提供若干个网络接口,用来连接到客户端所在的局域网。客户端网关也可以是内置在用户的客户端终端内的软件模块。
118.应用服务器601与客户端终端602之间,可以通过服务端网关603到客户端网关604间的多径sctp连接通道实现tcp会话过程。
119.综上所述,相比于slb(server load balancing,服务器负载均衡)、gslb(global server load balancing,全局服务器负载均衡)、egp(exterior gateway protocol,外部网关协议)动态路由等相关技术方案,本示例实施方式中提供的一种多路径通信方法以及通信架构具备以下优势:
120.1、可实现服务端及接入端多路ip地址提供服务,不需要统一调度节点。
121.slb只能实现后端物理服务器间的灾备,而客户端直接连接的ip地址则只能固定
设置在lvs(linux virtual server,linux虚拟服务器)上,当这台服务器或其互联网接入链路中断时,将导致业务全阻。
122.基于ip tunneling(ip隧道)、http redirect(http重定向)、统一调度服务层等方式的gslb实现方案则需要一个中心服务节点ip,当中心节点发生网络接入中断时,将导致业务全阻。
123.本公开中的技术方案则能够支持在服务端和/或客户端实现多运营商和异构的网络接入,对外同时呈现多个完全独立的互联网ip地址。客户端可以同时连接到服务端的多个接入ip地址,只要这些接入ip地址中的任何一个正常工作即可保障业务运行。
124.2、不依赖于应用层协议。
125.本公开中的技术方案支持所有基于tcp业务的应用,而基于http redirect方式的gslb实现方案则只支持基于http/https的应用。
126.3、自动检测路径故障,并快速自动切换,不受运营商dns缓存策略影响。
127.本公开中的技术方案基于sctp协议的自动多路径检测技术,当heartbeat失败或超过重传次数后,将自动把该路径置为不可用并自动重传到其他路径,整个过程不依赖于网络中的任何其他设备,倒换时间在秒级。基于dns方式的gslb则需要等待dns缓存节点的ttl(time to live,生存时间值)过期后才能够刷新解析到新的ip地址,而目前各大运营商的dns服务器处于减轻负载的考虑,普遍设置较长时间的ttl重写规则,导致gslb故障倒换时间非常长。
128.4、故障切换时不中断连接,对应用层完全无感知。
129.当部分链路发生中断时,本公开中的技术方案将在sctp的客户端和服务端间自动倒换,客户端及服务端与网关之间的连接不需要中断,甚至不会感知到其中的报文重传过程,对应用层完全无感知。
130.5、不依赖于运营商的网络设备配置。
131.通过egp路由协议(如bgp)和运营商交换路由可实现多运营商多网络接入,同时保持ip地址不变。但是这种方式需要获得多个运营商在网络设备上的配置支持,对运营商的管理要求极高,目前只有极少数的互联网企业能够做到。
132.而本公开中的技术方案是基于标准ip网络协议的应用,在网络接入方面不需要运营商的任何支持,具有普遍的部署可行性。
133.6、不需要改变客户端及服务端的软件代码。
134.本公开中的技术方案通过客户端及服务端的网关对外屏蔽了中间的sctp通信链路,对客户端及服务端而言,还是原来的tcp连接,整个通信底层完全透明,因此也不涉及到软件代码的重写。
135.7、强化了服务端与客户端的协同管理能力。
136.本公开中的技术方案提出一种通过策略模块在服务端自动分配sctp连接端点的机制,提出一种网关间通过带内报文实现业务自动发布、路径优化的方式,提出一种自动根据pmtu大小重新把tcp流数据封装到sctp data chunk的机制,因此强化了服务端与客户端的协同管理能力。
137.应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能
实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
138.进一步的,本公开还提供了一种多路径通信装置。参考图7所示,该多路径通信装置可以包括网关配置模块710、通道建立模块720以及多路径通信模块730。其中:
139.网关配置模块710可以用于在服务器端配置对应的服务端网关,并在客户端配置对应的客户端网关;
140.通道建立模块720可以用于在服务端网关与客户端网关之间建立多路径的流控制传输协议的连接通道;
141.多路径通信模块730可以用于通过流控制传输协议的连接通道进行客户端与服务器之间的多路径通信过程。
142.在本公开的一些示例性实施例中,通道建立模块720可以包括网关网口提供单元、连接请求发起单元、端点地址返回单元、路由表建立单元以及连接通道建立单元。其中:
143.网关网口提供单元可以用于在服务端网关与客户端网关分别提供多个网口,其中,每个网口分别对应一个网络出口协议地址;
144.连接请求发起单元可以用于通过客户端网关使用流控制传输协议向服务器的任意一个网络出口协议地址发起连接请求;
145.端点地址返回单元可以用于响应于客户端网关发起的连接请求,通过服务端网关返回分配给客户端的多个服务器端点地址;
146.路由表建立单元可以用于通过服务端网关将服务器对应的虚拟网络协议地址列表发送至客户端网关,以使客户端网关根据虚拟网络协议地址列表建立路由表,其中,路由表用于客户端与服务器之间的通信;
147.连接通道建立单元可以用于根据多个服务器端点地址在服务端网关与客户端网关之间建立多路径的连接通道。
148.在本公开的一些示例性实施例中,端点地址返回单元可以包括端点地址分配单元以及信息确认帧返回单元。其中:
149.端点地址分配单元可以用于获取客户端的网络特性参数,并根据网络特性参数确定分配给客户端的多个服务器端点地址;
150.信息确认帧返回单元可以用于响应于客户端网关发起的连接请求,通过服务端网关返回连接请求对应的信息确认帧,并将多个服务器端点地址携带在信息确认帧中。
151.在本公开的一些示例性实施例中,多路径通信模块730可以包括传输连接发起单元、服务端网关确定单元、报文封装单元以及报文解封装单元。其中:
152.传输连接发起单元可以用于获取服务器的虚拟网络协议地址,并根据虚拟网络协议地址向服务器发起传输控制协议连接;
153.服务端网关确定单元可以用于获取客户端网关中的路由表,并根据虚拟网络协议地址从路由表中确定出服务器对应的服务端网关;
154.报文封装单元可以用于通过客户端网关将传输控制协议报文封装在流控制传输协议报文中,并将流控制传输协议报文发送至服务端网关;
155.报文解封装单元可以用于通过服务端网关对流控制传输协议报文进行解封装,并将传输控制协议报文发送至服务器。
156.在本公开的一些示例性实施例中,报文解封装单元可以包括地址转换单元以及报文发送单元。其中:
157.地址转换单元可以用于获取服务器对应的虚拟网络协议地址列表,并根据虚拟网络协议地址列表将服务器的虚拟网络协议地址转换为网络出口协议地址;
158.报文发送单元可以用于根据服务器的网络出口协议地址将传输控制协议报文发送至服务器。
159.在本公开的一些示例性实施例中,本公开提供的一种多路径通信装置还可以包括路径最大传输单元检测模块,该路径最大传输单元检测模块可以包括路径最大传输单元检测单元以及传输控制协议报文调整单元。其中:
160.路径最大传输单元检测单元可以用于通过客户端网关和/或服务端网关向每个路径发起路径最大传输单元检测;
161.传输控制协议报文调整单元可以用于在将传输控制协议报文封装在流控制传输协议报文中时,根据路径最大传输单元的检测结果调整传输控制协议报文的大小。
162.在本公开的一些示例性实施例中,传输控制协议报文调整单元可以包括原始尺寸封装单元以及目标尺寸封装单元。其中:
163.原始尺寸封装单元可以用于若传输控制协议报文的原始尺寸小于或等于路径最大传输单元的检测值,则按照传输控制协议报文的原始尺寸将传输控制协议报文封装在流控制传输协议报文中;
164.目标尺寸封装单元可以用于若传输控制协议报文的原始尺寸大于路径最大传输单元的检测值,则将路径最大传输单元的检测值作为传输控制协议报文的目标尺寸,并按照目标尺寸将传输控制协议报文封装在流控制传输协议报文中。
165.在本公开的一些示例性实施例中,本公开提供的一种多路径通信装置还可以包括路径故障监测模块,该路径故障监测模块可以包括路径可用性监测单元以及故障路径屏蔽单元。其中:
166.路径可用性监测单元可以用于通过客户端网关和服务端网关对每个路径的可用性进行实时监测;
167.故障路径屏蔽单元可以用于若监测到路径不可用,则通过客户端网关和服务端网关屏蔽路径,直到路径的故障恢复。
168.上述多路径通信装置中各模块/单元的具体细节在相应的方法实施例部分已有详细的说明,此处不再赘述。
169.图8示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
170.需要说明的是,图8示出的电子设备的计算机系统800仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
171.如图8所示,计算机系统800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram 803中,还存储有系统操作所需的各种程序和数据。cpu 801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
172.以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射
线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
173.特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本技术的系统中限定的各种功能。
174.需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
175.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
176.作为另一方面,本技术还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。
177.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
178.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
179.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1