数据传输的方法、装置及系统的制作方法_2

文档序号:9581567阅读:来源:国知局
中转服务器将以端口信息中的服务器端口重定向到指定端口。
[0031]例如,假设端口信息为:客户端端口为端口 2,客户端地址为IP1,服务器地址为IP2,服务器端口为端口 A,中转服务器的指定端口为端口 B,由此可知,在第一数据包中的端口信息与预先存储的端口信息相同的情况下,中转服务器将把端口 A重定向至端口 B,从而在后续数据传输过程中通过该端口 B监听传输信道和/或中转数据包。
[0032]步骤S108,将端口信息中的客户端端口和客户端地址作为源端口和源地址,并以服务器端口和服务器地址作为目的端口和目的地址封装第一数据包;
[0033]这里基于步骤S104,依据客户端端口和客户端地址作为源端口和源地址,以服务器端口和服务器地址作为目的端口和目的地址封装第一数据包。
[0034]步骤S110,将封装后的第一数据包通过预先建立的数据连接发送至服务器。
[0035]这里本申请实施例提供的数据传输的方法中,数据传输的第一数据包可以以ftp形式进行传输。
[0036]结合步骤S102至步骤S108,本申请实施例提供的数据传输的方法是在客户端通过中转服务器与服务器建立数据连接后,中转服务器通过匹配客户端在数据连接上向服务器发送的第一数据包的端口信息与预先存储的端口信息进行匹配,当端口信息匹配成功时,中转服务器记录该第一数据包的端口信息,并以客户端端口和客户端地址为源地址,并以服务器端口和服务器地址为目的地址封装该第一数据包,最后,中转服务器将封装后的第一数据包发送至服务器。
[0037]这里在本申请实施例提供的数据传输的方法中,中转服务器提供一个固定侦听端口,当存在多个客户端向远端的服务器发起数据传输之前,通过已建立的控制连接,仅需多个客户端与中转服务器建立数据连接,中装服务器将依据多个客户端发送的数据请求中的客户端端口和客户端地址替换中转服务器的端口和地址,与远端对应的服务器建立数据连接,从而在后续的数据传输中,中转服务器通过监听一个指定端口,通过解析客户端发送的数据包中的端口信息,并通过与预先存储的端口信息进行匹配,如果匹配成功,中转服务器将依据各个客户端端口和客户端地址以及对应的服务器端口和服务器地址封装对应的数据包,并将该数据包发送至对应的服务器,进而节约了中转服务器的端口资源,提升了数据传输效率。
[0038]通过上述步骤,通过接收客户端发送的第一数据包;匹配第一数据包中的端口信息是否与预先存储的端口信息相同,端口信息包括:客户端端口、客户端地址、服务器端口和服务器地址;在匹配结果相同的情况下,将服务器端口重定向至中转服务器的指定端口 ;将端口信息中的客户端端口和客户端地址作为源端口和源地址,并以服务器端口和服务器地址作为目的端口和目的地址封装第一数据包;将封装后的第一数据包通过预先建立的数据连接发送至服务器,达到了节约端口资源和系统资源的目的,从而实现了通过中转服务器的一个端口完成数据传输的技术效果,进而解决了相关技术中由于在多个数据连接过程中需要监听多个数据端口,导致的在数据传输过程中端口资源和系统资源的消耗增加的技术问题。
[0039]进一步地,在步骤S102接收客户端发送的第一数据包之前,本申请实施例提供的数据传输的方法还包括:
[0040]步骤S100,监听客户端和服务器之间建立的数据连接,得到端口信息。
[0041]具体的,在中转服务器在监听客户端和服务器之间建立的数据连接之前,中转服务器还需要监听客户端和服务器之间的控制连接,其中,该控制连接为客户端与服务器之间需经历三次握手从而建立控制连接,其中,第一次握手,客户端先向服务器端发送携带自身IP地址和端口 1以及目的地址(服务器地址)和目的端口(服务器端口 2)的控制连接建立请求,中转服务器转发该请求至服务器;第二次握手,服务器接收该控制连接建立请求,获取到该客户端的IP地址和端口 1,进而返回携带有服务器IP地址和端口 2的控制连接建立响应,中转服务器记录控制连接建立响应中的服务器IP地址、端口 2和客户端的IP地址,并转发该控制连接建立响应至客户端;第三次握手,客户端接收到控制连接建立响应后返回确认响应,中转服务器转发该确认响应。
[0042]这里第一次握手时,客户端发送的控制连接建立请求可以为握手信号(Synchronous,简称SYN);第二次握手时,服务器发送的控制连接建立响应可以为SYN+ACK ;第三次握手时,客户端返回的确认响应可以为ACK。其中,SYN+ACK用于指示控制连接建立请求已收到,且服务器地址确实为客户端发送的SYN中的IP地址;第三次握手中客户端返回的确认响应ACK用于指示服务器控制连接确认无误,可以建立。
[0043]其中,在建立控制连接完成的情况下,中转服务器中记录的控制信息包括:客户端的IP地址、服务器的IP地址和服务器的端口号,区别于控制连接中转服务器记录的端口信息,本申请中步骤S100中,中转服务器得到的端口信息为客户端与服务器端建立数据连接后存储的端口信息,该端口信息包括:客户端的IP地址、客户端的端口号、服务器的IP地址和服务器的端口号。
[0044]进一步地,步骤S100中监听客户端和服务器之间建立的数据连接,得到端口信息的步骤包括:
[0045]S1,向服务器转发客户端发送的数据传输请求PASV ;
[0046]S2,接收服务器依据数据传输请求PASV返回的数据传输响应,数据传输响应包括服务器端口和服务器地址;
[0047]S3,记录服务器端口、服务器地址和客户端地址,生成第一端口信息;
[0048]S4,向客户端转发数据传输响应;
[0049]S5,接收客户端依据数据传输响应发送的数据连接请求,数据连接请求包括:客户端端口、客户端地址、服务器端口和服务器地址;
[0050]S6,匹配数据连接请求中的客户端地址、服务器端口和服务器地址是否与第一端口信息相同;
[0051]S7,在匹配结果相同的情况下,重定向服务器端口为指定端口,并记录客户端端P ;
[0052]S8,依据客户端端口、客户端地址、服务器端口和服务器地址生成端口信息,并存储端口信息。
[0053]结合S1至S8,这里监听客户端和服务器之间建立的数据连接,得到端口信息的过程与步骤S100中提到的客户端与服务器端建立控制连接过程类似,均需要通过三次握手才能完成数据连接的建立,但是区别在于:在客户端通过中转服务器向服务器发送数据连接请求前,中转服务器将转发客户端发送的数据传输请求PASV,用于请求服务器分配数据连接端口 ;服务器侧也将依据该PASV返回数据连接端口 DATA-P0RT,该DATA-P0RT中源端口为服务器侧分配的用于数据连接的随机端口 2,源地址为服务器的IP地址,目的地址和目的端口则为客户端的IP地址和端口 1,中转服务器在转发该DATA-P0RT时,也将记录上述端口信息,即,上述S3中提到的第一端口信息,该第一端口信息包括:服务器端口、服务器地址和客户端地址(g卩,服务器侧分配的用于数据连接的随机端口 2、服务器的IP地址和客户端的IP地址)。
[0054]当客户端接收到该DATA-P0RT后,将执行三次握手,并且,中转服务器将在第一次握手的过程中得到端口信息,并存储该端口信息,具体如下:
[0055]第一次握手,S卩,上述S5中提到的,中转服务器接收客户端依据数据传输响应发送的数据连接请求,并匹配该数据连接请求中的端口信息是否与上述第一端口信息相同,当匹配结果相同时,中转服务器将重定向服务器端口为中转服务器的指定端口,并记录此时客户端发起数据连接请求中的端口号3,通过记录该端口号,得到本申请实施例中步骤S104中的预先存储的端口信息,S卩,该端口信息包括:客户端端口、客户端地址、服务器端口和服务器地址(即,端口号3、客户端的IP地址、服务器侧分配的用于数据连接的随机端口 2和服务器的IP地址)。本申请实施例中S7中转服务器将重定向服务器端口为指定端口
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1