FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP
客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。 默认情况下FTP协议使用TCP
端口中的 20 和 21 这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输
模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。 FTP支持两种模式,它在工作运行时也主要是这两种模式,一种模式叫作Standard也被称为PORT方式和 主动方式 ,另一种模式叫作Passive也叫作PASV, 被动方式 。Standard模式FTP的客户端发出PORT命令到服务器,Passive模式FTP的客户端发送PASV命令到FTP Server中,从而保证文件相互传输正常。 我们使用华为的模拟器Ensp来做一个小实验。 FTP三次握手有两次,第一次的TCP三次握手是控制层的握手,第二次是数据层的TCP三次握手 (1)服务器打开端口 21,等待连接; (2)客户端(100.1.12.1)发起控制连接的建立请求,服务器响应连接,控制连接建立,使用TCP 三次握手(第一次TCP三次握手) 随机端口的计算 可以看到PORT为 10,0,0,2,8,6随机端口计算为: 8*256+6=2054(3)客户端通过控制连接发送 PORT 命令(在应用层数据中带有自己的 ip 地址和临时端口),将客户端数据连接的临时端口号告诉服务器 (4)服务器的 20 号端口与客户端建立起数据连接,使用TCP 三次握手(第二次TCP三次握手) 点击登出后控制端口断开连接 FTP三次握手有两次,第一次的TCP三次握手是控制层的握手,第二次是数据层的TCP三次握手 (1)服务器打开端口 21,等待连接 (2)客户端发起控制连接的建立请求,服务器响应连接,控制连接建立,使用TCP 三次握手(第一次TCP三次握手); (3)客户端通过控制连接发送命令字 PASV,告知服务器处于被动模式; (4)服务器回应,将服务器数据连接的临时端口号(2060)告诉客户端; (5)客户端与服务器的临时端口建立起数据连接,使用TCP 三次握手(第二次TCP三次握手)
使用被动ftp模式不需要关掉。在被动方式FTP中,命令连接和数据连接都由客户端,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙。
ftp的工作原理
FTP 采用 Internet 标准文件传输协议 FTP 的用户界面, 向用户提供了一组用来管理计算机之间文件传输的应用程序。FTP 是基于客户模型而设计的,在客户端与 FTP 服务器之间建立两个连接。开发任何基于 FTP 的客户端软件都必须遵循 FTP 的工作原理。
FTP 的独特的优势同时也是与其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接,一条是数据连接,用于数据传送;另一条是控制连接,用于传送控制信息命令和响应。
这种将命令和数据分开传送的思想大大提高了 FTP 的效率,而其它客户服务器应用程序一般只有一条 TCP 连接。图 1 给出了 FTP 的基本模型。客户有三个构件:用户接口、客户控制进程和客户数据传送进程。
设置FTP的主动模式和被动模式,用到的工具:8uftp,步骤如下:
打开8uftp软件,点击编辑菜单--选项:
2.防火墙设置,勾选被动(PASV)模式(p)就是被动模式,去掉勾选就是主动模式。
注意事项:适用于8uftp.
评论列表(0条)