FTP文件传输协议与部署,包括Linux系统、Windows系统和H3C路由交换设备部署

  • Post author:
  • Post category:linux




1、FTP

在这里插入图片描述



1.1 定义

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。



1.2 端口

控制连接:21

  • 用于传输FTP命令和执行信息,在整个FTP会话期间一直保持打开

数据连接:20

  • 用于数据上传、下载、文件列表发送等,数据传输结束后数据连接将终止



1.3 数据传输方式

主动方式

  • 数据连接由服务器主动发起:

    控制连接:21端口

    数据连接:20端口

被动方式

  • 数据连接由客户端主动发起:

    控制连接:21端口

    数据连接:服务器随机产生端口



1.4 工作原理

FTP 采用 Internet 标准文件传输协议 FTP 的用户界面, 向用户提供了一组用来管理计算机之间文件传输的应用程序。

FTP 是基于客户———服务器(C/S)模型而设计的,在客户端与 FTP 服务器之间建立两个连接。

开发任何基于 FTP 的客户端软件都必须遵循 FTP 的工作原理,FTP 的独特的优势同时也是与其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接,一条是数据连接,用于数据传送;另一条是控制连接,用于传送控制信息(命令和响应),这种将命令和数据分开传送的思想大大提高了 FTP 的效率,而其它客户服务器应用程序一般只有一条 TCP 连接。客户有三个构件:用户接口、客户控制进程和客户数据传送进程。服务器有两个构件:服务器控制进程和服务器数据传送进程。在整个交互的 FTP 会话中,控制连接始终是处于连接状态的,数据连接则在每一次文件传送时先打开后关闭。



2、TFTP

  • 简单文件传输协议
  • 基于UDP,69号端口
  • 只有数据传输功能,不提供身份验证,目录列表等功能



3、Linux部署FTP

yum -y install ftp


useradd -s /sbin/nologin -d ftp目录 用户名
passwd 用户名
chmod 777 ftp目录

vim  /etc/pam.d/vsftpd
注释此行:auth       required    pam_shells.so
source /etc/pam.d/vsftpd



4、Windows部署FTP

开启FTP服务

FTP可在windows自带程序中开启,在控制面板中找到“程序”,如图 4-1 所示:

图4-1 控制面板中的程序

在程序中找到“启用或关闭Windows功能”,如图4-2所示:

图4-2程序中的启用或关闭Windows功能

启用FTP及IIS相关功能,如图4-3所示:

图4-3启用FTP及IIS相关功能

#pic_center

在开始菜单中搜索“IIS”,并点击IIS管理器,如图4-4所示:

图4-4启用IIS管理器

在IIS管理器中,右键“网站”,选择“添加FTP站点”,如图4-5所示:

图4-5 添加FTP站点

在添加站点中设置站点名称和FTP物理路径,如图4-6所示:

图4-6 添加FTP站点

绑定IP地址和设置SSL,如图4-6所示:

图4-6 添加FTP站点

设置身份验证和授权,如图4-7所示:

图4-7 设置身份验证和授权

选择新创建的ftpserver,进行后续配置,如图4-8所示:

图4-8 设置身份验证和授权

选择“FTP身份验证”,如图4-9所示:

图4-9 FTP身份验证

开启基本和匿名身份验证,如图4-10所示:

图4-10 开启身份验证

4.3 访问测试

在同局域网的另外一台设备登录到ftp服务器,查看ftp服务器本地的test.txt是否存在,如图4-11,4-12所示:

图4-11 访问测试

图4-12 访问测试



5、新华三网络设备部署

//开启FTP服务
[h3c]ftp server enable

//连接FTP服务器
<h3c>ftp 'ip address'

//列出当前目录	
ftp>ls

//下载文件		
ftp>get 'fliename'

//上传文件
ftp>put 'filename'

//断开FTP连接
ftp>bye



版权声明:本文为Jivove原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。