您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

浅谈FTP协议的工作方式

时间:2022-07-21 15:41:43  来源:  作者:泰克教育官方账号

FTP概述

FTP(File Transfer Protocol)文件传输协议,在TCP/IP协议族中属于应用层协议运行于TCP协议之上是一种可靠的传输协议,主要功能用于实现用户间文件分发共享,以及网络管理者在进行设备版本升级、日志下载和配置保存等业务操作时,均会使用到FTP功能。

 

搭建FTP站点

FTP协议采用C/S结构,通常我们在实现FTP功能时需要在服务器上配置IIS来实现FTP-Server端的配置,这种配置方式适合于比较了解操作系统的用户去操作;对于大部分非专业用户来说推荐使用相应的FTP软件来实现FTP-Server端的搭建。

 

常见的FTP-Server软件有Serv-U、FileZilla 、VsFTP 等。FTP-Server搭建完成之后,Client访问时可以通过ftp://x.x.x.x方式访问,也可以通过第三方软件访问。如:SmartFTP、FireFTP、8UFTP。

 

关于具体的FTP-Server搭建操作步骤不再详细赘述。

 

FTP的两个TCP连接:

 

控制连接(TCP 21端口)主要用于实现FTP协议控制信令传送,服务器端打开TCP 21端口被动等待客户端发起连接命令;客户端则以主动方式打开随机端口,发起连接的建立请求。

 

数据连接(TCP 20端口)主要用于实现应用数据传送,服务器的数据连接端使用端口20。服务器执行主动打开数据连接,通常也执行主动关闭数据连接 。

泰涨知识 | 浅谈FTP协议的工作方式

 

FTP连接建立方式

一、主动方式

 

主动方式也称为PORT方式,是FTP协议最初定义的数据传输连接方式,主要特点是:

 

FTP客户端通过向FTP服务器发送PORT命令,告诉服务器该客户端用于传输数据的临时端口号当需要传送数据时,服务器通过TCP端口号20与客户端的临时端口建立数据传输通道,完成数据传输。在建立数据连接的过程中,由服务器主动发起连接,因此被称为主动方式。

泰涨知识 | 浅谈FTP协议的工作方式

主动方式FTP建立交互过程

二、被动方式

 

被动方式也称为PASV方式,被动方式的主要特点是:

 

FTP客户端通过向FTP服务器发送PASV命令,告诉服务器进入被动方式。服务器选择临时端口号并告知客户端当需要传送数据时,客户端主动与服务器的临时端口号建立数据传输通道,完成数据传输。在整个过程中,由于服务器总是被动接收客户端的数据连接,因此被称为被动方式。

泰涨知识 | 浅谈FTP协议的工作方式

被动方式FTP建立交互过程

FTP主动、被动方式的选择

当FTP服务器与FTP客户端均处于同一局域网内,即两者之间互访不存在防火墙或其他安全设备时,主动方式、被动方式均可实现FTP文件分发共享。

 

如果FTP服务器处于路由器,防火墙或其他NAT设备之后,建议使用被动模式(passive mode)。因为在主动模式下传输数据时,由FTP发起的数据传输一般会被客户端网关的防火墙阻断。

 

关于主动与被动FTP优缺点的简要总结:

 

主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。

 

被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

 

针对上述防火墙带来的问题,有折衷的办法。既然FTP服务器的管理员需要他们的服务器有最多的客户连接,那么必须得支持被动FTP。我们可以通过为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露。这样,不在这个范围的任何端口会被服务器的防火墙阻塞。虽然这没有消除所有针对服务器的危险,但它大大减少了危险。

 

下述内容通过实验详细介绍了两种方式的建立过程:

 

FTP被动模式

泰涨知识 | 浅谈FTP协议的工作方式

 

如图示192.168.1.1为FTP-Server,192.168.1.2为FTP-Client,使用被动方式建立过程如下:

 

首先FTP在进行控制连发起前,需要先进行基本用户登录认证以及文件列表获取等操作;

 

1.由客户端发起FTP连接请求,FTP协议基于TCP,于是先进行TCP三次握手连接,连接服务器21端口;

泰涨知识 | 浅谈FTP协议的工作方式

 

2.TCP三次握手建立成功后,服务器也知道了客户端需要请求FTP服务,于是要求客户端提供相应的用户名(客户端在进行FTP连接时需要发送用户名和密码信息);

泰涨知识 | 浅谈FTP协议的工作方式

 

3.客户端收到服务器的验证需求后,立即发送用户名 user = 1;

