一种FTP服务器、处理方法和传输系统.pdf

上传人:奻奴 文档编号:4723823 上传时间:2018-10-31 格式:PDF 页数:10 大小:454.08KB
返回 下载 相关 举报
摘要
申请专利号:

CN201210264784.X

申请日:

2012.07.30

公开号:

CN103001939A

公开日:

2013.03.27

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):H04L 29/06申请公布日:20130327|||实质审查的生效IPC(主分类):H04L 29/06申请日:20120730|||公开

IPC分类号:

H04L29/06; H04L29/12

主分类号:

H04L29/06

申请人:

深圳市共进电子股份有限公司

发明人:

熊元星; 王金桂

地址:

广东省深圳市南山区南海大道1019号南山医疗器械产业园B116、B118;A211-A213、B201-B213;A311-313;B411-413

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明公开了一种FTP服务器处理方法,FTP服务器预先设置SOCKET参数的数据结构,使其兼容IPv4和IPv6;之后与客户端建立控制连接,并判断所述客户端所使用的协议为IPv4还是IPv6,为IPv4时,则将所述PORT命令中的IPv4地址转换为IPv6地址,之后与所述客户端建立数据连接。本发明还公开了一种FTP服务器,包括协议接口和服务器数据传输模块。本发明还公开了一种FTP传输系统,包括客户端和FTP服务器,所述客户端包括用户接口、客户端协议解释器和客户端数据传输模块;所述FTP服务器包括协议接口和数据传输模块。该方法、服务器和系统,能够兼容IPv4和IPv6,实现了从IPv4向IPv6的过渡。

权利要求书

权利要求书一种FTP服务器处理方法,其特征在于,包括步骤:步骤A,FTP服务器预先设置SOCKET参数的数据结构,使其兼容IPv4和IPv6;步骤B,FTP服务器与客户端建立控制连接;步骤C,FTP服务器接收所述客户端的FTP命令,判断所述客户端所使用的协议为IPv4还是IPv6,为IPv4,则进入步骤D,为IPv6则进入步骤E;步骤D,FTP服务器处理所述客户端发起数据连接请求的PORT命令时,将所述PORT命令中的IPv4地址转换为IPv6地址;步骤E,FTP服务器与所述客户端建立数据连接。根据权利要求1所述的FTP服务器数据传输方法,其特征在于,所述步骤C中判断所述客户端所使用的协议为IPv4还是IPv6,是通过分析IPv6地址的组成进行判断。一种FTP服务器,其特征在于,包括协议接口和服务器数据传输模块;所述协议接口,用于预先设置SOCKET参数的数据结构,使其兼容IPv4和IPv6,并与客户端建立控制连接,接收所述客户端的FTP命令,判断所述客户端所使用的协议为IPv4还是IPv6,为IPv4时,则在处理所述客户端发起数据连接请求的PORT命令时,将所述PORT命令中的IPv4地址转换为IPv6地址,而后通知所述服务器数据传输模块进行数据连接;为IPv6时,则直接通知所述服务器数据传输模块进行数据连接;所述服务器数据传输模块,用于与所述客户端进行数据连接。一种FTP传输系统,包括客户端和FTP服务器,其特征在于:所述客户端包括用户接口、客户端协议解释器和客户端数据传输模块;所述FTP服务器包括协议接口和数据传输模块;所述用户接口,与所述用户协议解释器电性连接,用于输入用户命令并将其转换为FTP命令后输出给所述客户端协议解释器;所述客户端协议解释器,与所述客户端数据传输模块电性连接,用于与所述FTP服务器的协议接口进行控制连接;所述客户端数据传输模块,用于与所述服务器数据传输模块进行数据连接;所述协议接口,用于预先设置SOCKET参数的数据结构,使其兼容IPv4和IPv6,并与所述客户端协议解释器建立控制连接,接收所述客户端的FTP命令,判断所述客户端所使用的协议为IPv4还是IPv6,为IPv4时,则在处理所述客户端发起数据连接请求的PORT命令时,将所述PORT命令中的IPv4地址转换为IPv6地址,而后通知所述服务器数据传输模块进行数据连接;为IPv6时,则直接通知所述服务器数据传输模块进行数据连接;所述服务器数据传输模块,用于与所述客户端数据传输模块进行数据连接。

说明书

