一种基于QUIC技术的汽车数据传输方法及系统
技术领域
本发明涉及无线通信技术领域,特别是,涉及一种基于QUIC技术的无线终端数据传输方法。
背景技术
当前社会进入移动互联网时代后,移动场景下稳定高速的网络接入和移动终端实时互联的需求越来越多。用户使用无线终端设备100接入网络时,会被分配到一个临时的IP地址,当用户掉线重连或者切换接入点时,这个IP地址都可能发生变化。用户使用这个IP地址和公网中的服务器建立TCP或者UDP连接,然后获得网络视频语音或者其他服务,其中,TCP/UDP连接是一个五元组会话,五元组包括源IP地址,源端口,目的IP地址,目的端口和协议号,五元组中任何一个发生变化,会话都需要断开重新建立。当前网络环境下,当一个无线终端由一个接入点切换到另一个接入点后,终端设备的IP地址就会发生变化,会带来网络的断开重连,终端用户看到的就是网络卡顿或者掉线,从而导致网络不稳定,影响用户的使用。
近年来,随着汽车、高铁等交通工具的快速发展,对于移动场景下的无线通信需求越来越大,而通信的稳定性是用户最为重视的需求之一,面对不断增加的汽车数量,如何保证其稳定长效的网络连接也是一大难题。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明解决的一个技术问题是:提出一种基于QUIC技术的无线终端数据传输方法能够使设备移动过程中不再频繁掉线重连。
为解决上述技术问题,本发明提供如下技术方案:一种基于QUIC技术的无线终端数据传输方法,包括以下步骤,无线终端设备向服务端发起QUIC连接,包括初次连接和再次连接;服务端监听所述无线终端设备的连接请求并与其建立连接,并能够向无线终端设备发送数据;对已连接的无线终端设备生成一个会话id,终端用户在切换接入点时,能够在会话id的保活超时时间内重新接入网络。
作为本发明所述基于QUIC技术的无线终端数据传输方法的一种优选方案,其中:所述无线终端设备和服务端的初次连接包括以下步骤,无线终端设备向服务端发送Inchoate client hello信息;服务端收到无线终端设备的Inchoate client hello信息后回复rejection信息,所述rejection信息包括服务端的公钥信息、算法信息和证书信息;无线终端设备收到服务端的rejection信息后,再次向服务端发送包含服务端公钥信息的client hello信息;服务端接收到client hello信息,连接成功。
作为本发明所述基于QUIC技术的无线终端数据传输方法的一种优选方案,其中:所述无线终端设备和服务端的再次连接包括以下步骤,无线终端设备在初次连接时,收到rejection信息后生成初始密钥并发送至服务端;无线终端设备向服务端发送由公钥加密的request信息;服务端生成随机数,通过公钥加密sever hello信息并发送给无线终端设备,并生成会话密钥,之后服务端发送的数据均由会话密钥进行加密;无线终端设备收到sever hello信息后使用公钥进行解密,并推导出会话密钥,此后无线终端设备与服务端之间收发的数据均通过会话密钥进行加密。
作为本发明所述基于QUIC技术的无线终端数据传输方法的一种优选方案,其中:所述无线终端设备生成的会话id为一个64位的随机数。
作为本发明所述基于QUIC技术的无线终端数据传输方法的一种优选方案,其中:还包括以下步骤,两个无线终端设备之间通过服务端代理程序建立连接,并能够发送和接收数据。
作为本发明所述基于QUIC技术的无线终端数据传输方法的一种优选方案,其中:所述两个无线终端设备之间的连接还包括以下步骤,发送无线终端设备在发送数据报文时,携带接收无线终端设备的名字或其他唯一标识;服务端代理程序检查数据报文中接收无线终端设备的名字或者其他唯一标识,找到相应的会话并向接收无线终端设备转发数据报文。
作为本发明所述基于QUIC技术的无线终端数据传输方法的一种优选方案,其中:多个服务端能够通过集群部署的方式进行联合,共同为无线终端设备发送数据报文。
作为本发明所述基于QUIC技术的无线终端数据传输方法的一种优选方案,其中:所述服务端200向无线终端设备发送数据的方式是通过Nginx集群的方式进行数据报文的发送。
因此,本发明解决的另一个技术问题是:提供一种基于QUIC技术的无线终端数据传输系统,上述方法能够依托于该系统实现。
为解决上述技术问题,本发明提供如下技术方案:一种基于QUIC技术的汽车数据传输系统,包括,无线终端设备,所述能够发起连接请求并向客户提供本地服务;服务端,所述服务端能够响应所述无线终端设备的请求并进行处理。
作为本发明所述基于QUIC技术的无线终端数据传输系统的一种优选方案,其中:连接模块,所述连接模块能够在所述无线终端设备和所述服务端之间建立连接。
本发明的有益效果:利用QUIC技术连接无线终端设备和服务器,可以提供使无线终端设备在改变接入点时保持连接,特别是应用于汽车通信等无线终端设备处于高速移动状态的连接,保持其网络连接稳定、不易断开。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明第一种实施例所述基于QUIC技术的无线终端数据传输方法的整体流程图;
图2为本发明第一种实施例所述基于QUIC技术的无线终端数据传输方法的初次连接示意图;
图3为本发明第二种实施例所述基于QUIC技术的无线终端数据传输系统的整体原理示意图;
图4为本发明第二种实施例所述基于QUIC技术的无线终端数据传输系统的无线终端设备和服务端的连接示意图;
图5为本发明第二种实施例所述基于QUIC技术的无线终端数据传输系统的多个无线终端设备和服务端的连接示意图;
图6为本发明所述汽车移动时下载相同大小资源时的速度对比示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
在无线通信领域中,移动终端用户由于IP地址的变化而导致的掉线、连接不稳定情况时有发生,特别是对于汽车的通信,由于汽车通常处于长时间的高速移动状态中,因此如何保持汽车与服务器、以及汽车之间的无线通信稳定就成为必须解决的问题。参见图1,在本实施例中,提供了一种基于QUIC技术的无线终端数据传输方法,将其应用于汽车的无线通信中,有利于维持通信的稳定,减少掉线和卡顿的现象。QUIC是一种新的基于多路复用和安全传输的通信协议,具体的,该基于QUIC技术的无线终端数据传输方法包括以下步骤,
步骤一:无线终端设备100向服务端200发起QUIC连接,包括初次连接和再次连接。具体的,当一个新的无线终端设备100向服务端200发起连接时,此时服务端200没有该无线终端设备100的任何信息,因此需要通过初次连接获取,初次连接还包括以下步骤:
需要连接服务端200的无线终端设备100首先向服务端200发送Inchoate clienthello信息,大小为1300字节;服务端200收到无线终端设备100的Inchoate client hello信息后回复rejection信息,rejection信息的大小为1362字节,分成两个数据包的形式进行发送,其中,rejection信息包括了服务端200的公钥信息、算法信息和证书信息;无线终端设备100收到服务端200回复的rejection信息后,再次向服务端200发送包含服务端200公钥信息的client hello信息,大小为1024字节;服务端200接收到client hello信息,此时表明连接成功,优选的,服务端200会向无线终端设备100回复sever hello信息,大小为282字节。
参照图2,当无线终端设备100经过与服务端200的初次连接后,即可建立无需多次往返的再次连接,具体的,无线终端设备100和服务端200的再次连接包括以下步骤:
无线终端设备100在初次连接时,收到服务端200发送的rejection信息后生成初始密钥并发送至服务端200,其中无线终端设备100在收到rejection信息后生成一组随机数,该随机数与服务端200的配置参数生成初始密钥,配置参数是依赖服务端200存储的一种周期性更新的随机参数,生成的初始密钥通过client hello信息发送给服务端200;无线终端设备100向服务端200发送由公钥加密的request信息,无线终端设备100发送clienthello信息后不需要等待服务端200的回复就可以向服务端200发送request信息,该信息通过公钥进行加密;服务端200收到无线终端设备100发送的client hello信息后,也生成一组随机数,并通过公钥加密sever hello信息并发送给无线终端设备100,并生成会话密钥,其中会话密钥由服务端200生成的随机数和公钥共同生成,之后服务端200发送的数据均由会话密钥进行加密;无线终端设备100收到服务端200发送的sever hello信息后使用公钥进行解密,并利用公钥和解密的随机数推导出会话密钥,此后无线终端设备100与服务端200之间收发的数据均通过会话密钥进行加密。
步骤二:服务端200监听无线终端设备100的连接请求并与其建立连接,并能够向无线终端设备100发送数据。具体的,服务端200在接收到无线终端设备100的连接请求后能够做出响应并与无线终端设备100建立连接,具体步骤可以参照步骤一中服务端200的响应,服务端200从原则上来说不具备运算能力,通常只具备认证终端设备和进行数据传输的功能,能够与终端设备连接,为其提供网络资源。
步骤三:对已连接的无线终端设备100生成一个会话id,终端用户在切换接入点时,能够在会话id的保活超时时间内重新接入网络。具体的,会话id是由无线终端设备100生成的会话id为一个64位的随机数,其作用是在无线终端设备100掉线重连或更改接入点时,保持会话id不变,从而使无线终端设备100和服务端200之间始终保持连接状态。QUIC技术还提供了无线终端设备100在变化接入点和重连时的自动加密验证,原因是无线终端设备100在变化接入点和重连时会继续使用相同的会话密钥进行加密以及解密数据包。
步骤四:两个无线终端设备100之间通过服务端200代理程序建立连接,并能够发送和接收数据。具体的,两个无线终端设备100之间的连接还包括以下步骤,
发送无线终端设备100在发送数据报文时,携带接收无线终端设备100的名字或其他唯一标识。
服务端200代理程序检查数据报文中接收无线终端设备100的名字或者其他唯一标识,找到相应的会话并向接收无线终端设备100转发数据报文。具体的,服务端200代理是信息传递的中间程序,能够对发送无线终端设备100发送的数据报文进行接收和处理,判断需要接收该数据报文的接收无线终端设备100,并将数据报文转发给对应的接收无线终端设备100。
多个服务端200能够通过集群部署的方式进行联合,共同为无线终端设备100发送数据报文。具体的,集群是只多个服务端200集成为一组,作为一个整体向无线终端设备100提供网络资源等服务,而这个整体中的每一个服务端200就是一个节点,集群的中服务端200的个数可以被增加或删减,对于无线终端设备100来说,集群是作为一个整体出现的,并非是多个服务端200。集群部署具有高可用性、高性能和高性价比的特点,当集群中的一个服务端200失效时,该服务端200的任务可以传递给其它服务端200,由其它服务端200进行,减小故障率,同时集群内多个服务端200能够使集群连接更多的无线终端设备100,因此服务端200可以连接的无线终端设备100数量理论上没有上限,集群的实现方式主要包括N节点配置和N+1节点配置。
服务端200向无线终端设备100发送数据的方式是通过Nginx集群的方式进行数据报文的发送。具体的,Nginx集群包括虚拟主机、反向代理和分发模块,其中虚拟主机用于接受和响应无线终端设备100的请求,反向代理用于带领无线终端设备100到服务端200获取数据,分发模块则用于告诉Nginx到哪个服务端200获取数据,详细步骤还包括,虚拟主机接收无线终端设备100的请求并寻找反向代理,反向代理寻找分发模块,分发模块给出具体的服务端200IP,Nginx找到对应的服务端200并向其发起无线终端设备100的请求,服务端200接受该请求并响应,Nginx响应请求给发起的无线终端设备100。
本发明提供的QUIC技术的汽车数据传输方法在实际应用中,能够使移动状态下经过多个基站时无需掉线重连,同时相比于传统的TCP技术在相同的网络坏境下,下载速度更快,此处对于移动状态下经过多个基站时不同连接方案下的掉线重连次数、以及同样网络坏境下的下载速度进行了测试对比。
表1:观看网络视频时经过的4G基站数量以及掉线重连次数对比
参照图6的示意,图中:100Mbps网络环境下,汽车移动时下载相同大小资源时的速度对比:通过表1和图6可以看出,采用本发明提供的QUIC技术作为移动汽车间的数据传输方法,能够有效的减少面对多个基站时的掉线重连次数,在测试时并未出现掉线重连的现象,同时相对于传统的数据传输方式如TCP技术,在下载速度方面也有显著的提升。
实施例2
参照图3~5的示意,本实施例中提出一种基于QUIC技术的汽车数据传输系统,上述基于QUIC技术的汽车数据传输方法能够依托于本系统进行实现,并在移动的汽车间形成稳定、不易掉线的数据传输。具体的,该基于QUIC技术的汽车数据传输系统包括无线终端设备100、服务端200和连接模块300。其中,无线终端设备100为安装在汽车上的车载终端、智能手机等作为终端的设备,无线终端设备100跟随汽车高速移动,能够发起连接请求并向客户提供本地服务;服务端200能够响应无线终端设备100的请求并进行处理,服务器的构成通常包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高;连接模块300用于在无线终端设备100和服务端200之间建立连接。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。