详解 ➾【FTP服务工作原理及连接模式】

这篇具有很好参考价值的文章主要介绍了详解 ➾【FTP服务工作原理及连接模式】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🔻 前言

随着网络技术的发展,以HTTP 协议为基础的 www 服务已不能满足文件传输的需要,因此FTP 服务(File Transfer Protocol,文件传输服务)随之产生。FTP 服务是一种专门用于文件传输的服务,该服务使用的是文件传输协议,使用该服务将极大地方便文件的传输与管理。

🔻 一、FTP服务简介

FTP 最主要的功能是在服务器端与客户端之间进行文件的传输。FTP 是以TCP 封包的模式来进行服务器与客户端之间的连接的,当连接建立后,用户便可以在客户端连接 FTP 服务器来进行文件的上传与下载,同时也可以直接管理用户在 FTP服务器上的文件。

🚥 1.1 FTP工作原理

FTP是基于客户端/服务器模式的,其工作原理(分为4部分)如下:

发出连接请求

首先,客户端向服务器发出连接请求,同时客户端系统动态打开一个大于1024 的端口(比如1031)等候服务器连接。
详解 ➾【FTP服务工作原理及连接模式】,Linux,网络安全&运维,linux,运维,FTP服务工作原理,FTP主动模式、被动模式,FTP数据传输
建立FTP会话连接

当FTP服务器在端口21侦听到该请求后,会在客户端1031端口和服务器的21端口之间建立起一个FTP会话连接。
详解 ➾【FTP服务工作原理及连接模式】,Linux,网络安全&运维,linux,运维,FTP服务工作原理,FTP主动模式、被动模式,FTP数据传输

数据传输

当需要传输数据时,FTP客户端再动态打开一个大于1024的端口(比如1032)连接到服务器的20端口,并在这两个端口之间进行数据的传输。
详解 ➾【FTP服务工作原理及连接模式】,Linux,网络安全&运维,linux,运维,FTP服务工作原理,FTP主动模式、被动模式,FTP数据传输

自动释放动态分配的端口

数据传输完毕后,FTP 客户端将断开与 FTP 服务器的连接,客户端上动态分配的端口将自动释放掉。
详解 ➾【FTP服务工作原理及连接模式】,Linux,网络安全&运维,linux,运维,FTP服务工作原理,FTP主动模式、被动模式,FTP数据传输

🚥 1.2 匿名用户访问的产生

要使用 FTP 服务来实现文件的传输,首先需要登录到服务器,然后才能实现该操作。但这对于很多公开提供软件下载的服务器来说非常不方便。

为了解决该问题,匿名用户访问随之产生。匿名用户是通过使用公用的用户名 Anonymous,密码不限的管理策略(密码一般是用户的邮箱),让任何用户都可以方便地从这些服务器上下载相关资源。

注意:

匿名文件传输使用户以匿名身份与远程主机建立起连接,并被允许从远程主机上复制文件。匿名 FTP一直是 Intermet 上信息资源获取的最主要方式,人们只要知道特定信息资源的主机地址,就可以用匿名 FTP 登录并获取所需信息资料。

🚥 1.3 FTP服务的连接模式

FTP支持主动模式(ActiveFTP)被动模式(PassiveFTP)两种。

主动模式

首先,FTP客户端随机开启一个大于1024的端口N(1025),并和服务器的21号端口建立连接,然后开放N+1号端口(1026)进行监听,同时向服务器发出PORT1026命令(PORT命令包括客户端用什么端口接收数据)。

服务器端在传送数据的时候,通过自己的 TCP 20端口发送数据,因此FTP 必须和客户端建立一个新的连接用于数据传输。
详解 ➾【FTP服务工作原理及连接模式】,Linux,网络安全&运维,linux,运维,FTP服务工作原理,FTP主动模式、被动模式,FTP数据传输

被动模式

在被动模式下建立控制通道类似于在主动模式下建立通道的操作:

FTP客户端随机开启一个大于1024的端口N(1025)向服务器的21号端口发起连接,同时会开启N+1号端口(1026),然后向服务器发送 PASV 命令,通知服务器处于被动模式。

服务器收到命令后,开放一个大于1024的端口P(1521)进行监听,然后用PORTP命通知客户端,自己的数据端口是1521。客户端收到命令后,通过1026号端口连接服务器的端口1521,然后在两个端口之间进行数据传输。

