一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

MPTCP负载均衡方法、介质及设备与流程

2022-03-19 12:04:27 来源:中国专利 TAG:

mptcp负载均衡方法、介质及设备
技术领域
1.本技术的一个或多个实施例通常涉及通信技术领域,具体涉及一种多路径传输控制协议(multipath transport control protocol,mptcp)负载均衡方法、介质及设备。


背景技术:

2.随着ipv6到来,主机的多地址(multihome)变得越来越普及。从数据中心胖树(fat-tree)网络架构下的服务器到具有5g/4g/wifi/3g/蓝牙(bluetooth)/有线以太/光纤网络的多连接的智能手机,都是多宿主机。为了充分利用设备的多连接特性,ietf(the internet engineering task force,国际互联网工程任务组)制定了多路径传输控制协议(multipath transport control protocol,mptcp),允许传输控制协议(transport control protocol,tcp)连接使用多个路径来最大化信道资源使用,从而可以提高端到端的吞吐率,增加网络利用率。
3.在mptcp场景下,一个mptcp连接是由多个tcp连接组成的。按照传统的负载均衡(load balance,lb)机制,为确保同一mptcp会话的不同tcp连接路由到同一服务器,lb会根据mptcp会话(session)的令牌(token)动态创建mptcp负载均衡记录用于记录令牌与服务器的ip地址之间的映射关系。如果mptcp的不同tcp连接由不同lb转发,可能无法实现负载均衡。此外,令牌与mptcp会话相关,其生命周期与mptcp的生命周期相同。换句话说,当mptcp会话结束,那么令牌也可能失效,与之对应的mptcp负载均衡记录也就随之失效了。


技术实现要素:

