利用centos7搭建ftp服务器详细版(1)

一.关于ftp的基础知识

1.什么是ftp呢?我们先来看一下百度的解释, “文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。” 简单的来说呢,就是一台服务器上如果启用了ftp协议,如果你的电脑与这台服务器相连接,只要权限够,你就可以从这个服务器上下载东西和上传东西。

2.ftp有两个端口号,第一个端口号是21号,它用于传输控制流,第二个端口号是20号,它用于传输数据流。怎么理解呢,简单的来说,21号端口用来建立连接,20号端口用来传输数据。

3.现在,如果你想从一个启用了ftp协议的服务器上下载东西,有两种联机模式供你选择,但是到底你要用哪一种呢?先来介绍一下这两种模式,第一种是主动联机模式,第二种是被动联机模式。

接下来我们介绍这两种连接模式。
第一种 主机联机模式
这种联机模式现在几乎不使用,因为它的可行性不高,现在看一下下面的图。在这里插入图片描述
①是控制通道的连接。 第一步:发送连接请求,其中客户端启用的端口必须大于1024,请求服务器。第二步:服务器收到请求后发回带有SYN的封包。第三步:然后客户端回应一个ACK封包(也就是三次握手)。
②是数据传输通道的连接。第一步:发送数据传输命令,其中客户端启用的端口还是大于1024。第二步:服务器用20端口连接到刚刚那个大于1024的端口,发带有SYN与ACK确认的封包。第三步:客户端回应一个带有SYN的包。第四步:服务器再回应一个ACK封包。

第二种 被动联机模式
在这里插入图片描述
①过程和上主动联机模式一样,不再详述。
②是数据传输通道的连接。只有第二步与主动联机模式, 第二步不再是服务器主动连接到客户端,而是服务器回包告诉客户端我服务器这里已经准备好了大于1024的端口,然后客户端用之前大于1024的端口连接到服务器大于1024的端口。

为什么主动联机模式几乎没有人用呢?????
不难发现主动联机模式和被动联机模式只有一个不同点,因为主动联机模式②的第二步是服务器的20号端口连接到客户端的端口,这个过程中,连接会出问题的(我认为这里的问题是:服务器向客户端那边建立连接的时候,IP地址到了客户端那边路由器的时候,路由器IP地址应该转换不过来,因为你路由器是不知道对方服务器ip地址的,如果路由器的ip地址转换对来源ip不过滤,那么这个就很危险,所以就很危险!!!这只是我的个人理解吧,我也是个菜鸟,手动狗头)。

4.ftp的用户类型可以分为三类:匿名用户(anonymous),本地用户,虚拟用户。
匿名用户:是什么呢?比如你平时登陆到人家的ftp要下东西,你会发现你根本不需要输入用户名什么的,你就能下载东西了。
本地用户:是什么呢?就是你在服务器上创建的用户。(默认是允许本机用户登陆的)
虚拟用户:是什么呢?举个例子让你明白吧,比如你注册的百度云账号就是虚拟用户,你的用户肯定不会在百度服务器上存在的,然而又不是匿名用户,所以这就是虚拟用户,虚拟用户得用一个本机用户映射得。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章