泰涨知识 | 浅谈FTP协议的工作方式

 

4.服务器收到后,确认用户名OK,此时需要客户端提供password

泰涨知识 | 浅谈FTP协议的工作方式

 

5.客户端发送password=1;

泰涨知识 | 浅谈FTP协议的工作方式

 

6.服务器端用户名密码验证成功允许用户登录;

泰涨知识 | 浅谈FTP协议的工作方式

 

7. 客户端登录到服务器之后开始发送查询命令 “PWD”查询FTP文件路径;

泰涨知识 | 浅谈FTP协议的工作方式

 

8.服务器回复客户端“PWD”查询,反馈文件路径信息;

泰涨知识 | 浅谈FTP协议的工作方式

 

9.客户端开始请求查询服务器发送文件的方式 ASCII/二进制;

泰涨知识 | 浅谈FTP协议的工作方式

 

10.服务器对客户端发送的文件类型查询进行响应,回复文件传输方式为ASCII;

泰涨知识 | 浅谈FTP协议的工作方式

 

上述1-10步完成了FTP在进行控制连接操作前,基本用户登录认证以及文件列表获取等内容;

 

11. FTP被动方式,由客户端发送“PASV”命令;

泰涨知识 | 浅谈FTP协议的工作方式

 

12.服务器收到PASV命令后,知道自己此时为被动方式,则开始生成随机的数据端口,以提供给客户端进行数据连接的时候使用;

泰涨知识 | 浅谈FTP协议的工作方式

 

13.客户端开始发送LIST命令查询文件列表信息;

泰涨知识 | 浅谈FTP协议的工作方式

 

14.在文件数据传输之前,先建立数据传输时的TCP三次握手;

泰涨知识 | 浅谈FTP协议的工作方式

 

15.数据传输的三次握手成功后,服务器开始向客户端通知自己已经准备就绪,马上开始文件传输;

泰涨知识 | 浅谈FTP协议的工作方式

 

16.文件开始传输,在传输过程中有TCP对文件传输进行确认;

泰涨知识 | 浅谈FTP协议的工作方式

 

17.客户端文件接收完毕 通过控制链路告知服务器;

泰涨知识 | 浅谈FTP协议的工作方式

 

18.服务器收到之后认为文件传输完成,此时关闭数据连接并告知客户端;

泰涨知识 | 浅谈FTP协议的工作方式

 

19.客户端收到服务器发送来的关闭数据连接信息后,则向服务器在进行确认FTP控制连接断开过程;

泰涨知识 | 浅谈FTP协议的工作方式

 

20.由客户端发起端开请求命令 QUIT;

泰涨知识 | 浅谈FTP协议的工作方式

 

21.服务器收到请求后同意断开 向客户端发送goodbye;

泰涨知识 | 浅谈FTP协议的工作方式

 

22.TCP会话也断开;

泰涨知识 | 浅谈FTP协议的工作方式

 

FTP 主动模式

 

连接建立发起前,基本用户登录认证以及文件列表获取等内容与被动方式相同参考上述1-10步骤。

泰涨知识 | 浅谈FTP协议的工作方式

 

1.由客户端发送PORT命令,同时自己随机生成一个数据端口,并将该端口信息通过控制链路发送给服务器;

泰涨知识 | 浅谈FTP协议的工作方式

 

2.服务器收到PORT命令之后,此时就知道自己是处于主动模式,并开始与客户端进行TCP连接;

泰涨知识 | 浅谈FTP协议的工作方式

 

3.TCP连接成功后,服务器主动通过控制链路告诉客户端自己已经准备就绪,可以发起数据连接;

泰涨知识 | 浅谈FTP协议的工作方式

 

4.客户端开始发送LIST命令查询文件列表信息;

泰涨知识 | 浅谈FTP协议的工作方式

 

5.服务器回复了相应文件信息,并开始准备从数据连接发送文件;

泰涨知识 | 浅谈FTP协议的工作方式

 

6.服务器开始发送文件过程,发送过程中均有TCP的确认产生;

泰涨知识 | 浅谈FTP协议的工作方式

 

7.文件发送完成终止数据连接过程(详细参考被动连接17-19部分);

泰涨知识 | 浅谈FTP协议的工作方式

 

 

8 .终止FTP回话与被动终止方式相同(详细参考被动连接20-22部分)。