4.以下从多个方面介绍本技术,以下多个方面的实施方式和有益效果可互相参考。
5.第一方面,本技术的实施例提供了一种mptcp负载均衡方法,用于负载均衡设备,包括接收用户设备(user equipment,ue)用于请求建立第一mptcp连接的第一请求消息;选择与所述ue建立所述第一mptcp连接的服务器并将所述第一请求消息发送到所述服务器;接收来自所述服务器的针对所述第一请求消息的第一响应消息,所述第一响应消息包括所述服务器的标识;接收所述ue用于请求建立第二mptcp连接的第二请求消息,和在确定所述第二请求消息包括所述服务器的所述标识的情况下,根据所述服务器的标识查找静态转发规则表,以确定与所述服务器的标识相对应的所述服务器的ip地址,并且将所述第二请求消息转发至所述ip地址对应的所述服务器,其中,所述静态转发规则表预先配置在所述负载均衡设备中,并且包括所述服务器的标识与所述服务器的ip地址的映射关系。
6.在上述第一方面的一种可能实现中,所述第一mptcp连接与所述第二mptcp连接属于同一个mptcp会话。
7.在上述第一方面的一种可能实现中,所述服务器的标识包括所述服务器的编号或者uuid(universally unique identifier,uuid)或者全局唯一标识符(globally unique identifier,guid)。
8.在上述第一方面的一种可能实现中,所述服务器的所述标识与所述mptcp会话无
关。
9.在上述第一方面的一种可能实现中,所述响应消息还包括种类(kind)、长度(length)、mptcp选项子类型(subtype)中的至少一个。
10.第二方面,本技术的实施例提供了一种mptcp负载均衡方法,用于用户设备,包括发送用于请求建立第一mptcp连接的第一请求消息,接收来自所述服务器针对所述第一请求消息的第一响应消息,所述第一响应消息包括所述服务器的标识,向所述服务器发送请求建立第二mptcp连接的第二请求消息,其中,在确定所述第一mptcp连接与所述第二mptcp连接属于同一mptcp会话的情况下,所述第二请求信息包括所述服务器的所述标识。
11.在上述第二方面的一种可能实现中,所述服务器的标识包括所述服务器的编号或者uuid(universally unique identifier,uuid)或者全局唯一标识符(globally unique identifier,guid)。
12.在上述第二方面的一种可能实现中,所述服务器的所述标识与所述mptcp会话无关。
13.在上述第二方面的一种可能实现中,所述第一响应消息还包括种类(kind)、长度(length)、mptcp选项子类型(subtype)中的至少一个。
14.在上述第二方面的一种可能实现中,在确定所述第一mptcp连接与所述第二mptcp连接不属于同一mptcp会话的情况下,所述第二请求信息不包括所述服务器的所述标识。
15.第三方面,本技术的实施例提供了一种mptcp负载均衡方法,用于服务器,包括接收来自用户设备的用于建立第一mptcp连接的第一请求消息,发送对于所述第一mptcp连接的第一请求消息的第一响应消息,所述第一响应消息包括所述服务器的标识,接收所述用户设备建立所述第一mptcp连接的确认消息;接收所述用户设备用于建立第二mptcp连接的第二请求消息,以及在确定所述第二请求消息中包括所述服务器的标识的情况下,建立所述第二mptcp连接。
16.在上述第三方面的一种可能实现中,所述第一mptcp连接与所述第二mptcp连接属于同一mptcp会话。
17.在上述第三方面的一种可能实现中,所述服务器的标识包括所述服务器的编号或者uuid(universally unique identifier,uuid)或者全局唯一标识符(globally unique identifier,guid)。
18.在上述第三方面的一种可能实现中,所述服务器的所述标识与所述mptcp会话无关。
19.在上述第三方面的一种可能实现中,所述第一响应消息和所述第二响应消息还包括种类(kind)、长度(length)、mptcp选项子类型(subtype)中的至少一个。
20.第四方面,本技术的实施例提供了一种机器可读介质,其特征在于,在所述介质上存储有指令,当所述指令在所述机器上运行时,使得所述机器执行第一方面到第三方面所述的方法。
21.第五方面,本技术的实施例提供了一种设备,包括:处理器;存储器,在所述存储器上存储有指令,当所述指令被所述处理器运行时,使得所述用户设备执行第一方面到第三方面所述的方法。
22.根据本技术的技术方案,基于服务器的标识信息和ip地址之间映射关系的静态转
发规则表建立mptcp会话的多个子流。由于服务器的标识信息与mptcp会话无关,其在提供服务的生命周期内保持不变,因此相对于现有技术的负载均衡来说,根据本技术的负载均衡的方法能够更有效并可靠的建立mptcp会话的多个子流。
附图说明
23.图1是应用根据本技术实施例的负载均衡方法的数据传输系统的场景示意图;
24.图2是根据本技术一些实施例的mptcp负载均衡方法的信号流图;
25.图3是根据本技术一些实施例的用于负载均衡设备的mptcp负载均衡方法的流程图;
26.图4是根据本技术一个实施例的携带服务器标识信息的mptcp选项的示意图;
27.图5是根据本技术一些实施例的用于ue的mptcp负载均衡方法的流程图;
28.图6是根据本技术一些实施例的用于服务器的mptcp负载均衡方法的流程图。
具体实施方式
29.下面结合具体实施例和附图对本技术做进一步说明。
30.应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元或是数据,但是这些单元或数据不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一特征可以被称为第二特征,并且类似地第二特征可以被称为第一特征。
31.应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
32.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施方式作进一步地详细描述。
33.图1是应用根据本技术实施例的负载均衡方法的数据传输系统的场景示意图。如图1所示,数据传输系统可以包括用户设备(user equipment,ue)100、负载均衡实例201和202,以及包括多个服务器301、302、303的服务器资源池300。其中ue可以是膝上型计算机、台式计算机、平板计算机、手机、可穿戴设备、头戴式显示器、服务器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备、其中嵌入或耦接有一个或多个处理器的电视机、或能够访问网络的其他电子设备,也可以是支持mptcp client或mptcp proxy的cpe(customer premise equipment,客户驻点设备)等网络设备。负载均衡实例201和202可以是同一台负载均衡设备中运行的负载均衡服务的两个实例,也可以是分别在不同的两台负载均衡设备中运行的负载均衡服务的实例。服务器资源池300是可以包括由负载均衡实例(例如,实例201和202)管理的可以为用户设备(例如,ue100)提供数据处理服务的多个服务器(例如,服务器301-303)的服务器集群,其中的多个服务器301、302、303可以是物理服务器、虚拟机或容器等等。图1中示出的是ue100与服务器302建立连接,但是本领域技术人员可以理解,与ue100建立连接的可以是服务器资源池300中的任一台服务器,例如301或者303。
34.进一步的,ue100包括控制器110,控制器110可以包括,但不限于,调制解调器、中
央处理器(central processing unit,cpu)、应用处理器(application processor,ap)、微处理器(micro-programmed control unit,mcu)、人工智能(artificial intelligence,ai)处理器或可编程逻辑器件(field programmable gate array,fpga)等的处理电路。其中,调制解调器用于根据3gpp的协议,将处于需要发射的基带频域的信息(例如信号和/或数据)调制成可以通过收发器传输的模拟信号,和将收发器接收到的模拟信号解调成ue100的处理器能够处理的基带频域的信息。不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一种可能的实施方式中,控制器110可以运行操作系统,例如,android、ios、windows os、linux和鸿蒙操作系统等。在另一些可能的实施方式中,控制器110可以运行特定的应用程序。控制器110中还可设置存储器,用于存储指令和数据。在本技术的实施例中,控制器110可以被配置为执行根据下文所述的负载均衡方法。
35.ue100还包括两个收发器101和102。收发器用于为ue100提供无线连接接口(如射频前端模块,天线等),进而通过一个或多个网络与任意其他合适的设备进行通信。本领域技术人员可以理解,收发器101和102可以是提供包括有线局域网、无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络)、蓝牙(bluetooth,bt)、第三代移动通信技术(3rd-generation mobile communication technology,3g)网络、第四代移动通信技术(the 4th generation mobile communication technology,4g)网络、第五代移动通信技术(5th-generation mobile communication technology,5g)网络、和/或未来演进的公共陆地移动网络(public land mobile network,plmn)的数据连接服务等无线通信的网络接口。在本技术的实施例中,收发器101和收发器102可以通过不同的网络进行通信,并且收发器101和102可以分别具有不同的ip地址,例如收发器101为进行4g无线通信的网络接口,收发器102为进行wlan无线通信的网络接口。另外,本领域技术人员可以理解,图1所示的ue100包括两个收发器仅为举例说明,收发器的数量不具体限定,还可以是三个或更多。
36.如图1所示,ue100服务器资源池300中的服务器302之间建立了mptcp会话,该mptcp会话实现了同时在两条子流(subflow,tcp连接)上的数据传输。假设其中ue100的收发器101通过4g核心网接入因特网,经由负载均衡实例201首先建立与服务器资源池300中的服务器302的tcp连接,之后ue的收发器102通过无线局域网接入因特网,经由负载均衡实例202也与服务器302建立tcp连接。进一步的,先建立的收发器101与服务器302之间的tcp连接为mptcp会话的第一tcp连接,一般也可称为mptcp会话的首个子流(subflow),后建立的收发器102与服务器302之间的tcp连接为mptcp会话的第二tcp连接,也可以称为mptcp会话的附加子流。如上所述,这两条子流同属于一个mptcp会话,从而ue发送的数据能够选择任一子流进行传输。
37.接下来,将参考图2对根据本技术一个实施例的mptcp负载均衡方法进行说明。
38.与普通tcp连接一样,mptcp会话的首个子流的建立,即图2中所示的步骤21也需要经过通信双方的三次握手(three-way handshake)。为了兼容tcp,mptcp的所有管理信息都通过tcp选项字段来传输。在首个子流建立的过程中,通信双方需要在syn,syn/ack报文中携带多路径能力(mp-capable)选项。
39.如图2所示,首先在步骤210,ue100通过收发器101向服务器发送建立第一连接的请求,用于传输mptcp会话的首个子流,该请求消息可以是syn报文。其中syn报文中携带有
mp-capable选项,mp-capable选项用于表示ue100支持mptcp连接。通常,mp-capable选项中还包含ue100的秘钥(key)。
40.需要说明的是,图2中的步骤210示出的是syn报文直接由ue100发送到服务器302,实际上,在包括负载均衡的场景下,上述携带有mp-capable选项的syn报文是经由负载均衡实例对应的负载均衡器进行转发。其中,负载均衡器可以基于五元组(发送端ip地址,发送端端口,接收端ip地址,接收端端口和传输层协议)进行哈希算法或其他的随机分配算法来从服务器资源池300中选择与ue100建立上述第一连接的服务器并将上述建立第一连接的请求转发到所选的服务器(例如,服务器301)。同样,图2中所示的ue100与服务器302之间的其他信息传送的步骤实际上都是经由负载均衡器转发。这里,假设图2所示的建立mptcp会话的首个子流的步骤21中ue100与服务器302之间的信息传送是由负载均衡实例201所在负载均衡器完成。
41.接下来,在步骤211,服务器302在接收到来自ue100的携带有mp-capable选项的syn报文后,会发出响应消息。该响应消息是syn/ack报文,即握手信号确认消息。同样,syn/ack报文中携带有mp-capable选项,mp-capable选项用于表示服务器302支持mptcp连接。通常,mp-capable选项中还包含服务器302的秘钥(key)。
42.为了解决现有技术中同一mptcp由不同lb转发的情况下可能存在无法实现负载均衡的问题,根据本技术的负载均衡方法,上述syn/ack报文中还携带有服务器302的标识信息(server id)以用于建立mptcp会话的附加子流。该标识信息可以是与具体mptcp会话无关的任意的服务器标识,例如1、2、3
……
等唯一的顺序编号,也可以是通用唯一识别码(universally unique identifier,uuid或全局唯一标识符(globally unique identifier,guid),本技术的实施例对此不作具体限定。在不同的负载均衡实例中配置对应的服务器资源池,加入同一个服务器(在不同的服务均衡实例中服务器入口ip地址可以不同),则配置的服务器标识需要保持一致,并和服务器本地的服务器标识要相同;同时在同一个负载均衡实例的服务器资源池中,不同服务器的服务器标识不能相同。
43.下面是本方案中负载均衡实例中配置的服务器资源池成员列表的一个示例:
[0044][0045]
在一个实例中,网络运营管理人员可以通过管理协议(例如netconf、snmp、restful apis over http)或本地的web网管或cli命令行进行配置该负载均衡实例。例如在lb服务器资源池配置中除了配置每个后端服务器的ip,还要配置每个服务器对应的标识,配置的服务器标识要和后端服务器自身的标识要确保一致。该负载均衡实例所在负载均衡器根据服务器资源池的配置生成静态转发规则表,根据捕获到业务报文中携带的服务器id选择对应的服务器进行该报文的相应处理和路由转发。
[0046]
在一个实例中,静态转发规则表可以存储在负载均衡实例202的负载均衡设备中,
也可以存储在与负载均衡设备进行通信的其他服务器或存储器中,例如云端服务器。
[0047]
在一个实例中,静态转发规则表还可以包括ue100与服务器302之间的通信链路上与路由信息相关的映射关系。
[0048]
同样,携带有服务器302标识的syn/ack报文经由负载均衡实例201所在负载均衡器转发至ue100的收发器101。
[0049]
在步骤212,ue100在接收到来自服务器302的syn/ack报文后,解析到服务器302的标识信息,缓存该服务器标识,然后发出确认消息。该确认消息是ack报文,ack报文携带mp-capable选项和服务器302标识,并且mp-capable选项中包含上述ue100的key和服务器302的key。上述ack报文是经由负载均衡实例对应的负载均衡器进行转发,负载均衡器检测到该ack报文是需要做负载均衡的报文(例如协议类型是tcp,端口是http协议对应的80端口),解析发现报文中携带服务器302标识,然后根据服务器302标识查询转发规则表,查询到服务器302的ip进行路由转发,将ack报文转发到服务器302。至此,ue100的收发器101与服务器302之间通过三次握手的过程完成了mptcp会话的首个子流的建立,该mptcp会话也建链完成。
[0050]
需要说明的是,该mptcp会话建链完成后,ue100将服务器302标识和该mpctp会话关联,例如写入该mpctp会话的会话参数信息中。
[0051]
该mpctp的首个子流成功建立之后,ue100的收发器101与服务器302之间可以进行该mptcp会话的数据传输。该数据传输的过程是正常的tcp数据传输过程,所述tcp数据在ue100上发出时会携带服务器302标识,在上述负载均衡实例所在负载均衡器上的转发流程和上述ack报文的转发流程相同。图2中并没有示出,在此也不再赘述。
[0052]
为提高端到端的吞吐率,增加网络利用率,接下来的步骤22中,在ue100的收发器102和服务器302之间,将建立mptcp会话的附加子流。这里,假设图2所示的建立mptcp会话的附加子流的步骤21中ue100与服务器302之间的信息传送是由负载均衡实例202完成。
[0053]
如果ue100与服务器302之间建立mptcp会话的附加子流的信息传送是由负载均衡实例202完成,传统的负载均衡技术会根据mptcp会话的令牌,执行五元组哈希算法或其他的随机分配算法转发。由于ue100的收发器101和102具有不同的ip地址,因此会导致收发器102的消息传送被路由到不同于服务器302的其他服务器上,造成负载均衡无法实现的结果。
[0054]
根据本技术的负载均衡方法,上述mptcp会话的附加子流建链报文(syn、ack报文)都会携带服务器302标识,在上述负载均衡实例所在负载均衡器上的转发流程和上述首个子流的ack报文的转发流程相同。这样就确保在ue100的收发器102和服务器302之间成功的建立附加子流。接下来将参考图2对该过程进行详细的说明。
[0055]
根据本技术的一个实例,ue100的收发器101在收到服务器302的标识信息之后,会将服务器302的标识信息与当前的mptcp会话的映射关系存放在ue100的存储器中。当ue100需要产生针对当前的mptcp会话建立附加子流的时候,控制器110会查找上述的标识信息与mptcp会话的映射表,从而发现服务器302的标识信息并将其放在建立mptcp会话的附加子流的请求中。需要说明的是,虽然在图1和图2中只显示了通过一个控制器110控制收发器101和收发器102,但是收发器101和收发器102也可以由不同的控制器进行控制。本领域技术人员可以理解,对于两个不同的控制器来说,服务器302的标识信息与当前的mptcp会话
的映射关系应该是共享的,例如ue可以本地缓存mptcp会话和服务器标识信息的对应关系,以便后续建立mptcp会话其他子流和正常进行mptcp会话发送tcp数据报文时生成携带服务器标识时使用。
[0056]
在收发器102发起mptcp会话的附加子流的建立过程中,会使用到服务器302的标识信息。mptcp会话的附加子流的建立采用四次握手的方式,这与上述的三次握手方式非常类似。
[0057]
首先,在步骤213,收发器102发送建立mptcp会话的第二连接,即建立mptcp会话的附加子流的请求消息,该请求消息同样可以是syn报文。其中syn报文中携带有mp-join选项,mp-join选项中包含服务器302的令牌,用于表示该附加子流与上述的mptcp会话的首个子流属于同一个mptcp会话。根据本技术的一个实施例,syn报文中还必须携带有服务器302的标识信息。
[0058]
在步骤214,负载均衡实例202接收到syn报文之后,解析syn报文得到服务器302的标识信息,通过检索静态转发规则表确定该syn报文的转发对象。其中,所述的静态转发规则表包括服务器302的标识信息与服务器302的ip(internet protocol,网际互联协议)地址之间的映射关系。
[0059]
如上所述,负载均衡实例201和202可以是同一个实例,或者是同一负载均衡设备中的两个实例,也可以分别位于不同的负载均衡设备中的两个实例。上述的一个负载均衡设备可以是一个独立的负载均衡设备,也可以是一组主备负载均衡设备,当主负载均衡设备故障时,由备用的负载均衡设备来实现负载均衡,主备负载均衡设备间配置维持一致。本领域技术人员可以理解,对于两个不同的负载均衡实例来说,上述的静态转发规则表应该是共享的或者配置一致的。
[0060]
如图2中步骤215所示,根据静态转发规则表中查找到的服务器标识信息所对应的ip地址,负载均衡实例202将syn报文转发至该ip地址对应的服务器。
[0061]
假设根据静态转发规则表查找到服务器302的标识信息对应的ip地址是192.0.0.2,则负载均衡实例202将syn报文转发至与ip地址192.0.0.2对应的服务器,即服务器302。
[0062]
需要说明的是,这里所述的服务器的ip地址可以是公网地址或者私网地址,本技术不对此做限定。并且,如果静态转发规则表中还包括上述的与路由信息相关的其他映射关系时,负载均衡实例可以基于nat(network address translation,网络地址转换)技术进行转发,以确保syn报文到达建立了mptcp的首个子流的相应的服务器。
[0063]
举例来说,负载均衡器本地支持nat,会配置负载均衡实例,配置公网ip(例如,公网ip1)和要负载均衡的服务类型(协议类型和端口,例如http,对应端口43),对服务器资源池的私网服务器提供nat处理。
[0064]
终端(假设其ip为公网ip2)经由ip地址为公网ip1的负载均衡器访问ip地址为私网ip1的mptcp服务器的过程如下:
[0065]
终端访问mptcp服务器,对应的tcp报文(可以是tcp sync报文或tcp数据报文)携带的五元组信息如下:
[0066]
源ip:公网ip2;目的ip:公网ip1;源端口:port2(本地随机分配的空闲端口);目的端口:43;协议类型:tcp
[0067]
当负载均衡器收到终端访问mptcp服务器的tcp(目的端口为43)报文后,查询tcp报文是否携带服务器标识,如果没有携带服务器的标识,则根据现有散列方案(例如五元组哈希)选择mptcp服务器资源池中的一个服务器;如果tcp报文有携带服务器标识,则直接根据其携带的服务器标识查询静态转发规则表获取对应的mptcp服务器的ip地址。这里假设选择的是对应私网ip1的mptcp服务器1。负载均衡器修改报文tcp头和ip头,重新封装后路由转发给mptcp服务器1。修改后的tcp报文五元组信息如下:
[0068]
源ip:公网ip1;目的ip:私网ip1;源端口:port2;目的端口:43;协议类型:tcp。
[0069]
mptcp服务器1收到nat转换后的tcp报文后,发现是本地报文进行处理,回复报文(例如tcp ack/syn-ack报文),携带的五元组信息如下:
[0070]
源ip:私网ip1;目的ip:公网ip2;源端口:43;目的端口:port2;协议类型:tcp
[0071]
负载均衡器收到mptcp服务器1回复的tcp报文,根据源ip查询nat映射表,知道新的源ip为公网ip1,修改报文tcp头和ip头,重新封装后路由转发给终端。
[0072]
修改后的tcp报文五元组信息如下:
[0073]
源ip:公网ip1;目的ip:公网ip2;源端口:43;目的端口:port2;协议类型:tcp。
[0074]
如上所述,收发器102建立的第二连接与收发器101建立的第一连接属于同一mptcp会话。本领域技术人员可以理解,在收发器102建立第二连接时,ue100的控制器110需要判断其是否和收发器101建立的mptcp的首个子流属于同一mptcp会话,如果属于同一mptcp会话,则在步骤213中建立第二连接的请求消息中会携带相关的字段选项以及服务器302的标识信息;如果不属于同一mptcp会话,则不会携带相关的字段选项以及服务器302的标识信息,此时,负载均衡在接收到建立连接的请求消息后,会按照三次握手的方式建立连接,即如上述步骤210-212所述的方式,在此不再赘述。
[0075]
接下来,在步骤216,服务器302对于收到的syn报文发出响应消息,该响应消息可以是syn/ack报文。该syn/ack报文中可以携带包含服务器302的鉴权信息的mp-join选项。
[0076]
在步骤217,对于服务器发出的syn/ack响应消息,收发器102发出建立mptcp会话的附加子流的确认消息,该确认消息是ack报文。同样,ack报文要携带包含ue100的鉴权信息的mp-join选项。
[0077]
最后,在步骤218,对于来自收发器102的ack报文,服务器302也发出建立mptcp会话的附加子流的确认消息,该确认消息也是ack报文,用于对步骤217中收发器发送的ack报文进行确认。
[0078]
这里需要说明的是,在步骤216、217和218中,收发器102和服务器302之间发送的syn/ack或者ack报文都是经由负载均衡实例202进行转发,图2中未示出,在此也不再赘述。
[0079]
以上,通过四次握手的方式,实现了mptcp会话的附加子流的建立。同样,mpctp的附加子流成功建立之后,ue100的收发器102与服务器302之间也可以进行数据传输。该数据传输的过程是正常的tcp数据传输过程,图2中并没有示出,在此也不再赘述。
[0080]
通过上述根据图2说明的根据本技术一个实施例的负载均衡的方法,基于服务器的标识信息和ip地址之间映射关系的静态转发规则表建立mptcp会话的多个子流。由于服务器的标识信息与mptcp会话无关,其在提供服务的生命周期内保持不变,因此相对于现有技术的负载均衡来说,根据本技术的负载均衡的方法能够更有效并可靠的建立mptcp会话的多个子流。
[0081]
接下来,参考图3对根据本技术一个实施例的用于负载均衡设备的mptcp负载均衡方法的流程进行说明。
[0082]
在步骤301,接收ue用于建立mptcp会话的第一连接的请求消息。这里所述的mptcp会话的第一连接,也就是mptcp会话的首个子流。该请求消息通常是syn报文。其中syn报文中携带有mp-capable选项,mp-capable选项用于表示用户设备支持mptcp连接。通常,mp-capable选项中还包含用户设备的key。
[0083]
在步骤302,根据ue用于建立mptcp会话的第一连接的请求消息,负载均衡会选择与ue建立第一连接的服务器。
[0084]
第一连接的请求消息由负载均衡的实例进行转发。其中,负载均衡的实例可以基于五元组进行哈希算法或其他的随机分配算法转发,本技术不对此做具体的限定。
[0085]
接下来,服务器在接收到负载均衡转发的,来自ue的携带有mp-capable选项的syn报文后,发出响应消息。在步骤303,负载均衡会接收服务器的响应消息并转发给ue。
[0086]
这里所说的服务器的响应消息是syn/ack报文,即握手信号确认消息。同样,syn/ack报文中携带有mp-capable选项,mp-capable选项用于表示服务器支持mptcp连接。通常,mp-capable选项中还包含服务器的秘钥(key)。ue在接收到来自服务器的syn/ack报文后,会发出确认消息。
[0087]
根据本技术的负载均衡方法,上述syn/ack报文中还携带有服务器的标识信息(server id)以用于建立mptcp会话的附加子流。该标识信息可以是与mptcp会话无关的服务器的任意标识,例如通用唯一识别码(universally unique identifier,uuid),也可以是例如1、2、3
……
等唯一的顺序编号或者全局唯一标识符(globally unique identifier,guid)。
[0088]
在步骤304,负载均衡接收来自ue的确认消息并转发给响应的服务器。该确认消息是ack报文,通常,ack报文需要携带mp-capable选项,并且mp-capable选项中包含上述ue的key和服务器的key。
[0089]
这里,步骤301-304与上述图2中所示的步骤210-212对应,经由负载均衡,ue与服务器之间通过三次握手的过程完成了mpctp会话的首个子流的建立。
[0090]
需要说明的是,mpctp会话的首个子流成功建立之后,ue与服务器之间可以进行数据传输。该数据传输的过程是正常的tcp数据传输过程,在此也不再赘述。
[0091]
当ue和服务器之间成功建立了mptcp会话的首个子流之后,ue和服务器之间会发起mptcp会话的附加子流的建立过程。
[0092]
在步骤305,ue发送建立mptcp会话的第二连接,即建立mptcp会话的附加子流的请求消息,该请求消息同样可以是syn报文。其中syn报文中携带有mp-join选项,mp-join选项中包含服务器的令牌,用于表示该附加子流与上述的mptcp会话的首个子流属于同一个mptcp会话。根据本技术的一个实施例,syn报文中还必须携带有服务器的标识信息。如上所述,ue可以本地缓存mptcp会话和服务器标识信息的对应关系,以便后续建立mptcp会话其他子流和正常进行mptcp会话发送tcp数据报文时生成携带服务器标识时使用。
[0093]
与上述图2中的步骤213相对应,建立mptcp会话的第二连接是由不同于建立mptcp会话的首个子流的收发器的另一个收发器所发起的。在本技术的实施例中,mptcp会话的首个子流是由ue100的收发器101发起建立,而mptcp会话的附加子流是由ue100的收发器102
发起建立的。
[0094]
接下来,在步骤306,负载均衡接收到步骤305中所述的syn报文之后,需要解析syn报文。如上所述,为了确保同一mptcp会话的附加子流在ue100的收发器102和服务器302之间成功的建立,上述syn报文中还携带有服务器302的标识信息。
[0095]
负载均衡通过解析syn报文得到服务器的标识信息的情况下,即步骤306的判断结果为是的情况下,执行步骤307,负载均衡要通过检索静态转发规则表确定该syn报文的转发对象。其中,所述的静态转发规则表包括服务器的标识信息与服务器的ip(internet protocol,网际互联协议)地址之间的映射关系。
[0096]
在一个实例中,静态转发规则表可以存储在负载均衡实例的负载均衡设备中,也可以存储在与负载均衡设备进行通信的其他服务器或存储器中,例如云端服务器。
[0097]
在一个实例中,静态转发规则表可以由人工进行配置或者根据控制协议自动配置。例如在lb服务器资源池配置中除了配置每个后端服务器的ip,还要配置每个服务器对应的标识,配置的服务器标识要和后端服务器自身的标识要确保一致。lb服务器可以根据服务器标识检索服务器私网ip的负载均衡的静态转发规则表。
[0098]
在一个实例中,静态转发规则表还可以包括通信链路上与路由信息相关的映射关系。
[0099]
如上所述,在本技术的一个实施例中,mptcp会话的第一连接和第二连接由负载均衡实例201和202分别转发,负载均衡实例201和202可以是同一个实例,或者是同一台负载均衡设备中的两个实例,也可以分别位于不同的两台负载均衡设备中。上述的一个负载均衡设备可以是一个独立的负载均衡设备,也可以是一组主备负载均衡设备,当主负载均衡设备故障时,由备用的负载均衡设备来实现负载均衡,主备负载均衡设备间配置维持一致。本领域技术人员可以理解,对于两个不同的负载均衡实例来说,上述的静态转发规则表应该是共享的或者配置一致的。
[0100]
与图2中步骤215一样,在步骤308,根据静态转发规则表中查找到的服务器标识信息所对应的ip地址,负载均衡实例将syn报文转发至该ip地址对应的服务器。
[0101]
在根据本技术的实例中,假设根据静态转发规则表查找到服务器302的标识信息对应的ip地址是192.0.0.2,则负载均衡实例202将syn报文转发至与ip地址192.0.0.2对应的服务器,即服务器302。
[0102]
需要说明的是,这里所述的服务器的ip地址可以是公网地址或者私网地址,本技术不对此做限定。并且,如果静态转发规则表中还包括上述的与路由信息相关的其他映射关系时,负载均衡实例可以基于nat(network address translation,网络地址转换)技术进行转发,以确保syn报文到达建立了mptcp的首个子流的相应的服务器。
[0103]
接下来,在步骤309,服务器302对于收到的syn报文发出响应消息,该相应消息可以是syn/ack报文。该syn/ack报文中可以携带包含服务器302的鉴权信息的mp-join选项。该syn/ack报文由负载均衡接收并转发至ue。
[0104]
在步骤310,对于服务器发出的syn/ack响应消息,收发器102发出建立mptcp会话的附加子流的确认消息,该确认消息是ack报文。同样,ack报文要携带包含ue100的鉴权信息的mp-join选项。该ack报文由负载均衡接收并转发至服务器302。
[0105]
最后,在步骤311,对于来自收发器102的ack报文,服务器302也发出建立mptcp会
话的附加子流的确认消息,该确认消息也是ack报文,用于对步骤310中收发器发送的ack报文进行确认。同样,负载均衡接收ack报文并将其转发至ue100。
[0106]
以上,通过四次握手的方式,实现了mptcp会话的附加子流的建立。同样,mpctp的附加子流成功建立之后,ue100的收发器102与服务器302之间也可以进行数据传输。该数据传输的过程是正常的tcp数据传输过程,在此也不再赘述。
[0107]
需要说明的是,在步骤306中,负载均衡接收到步骤305中所述的syn报文之后,需要解析syn报文。如果负载均衡通过解析syn报文没有得到服务器的标识信息的情况下,即步骤306的判断结果为否的情况下,表示从收发器102发出的第二连接的请求消息中并没有包括服务器302的标识信息,也就意味着收发器102请求建立的第二连接并非与收发器101建立的mptcp会话的第一连接属于同一个mptcp会话。此时,负载均衡转而执行步骤312。
[0108]
对于没有包括服务器标识信息的连接请求,负载均衡会认为是属于另一mptcp会话的首个子流的建立请求,进而按照图2所示的步骤210-212,或者图3所示的步骤301-304进行处理,即根据会话的令牌执行五元组哈希算法或其他的随机分配算法转发,在此不再赘述。
[0109]
图4是根据本技术一个实施例的携带服务器标识信息的mptcp选项的示意图。如图4所示,mptcp选项包括种类(kind)、长度(length)、子类型(subtype)字段。其中,kind字段表示该头部选项为mptcp头部选项,取值为30,这个值是由iana(the internet assigned numbers authority,互联网数字分配机构)分配的。length字段表示该头部选项的长度。subtype表示该mptcp选项的子类型,一般为四个字节,在iesg(internet engineering steering group,互联网工程指导小组)的rfc8684标准中对不同的subtype有详细的规定,例如0x0表示mp-capable,0x1表示mp-join。
[0110]
在根据本技术的实例中,subtype定义为mp-lb-advert选项,表示携带有服务器的标识信息。作为新定义的选项,subtype的取值可以是现有标准中仍未指定的0x9-0xe中任意一个。另外,如图4所示,服务器的标识信息位于mptcp选项的最后8个字节,但是本领域技术人员可以理解,服务器的标识信息可以根据需要设定为例如4个字节等其他长度,如果是使用服务器uuid的情况还需要单独扩展ip选项,本技术的实施例不对此做具体限定。
[0111]
接下来,将结合图5对根据本技术的用于用户设备的mptcp负载均衡方法进行说明。
[0112]
在步骤501,ue向服务器发送用于建立mptcp会话的第一连接的请求消息。与图2的步骤210一样,ue100通过收发器101向服务器发送建立mptcp会话的第一连接,即mptcp会话的首个子流的请求消息,该请求消息可以是syn报文。其中syn报文中携带有mp-capable选项,mp-capable选项用于表示ue100支持mptcp连接。通常,mp-capable选项中还包含ue100的秘钥(key)。
[0113]
接下来,在步骤502,ue接收来自服务器的响应消息。如上所述,服务器302在接收到来自ue100的携带有mp-capable选项的syn报文后,会发出响应消息。该响应消息是syn/ack报文,即握手信号确认消息。同样,syn/ack报文中携带有mp-capable选项,mp-capable选项用于表示服务器302支持mptcp连接。通常,mp-capable选项中还包含服务器302的秘钥(key)。
[0114]
为了解决现有技术中同一mptcp由不同lb转发的情况下可能存在无法实现负载均
衡的问题,根据本技术的负载均衡方法,上述syn/ack报文中还携带有服务器302的标识信息(server id)以用于建立mptcp会话的附加子流。该标识信息可以是与mptcp会话无关的服务器的任意标识,例如通用唯一识别码(universally unique identifier,uuid),也可以是例如1、2、3
……
等唯一的顺序编号或者全局唯一标识符(globally unique identifier,guid)。
[0115]
在步骤503,ue100在接收到来自服务器302的syn/ack报文后,会发出确认消息。该确认消息是ack报文,通常,ack报文需要携带mp-capable选项,并且mp-capable选项中包含上述ue100的key和服务器302的key。至此,ue100的收发器101与服务器302之间通过三次握手的过程完成了mpctp会话的首个子流的建立。
[0116]
需要说明的是,mpctp会话的首个子流成功建立之后,ue100的收发器101与服务器302之间可以进行数据传输。该数据传输的过程是正常的tcp数据传输过程,在此也不再赘述。
[0117]
接下来,在步骤504,ue100的控制器110会产生用于建立第二连接的请求消息。这个第二连接可能是与上述步骤中建立的第一连接,即mptcp会话的首个子流属于同一个mptcp会话,也有可能是不同的会话。
[0118]
因此,在步骤505,ue100需要对产生的第二连接的请求消息做出判断,并给予判断的结果做出不同的处理。
[0119]
当步骤505的判断为是的情况下,表示收发器102将要建立同一mptcp会话的附加子流。此时,ue100的控制器110会进行处理,以便在建立mptcp会话的第二连接的请求消息中添加上述步骤502获得的服务器302的标识信息,即图5中的步骤506。该请求消息同样可以是syn报文。其中syn报文中携带有mp-join选项,mp-join选项中包含服务器302的令牌,用于表示该附加子流与上述的mptcp会话的首个子流属于同一个mptcp会话。如上所述,syn报文中还必须携带有服务器302的标识信息。
[0120]
如图2中所示的过程,负载均衡实例202接收到syn报文之后,解析syn报文得到服务器302的标识信息,通过检索静态转发规则表确定该syn报文的转发对象。其中,所述的静态转发规则表包括服务器302的标识信息与服务器302的ip(internet protocol,网际互联协议)地址之间的映射关系。具体的可参考图2中的相关描述,在此不再赘述。
[0121]
接下来,在步骤507,ue100接收服务器302发出的响应消息。该响应消息可以是syn/ack报文。该syn/ack报文中可以携带包含服务器302的鉴权信息的mp-join选项。
[0122]
在步骤508,对于服务器发出的syn/ack响应消息,ue100的收发器102发出建立mptcp会话的附加子流的确认消息,该确认消息是ack报文。同样,ack报文要携带包含ue100的鉴权信息的mp-join选项。
[0123]
最后,在步骤509,对于来自收发器102的ack报文,服务器302也发出建立mptcp会话的附加子流的确认消息,这个确认消息被ue所接收。该确认消息也是ack报文,用于对步骤217中收发器发送的ack报文进行确认。
[0124]
以上,通过四次握手的方式,实现了mptcp会话的附加子流的建立。同样,mpctp的附加子流成功建立之后,ue100的收发器102与服务器302之间也可以进行数据传输。该数据传输的过程是正常的tcp数据传输过程,在此也不再赘述。
[0125]
如上步骤504所述,ue100的收发器102发起的第二连接可能是与上述步骤中建立
的第一连接,即mptcp会话的首个子流属于不同的会话。对于不同的mptcp会话来说,不需要在建立连接的请求消息中携带服务器302的标识信息。因此,如果步骤505的判断为否的情况下,执行步骤510,即发送用于建立第二连接的请求消息,此时,该建立第二连接的请求消息中不包含上述步骤502中获得的服务器的标识信息。
[0126]
负载均衡在接收到不包含服务器标识信息的请求消息后,负载均衡会判断是属于另一mptcp会话的首个子流的建立请求,进而根据当前会话的令牌执行五元组哈希算法或其他的随机分配算法转发,具体的,可参考图2的步骤210-212,或者图3的步骤301-304所示的mptcp会话的首个子流的建立过程,在此不再赘述。
[0127]
图6是根据本技术一个实施例的用于服务器的mptcp负载均衡方法的流程图。
[0128]
具体的,在步骤601,经由负载均衡实例201,服务器资源池300中的服务器302接收到ue100的收发器101用于建立mptcp会话的第一连接的请求消息。该请求消息可以是syn报文。其中syn报文中携带有mp-capable选项,mp-capable选项用于表示ue100支持mptcp连接。通常,mp-capable选项中还包含ue100的秘钥(key)。步骤601对应于上述的步骤210,301以及501,在此不再赘述。
[0129]
在步骤602,针对步骤601中的建立mptcp会话的第一连接的请求消息,服务器302做出响应。该响应消息是syn/ack报文,即握手信号确认消息。同样,syn/ack报文中携带有mp-capable选项,mp-capable选项用于表示服务器302支持mptcp连接。通常,mp-capable选项中还包含服务器302的秘钥(key)。
[0130]
为了解决现有技术中同一mptcp由不同lb转发的情况下可能存在无法实现负载均衡的问题,根据本技术的负载均衡方法,上述syn/ack报文中还携带有服务器302的标识信息(server id)以用于建立mptcp会话的附加子流。该标识信息可以是例如通用唯一识别码(universally unique identifier,uuid),也可以是例如1、2、3
……
等唯一的顺序编号或者全局唯一标识符(globally unique identifier,guid)。步骤602对应于上述的步骤211,303以及502,在此不再赘述。
[0131]
接下来,在步骤603,负载均衡接收来自ue的确认消息并转发给相应的服务器302。该确认消息是ack报文,通常,ack报文需要携带mp-capable选项,并且mp-capable选项中包含上述ue的key和服务器的key。步骤603对应于上述的步骤212,304以及503,在此不再赘述。
[0132]
由此,在步骤601-603中,ue与服务器之间通过三次握手的过程完成了mpctp会话的首个子流的建立。同样,mpctp的首个子流成功建立之后,ue100的收发器101与服务器302之间可以进行数据传输。该数据传输的过程是正常的tcp数据传输过程,在此也不再赘述。
[0133]
在步骤604,服务器会接收来自ue的用于建立第二连接的请求消息。如上所述,ue100的控制器110会产生用于建立第二连接的请求消息。这个第二连接可能是与上述步骤601-603中建立的第一连接,即mptcp会话的首个子流属于同一个mptcp会话,也有可能是不同的会话。区别在于,如果第二连接与第一连接属于同一mptcp会话,则建立第二连接的请求消息中会携带步骤602中发送的服务器302的标识信息;如果不属于同一mptcp会话,则建立第二连接的请求消息中不会携带服务器302的标识信息。
[0134]
接下来,针对不同的建立第二连接的请求消息,负载均衡实例会做不同处理。如果是携带了服务器302标识信息的请求消息,则会相应的转发至服务器302。如果没有携带服
务器302的标识信息,建立第二连接的请求消息会经由负载均衡实例通过常规的例如五元组哈希算法或其他随机分配算法进行转发。因此在步骤605中,服务器针对是否携带有服务器标识的第二连接的请求消息会做不同处理。
[0135]
在步骤606,服务器302会接收到负载均衡实例202转发的携带有服务器302标识信息的第二连接请求消息,并针对该请求消息发出响应消息。该响应消息可以是syn/ack报文。该syn/ack报文中可以携带包含服务器302的鉴权信息的mp-join选项。
[0136]
在步骤607,对于步骤606中服务器发出的syn/ack响应消息,ue100的收发器102发出建立mptcp会话的附加子流的确认消息,该确认消息是ack报文。同样,ack报文要携带包含ue100的鉴权信息的mp-join选项。
[0137]
最后,在步骤608,对于来自收发器102的ack报文,服务器302也发出建立mptcp会话的附加子流的确认消息,这个确认消息被ue所接收。该确认消息也是ack报文,用于对步骤607中收发器发送的ack报文进行确认。
[0138]
以上,通过四次握手的方式,实现了mptcp会话的附加子流的建立。同样,mpctp的附加子流成功建立之后,ue100的收发器102与服务器302之间也可以进行数据传输。该数据传输的过程是正常的tcp数据传输过程,在此也不再赘述。
[0139]
如果上述步骤604中,ue100的收发器102发出的用于建立第二连接的请求消息不包括服务器302的标识信息,则该第二连接的请求消息可能会被负载均衡实例202转发至服务器资源池300中的任一台服务器,例如服务器301或303。此时,针对第二连接的请求消息,服务器301或303会发出携带其标识信息的响应。这个过程类似于mptcp与建立mptcp会话的首个子流,具体的可参考上述的步骤211,303或者502,在此不再赘述。
[0140]
通过上述根据图2-图6说明了根据本技术一个实施例的负载均衡的方法,基于服务器的标识信息和ip地址之间映射关系的静态转发规则表建立mptcp会话的多个子流。由于服务器的标识信息与mptcp会话无关,在提供服务的生命周期内保持不变,因此相对于现有技术的负载均衡来说,根据本技术的负载均衡的方法能够更有效并可靠的建立mptcp会话的多个子流。
[0141]
本技术的各方法实施方式均可以以软件、磁件、固件等方式实现。
[0142]
可将程序代码应用于输入指令,以执行本文描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,处理系统包括具有诸如例如数字信号处理器(dsp)、微控制器、专用集成电路(asic)或微处理器之类的处理器的任何系统。
[0143]
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本文中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
[0144]
至少一个实施例的一个或多个方面可以由存储在计算机可读存储介质上的表示性指令来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本文所述的技术的逻辑。被称为“ip核”的这些表示可以被存储在有形的计算机可读存储介质上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。
[0145]
虽然本技术的描述将结合较佳实施例一起介绍,但这并不代表此申请的特征仅限
于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本技术的权利要求而有可能延伸出的其它选择或改造。为了提供对本技术的深度了解,以下描述中将包含许多具体的细节。本技术也可以不使用这些细节实施。此外,为了避免混乱或模糊本技术的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0146]
此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个离散操作;然而,描述的顺序不应被解释为暗示这些操作必须依赖于顺序。特别是,这些操作不需要按呈现顺序执行。
[0147]
如这里所使用的,术语“模块”或“单元”可以指代、是或者包括:专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的(共享、专用或组)处理器和/或存储器、组合逻辑电路和/或提供所描述的功能的其他合适的组件。
[0148]
在附图中,以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可以不需要这样的特定布置和/或排序。在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包含结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
[0149]
本技术公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本技术的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括多个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、多个输入设备以及多个输出设备。
[0150]
可将程序代码应用于输入指令,以执行本技术描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,处理系统包括具有诸如例如数字信号处理器(dsp)、微控制器、专用集成电路(asic)或微处理器之类的处理器的任何系统。
[0151]
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本技术中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
[0152]
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。在一些情况下,至少一些实施例的一个或多个方面可以由存储在计算机可读存储介质上的表示性指令来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本技术所述的技术的逻辑。被称为“ip核”的这些表示可以被存储在有形的计算机可读存储介质上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。
[0153]
这样的计算机可读存储介质可以包括但不限于通过机器或设备制造或形成的物品的非瞬态的有形安排,其包括存储介质,诸如:硬盘任何其它类型的盘,包括软盘、光盘、紧致盘只读存储器(cd-rom)、紧致盘可重写(cd-rw)以及磁光盘;半导体器件,例如只读存储器(rom)、诸如动态随机存取存储器(dram)和静态随机存取存储器(sram)之类的随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、闪存、电可擦除可编程只读存储器(eeprom);相变存储器(pcm);磁卡或光卡;或适于存储电子指令的任何其它类型的介质。
[0154]
因此,本技术的各实施例还包括非瞬态的计算机可读存储介质,该介质包含指令或包含设计数据,诸如硬件描述语言(hdl),它定义本技术中描述的结构、电路、装置、处理器和/或系统特征。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献