具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一提供的虚拟专用网的数据传输方法的流程图,如图1所示,本方法包括如下步骤:
步骤100,接收客户终端发送的第一多媒体数据,第一多媒体数据由客户终端将截获到的多媒体数据中的RTP头替换为对应的流序号、并经传输协议的封装后生成,流序号用于标识客户终端截获多媒体数据的媒体流通道;
在VPN系统中,客户终端在通过各应用程序进入到内网中时,都会将截获到的各种应用程序数据,通过客户终端与VPN网关之间建立的VPN通道发送给VPN网关,再由VPN网关转发给内网服务器。在一个单独的客户终端中,可以同时对应有多个不同类型的应用程序,相应地,其从各种应用程序中截获到的数据也可以基于各种不同的类型,其中常见的一类数据便为多媒体数据,例如:VOIP业务中传输的语音数据或多媒体数据等。
对于实时性要求较高的多媒体数据而言,其在因特网上的传输通常都会被封装为基于实时传输协议(Real-time Transport Protocol,简称RTP)的格式。RTP协议是专门针对于因特网上的多媒体数据传输的一个应用型的协议,由因特网工程任务组(Internet Engineering Task Force,简称IETF)公布在RFC 1889中,用来支持在单目标广播和多目标广播网络服务中传输实时数据。在VPN系统中,若客户端程序为多媒体流数据类型,客户终端从该客户程序中截获到的多媒体数据也通常为基于RTP协议的RTP数据,且由于RTP协议并不提供任何传输可靠性的保证和流量的拥塞控制机制,必须基于一传输层协议而存在,因此客户终端在截获到该RTP数据后,对其进行传输层协议上的封装,再发送给VPN网关。
对于客户终端截获到的多媒体数据而言,由于该多媒体数据基于RTP协议,因此多媒体数据中包含了RTP头字段,且客户终端需要通过VPN网关将该包含了RTP头的数据发送给内网服务器。但是由于客户终端与VPN网关之间的传输通道处于带宽相对较小,传输速度相对较慢的因特网中,并且多媒体数据本身的数据量较大。因此,在本实施例中,为了使该媒体流业务在后续通过因特网给VPN网关发送多媒体数据时,能够得到更快的传输速度,得到更好的实时性能保证,客户终端在截获到多媒体数据后,并不直接将该多媒体数据经过传输协议的封装便发送给VPN网关,而是将该多媒体数据中数据量将大的RTP头替换成对应的流序号,再将替换了流序号的多媒体数据经传输协议的封装,已将多媒体数据封装成第一多媒体数据,再将该第一多媒体数据发送给VPN网关。
具体地,第一多媒体数据中的流序号为客户终端存储的、与每一媒体流通道对应的序号,标识了用于传输客户终端从应用程序截获多媒体数据的媒体流通道,而且在本实施例中,VPN网关侧相应地存储了与该媒体流通道上传输的多媒体数据中的RTP头与流序号的对应关系,即VPN网关在接收到只包含有流序号的第一多媒体数据时,能够识别出该第一多媒体数据包含的该流序号。
而客户终端将多媒体数据中的RTP头替换成流序号的目的在于:对于一个基于RTP协议的多媒体数据而言,其中包含的固定的RTP头至少为12个字节,而在VPN网关中,其接收到的多媒体数据中包含的这至少12个字节的RTP头并没有实质的意义,VPN网关并不需要对其进行解析,只需将该多媒体数据连同该RTP头一起转发给内网服务器即可。因此,若客户终端将第一多媒体数据中的RTP头替换层流序号再发送给VPN网关,该流序号的大小远远小于12字节的RTP头的大小,从而可以大大减小在客户终端与VPN网关之间的因特网上,传输的数据量的大小,提高了该媒体流业务的该条媒体流通道的多媒体数据在VPN系统的公共网络中的传输速度,进而更好地保证了多媒体数据在VPN网络上传输的实时性。
步骤101,根据存储列表,查询与流序号对应的第一RTP头;
VPN网关接收到客户终端经重封装后的第二多媒体数据后,为了将数据准确地发送给内网服务器,需要对重封装后的第二多媒体数据进行还原。于是VPN网关在存储了流序号和RTP头对应关系的存储列表中,查询与该流序号对应的第一RTP头。该第一RTP头为与流序号对应的媒体流通道上传输的多媒体数据对应的RTP头信息。
步骤102,更新第一RTP头中的序列号字段和时间戳字段,以得到与多媒体数据中的RTP头的内容一致的第二RTP头;
由于对于客户终端而言,其依次发送给VPN网关的RTP数据,RTP头中的序列号字段和时间戳字段为依次变化的数据。因此,为了将第一多媒体数据中的流序号还原成准确的RTP头,VPN网关还应将对查询到的第一RTP头中的序号字段和时间戳字段进行更新,以得到与客户终端截获的多媒体数据的RTP头一致的第二RTP头。
步骤103,将接收到的第一多媒体数据中的流序号还原为第二RTP头;
VPN网关对第一RTP头进行更新处理,得到第二RTP头后,将第一多媒体数据中的流序号还原成该第二RTP头,以得到与对应的多媒体数据内容一致的RTP数据。
步骤104,将还原了RTP头后的第一多媒体数据发送给内网服务器。
本实施例的虚拟专用网的数据传输方法,通过接收客户终端发送的第一多媒体数据,第一多媒体数据由所述客户终端将截获到的多媒体数据中的RTP头替换为对应的流序号,并经传输协议的封装后生成,根据存储列表,查询与所述流序号对应的第一RTP头,更新第一RTP头中的序列号字段和时间戳字段,以得到与所述多媒体数据中的RTP头的内容一致的第二RTP头;将接收到的第一多媒体数据中的流序号还原为第二RTP头,将还原处理后的第一多媒体数据发送给内网服务器,由于采用流序号代替了原有的实时传输协议头,减小了传输的多媒体数据包的大小,提高了VPN网络传输多媒体数据的性能,更好地满足了VPN网络上多媒体数据传输的实时性要求。
图2为本发明实施例二提供的虚拟专用网的数据传输方法的流程图,如图2所示,本实施例的方法包括如下步骤:
步骤200,当接收到VPN网关发送的携带有流序号和媒体流通道特征信息的数据重封装指令后,将通过与媒体流通道特征信息对应的媒体流通道截获到的多媒体数据中的RTP头替换为流序号,并经传输协议的封装以生成第一多媒体数据;
在本实施例的VPN系统中,客户终端在与VPN网关进行通信的过程中,若接收到VPN网关发送的、携带有一流序号和媒体流通道特征信息的数据重封装指令,得知VPN网关为与该媒体流通道特征信息对应的、用于传输多媒体数据的媒体流通道分配了一对应的流序号,于是,客户终端此后在通过该媒体流通道截获到多媒体数据后,将根据重封装指令,将多媒体数据中的RTP数据替换成重封装指令中的流序号,并经传输层协议的封装,以生成第一多媒体数据,用以发送给VPN网关。
具体地,VPN网关发送该重封装指令的作用在于:指示客户终端当通过与重封装指令中的媒体流通道特征信息对应的媒体流通道,截获到多媒体数据后,将多媒体数据的RTP头替换成重封装指令中的流序号,重封装成第一多媒体数据并返回。从而使得客户终端发送给VPN网关的多媒体数据,与替换了流序号之前的多媒体数据再发送给VPN网关的数据相比,大大减小了数据量的大小,即大大减小在客户终端与VPN网关之间的因特网上,传输的数据量的大小,提高了该媒体流业务的该条媒体流通道的多媒体数据在VPN系统的公共网络中的传输速度,进而更好地保证了多媒体数据在VPN网络上传输的实时性。
步骤201,向VPN网关发送第一多媒体数据。
客户终端根据重封装指令,将截获到的多媒体数据封装成第一多媒体数据后,将该第一多媒体数据发送给VPN网关。
本发明实施例的虚拟专用网的数据传输方法,通过接收客户终端发送的第一多媒体数据,第一多媒体数据由客户终端将截获到的多媒体数据中的RTP头替换为对应的流序号、并经传输协议的封装后生成,流序号用于标识客户终端截获多媒体数据的媒体流通道;在存储列表中查询与流序号对应的第一RTP头,并对第一RTP头中的序列号字段和时间戳字段进行更新,得到与多媒体数据中的RTP头的内容一致的第二RTP头;将接收到的第一多媒体数据中的流序号还原为第二RTPP头,并将还原处理后的第一多媒体数据发送给内网服务器,由于采用流序号代替了原有的实时传输协议头,减小了传输的多媒体数据包的大小,提高了VPN网络传输多媒体数据的性能,更好地满足了VPN网络上多媒体数据传输的实时性要求。
图3为本发明实施例三提供的虚拟专用网的数据传输方法的信令图,如图3所示,本方法包括如下步骤:
步骤300,客户终端按照UDP协议,将截获到的多媒体数据进行封装;
步骤301,客户终端将封装后的第二多媒体数据发送给VPN网关;
在VPN系统中,当客户终端有基于多媒体数据的应用程序访问内网服务器,欲接入到VPN网络中时,所有该应用程序访问内网服务器资源的多媒体数据都将被客户终端截获,客户终端将截获的多媒体数据进行传输层协议的封装,并通过与VPN网关之间的数据通道,将封装后的第二多媒体数据发送给VPN网关。
具体地,在本实施例中,客户终端封装后生成的第二多媒体数据,通过VPN网关与客户终端之间的数据报协议(User Datagram Protocol,简称UDP)通道,发送给VPN网关。与现有的客户终端发送多媒体数据的方式不同,现有的VPN系统中,客户终端通常通过与VPN网关之间建立的TCP通道,将截获到多媒体数据进行TCP传输协议的封装,再发送给VPN网关。
但是,现有的这种通过TCP通道发送多媒体数据的方式存在诸多不足,TCP协议是面向连接的协议,被用于各种网络上提供有序可靠数据传输的虚电路服务,但是使用TCP协议传输数据已经很难适应多媒体通信,特别是连续的媒体流(例如视音频流)通信的要求,它的重传机制和拥塞控制机制等都不适用于实时多媒体数据的传输,而且TCP协议的启动速度慢、报文头数据量较大等,都影响了多媒体数据传输的实时性。
因此,基于TCP传输协议针对多媒体数据传输的诸多不足,在本实施例中,在VPN客户终端通过认证连接上VPN网关,协商建立与VPN网关之间的SSL TCP安全通道的同时,VPN网关还将同时控制建立与客户终端之间的UDP传输通道。该UDP通道用于传输基于UDP传输协议的多媒体数据,相比于TCP通道而言,其更适合于传输多媒体数据,UDP协议不仅传输延时低于TCP,而且其报文头仅为12字节,远小于TCP报文头的40字节,能与多媒体数据流进行更好的匹配。具体地,第二多媒体数据的格式为下述列表所示。
MAC头 |
真实IP头 |
第二UDP头 |
虚拟IP头 |
第一UDP头 |
RTP头 |
RTP数据 |
客户终端在对截获到的多媒体数据进行UDP协议封装时,为其添加VPN网关分配给该客户终端的虚拟IP信息、与该虚拟IP信息对应的第一UDP头信息、该客户终端的真实IP信息、与该真实IP信息对应的第二UDP头信息以及给客户终端的MAC信息后,如此形成的数据为第二多媒体数据。而在客户终端生成第二多媒体数据后,通过UDP通道将其发送给VPN网关。
而在VPN网关上,为该UDP传输通道设置了一个专用的UDP监听端口,在本实施例中,客户终端截获到的任一多媒体数据,在经UDP协议封装成第一多媒体数据后,都将通过该UDP监听端口发送给VPN网关,即所有的多媒体数据流都将复用同一条UDP通道、且线性地以串行发送的形式,传输给VPN网关。这样一来,与现有的TCP通道的并行发送的方式相比,线性发送的方式避免了通道拥塞的情况出现,且减小了因特网带宽的占用率,加快数据传输的速度。
进一步地,在步骤301中,为了保证客户终端与VPN网关间UDP数据传输的安全性,客户终端在通过UDP通道向VPN网关发送第二多媒体数据之前,还可以通过与UDP协议相匹配的数据报传输层安全(DatagramTransport Layer Security,简称DTLS)协议,或者通过普通对称密钥加密方式,对该第二多媒体数据进行加密,以加密数据的形式将第二多媒体数据发送给VPN网关,保证了在公开的因特网上传输的安全性。
步骤302,VPN网关对第二多媒体数据进行应用协议识别;
VPN网关通过UDP监听端口接收到VPN客户终端经UDP通道传送的第二多媒体数据后,对该第二多媒体数据进行协议识别,以识别该第二多媒体数据所基于的应用协议类型,具体指识别该第二多媒体数据是否为基于RTP协议的多媒体数据。
具体地,在一个RTP头中,通常包括多个字段,其中有效载荷类型字段、序列号字段、时间戳字段以及同步源标识字段为RTP头中必须包含的四个字段。而且进一步地,按照RTP协议中的定义,对于同一条媒体流中连续发送的多个基于RTP协议的多媒体数据而言:其RTP头部信息中的有效载荷类型字段的数值是固定不变的,都为0x80;其序列号字段的数值应依次递增1;其时间戳字段的数值应依次按等比递增;且其同步源标识字段的数值也应相同、保持不变。因此依据此定义,当VPN网关连续从多个第二多媒体数据中提取出应用协议头部信息后,识别到其应用协议头部信息中都包含这四个字段的信息,而且进一步地,VPN网关从连续的多个应用协议头部信息中,识别到其中包括的有效载荷类型字段都为0x80,序列号字段都依次递增1,时间戳字段都依次等比递增,以及同步源标识字段都相同,于是VPN网关由此断定此时接收到的第二多媒体数据为RTP协议的多媒体数据。
需要说明的是,实际应用中,VPN网关对第二多媒体数据进行的应用协议识别,优化地为对连续接收到的至少三个第二多媒体数据的应用协议类型的识别,即在实际应用中,对连续的三个第二多媒体数据的协议识别所获得的效果最好,既能准确地识别出协议类型,且所需的时间最少。
步骤303,若VPN网关识别到第二多媒体数据为基于RTP协议,为与该第二多媒体数据对应的媒体流通道分配唯一的流序号,并将第二多媒体数据的RTP头和分配的流序号对应记录在存储列表中;
若VPN网关识别到接收到第二多媒体数据为基于RTP协议的数据,由此得知此时有客户终端的应用程序发起了一次基于多媒体数据的媒体流业务,欲接入到内网服务器中。因此,为了在VPN网关侧,对客户终端应用程序发送该第二多媒体数据的媒体流通道进行标识,VPN网关为与该接收到第二多媒体数据的媒体流通道分配一唯一的流序号,相当于在VPN网关侧以一自定义的数值编号对该唯一的媒体流通道进行标识。
进一步地,VPN网关还从第二多媒体数据中,提取出其中包含的RTP头,将该RTP头和分配给该媒体流通道的唯一的流序号对应记录在存储列表中。这相当于在VPN网关中,将VPN为客户终端的唯一发送多媒体数据的媒体流通道自定义的编号,与公共网络中,为该媒体流通道的多媒体数据定义的标准的RTP头进行一一对应,从而使得在之后VPN网关再从客户终端接收到其从该媒体流通道截获的多媒体数据后,能够通过该存储列表,查询到与该流媒体通道对应的多媒体数据的RTP头。
此外,优化地,VPN网关在从第二多媒体数据中提取RTP头,以及将该RTP头和分配给该媒体流通道的唯一的流序号对应记录在存储列表的同时,为了更大幅度地减小客户终端与VPN网关之间传输的多媒体数据的大小,在本步骤中,VPN网关还可以同时从第二多媒体数据中,将其中的虚拟IP信息以及与该虚拟IP信息对应的第一UDP头进行提取,并将该虚拟IP信息、第一UDP头,和RTP头一起,与流序号对应记录在存储列表中。
步骤304,VPN网关将第二多媒体数据转发给内网服务器;
在记录完第二多媒体数据中的RTP头或者RTP头、虚拟IP信息和第一UDP头之后,VPN网关将接收到的第二多媒体数据转发给内网服务器,以使客户终端发出的该第二多媒体数据能够准确地送至内网服务器中。
此外还需说明的是,在上述步骤301中,若客户终端在通过UDP通道向VPN网关发送第二多媒体数据之前,还按照DTLS协议,或者按照普通对称密钥加密方式,对该第二多媒体数据进行加密,则相应地,在本步骤中,VPN网关将第二多媒体数据转发给内网服务器之前,还将同样按照DTLS协议,或者按照普通对称密钥解密方式,对第二多媒体数据进行解密,再发送给内网服务器。
步骤305,VPN网关发送重封装指令给VPN客户终端;
为了使客户终端在之后向VPN网关发送从该媒体流通道上截获到的多媒体数据时,能够按照VPN网关为其定义的编号,即流序号来发送,在VPN网关为与接收到的第二多媒体数据对应的媒体流通道,分配了唯一的流序号,并将该流序号与该第二多媒体数据的第一RTP头对应记录了之后,VPN网关将发送一重封装指令给客户终端。
具体地,该重封装指令中携带了VPN网关为客户终端的该媒体流通道分配的唯一的流序号,以及能够唯一确定该媒体流通道的流通道特征信息,用于指示客户终端,在从与该流媒体通道特征信息对应的媒体流通道截获到多媒体数据后,按照VPN网关为其分配的唯一的流序号,即相当于按照VPN网关为其定义的私有协议,将其中的RTP头进行提取,并将其替换成VPN网关分配的流序号后,重封装为第一多媒体数据,再返回给VPN网关。
或者,若在上述步骤303中,VPN网关还将第二多媒体数据中的虚拟IP信息以及与第一UDP头信息,和第一RTP头一起,与流序号对应记录在存储列表中,则在本步骤中,VPN网关发送给客户终端的重封装指令还用于,指示客户终端在通过对应的媒体流通道截获到多媒体数据,将该多媒体数据的RTP头替换成分配的流序号后,在将多媒体数据重封装成第一多媒体数据时,还无需在多媒体数据中添加虚拟IP信息和第一UDP头,即在此情况下,重封装后的第一多媒体数据中并不包含虚拟IP信息、第一UDP头以及RTP头,这些信息都将由VPN网关分配的流序号来代替。
步骤306,客户终端按照重封装指令,将从对应的媒体流通道截获到的多媒体数据进行重封装;
步骤307,客户终端将重封装后的第一多媒体数据发送给VPN网关;
客户终端接收到VPN网关发送的重封装指令后,按照重封装指令的指示,将从与其中的流通道特征信息对应的媒体流通道,截获到的多媒体数据中的RTP头替换成重封装指令中流序号,并对该多媒体数据进行UDP协议的封装,生成第一多媒体数据,并发送给VPN网关。
需要说明的是,若在上述步骤303中,VPN网关从第二多媒体数据中,提取出虚拟IP信息以及第一UDP头,并将该虚拟IP信息、第一UDP头,和第一RTP头一起,在存储列表中与流序号进行了对应记录,在本步骤中,客户终端在将多媒体数据的RTP头部信息替换成分配的流序号后,将多媒体数据重封装成第一多媒体数据时,还将无需在多媒体数据中添加虚拟IP信息和第一UDP头,即在此情况下,重封装后的第一多媒体数据中并不包含虚拟IP信息、第一UDP头以及RTP头,这些信息都将由VPN网关分配的流序号来代替。该第一多媒体数据的具体格式为下表所示,如下表所示,在这种情况下,第一RTP头被重封装指令中携带的流序号所代替,而且在客户终端根据重封装指令对截获到的多媒体数据进行重封装后,生成的第一多媒体数据中并不包含虚拟IP信息和第一UDP头。
MAC头 |
真实IP头 |
第二UDP头 |
流序号 |
RTP数据 |
另外还需说明的是,与上述步骤301相似,在本步骤306中,为了保证客户终端与VPN网关间UDP数据传输的安全性,客户终端在通过UDP通道向VPN网关发送第一多媒体数据之前,还可以按照DTLS协议,对第一多媒体数据进行加密,以加密数据的形式将第一多媒体数据发送给VPN网关。
步骤308,VPN网关根据存储列表,对查询到的与流序号对应的第一RTP头的序列号字段和时间戳字段进行更新,以生成第二RTP头;
步骤309,VPN网关将第一多媒体数据的流序号还原成第二RTP头;
步骤310,VPN网关将还原处理后的第一多媒体数据发送给内网服务器。
VPN网关接收到客户终端经重封装后的第一多媒体数据后,从该第一多媒体数据中提取出其中包含的流序号,并在存储列表中查询与该流序号对应的第一RTP头,或者第一RTP头及虚拟IP信息、第一UDP头,并根据接收到的第一多媒体数据的次数,对第一RTP头的序列号字段和时间戳字段进行更新,以得到第二RTP头。VPN网关将第一多媒体数据中的流序号还原成第二RTP头以及查询到的其他信息。进一步地,VPN网关将还原后的第一多媒体数据发送给内网服务器。如此一来,在本实施例的方案中,VPN网关除了通过发送重封装指令给客户终端,以使得VPN系统中,多媒体数据在客户终端和VPN网关之间的因特网上进行传输时,由于采用流序号代替了原有的实时传输协议头或者第一RTP头及虚拟IP信息、第一UDP头,大大减小了传输的多媒体数据包的大小,提高了VPN网络传输多媒体数据的性能,更好地满足了VPN网络上多媒体数据传输的实时性要求。
此外还需说明的是,在上述步骤306中,客户终端在通过UDP通道向VPN网关发送第二多媒体数据之前,还按照DTLS协议,或者按照普通对称密钥加密方式,对该第二多媒体数据进行加密,则相应地,在本步骤中,VPN网关将第二多媒体数据转发给内网服务器之前,还将同样按照DTLS协议,或者按照普通对称密钥解密方式,对第二多媒体数据进行解密,再发送给内网服务器。
本发明实施例的虚拟专用网的数据传输方法,通过在VPN网关识别到客户端发送的多媒体数据为RTP数据后,发送重封装指令给客户端,用于指示客户端在截获到多媒体数据后,对其进行重封装处理,将其中的RTP头替换成VPN网关分配的与该流通道对应的唯一流序号后,再返回给VPN网关,从而减小了VPN技术中,在带宽相对较低的公共网络上传输的多媒体数据包的大小,提高了VPN网络多媒体数据的传输速度,更好地满足了VPN网络上多媒体数据传输的实时性;进一步地,本实施例中客户终端与VPN网关之间的多媒体数据传输通过复用一个UDP通道来实现,并可以选择性地对该UDP通道上传输的数据进行加密,因此还同时保证了多媒体数据在公共网络上传输的安全性,以及提高了传输和转发的性能。
图4为本发明实施例四提供的虚拟专用网的数据传输方法的信令图,如图4所示,本方法包括如下步骤:
步骤400,客户终端对截获到的多媒体数据进行应用协议识别;
步骤401,客户终端按照UDP协议,将多媒体数据进行封装;
步骤402,客户终端若识别到多媒体数据基于RTP协议,将指示信息、与多媒体数据对应的媒体流通道的流通道特征信息、以及封装后的第二多媒体数据发送给VPN网关;
具体地,在本实施例中,在客户终端通过媒体流通道截获到多媒体数据后,首先对该多媒体数据进行应用协议的识别,若识别到该应用协议为RTP协议时,则生成一用于指示该第二多媒体数据为RTP数据的指示信息,接着,客户终端将对多媒体数据进行UDP传输层协议的封装,并将生成的指示信息、接收到的多媒体数据对应的应用程序的媒体流通道的流通道特征信息、以及封装后的第二多媒体数据,通过与VPN网关之间的UDP传输通道,一起发送给VPN网关。
具体地,上述步骤400中,客户终端对多媒体数据的应用协议的识别过程,以及具体步骤,可以参照上述实施三中步骤302的VPN网关对第二多媒体数据的应用协议识别过程,在此不再赘述。此外,上述步骤401中,客户终端按照UDP协议,对多媒体数据进行封装的具体过程,以及具体实施步骤,也同样可以参照上述实施例三中对步骤300中的描述,在此不再赘述。
步骤403,VPN网关为与第二多媒体数据对应的媒体流通道分配唯一的流序号,并将第二多媒体数据的RTP头和分配的流序号对应记录在存储列表中;
步骤404,VPN网关将第二多媒体数据转发给内网服务器;
步骤405,VPN网关发送重封装指令给VPN客户终端;
步骤406,客户终端按照重封装指令,将从对应的媒体流通道截获到的多媒体数据进行重封装;
步骤407,客户终端将重封装后的第一多媒体数据发送给VPN网关;
步骤408,VPN网关根据存储列表,对查询到的与流序号对应的第一RTP头的序列号字段和时间戳字段进行更新,以生成第二RTP头;
步骤409,VPN网关将第一多媒体数据的流序号还原成第二RTP头;
步骤410,VPN网关将还原处理后的第一多媒体数据发送给内网服务器。
具体地,对于本实施例的虚拟专用网的数据传输方法而言,与上述实施例三的区别仅在于,在本实施例中,对多媒体数据的应用协议识别是在客户终端进行,且客户终端识别到多媒体数据为基于RTP协议的数据后,向VPN网关发送一指示信息以及与该多媒体数据对应的媒体流通道的流通道特征信息,而后续的VPN网关对接收到第二多媒体数据的处理、以及返回给客户终端的指令等步骤,都与实施例四没有区别。因此,本实施例中,对上述步骤403~410并不进行详细描述,且该步骤403~410中的具体处理过程,以及具体实施方式,可以参照上述实施例三中对步骤303~310的描述,在此不再赘述。
本发明实施例的虚拟专用网的数据传输方法,通过在VPN网关识别到客户端发送的多媒体数据为RTP数据后,发送重封装指令给客户端,用于指示客户端在截获到多媒体数据后,对其进行重封装处理,将其中的RTP头替换成VPN网关分配的与该流通道对应的唯一流序号后,再返回给VPN网关,由于采用流序号代替了原有的实时传输协议头,减小了传输的多媒体数据包的大小,提高了VPN网络传输多媒体数据的性能,更好地满足了VPN网络上多媒体数据传输的实时性要求;进一步地,本实施例中客户终端与VPN网关之间的多媒体数据传输通过复用一个UDP通道来实现,并可以选择性地对该UDP通道上传输的数据进行加密,因此还同时保证了多媒体数据在公共网络上传输的安全性,以及提高了传输和转发的性能。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明实施例五提供的虚拟专用网网关设备的结构示意图,如图5所示,本实施例的虚拟专用网网关设备包括:第一接收模块11、查询模块12、更新模块13、还原模块14和第一发送模块15。
第一接收模块11用于接收第一多媒体数据,该第一多媒体数据由客户终端将截获到的多媒体数据中的RTP头替换为对应的流序号、并经传输协议的封装后生成,流序号用于标识客户终端截获多媒体数据的媒体流通道;查询模块12用于根据存储列表,查询与第一接收模块11接收的第一多媒体数据中携带的流序号对应的第一RTP头,存储列表用于存储第一RTP头和流序号的对应关系;更新模块13用于更新查询模块12查询到的第一RTP头中的序列号字段和时间戳字段,以得到与多媒体数据中的RTP头的内容一致的第二RTP头;还原模块14用于将第一接收模块接收到的第一多媒体数据中的流序号还原为第二RTP头;第一发送模块15用于将还原模块14还原处理后的第一多媒体数据发送给内网服务器。
其中,本实施例所涉及的所有功能模块、以及其所涉及的具体工作过程,可以参考上述虚拟专用网的数据传输方法所涉及的实施例揭露的相关内容,在此不再赘述。
本发明实施例的虚拟专用网网关设备,通过在接收到客户端发送的多媒体数据为RTP数据后,发送重封装指令给客户端,用于指示客户端在截获到多媒体数据后,对其进行重封装处理,将其中的RTP头替换成VPN网关分配的与该流通道对应的唯一流序号后,再返回给VPN网关,由于采用流序号代替了原有的实时传输协议头,减小了传输的多媒体数据包的大小,提高了VPN网络传输多媒体数据的性能,更好地满足了VPN网络上多媒体数据传输的实时性要求。
图6为本发明实施例六提供的虚拟专用网网关设备的结构示意图,如图6所示,在上述实施例五的基础上,本实施例的虚拟专用网网关设备还可以包括:第二接收模块16、判断模块17、流序号分配模块18、存储模块19、重封装指令发送模块20和第二发送模块21。
其中第二接收模块16用于接收所述客户终端发送的第二多媒体数据;判断模块17用于判断第二接收模块16接收的第二多媒体数据是否基于RTP协议;流序号分配模块18用于当判断模块17判断出第二多媒体数据基于RTP协议时,为与第二多媒体数据对应的媒体流通道分配流序号;存储模块19用于存储第二多媒体数据中的第一RTP头与流序号的对应关系;重封装指令发送模块20用于向客户终端发送重封装指令,该重封装指令中携带流序号和媒体流通道特征信息,重封装指令用于指示当客户终端通过与媒体流通道特征信息对应的媒体流通道截获到多媒体数据后,将多媒体数据的RTP头替换成分配的流序号,重封装成第一多媒体数据并返回;第二发送模块21用于将第二多媒体数据转发给内网服务器。
进一步地,本实施例中的判断模块17具体用于对接收到的第二多媒体数据进行应用协议识别以判断第二多媒体数据是否基于RTP协议;或者,具体用于根据接收到的指示信息获知第二多媒体数据是否基于RTP协议,指示信息用于指示第二多媒体数据是否基于RTP协议。
具体地,本实施例所涉及的所有功能模块、以及其所涉及的具体工作过程,可以参考上述虚拟专用网的数据传输方法所涉及的实施例揭露的相关内容,在此不再赘述。
本发明实施例的虚拟专用网网关设备,通过接收客户终端发送的第一多媒体数据,第一多媒体数据由所述客户终端将截获到的多媒体数据中的实时传输协议头替换为对应的流序号,并经传输协议的封装后生成,根据存储列表,查询与所述流序号对应的第一实时传输协议头,更新第一实时传输协议头中的序列号字段和时间戳字段,以得到与所述多媒体数据中的实时传输协议头的内容一致的第二实时传输协议头;将接收到的第一多媒体数据中的流序号还原为第二实时传输协议头,将还原处理后的第一多媒体数据发送给内网服务器,从而减小了传输的多媒体数据包的大小,提高了VPN网络传输多媒体数据的性能,更好地满足了VPN网络上多媒体数据传输的实时性要求。
图7为本发明实施例七提供的客户终端的结构示意图,如图7所示,本实施例的客户终端包括:第一封装模块30和第三发送模块31。第一封装模块30用于当接收到虚拟专用网网关发送的携带有流序号和媒体流通道特征信息的数据重封装指令后,将通过与媒体流通道特征信息对应的媒体流通道截获到的多媒体数据中的RTP头替换为对应的流序号,并经传输协议的封装以生成第一多媒体数据;第三发送模块31用于向虚拟专用网网关发送第一封装模块30生成的第一多媒体数据。
具体地,本实施例所涉及的所有功能模块、以及其所涉及的具体工作过程,可以参考上述虚拟专用网的数据传输方法所涉及的实施例揭露的相关内容,在此不再赘述。
本发明实施例的客户终端,通过在接收到VPN网关发送的重封装指令后,根据该重封装指令,在从与重封装指令中的流通道特征信息对应的媒体流通道截获到多媒体数据后,对其进行重封装处理,将其中的RTP头替换成VPN网关分配的与该流通道对应的唯一流序号后,再返回给VPN网关,从而减小了VPN技术中,在带宽相对较低的公共网络上传输的多媒体数据包的大小,提高了VPN网络多媒体数据的传输速度,更好地满足了VPN网络上多媒体数据传输的实时性。
图8为本发明实施例八提供的客户终端的结构示意图,如图8所示,本实施例的客户终端在上一实施例的基础上,还可以包括:第二封装模块33和第四发送模块34。其中,第二封装模块33用于在接收到虚拟专用网网关发送的携带有流序号和媒体流通道特征信息的数据重封装指令之前,将通过流媒体流通道截获到的多媒体数据经传输协议的封装以生成第二多媒体数据;第四发送模块34用于将第二封装模块33生成的第二多媒体数据发送给虚拟专用网网关。
进一步地,本实施例的客户终端还可以包括:协议识别模块35和指示信息发送模块36。其中,协议识别模块35用于对第二多媒体数据进行应用协议识别以识别第二多媒体数据是否基于RTP协议;指示信息发送模块36用于根据协议识别模块35的识别结果向虚拟专用网网关发送指示信息,指示信息用于标识第二多媒体数据是否基于实时传输协议。
具体地,本实施例所涉及的所有功能模块、以及其所涉及的具体工作过程,可以参考上述虚拟专用网的数据传输方法所涉及的实施例揭露的相关内容,在此不再赘述。
本发明实施例的虚拟专用网网关设备,通过接收客户终端发送的第一多媒体数据,第一多媒体数据由所述客户终端将截获到的多媒体数据中的实时传输协议头替换为对应的流序号,并经传输协议的封装后生成,根据存储列表,查询与所述流序号对应的第一实时传输协议头,更新第一实时传输协议头中的序列号字段和时间戳字段,以得到与所述多媒体数据中的实时传输协议头的内容一致的第二实时传输协议头;将接收到的第一多媒体数据中的流序号还原为第二实时传输协议头,将还原处理后的第一多媒体数据发送给内网服务器,从而减小了传输的多媒体数据包的大小,提高了VPN网络传输多媒体数据的性能,更好地满足了VPN网络上多媒体数据传输的实时性要求。
图9为本发明实施例九提供的虚拟专用网的数据传输系统的结构示意图,如图9所示,本实施例的虚拟专用网的数据传输系统包括:上述实施例的虚拟专用网网关设备1、上述实施例的客户终端2以及内网服务器3。
其中,虚拟专用网网关设备1用于接收客户终端发送的第一多媒体数据,第一多媒体数据由客户终端将截获到的多媒体数据中的RTP头替换为对应的流序号,并经传输协议的封装后生成,流序号用于标识客户终端截获多媒体数据的媒体流通道;根据存储列表,查询与流序号对应的第一RTP头,存储列表用于存储第一RTP头和流序号的对应关系;更新第一RTP头中的序列号字段和时间戳字段,以得到与多媒体数据中的RTP头的内容一致的第二RTP头;将接收到的第一多媒体数据中的流序号还原为第二RTP头;将还原处理后的第一多媒体数据发送给内网服务器3。
客户终端2用于当接收到虚拟专用网网关设备1发送的携带有流序号和媒体流通道特征信息的数据重封装指令后,将通过与媒体流通道特征信息对应的媒体流通道截获到的多媒体数据中的RTP头替换为对应的流序号,并经传输协议的封装以生成第一多媒体数据,并向虚拟专用网网关设备1发送第一多媒体数据。
具体地,虚拟专用网关设备1和客户终端2中所有组成功能模块的功能、以及其所涉及的具体工作过程,可以参考上述虚拟专用网的数据传输方法、虚拟专用网关设备以及客户终端所涉及的实施例揭露的相关内容,在此不再赘述。
本发明实施例的虚拟专用网的数据传输系统,通过在VPN网关设备接收到客户端发送的多媒体数据为RTP数据后,发送重封装指令给客户端,用于指示客户端在截获到多媒体数据后,对其进行重封装处理,将其中的RTP头替换成VPN网关分配的与该流通道对应的唯一流序号后,再返回给VPN网关,从而减小了VPN技术中,在带宽相对较低的公共网络上传输的多媒体数据包的大小,提高了VPN网络多媒体数据的传输速度,更好地满足了VPN网络上多媒体数据传输的实时性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。