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

文档序号:9581567阅读:来源:国知局
是为了在后期数据传输过程中,仅需通过监听该指定端口,并通过在该指定端口匹配端口信息,完成剩下的数据传输,从而达到节约端口资源和系统资源的效果,避免了端口资源的浪费。
[0056]进一步地,在S8中存储端口信息之后,本申请实施例提供的数据传输的方法还包括:
[0057]S9,将客户端端口和客户端地址作为源端口和源地址,并以服务器端口和服务器地址作为目的端口和目的地址封装数据连接请求;
[0058]S10,向服务器转发封装后的数据连接请求;
[0059]S11,当接收服务器依据数据连接请求返回的数据连接响应报文时,重定向指定端口为服务器端口;
[0060]S12,将客户端的端口号和客户端地址作为目的端口和目的地址,并以服务器分配的端口和服务器地址作为源端口和源地址封装数据连接响应报文;
[0061]S13,将封装后的数据连接响应报文返回客户端。
[0062]结合S9至S13,基于上述S1至S8中的数据连接过程中提到的第一次握手,基于S9,在执行第一次握手时,中转服务器将以客户端端口和客户端地址作为源端口和源地址,并以服务器端口和服务器地址作为目的端口和目的地址封装数据连接请求,进一步的通过S10,在向服务器转发该封装后的数据连接请求,完成第一次握手;即,隐藏自身端口号和IP地址,以服务器的IP地址和端口执行第二次握手,即,通过隐藏中转服务器指定端口和中转服务器的IP地址,以服务器的IP地址和端口向客户端返回数据连接建立响应,与此同时,中转服务器将向服务器转发客户端的数据连接请求,但是此时数据连接建立请求的源地址和源端口将被中转服务器以客户端的端口和IP地址隐藏自身的指定端口和IP地址进行封装,进而发送给服务器。
[0063]基于步骤S11至步骤S13,第二次握手的过程中,服务器向中转服务器返回依据该数据连接请求发送的数据连接响应报文,中转服务器将重定向指定端口为服务器端口,进而封装该数据连接响应报文,将该数据连接响应报文中的源端口和源地址替换成服务器端口、服务器的IP地址,目的地址和目的端口为客户端的IP地址和客户端端口,并将封装后的该数据连接响应报文返回客户端,由于中转服务器的指定端口对客户端透明,以使得客户端侧一直认为与服务器端口 A进行连接。
[0064]第三次握手,中转服务器向服务器转发客户端发送的确认建立数据连接响应,客户端与服务器之间的数据连接建立完毕。
[0065]在本申请实施例中,与相关技术中建立的数据连接有所区别的是,在中转服务器与客户端之间,中转服务器通过指定端口可以与多个客户端建立数据连接,即,中转服务器的指定端口对客户端而言始终处于一种透明状态,客户端原以为一直与服务器进行通信实际上是与中转服务器进行通信,同时,在中转服务器与服务器之间,中转服务器以该指定端口可以对应客户端所需建立数据连接的服务器之间建立数据连接,即,服务器被动的认为一直通信的对象是客户端,但是实际上是中转服务器。由此可知,通过在中转服务器端设置指定端口,能够在数据传输上缩减数据反馈时间,提升数据传输效率。
[0066]进一步地,在步骤S110将封装后的第一数据包通过预先建立的数据连接发送至服务器之后,本申请实施例提供的数据传输的方法还包括:
[0067]步骤S111,接收服务器依据第一数据包返回的第二数据包;
[0068]步骤S112,将指定端口替换为服务器端口,封装第二数据包;
[0069]步骤S113,向客户端转发第二数据包。
[0070]结合步骤S111至步骤S113,中转服务器转发服务器依据第一数据包返回的第二数据包,在中转服务器端,中转服务器在IP网络层将指定端口转换为服务器端口,对于客户端而言将一直认为是与服务器端口进行连接。
[0071]进一步地,本申请实施例提供的数据传输的方法还包括:
[0072]步骤S114,当客户端与服务器之间的数据连接结束时,清除预先存储的端口信息。
[0073]具体的,中转服务器在数据连接结束时,识别连接结束信息,并自动清除地址端口连接记录,避免无效数据累积及后续传输冲突。
[0074]具体的,图2是根据本申请实施例的一种数据传输的方法的流程示意图,如图2所示,为客户端通过中转服务器与服务器之间由建立控制连接起,到建立数据连接,进一步地在数据连接上进行数据传输的过程,具体如下:
[0075]St印1,中转服务器监听21端口和Pa端口。
[0076]Step2,ftp客户端通过域名解析(domain name system,简称dns)连接到中转服务器Node 1的21端口。
[0077]St印3,中转服务器将SYN连接请求转发给源ftp服务器,再将ftp服务器的回复转回给ftp客户端,经三次握手建立了 ftp控制连接。
[0078]St印4,ftp客户端发出PASV命令,要求进行数据传输,ftp服务器返回数据传输端口号DATA_P0RT给客户端。
[0079]St印5,中转服务器解析到端口号并进行记录DATA_P0RT和ftp服务器及客户端的IP地址。
[0080]Step6,ftp客户端向中转服务器的DATA_P0RT发起数据连接SYN请求。
[0081]Step7,中转服务器匹配到连接记录,在网络层将DATA_P0RT重定向给Pa,记录ftp客户端源端口 ;并将本机的应答包源端口 Pa重定向为DATA_P0RT回复给客户端。如此经过三次握手,ftp客户端与中转服务器建立数据连接。
[0082]Step8,与此同时,中转服务器伪装自己的源IP和端口为ftp客户端,与ftp服务器建立数据连接。
[0083]Step9,于是ftp客户端与ftp服务器经过中转网络进行数据传输,而Pa端口对ftp客户端透明,中转服务器对ftp服务器透明。
[0084]St印10,当数据传输结束,中转服务器分别与ftp客户端及ftp服务器终止数据连接,并清除连接的记录。
[0085]其中,本申请实施例中的客户端可以为上述ftp客户端,服务器可以为上述ftp服务器,以实现本申请实施例提供的数据传输的方法为准,具体不做限定。
[0086]本申请实施例提供的数据传输的方法中虽然仅以一个客户端为例进行说明,但是仍可以适用于多个客户端以及对应的服务器执行并发数据传输,其中,对于中转服务器来说,仅提供一个固定侦听的端口(即,本申请实施例中的指定端口),多个客户端与对应的服务器建立控制连接的过程中,中转服务器将存储客户端和服务器端的端口信息,当多个客户端需要与服务器端建立数据连接时,通过发送数据连接建立请求,中转服务器通过解析数据连接建立请求中的端口信息,如果与之前监听控制连接时存储的端口信息相同,中转服务器将服务器端口重定向为指定端口,进而建立与多个客户端的数据连接,在中转服务器和服务器之间,通过解析的端口信息,中转服务器通过隐藏自身的端口和地址以客户端端口和地址与客户端对应的服务器建立数据连接,最后在数据连接的基础上,每当客户端在数据连接上发送数据包,中转服务器均通过匹配数据包中的端口信息与预先存储的端口信息进行比较,当端口信息相同时,中转服务器将重定向服务器端口为指定端口,并以客户端端口和地址以及对应的服务器端口和地址重新封装数据包,最后将该数据包发送至服务器,同样的,当服务器依据客户端发送的数据包返回对应数据包时,中转服务器将转发该数据包返回对应的客户端。由此可知,当在中转服务器端节约端口资源之后,中转服务器侧将能够对任一随机端口进行侦听,并响应,提升了中转服务器的数据传输效率,从而提升整个数据传输的系统的数据传输效率。
[0087]除此之外,为避免无效数据累积及后续传输冲突的问题出现,当数据传输结束,中转服务器分别与ftp客户端及ftp服务器终止数据连接,并清除连接的记录。
[0088]本申请实施例提供的数据传输的方法中,中转服务器可以为由至少两个中转服务器
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1