说明书一种FTP服务器、处理方法和传输系统
技术领域
本发明涉及FTP(File Transfer Protocol)技术领域,特别涉及一种FTP服务器、处理方法和传输系统。
背景技术
IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议。Ipv4可以运行在各种各样的底层网络上,比如端对端的串行数据链路(PPP协议和SLIP协议),卫星链路等。
IPv6(Internet Protocol Version6)的缩写,是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。
随着互联网行业的不断发展,现有IPv4的地址资源被分配殆尽,而日益发展的网络需要更多的地址资源,现有的数量已经无法满足更大的需求,迫切需要升级到采用核心标准为IPv6的下一代互联网。
但是当前的大多互联网软硬件设备均是基于IPv4,IPv4还是一段时间内的主流协议,IPv6网络目前还是处于实验阶段。
FTP(File Transfer Protocol,FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。当前BROADCOM方案中的FTP服务器只支持IPv4的客户端,不支持IPv6连接。
IPv4为当前的主流应用协议,升级到IPv6也势在必行,因此从IPv4到IPv6还存在较长的过渡期,而现有技术中的BROADCOM方案中的FTP服务器只支持IPv4的客户端,无法做到兼容IPv4和IPv6。
发明内容
本发明要解决的技术问题为提供了一种FTP服务器、处理方法和传输系统,解决了现有技术中的FTP服务器无法兼容IPv4和IPv6的技术问题。
为解决上述技术问题,本发明提供了一种FTP服务器处理方法,包括步骤:
步骤A,FTP服务器预先设置SOCKET参数的数据结构,使其兼容IPv4和IPv6;
步骤B,FTP服务器与客户端建立控制连接;
步骤C,FTP服务器接收所述客户端的FTP命令,判断所述客户端所使用的协议为IPv4还是IPv6,为IPv4,则进入步骤D,为IPv6则进入步骤E;
步骤D,FTP服务器处理所述客户端发起数据连接请求的PORT命令时,将所述PORT命令中的IPv4地址转换为IPv6地址;
步骤E,FTP服务器与所述客户端建立数据连接。
其中,所述步骤C中判断所述客户端所使用的协议为IPv4还是IPv6,是通过分析IPv6地址的组成进行判断。
本发明还提供一种FTP服务器,包括协议接口和服务器数据传输模块;所述协议接口,用于预先设置SOCKET参数的数据结构,使其兼容IPv4和IPv6,并与客户端建立控制连接,接收所述客户端的FTP命令,判断所述客户端所使用的协议为IPv4还是IPv6,为IPv4时,则在处理所述客户端发起数据连接请求的PORT命令时,将所述PORT命令中的IPv4地址转换为IPv6地址,而后通知所述服务器数据传输模块进行数据连接;为IPv6时,则直接通知所述服务器数据传输模块进行数据连接;所述服务器数据传输模块,用于与所述客户端进行数据连接。
本发明还提供一种FTP传输系统,包括客户端和FTP服务器,所述客户端包括用户接口、客户端协议解释器和客户端数据传输模块;所述FTP服务器包括协议接口和数据传输模块;所述用户接口,与所述用户协议解释器电性连接,用于输入用户命令并将其转换为FTP命令后输出给所述客户端协议解释器;所述客户端协议解释器,与所述客户端数据传输模块电性连接,用于与所述FTP服务器的协议接口进行控制连接;所述客户端数据传输模块,用于与所述服务器数据传输模块进行数据连接;所述协议接口,用于预先设置SOCKET参数的数据结构,使其兼容IPv4和IPv6,并与所述客户端协议解释器建立控制连接,接收所述客户端的FTP命令,判断所述客户端所使用的协议为IPv4还是IPv6,为IPv4时,则在处理所述客户端发起数据连接请求的PORT命令时,将所述PORT命令中的IPv4地址转换为IPv6地址,而后通知所述服务器数据传输模块进行数据连接;为IPv6时,则直接通知所述服务器数据传输模块进行数据连接;所述服务器数据传输模块,用于与所述客户端数据传输模块进行数据连接。
本发明提供的一种FTP服务器、处理方法和传输系统,通过预先设置SOCKET参数的数据结构,使其兼容IPv4和IPv6,并在客户端所使用的协议为IPv4,将其PORT命令中的IPv4地址转换为IPv6地址,从而能够顺利地在服务器与客户端之间建立数据连接,实现了对IPv4和IPv6的兼容。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明的一种FTP服务器处理方法的流程图;
图2为本发明的一种FTP服务器的结构示意图;
图3为本发明的一种FTP传输系统的结构示意图。
具体实施方式
本发明的核心为CPE(Customer Premise Equipment,客户终端设备)通讯终端中,能够实现基于FTP的数据传输或存储同时支持IPv4和IPv6的方法。主要用于IPv6、IPv4共存的网络环境下,使得CPE通讯终端能更好的兼容处理业务,可以同时使用IPv4和IPv6协议与其它单一地支持IPv4或IPv6的客户端进行通讯。
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。
本发明提供了一种FTP服务器处理方法,参见图1,包括步骤:
S110,FTP服务器预先设置SOCKET参数的数据结构,使其兼容IPv4和IPv6。
创建SOCKET时使用的参数的数据结构,必须要兼容IPv4和IPv6。
在本发明实施例中,SOCKET参数采用下面的自定义的一个结构体:

该数据结构包含二个成员,一个是sockaddr结构,一个是sockaddr_in6或sockaddr_in结构。
其中,上述程序仅为一个举例,本领域技术人员可根据本发明的技术构思以多种形式的程序实施本步骤,具体的结构体要根据实际支持的协议栈来确定。
步骤S111,FTP服务器与客户端建立控制连接。
FTP采用两个TCP连接来传输一个文件,分别是控制连接和数据连接。
FTP要实现文件传输功能,需要建立两条连接,一条是控制连接,另一条是数据连接。
控制连接以通常的客户服务器方式建立。服务器以被动方式打开用于FTP的端口21,等待客户的连接。客户则以主动方式打开TCP端口21,来建立连接。控制连接始终等待客户与服务器之间的通信。该连接将命令从客户传给服务器,并传回服务器的应答。由于命令通常是由用户键入的,所以IP对控制连接的服务类型就是“最大限度地减小迟延”。
这两条连接都需要支持IPv6。如果只有控制连接支持IPv6,那么IPv6客户端就只能够建立连接,登陆到FTP服务器,但无法传输数据;如果只有数据连接支持IPv6,那么IPv6的客户端根本无法连接上FTP服务器。
步骤S112,FTP服务器接收所述客户端的FTP命令,判断所述客户端所使用的协议为IPv4还是IPv6,为IPv4,则进入步骤S113,为IPv6则进入步骤S114。
区分IPv4和IPv6的客户端可以通过分析IPv6地址的组成来确定。
在本发明实施例中,本步骤可采用如下程序实现:


同样,很显然的是,上述程序仅为能够实现本步骤功能的一个程序的举例,本领域技术人员能够根据本发明的技术构思实现多种不同的程序,都应属于本发明的保护范围。
步骤113,FTP服务器处理所述客户端发起数据连接请求的PORT命令时,将所述PORT命令中的IPv4地址转换为IPv6地址。
再来分析IPv4和IPv6客户端发起数据连接请求时使用的FTP命令:IPv4为PORT,IPv6为EPRT。
PORT命令格式如下:PORT h1,h2,h3,h4,p1,p2,具体含义是h1到h4分别为IPv4地址的四个数值,p1,p2为客户端打开的端口号。因为前面的数据结构usockaddr中只有sockaddr_in6,所以在处理PORT命令时,必须要把IPv4的地址转换成IPv6的地址,在本发明实施例中,转换代码如下:
sscanf(params,"%lu,%lu,%lu,%lu,%lu,%lu",&a0,&a1,&a2,&a3,&p0,&p1);
addr=htonl((a0<<24)+(a1<<16)+(a2<<8)+a3);
/*convert IPv4 addressto IPv6 address*/
static char ret[16]={0,0,0,0,0,0,0,0,0,0,OxFF,OxFF};
memcpy(&ret[12],&addr,4);
同样,本程序也仅为实现本步骤功能的一个举例,本领域技术人员可根据本步骤的说明和本发明的技术构思,稍加改动,得到不同形式的实施程序,都应属于本发明的保护范围。
上面这一步是较为重要的,若省略这一步骤,会导致SOCKET创建失败,从而无法完成数据连接建立。
EPRT命令格式为:
EPRT<space><d><net‑prt><d><net‑addr><d><tcp‑port><d>
这个格式要求是在RFC中规定的,其中<d>是分隔符,WINDOWS7系统使用的是“|”,实例如:EPRT|2|fe80::51a3:f183:5b72:4f40|65071|,其中fe80::51a3:f183:5b72:4f40和65071分别为客户端的IPv6地址和端口号。
EPRT命令则由于与预先设置的结构体匹配,因此可完成数据连接的建立。
步骤114,FTP服务器与所述客户端建立数据连接。
每当一个文件在客户与服务器之间传输时,就创建一个数据连接。
当家里或是其他小型局域网有了完整的网络、多台计算机,如何共享文件就成了比较需要解决的问题之一。靠U盘拷贝、IM(即时通讯软件)软件对传总有一定的弊端,而且各台计算机的硬盘容量不同,如果能把公用的电影、音乐放置在一个容量大、速度快、访问方便的存储上,这样就能方便的共享,这就是CPE中FTP存储的主要应用。
而在这样的一个网络中,客户端有的是IPv4的,有的则是IPv6的,所以有必要让FTP服务器兼容两类客户端,从而达到支持不同网络协议的客户端之间共享文件的目的。
本发明的一种FTP服务器处理方法,通过设置SOCKET参数结构体,区分IPv4和IPv6的客户端,并针对不同的命令格式进行IPv4地址和IPv6地址间的转换,从而实现了对不同协议下的客户端的命令的响应,实现了对IPv4和IPv6的兼容。
本发明还提供一种FTP服务器,参见图2,包括协议接口和服务器数据传输模块。
所述协议接口,用于预先设置SOCKET参数的数据结构,使其兼容IPv4和IPv6,并与客户端建立控制连接,接收所述客户端的FTP命令,判断所述客户端所使用的协议为IPv4还是IPv6,为IPv4时,则在处理所述客户端发起数据连接请求的PORT命令时,将所述PORT命令中的IPv4地址转换为IPv6地址,而后通知所述服务器数据传输模块进行数据连接;为IPv6时,则直接通知所述服务器数据传输模块进行数据连接。
所述服务器数据传输模块,用于与所述客户端进行数据连接。
本发明还提供一种FTP传输系统,参见图3,包括客户端和FTP服务器。
所述客户端包括用户接口、客户端协议解释器和客户端数据传输模块;所述FTP服务器包括协议接口和数据传输模块。
所述用户接口,与所述用户协议解释器电性连接,用于输入用户命令并将其转换为FTP命令后输出给所述客户端协议解释器。
从图3中可以看出客户端与服务器以及它们的各功能模块之间的连接情况,交互式用户通常不处理在控制连接中转换的命令和应答。这些细节均由两个协议解释器来完成,两个协议解释器还根据需要激活文件传送功能。
所述用户接口是按用户所需提供各种交互界面,包括但不限于IE、文件浏览器、FTP客户端、逐行输入命令等等。所述用户接口把它们转换成在控制连接上发送的FTP命令。类似地,从控制连接上传回的服务器应答也被转换成用户所需的交互格式。
所述客户端协议解释器,与所述客户端数据传输模块电性连接,用于与所述FTP服务器的协议接口进行控制连接。
所述客户端数据传输模块,用于与所述服务器数据传输模块进行数据连接。
所述协议接口,同前所述,用于预先设置SOCKET参数的数据结构,使其兼容IPv4和IPv6,并与所述客户端协议解释器建立控制连接,接收所述客户端的FTP命令,判断所述客户端所使用的协议为IPv4还是IPv6,并做出相应的处理。
所述服务器数据传输模块,用于与所述客户端数据传输模块进行数据连接。
鉴于当前的实际情况是IPv4占据主流,IPv6网络还是处于实验阶段,因此本发明的一种FTP服务器、处理方法和传输系统,提供了一种IPv4/IPv6互通技术以保证IPv4能够平稳过渡到IPv6。能够实现在IPv4网络内,使用IPv4与网络其他终端通讯;在IPv6网络内,使用IPv6与网络其他终端通讯;在IPv4和IPv6共存的网络环境下,可以同时使用IPv4和IPv6与网络其他终端通讯。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

一种FTP服务器、处理方法和传输系统.pdf_第1页
第1页 / 共10页
一种FTP服务器、处理方法和传输系统.pdf_第2页
第2页 / 共10页
一种FTP服务器、处理方法和传输系统.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种FTP服务器、处理方法和传输系统.pdf》由会员分享,可在线阅读,更多相关《一种FTP服务器、处理方法和传输系统.pdf(10页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103001939 A (43)申请公布日 2013.03.27 CN 103001939 A *CN103001939A* (21)申请号 201210264784.X (22)申请日 2012.07.30 H04L 29/06(2006.01) H04L 29/12(2006.01) (71)申请人 深圳市共进电子股份有限公司 地址 广东省深圳市南山区南海大 道 1019 号南山医疗器械产 业园 B116、 B118;A211-A213、 B201-B213;A311-313;B411-413 (72)发明人 熊元星 王金桂 (54) 发明名称 一种 FTP 服务。

2、器、 处理方法和传输系统 (57) 摘要 本发明公开了一种 FTP 服务器处理方法, FTP 服务器预先设置 SOCKET 参数的数据结构, 使其兼 容 IPv4 和 IPv6 ; 之后与客户端建立控制连接, 并 判断所述客户端所使用的协议为IPv4还是IPv6, 为 IPv4 时, 则将所述 PORT 命令中的 IPv4 地址转 换为 IPv6 地址, 之后与所述客户端建立数据连 接。 本发明还公开了一种FTP服务器, 包括协议接 口和服务器数据传输模块。本发明还公开了一种 FTP 传输系统, 包括客户端和 FTP 服务器, 所述客 户端包括用户接口、 客户端协议解释器和客户端 数据传输模块。

3、 ; 所述 FTP 服务器包括协议接口和 数据传输模块。该方法、 服务器和系统, 能够兼容 IPv4 和 IPv6, 实现了从 IPv4 向 IPv6 的过渡。 (51)Int.Cl. 权利要求书 1 页 说明书 6 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 6 页 附图 2 页 1/1 页 2 1. 一种 FTP 服务器处理方法, 其特征在于, 包括步骤 : 步骤 A, FTP 服务器预先设置 SOCKET 参数的数据结构, 使其兼容 IPv4 和 IPv6 ; 步骤 B, FTP 服务器与客户端建立控制连接 ; 步骤 C, F。

4、TP 服务器接收所述客户端的 FTP 命令, 判断所述客户端所使用的协议为 IPv4 还是 IPv6, 为 IPv4, 则进入步骤 D, 为 IPv6 则进入步骤 E ; 步骤 D, FTP 服务器处理所述客户端发起数据连接请求的 PORT 命令时, 将所述 PORT 命 令中的 IPv4 地址转换为 IPv6 地址 ; 步骤 E, FTP 服务器与所述客户端建立数据连接。 2.根据权利要求1所述的FTP服务器数据传输方法, 其特征在于, 所述步骤C中判断所 述客户端所使用的协议为 IPv4 还是 IPv6, 是通过分析 IPv6 地址的组成进行判断。 3. 一种 FTP 服务器, 其特征在于。

5、, 包括协议接口和服务器数据传输模块 ; 所述协议接口, 用于预先设置 SOCKET 参数的数据结构, 使其兼容 IPv4 和 IPv6, 并与客 户端建立控制连接, 接收所述客户端的 FTP 命令, 判断所述客户端所使用的协议为 IPv4 还 是IPv6, 为IPv4时, 则在处理所述客户端发起数据连接请求的PORT命令时, 将所述PORT命 令中的 IPv4 地址转换为 IPv6 地址, 而后通知所述服务器数据传输模块进行数据连接 ; 为 IPv6 时, 则直接通知所述服务器数据传输模块进行数据连接 ; 所述服务器数据传输模块, 用于与所述客户端进行数据连接。 4. 一种 FTP 传输系统。

6、, 包括客户端和 FTP 服务器, 其特征在于 : 所述客户端包括用户接口、 客户端协议解释器和客户端数据传输模块 ; 所述 FTP 服务 器包括协议接口和数据传输模块 ; 所述用户接口, 与所述用户协议解释器电性连接, 用于输入用户命令并将其转换为 FTP 命令后输出给所述客户端协议解释器 ; 所述客户端协议解释器, 与所述客户端数据传输模块电性连接, 用于与所述 FTP 服务 器的协议接口进行控制连接 ; 所述客户端数据传输模块, 用于与所述服务器数据传输模块进行数据连接 ; 所述协议接口, 用于预先设置 SOCKET 参数的数据结构, 使其兼容 IPv4 和 IPv6, 并与所 述客户端。

7、协议解释器建立控制连接, 接收所述客户端的 FTP 命令, 判断所述客户端所使用 的协议为 IPv4 还是 IPv6, 为 IPv4 时, 则在处理所述客户端发起数据连接请求的 PORT 命令 时, 将所述 PORT 命令中的 IPv4 地址转换为 IPv6 地址, 而后通知所述服务器数据传输模块 进行数据连接 ; 为 IPv6 时, 则直接通知所述服务器数据传输模块进行数据连接 ; 所述服务器数据传输模块, 用于与所述客户端数据传输模块进行数据连接。 权 利 要 求 书 CN 103001939 A 2 1/6 页 3 一种 FTP 服务器、 处理方法和传输系统 技术领域 0001 本发明涉。

8、及FTP(File Transfer Protocol)技术领域, 特别涉及一种FTP服务器、 处理方法和传输系统。 背景技术 0002 IPv4, 是互联网协议(Internet Protocol, IP)的第四版, 也是第一个被广泛使用, 构成现今互联网技术的基石的协议。Ipv4 可以运行在各种各样的底层网络上, 比如端对端 的串行数据链路 (PPP 协议和 SLIP 协议 ), 卫星链路等。 0003 IPv6(Internet Protocol Version6) 的 缩 写, 是 IETF( 互 联 网 工 程 任 务 组, Internet Engineering Task For。

9、ce) 设计的用于替代现行版本 IP 协议 (IPv4) 的下一代 IP 协议。 0004 随着互联网行业的不断发展, 现有 IPv4 的地址资源被分配殆尽, 而日益发展的网 络需要更多的地址资源, 现有的数量已经无法满足更大的需求, 迫切需要升级到采用核心 标准为 IPv6 的下一代互联网。 0005 但是当前的大多互联网软硬件设备均是基于 IPv4, IPv4 还是一段时间内的主流 协议, IPv6 网络目前还是处于实验阶段。 0006 FTP(File Transfer Protocol, FTP) 是 TCP/IP 网络上两台计算机传送文件的协 议, FTP是在TCP/IP网络和INT。

10、ERNET上最早使用的协议之一, 它属于网络协议组的应用层。 FTP 客户机可以给服务器发出命令来下载文件, 上载文件, 创建或改变服务器上的目录。当 前 BROADCOM 方案中的 FTP 服务器只支持 IPv4 的客户端, 不支持 IPv6 连接。 0007 IPv4 为当前的主流应用协议, 升级到 IPv6 也势在必行, 因此从 IPv4 到 IPv6 还存 在较长的过渡期, 而现有技术中的 BROADCOM 方案中的 FTP 服务器只支持 IPv4 的客户端, 无 法做到兼容 IPv4 和 IPv6。 发明内容 0008 本发明要解决的技术问题为提供了一种 FTP 服务器、 处理方法和。

11、传输系统, 解决 了现有技术中的 FTP 服务器无法兼容 IPv4 和 IPv6 的技术问题。 0009 为解决上述技术问题, 本发明提供了一种 FTP 服务器处理方法, 包括步骤 : 0010 步骤 A, FTP 服务器预先设置 SOCKET 参数的数据结构, 使其兼容 IPv4 和 IPv6 ; 0011 步骤 B, FTP 服务器与客户端建立控制连接 ; 0012 步骤 C, FTP 服务器接收所述客户端的 FTP 命令, 判断所述客户端所使用的协议为 IPv4 还是 IPv6, 为 IPv4, 则进入步骤 D, 为 IPv6 则进入步骤 E ; 0013 步骤D, FTP服务器处理所述。

12、客户端发起数据连接请求的PORT命令时, 将所述PORT 命令中的 IPv4 地址转换为 IPv6 地址 ; 0014 步骤 E, FTP 服务器与所述客户端建立数据连接。 0015 其中, 所述步骤 C 中判断所述客户端所使用的协议为 IPv4 还是 IPv6, 是通过分析 说 明 书 CN 103001939 A 3 2/6 页 4 IPv6 地址的组成进行判断。 0016 本发明还提供一种 FTP 服务器, 包括协议接口和服务器数据传输模块 ; 所述协议 接口, 用于预先设置 SOCKET 参数的数据结构, 使其兼容 IPv4 和 IPv6, 并与客户端建立控 制连接, 接收所述客户端的。

13、 FTP 命令, 判断所述客户端所使用的协议为 IPv4 还是 IPv6, 为 IPv4 时, 则在处理所述客户端发起数据连接请求的 PORT 命令时, 将所述 PORT 命令中的 IPv4 地址转换为 IPv6 地址, 而后通知所述服务器数据传输模块进行数据连接 ; 为 IPv6 时, 则直接通知所述服务器数据传输模块进行数据连接 ; 所述服务器数据传输模块, 用于与所 述客户端进行数据连接。 0017 本发明还提供一种 FTP 传输系统, 包括客户端和 FTP 服务器, 所述客户端包括用 户接口、 客户端协议解释器和客户端数据传输模块 ; 所述 FTP 服务器包括协议接口和数据 传输模块 。

14、; 所述用户接口, 与所述用户协议解释器电性连接, 用于输入用户命令并将其转 换为 FTP 命令后输出给所述客户端协议解释器 ; 所述客户端协议解释器, 与所述客户端数 据传输模块电性连接, 用于与所述 FTP 服务器的协议接口进行控制连接 ; 所述客户端数据 传输模块, 用于与所述服务器数据传输模块进行数据连接 ; 所述协议接口, 用于预先设置 SOCKET 参数的数据结构, 使其兼容 IPv4 和 IPv6, 并与所述客户端协议解释器建立控制连 接, 接收所述客户端的 FTP 命令, 判断所述客户端所使用的协议为 IPv4 还是 IPv6, 为 IPv4 时, 则在处理所述客户端发起数据连。

15、接请求的 PORT 命令时, 将所述 PORT 命令中的 IPv4 地 址转换为 IPv6 地址, 而后通知所述服务器数据传输模块进行数据连接 ; 为 IPv6 时, 则直接 通知所述服务器数据传输模块进行数据连接 ; 所述服务器数据传输模块, 用于与所述客户 端数据传输模块进行数据连接。 0018 本发明提供的一种 FTP 服务器、 处理方法和传输系统, 通过预先设置 SOCKET 参数 的数据结构, 使其兼容 IPv4 和 IPv6, 并在客户端所使用的协议为 IPv4, 将其 PORT 命令中的 IPv4 地址转换为 IPv6 地址, 从而能够顺利地在服务器与客户端之间建立数据连接, 实。

16、现了 对 IPv4 和 IPv6 的兼容。 附图说明 0019 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据 提供的附图获得其他的附图。 0020 图 1 为本发明的一种 FTP 服务器处理方法的流程图 ; 0021 图 2 为本发明的一种 FTP 服务器的结构示意图 ; 0022 图 3 为本发明的一种 FTP 传输系统的结构示意图。 具体实施方式 0023 本发明的核心为CPE(Custome。

17、r Premise Equipment, 客户终端设备)通讯终端中, 能够实现基于 FTP 的数据传输或存储同时支持 IPv4 和 IPv6 的方法。主要用于 IPv6、 IPv4 共存的网络环境下, 使得 CPE 通讯终端能更好的兼容处理业务, 可以同时使用 IPv4 和 IPv6 协议与其它单一地支持 IPv4 或 IPv6 的客户端进行通讯。 说 明 书 CN 103001939 A 4 3/6 页 5 0024 为了使本领域的技术人员更好地理解本发明的技术方案, 下面结合附图和具体实 施例对本发明作进一步的详细说明。 0025 本发明提供了一种 FTP 服务器处理方法, 参见图 1, 。

18、包括步骤 : 0026 S110, FTP 服务器预先设置 SOCKET 参数的数据结构, 使其兼容 IPv4 和 IPv6。 0027 创建 SOCKET 时使用的参数的数据结构, 必须要兼容 IPv4 和 IPv6。 0028 在本发明实施例中, SOCKET 参数采用下面的自定义的一个结构体 : 0029 0030 该数据结构包含二个成员, 一个是 sockaddr 结构, 一个是 sockaddr_in6 或 sockaddr_in 结构。 0031 其中, 上述程序仅为一个举例, 本领域技术人员可根据本发明的技术构思以多种 形式的程序实施本步骤, 具体的结构体要根据实际支持的协议栈来。

19、确定。 0032 步骤 S111, FTP 服务器与客户端建立控制连接。 0033 FTP 采用两个 TCP 连接来传输一个文件, 分别是控制连接和数据连接。 0034 FTP 要实现文件传输功能, 需要建立两条连接, 一条是控制连接, 另一条是数据连 接。 0035 控制连接以通常的客户服务器方式建立。服务器以被动方式打开用于 FTP 的端口 21, 等待客户的连接。客户则以主动方式打开 TCP 端口 21, 来建立连接。控制连接始终等待 客户与服务器之间的通信。该连接将命令从客户传给服务器, 并传回服务器的应答。由于 命令通常是由用户键入的, 所以 IP 对控制连接的服务类型就是 “最大限。

20、度地减小迟延” 。 0036 这两条连接都需要支持 IPv6。如果只有控制连接支持 IPv6, 那么 IPv6 客户端就 只能够建立连接, 登陆到 FTP 服务器, 但无法传输数据 ; 如果只有数据连接支持 IPv6, 那么 IPv6 的客户端根本无法连接上 FTP 服务器。 0037 步骤S112, FTP服务器接收所述客户端的FTP命令, 判断所述客户端所使用的协议 为 IPv4 还是 IPv6, 为 IPv4, 则进入步骤 S113, 为 IPv6 则进入步骤 S114。 0038 区分 IPv4 和 IPv6 的客户端可以通过分析 IPv6 地址的组成来确定。 0039 在本发明实施例。

21、中, 本步骤可采用如下程序实现 : 0040 说 明 书 CN 103001939 A 5 4/6 页 6 0041 0042 同样, 很显然的是, 上述程序仅为能够实现本步骤功能的一个程序的举例, 本领域 技术人员能够根据本发明的技术构思实现多种不同的程序, 都应属于本发明的保护范围。 0043 步骤 113, FTP 服务器处理所述客户端发起数据连接请求的 PORT 命令时, 将所述 PORT 命令中的 IPv4 地址转换为 IPv6 地址。 0044 再来分析IPv4和IPv6客户端发起数据连接请求时使用的FTP命令 : IPv4为PORT, IPv6 为 EPRT。 0045 PORT。

22、 命令格式如下 : PORT h1, h2, h3, h4, p1, p2, 具体含义是 h1 到 h4 分别为 IPv4 地址的四个数值, p1, p2 为客户端打开的端口号。因为前面的数据结构 usockaddr 中只有 sockaddr_in6, 所以在处理 PORT 命令时, 必须要把 IPv4 的地址转换成 IPv6 的地址, 在本发 明实施例中, 转换代码如下 : 0046 sscanf(params, lu, lu, lu, lu, lu, lu , &a0, &a1, &a2, &a3, &p0, &p1) ; 说 明 书 CN 103001939 A 6 5/6 页 7 00。

23、47 addr htonl(a0 24)+(a1 16)+(a2 8)+a3) ; 0048 /*convert IPv4 addressto IPv6 address*/ 0049 static char ret16 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, OxFF, OxFF ; 0050 memcpy(&ret12, &addr, 4) ; 0051 同样, 本程序也仅为实现本步骤功能的一个举例, 本领域技术人员可根据本步骤 的说明和本发明的技术构思, 稍加改动, 得到不同形式的实施程序, 都应属于本发明的保护 范围。 0052 上面这一步是较为重要的, 若省略这一步。

24、骤, 会导致 SOCKET 创建失败, 从而无法 完成数据连接建立。 0053 EPRT 命令格式为 : 0054 EPRT 0055 这个格式要求是在RFC中规定的, 其中是分隔符, WINDOWS7系统使用的是 “|” , 实例如 : EPRT|2|fe80:51a3:f183:5b72:4f40|65071|, 其中 fe80:51a3:f183:5b72:4f40 和 65071 分别为客户端的 IPv6 地址和端口号。 0056 EPRT 命令则由于与预先设置的结构体匹配, 因此可完成数据连接的建立。 0057 步骤 114, FTP 服务器与所述客户端建立数据连接。 0058 每当。

25、一个文件在客户与服务器之间传输时, 就创建一个数据连接。 0059 当家里或是其他小型局域网有了完整的网络、 多台计算机, 如何共享文件就成了 比较需要解决的问题之一。靠 U 盘拷贝、 IM( 即时通讯软件 ) 软件对传总有一定的弊端, 而 且各台计算机的硬盘容量不同, 如果能把公用的电影、 音乐放置在一个容量大、 速度快、 访 问方便的存储上, 这样就能方便的共享, 这就是 CPE 中 FTP 存储的主要应用。 0060 而在这样的一个网络中, 客户端有的是 IPv4 的, 有的则是 IPv6 的, 所以有必要让 FTP 服务器兼容两类客户端, 从而达到支持不同网络协议的客户端之间共享文件的。

26、目的。 0061 本发明的一种 FTP 服务器处理方法, 通过设置 SOCKET 参数结构体, 区分 IPv4 和 IPv6的客户端, 并针对不同的命令格式进行IPv4地址和IPv6地址间的转换, 从而实现了对 不同协议下的客户端的命令的响应, 实现了对 IPv4 和 IPv6 的兼容。 0062 本发明还提供一种 FTP 服务器, 参见图 2, 包括协议接口和服务器数据传输模块。 0063 所述协议接口, 用于预先设置 SOCKET 参数的数据结构, 使其兼容 IPv4 和 IPv6, 并与客户端建立控制连接, 接收所述客户端的 FTP 命令, 判断所述客户端所使用的协议为 IPv4 还是 。

27、IPv6, 为 IPv4 时, 则在处理所述客户端发起数据连接请求的 PORT 命令时, 将所述 PORT 命令中的 IPv4 地址转换为 IPv6 地址, 而后通知所述服务器数据传输模块进行数据连 接 ; 为 IPv6 时, 则直接通知所述服务器数据传输模块进行数据连接。 0064 所述服务器数据传输模块, 用于与所述客户端进行数据连接。 0065 本发明还提供一种 FTP 传输系统, 参见图 3, 包括客户端和 FTP 服务器。 0066 所述客户端包括用户接口、 客户端协议解释器和客户端数据传输模块 ; 所述 FTP 服务器包括协议接口和数据传输模块。 0067 所述用户接口, 与所述用。

28、户协议解释器电性连接, 用于输入用户命令并将其转换 为 FTP 命令后输出给所述客户端协议解释器。 0068 从图 3 中可以看出客户端与服务器以及它们的各功能模块之间的连接情况, 交互 说 明 书 CN 103001939 A 7 6/6 页 8 式用户通常不处理在控制连接中转换的命令和应答。这些细节均由两个协议解释器来完 成, 两个协议解释器还根据需要激活文件传送功能。 0069 所述用户接口是按用户所需提供各种交互界面, 包括但不限于 IE、 文件浏览器、 FTP 客户端、 逐行输入命令等等。所述用户接口把它们转换成在控制连接上发送的 FTP 命 令。类似地, 从控制连接上传回的服务器应。

29、答也被转换成用户所需的交互格式。 0070 所述客户端协议解释器, 与所述客户端数据传输模块电性连接, 用于与所述 FTP 服务器的协议接口进行控制连接。 0071 所述客户端数据传输模块, 用于与所述服务器数据传输模块进行数据连接。 0072 所述协议接口, 同前所述, 用于预先设置 SOCKET 参数的数据结构, 使其兼容 IPv4 和 IPv6, 并与所述客户端协议解释器建立控制连接, 接收所述客户端的 FTP 命令, 判断所述 客户端所使用的协议为 IPv4 还是 IPv6, 并做出相应的处理。 0073 所述服务器数据传输模块, 用于与所述客户端数据传输模块进行数据连接。 0074 。

30、鉴于当前的实际情况是 IPv4 占据主流, IPv6 网络还是处于实验阶段, 因此本发明 的一种 FTP 服务器、 处理方法和传输系统, 提供了一种 IPv4/IPv6 互通技术以保证 IPv4 能 够平稳过渡到 IPv6。能够实现在 IPv4 网络内, 使用 IPv4 与网络其他终端通讯 ; 在 IPv6 网 络内, 使用 IPv6 与网络其他终端通讯 ; 在 IPv4 和 IPv6 共存的网络环境下, 可以同时使用 IPv4 和 IPv6 与网络其他终端通讯。 0075 本领域普通技术人员可以理解 : 实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读取存储介质中, 该程序 在执行时, 执行包括上述方法实施例的步骤 ; 而前述的存储介质包括 : ROM、 RAM、 磁碟或者 光盘等各种可以存储程序代码的介质。 说 明 书 CN 103001939 A 8 1/2 页 9 图 1 图 2 说 明 书 附 图 CN 103001939 A 9 2/2 页 10 图 3 说 明 书 附 图 CN 103001939 A 10 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1