Tags:FTP协议   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
浅谈FTP协议的工作方式
FTP概述FTP(File Transfer Protocol)文件传输协议,在TCP/IP协议族中属于应用层协议运行于TCP协议之上是一种可靠的传输协议,主要功能用于实现用户间文件分发共享,以及网络管理者...【详细内容】
2022-07-21  Search: FTP协议  点击:(424)  评论:(0)  加入收藏
▌简易百科推荐
学生偷看“不良网站”,手机上3个痕迹无法清除,网友:咋不早说
众所周知,中国的常规教育中,总是“谈性色变”,但在这个信息爆炸的互联网时代,即便是一些年纪很小的孩子,也能轻易接触到一些所谓的不良网站,因此这一方面的教育缺失,其实是很可怕的...【详细内容】
2024-03-28    叶姐生活指南  Tags:不良网站   点击:(19)  评论:(0)  加入收藏
什么是网络中的路由器?核心功能解释
路由器是互联网连接的核心元素,是一种允许多个设备连接到互联网,并促进将数据包转发到各自的目标地址的设备。使用动态路由技术,路由器检查数据并在各种可用路径中选择最有效的...【详细内容】
2024-03-07    千家网  Tags:路由器   点击:(36)  评论:(0)  加入收藏
过年该不该升级Wi-Fi 7路由?看完就知道
打开电商网站不难发现,从2023年第三季度到现在,Wi-Fi 7路由器新品越来越多。而且价格不再是高高在上,已经基本和Wi-Fi 6路由价格差不多了。看到这些Wi-Fi 7新品路由,不少朋友就...【详细内容】
2024-02-27    中关村在线  Tags:Wi-Fi   点击:(45)  评论:(0)  加入收藏
聊聊 Kubernetes 网络模型综合指南
这篇详细的博文探讨了 Kubernetes 网络的复杂性,提供了关于如何在容器化环境中确保高效和安全通信的见解。译自Navigating the Network: A Comprehensive Guide to Kubernete...【详细内容】
2024-02-19  云云众生s  微信公众号  Tags:Kubernetes   点击:(43)  评论:(0)  加入收藏
SSL协议是什么?关于SSL和TLS的常见问题解答
SSL(安全套接字层)及其后继者TLS(传输层安全)是用于在联网计算机之间建立经过身份验证和加密的链接的协议。尽管SSL协议在 1999年已经随着TLS 1.0的发布而被弃用,但我们仍将这些...【详细内容】
2024-02-06  IDC点评网    Tags:SSL协议   点击:(74)  评论:(0)  加入收藏
从零开始了解网络协议:TCP/IP详解
从零开始了解网络协议:TCP/IP详解 在当今数字化的时代,网络协议已经成为我们生活中不可或缺的一部分。作为互联网的基础,网络协议规定了数据如何在不同的网络设备之间传输。TC...【详细内容】
2024-02-01    简易百科  Tags:TCP/IP   点击:(62)  评论:(0)  加入收藏
BGP路由属性:互联网路由的灵活控制器
在互联网的庞大网络中,边界网关协议(BGP)是确保不同自治系统(AS)间路由信息有效交换的关键协议。然而,BGP的功能远不止于此。其核心组成部分,即BGP路由属性,赋予了BGP强大的灵活性,使...【详细内容】
2024-01-26  诺诺爱生活    Tags:互联网路由   点击:(45)  评论:(0)  加入收藏
简易百科之什么是网络延迟?
简易百科之什么是网络延迟?随着互联网的普及和发展,网络已经成为我们生活中不可或缺的一部分。然而,我们在使用网络时可能会遇到一种情况,那就是网络延迟。那么,什么是网络延迟呢...【详细内容】
2024-01-24    简易百科  Tags:网络延迟   点击:(163)  评论:(0)  加入收藏
网络延迟与网络速度有什么区别?分享具体的答案
通常,许多人抱怨网速测试。速度还是不错的,但是他们玩游戏的时候怎么会卡住,还是断开连接等等问题,这一系列问题始终困扰着大家。那么,网络延迟与网络速度有什么区别呢?请不要担心...【详细内容】
2024-01-24  萌新小郭    Tags:网络延迟   点击:(54)  评论:(0)  加入收藏
揭秘IP地址的网络威胁与攻击类型
在当今数字化时代,网络攻击已经成为网络安全的一大挑战。IP地址,作为互联网通信的基础,也成为网络威胁和攻击的焦点之一。本文将深入探讨不同类型的网络威胁和攻击,以及如何防范...【详细内容】
2024-01-22  IP数据云    Tags:IP地址   点击:(88)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条