详解 ➾【FTP服务工作原理及连接模式】,Linux,网络安全&运维,linux,运维,FTP服务工作原理,FTP主动模式、被动模式,FTP数据传输

主动模式&被动模式对比

1、主动模式的 FTP是服务器主动连接客户端的数据端口
2、被动模式的 FTP 是服务器被动地等待客户端连接自己的数据端口
3、多数防火墙都不允许接受外部发起的连接,所以 FTP 的主动模式通过防火墙通常都会受到限制
4、FTP 的被动模式通常用于防火墙后的 FTP 客户访问外界FTP 服务器。因此,如果有防火墙,最好是采用被动模式,但是如果对安全的需求很高,还是建议采用主动模式较好

🚥 1.4 几种流行的FTP服务器软件

常用的FTP服务器软件有 Wu-ftpd、Proftpd、VsFTPd及PureFTPd等。

1、Wu-ftpd

Wu-ftpd 曾经是 Internet 最流行的FTP守护程序,也是最早的FTP 服务器软件之一,拥有强大的功能。

Wu-ftpd的主要特点:

1、支持虚拟FTP主机(VirtualFTPServer)。
2、能够控制不同网域的用户对于FTP服务器的存取权限和访问时段。
3、能够记录文档上传和下载的全过程并且可以限制最高访问人数。
4、使用者在下载文档时,能够自动对其进行压缩和解压工作。
5、能够暂时关闭FTP服务器,以便系统维护。
6、能够支持匿名FTP服务,但需要加载anonftp软件包。

2、Proftpd

Proftpd 具有安全、容易配置、速度快的特点,并且很少出现缓冲溢出的错误现象。

Proftpd的主要特点:

1、可设定多个虚拟FTP服务器,匿名FTP服务的实现十分容易。
2、单配置文档,容易设定配置。
3、基于单个目录的.ftpaccess 配置文档,类似于Apache的htaccess 文档能够配置为从inetd 启动,或是单独FTP服务器两种运行方式。
4、匿名FTP的根目录无需任何特别的目录结构,或系统程式或其他系统文档以非root身份运行且不执行任何外部程式,从而减少了安全隐患。
5、能够根据文档属主情况或UNIX的访问控制风格来隐藏文档或目录。
6、支持Shadow密码,包括支持密码过期机制。
7、强大的Log功能,支持utmp/wtmp及Wu-ftpd 格式的记录标准,并支持扩展功能的日志记录。

3、VSFTPd
vsFTPd 即Very SecureFTPd 的缩写形式,是Red Hat Enterprise Linux 内置的FTP服务器软件,支持很多其他FTP服务器不支持的功能。

VSFTPd的特点:

1、具有非常高的安全特性;
2、同时支持带宽限制IPv6 协议、分配虚拟 IP 地址、创建虚拟用户等功能。
3、其良好的可伸缩性和中等偏上的性能获得了广大用户的广泛欢迎。

4、PureFTPd
PureFTPd是内置在SuSE、Debian 中的FTP服务器软件,但 Red Hat Enterprise Linux中没有包含它的软件包,需手动加载。

5、Serv-U

Serv-U是Windows系统下最常用的的FTP 服务器。用户可以将任何一台 PC机设置成一台FTP服务器。用户或其他使用者就能够使用FTP 协议,通过在同一网络上的任何一台PC机与 FTP 服务器连接,进行文件或目录的复制、移动、创建和删除等。

Serv-U的特点:

1、支持实时的多用户连接,支持匿名用户的访问:通过限制同一时间允许的最大的用户访问量来确保PC机的正常运转。
2、安全性能出众。在目录和文件层次都可以设置安全防范措施。为不同用户提供不同设置,支持分组管理数量众多的用户,甚至可以基于IP 对用户授予访问权限。
3、能够设置上传和下载的比率、硬盘空间配额、网络使用带宽等,从而有效分配资源还可作为系统服务在后台运行。
4、支持文件上传和下载过程中的断点续传:支持拥有多个IP地址的多宿主站点可设置在用户登录或退出时的显示信息,支持具有UNIX 风格的外部链接。

上面列出的只是 Serv-U众多功能中的一部分,Serv-U 不仅功能强大,也提供了易于使用的操作界面,是Windows下使用最方便的FTP服务器软件。文章来源地址https://www.toymoban.com/news/detail-561466.html

🔻 总结—温故知新

🟢 该章详细介绍了FTP服务工作原理(发出连接请求、建立FTP会话连接、数据传输、自动释放动态分配的端口)及连接模式(主动模式&被动模式)。

到了这里,关于详解 ➾【FTP服务工作原理及连接模式】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web服务器的工作原理

    很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了什么动作?Java Servlet API(例如ServletContext,ServletRequest,ServletResponse和Session这些类)在其中扮演了什么角色?这些都是web应用开发者或者

    2024年02月08日
    浏览(33)
  • (一)微服务中间键工作原理——nacos客户端服务注册原理说明及源码解读

    本节内容我们主要介绍一下中间键nacos的客户端服务注册原理及其源码解读,便于我们理解nacos作为服务注册中心的具体实现。在springcloud的微服务体系中,nacos客户端的注册是通过使用spring的监听机制ApplicationListener实现的。学习本节内容,需要我们清楚springboot的启动过程。

    2024年02月06日
    浏览(62)
  • 服务器之 ECC 内存的工作原理

    大家好,我是飞哥! 在开始今天的分享之前,我先给大家看两个 1R * 8 的内存条。 现在的 CPU 都是 64 位的,每次和内存通信都要传输 64 比特的数据。1R * 8 类型的内存中的 1R 指的是该内存条只有一个 rank,8 指的是在每一次 64 比特的内存 IO 过程中,每个内存颗粒分别提供 8

    2024年03月13日
    浏览(33)
  • VPN服务器的工作原理以及搭建过程

    简单叙述: 当你使用VPN连接后访问一个网站时,你的请求会首先通过VPN客户端加密后传送到代理服务器,然后由VPN服务器代表你向目标网站的服务器发送请求。在目标服务器看来,收到请求的IP地址是VPN服务器的IP地址,因此目标服务器只能看到VPN服务器的IP地址,而无法直接

    2024年04月13日
    浏览(39)
  • SpringCloud-Hystrix服务熔断与降级工作原理&源码

    在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这

    2024年02月14日
    浏览(52)
  • 一篇文章掌握WebService服务、工作原理、核心组件、主流框架

    目录 1、WebService定义 解决问题: 2、WebService的工作原理 2.1 实现一个完整的Web服务包括以下步骤 2.2 调用方式 3、Web Service的核心组件 3.1 XML 3.2 SOAP 3.3 WSDL 3.4 UDDI 4、主流框架 4.1 AXIS(已淘汰) 4.2 XFire 4.3 CXF 5、Soap协议详解 1.Soap协议是什么 2.认识Soap 3.结论 4.SOAP小总结 6、WSDL详解

    2024年01月18日
    浏览(53)
  • [VScode]-连接服务器无法解析工作区文件夹问题的解决

    目录 【问题状况】 【解决方法】 【补充】 1.如何添加新的host IP地址 2.配置完成后通过ssh访问服务器出现Bad owner or permissions on 2.1解决方法1 2.2解决方法2 在使用VScode通过Samba服务器的时候,发现无法正常的打开,文件夹显示感叹号。  同时右下角会弹出提示 首先需要在扩展里

    2024年02月03日
    浏览(57)
  • Linux服务器初始化工作

    以下为一键运行脚本,此脚本在AlmaLinux8,9系统上测试通过,其它版本系统无法保证全部功能正常运行。推荐仅在全新的服务器操作系统上运行此脚本,如二次执行可能会出现未知错误! 通常在购买一台新的服务器时服务器Hostname会被云厂商定义为特定的名称,如果需要修改

    2023年04月22日
    浏览(75)
  • SpringCloud-Hystrix服务熔断与降级工作原理&源码 | 京东物流技术团队

    在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这

    2024年02月14日
    浏览(36)
  • win2008 rdp停止服务 - windows server 2012 R2 远程桌面授权模式尚未配置,远程桌面服务将在120天内停止工作

    windows server 2008作为测试环境跳板机,但是没有配置官方的rdp授权,限制用户登录数,限制使用rdp服务的可授权使用时长(120天) 作为GUI环境的综合跳板机,发现至少配置以下内容才能满足使用需要(机房环境统一GUI入口审核) 不限制用户登录数 不限值rdp登录时长 用户隔离

    2024年02月04日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包