网络协议——FTP(文件传输协议)与TFTP(简单文件传输协议)原理及搭建使用

这篇具有很好参考价值的文章主要介绍了网络协议——FTP(文件传输协议)与TFTP(简单文件传输协议)原理及搭建使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. FTP基本概念

ftp tftp,网络,网络协议,网络,经验分享,笔记,信息与通信

        FTP采用典型的C/S架构(即服务器端与客户端模型),端口号为20/21,客户端与服务器端建立TCP连接之后即可实现文件的上传、下载。20端口用来传输数据流,21端口用来传输控制流。

2. FTP传输文件的模式

针对传输的文件类型不同,FTP可以采用不同的传输模式:

        ASCII模式:传输文本文件(TXT、LOG、CFG )时会对文本内容进行编码方式转换,提高传输效率。当传输网络设备的配置文件、日志文件时推荐使用该模式。

        Binary(二进制)模式:非文本文件(cc、BIN、EXE、PNG),如图片、可执行程序等,以二进制直接传输原始文件内容。当传输网络设备的版本文件时推荐使用该模式。

3. FTP传输过程——主动模式

ftp tftp,网络,网络协议,网络,经验分享,笔记,信息与通信

        使用主动模式时,FTP客户端使用一个随机端口(一般大于1024)向FTP服务器端的端口21发送连接请求;FTP服务器端接受请求,建立一条控制连接来传输控制消息。同时FTP客户端开始监听另一随机端口P(一般大于1024),并使用PORT命令通知FTP服务器端。当需要传输数据时,FTP服务器端从端口20向FTP客户端的端口P发送连接请求,建立一条传输连接来传输数据。

4. FTP传输过程——被动模式

ftp tftp,网络,网络协议,网络,经验分享,笔记,信息与通信

        当使用被动模式时,FTP客户端使用一个随机端口(一般大于1024)向FTP服务器端的端口21发送连接请求,FTP服务器端接受请求,建立一条控制连接来传输控制消息。同时FTP客户端开始监听另一随机端口P(一般大于1024),并使用PASV命令通知FTP服务器端,FTP服务器端接到PASV 命令后,开启一个随机端口N(一般大于1024),并使用Enter PASV命令告知客户端自身开放端口号。当需要传输数据时,FTP客户端从端口P向FTP服务器端N端口发送连接请求,建立一条传输连接来传输数据。

主动模式和被动模式的区别

        使用主动模式传输数据时,如果FTP客户端在私有网络中并且FTP客户端和FTP服务器端之间存在NAT设备,那么FTP服务器端收到的PORT报文中携带的端口号、IP地址并不是FTP客户端经过NAT转换之后的地址、端口号,因此服务器端无法向PORT报文中携带的私网地址发起TCP连接(此时,客户端的私网地址在公有网络中路由不可达)。

        使用被动模式传输数据时,FTP客户端主动向服务器端的一个开放端口发起连接,如果FTP服务器端在防火墙内部区域中,并且没有放通客户端所在区域到服务器端所在区域的主动访问,那么这个连接将无法建立成功,从而导致FTP无法正常传输。

5. TFTP基础

ftp tftp,网络,网络协议,网络,经验分享,笔记,信息与通信

        相较于FTP,TFTP的设计就是以传输小文件为目标,协议实现就简单很多: 使用UDP进行传输(端口号69) 无需认证 只能直接向服务器端请求某个文件或者上传某个文件,无法查看服务器端的文件目录。

6. TFTP输出示例

ftp tftp,网络,网络协议,网络,经验分享,笔记,信息与通信

TFTP存在5种报文格式: RRQ:读请求包。 WRQ:写请求包。 DATA:数据传输报文。 ACK:应答包,用于确认收到对端的报文。 ERROR:差错控制报文。

7. liunx系统TFTP搭建

  • 安装TFTP服务端和客户端        
sudo apt-get install tftpd-hpa tftp-hpa
  • 创建TFTP目录并添加权限
mkdir /home/tftp/tftpboot
chmod 777 tftpboot    
  •  修改配置文件
vi /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/tftp/tftpboot" //我们创建的目录
TFTP_ADDRESS="0.0.0.0:69" //ip和端口号要为0.0.0.0
TFTP_OPTIONS="-c -l -s" //TFTP启动参数
-l:以standalone/listen模式启动TFTP服务,而不是从xinetd启动。
-c:可创建新文件。默认情况下,TFTP只允许覆盖原有文件,不能创建新文件。
-s:改变TFTP启动的根目录。不用手动指定目录,默认使用配置文件中的目录。 
  • 重启TFTP服务器
service tftpd-hpa restart
  • 在创建的目录下新建文件并编辑内容
touch test.txt
  • 客户端获取TFTP服务器文件
tftp IP地址 get 文件名   //下载

q    //退出

8. 错误解决

  •  如果TFTP的下载不成功,运行下面的命令卸载软件,然后再重新安装,最后再重启TFTP服务器。
 sudo apt-get remove --purge tftpd-hpa tftp-hpa

 sudo apt-get install tftpd-hpa tftp-hpa

 sudo service tftpd-hpa restart


 文章来源地址https://www.toymoban.com/news/detail-859230.html

到了这里,关于网络协议——FTP(文件传输协议)与TFTP(简单文件传输协议)原理及搭建使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • FTP文件传输协议详解

    简介:FTP是基于TCP协议之上的具有C/S架构的文件服务器。 需要通过控制连接20端口来控制双方的通信 需要通过数据连接21端口来进行双方的通信 主动模式:最大的特点是数据连接由服务器的20端口主动发起连接,这种情况可能会被客户端的防火墙拒绝 被动模式,是由客户端向

    2024年02月06日
    浏览(42)
  • FTP与HTTP: 哪种协议更适合大文件传输?

    随着互联网技术的发展,网络传输已成为了现代社会中不可或缺的一部分。无论是文本、图像、音频、视频等各种类型的数据,相应的传输协议也在不断地发展和更新。FTP(File Transfer Protocol)和HTTP(Hyper Text Transfer Protocol)是两种被广泛应用的协议,它们都在网络上进行数据

    2024年02月16日
    浏览(41)
  • 【Linux】基于FTP协议实现Linux与Windows文件传输

    基于FTP协议实现Linux与Winodows实现文件传输,是大学期间的一个小实验。在这里做个总结。 实验环境: Linux CentOS 7.9 Xshell 7 Win10 通过yum安装vxftpd pacakge,并按照如下指令执行 修改 vsftpd.conf,此前先备份 成 vsftpd.conf.bak ,防止该配置文件改错导致无法运行。 执行 vim vsftpd.conf ,加

    2024年02月04日
    浏览(50)
  • 41 openEuler搭建FTP服务器-传输文件

    41.1 概述 这里给出vsftpd服务启动后,如何进行文件传输的指导。 41.2 连接服务器 命令格式 ftp [ hostname | ip-address ] 其中hostname为服务器名称,ip-address为服务器IP地址。 操作说明 在openEuler系统的命令行终端,执行如下命令: 根据提示输入用户名和密码,认证通过后显示如下,说

    2024年02月05日
    浏览(47)
  • win 10 搭建FTP服务,并使用的FTP进行传输文件(很详细)

    1.安装IIS工具 打开控制面板 点击“程序” 点击“启用或关闭Windows功能” 找到“internet information services”,全部都选上。如下图: 点击“确定”,会出现以下页面: 点击“关闭”即可。  2.设置开机启动FTP服务 win+r 打开运行窗口,输入services.msc 启动FTP服务,否则之后创建的

    2024年02月06日
    浏览(43)
  • windows10ftp搭建,实现主机与虚拟机文件传输文件,以及解决FTP文件夹错误,无法与服务器建立连接。

    1.我是用的win10虚拟机来搭建ftp 首先,打开控制面板,点击程序 2.选择启用或关闭Windows功能 3.勾选以下选项,点击确定。这一步的主要目的是开启IIS管理控制台 进入等待 4.搜索IIS管理器,双击打开  5.右击网站,选择添加FTP站点  6.这时弹出下面界面, FTP站点名称 任意填写,

    2024年02月08日
    浏览(59)
  • 计算机 - - - windows电脑搭建FTP局域网文件传输服务器

    控制面板,打开程序和功能,启用或关闭Windows功能。 勾选这几个 然后点确定,应用更改成功后重启电脑生效。 打开IIS管理器。 添加ftp站点。 输入ftp站点名称,选择文件存放的物理路径。 ip地址设置为当前电脑的ip地址,端口默认21,无SSL。 身份验证选择匿名,基本(不选

    2024年02月07日
    浏览(51)
  • 玩转服务器之数据传输篇:如何快速搭建FTP文件共享服务器

    FTP服务(File Transfer Protocol,FTP)是最早应用于主机之间数据传输的基本服务之一,是目前使用最广泛的文件传送协议。FTP文件共享服务器在日常办公中可以实现多人之间文件的传递和共享,极大提高协同办公的效率。 Vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,小巧

    2024年02月07日
    浏览(58)
  • Windows下利用tftp与开发板传输文件

    工具下载 能进行TFTP的最基本前提, 是Windows和开发板能互ping 。 Win+R ,输入 cmd 打开终端        如图,可点击 Browse ,选择要共享的目录。该目录为Windows端tftp服务的根目录。        如图,需将 Server interface 配置为步骤2.1查看到的Windows端的网络地址。        Wind

    2024年02月06日
    浏览(41)
  • 【网络原理】应用层协议 与 传输层协议

    ✨个人主页:bit me👇 ✨当前专栏:Java EE初阶👇 我们自己写的应用程序就是在应用层 虽然应用层里面有一些现成的协议,但是在实际工作中也会存在 自定义应用层协议 (发明协议? 协议就是约定,约定好客户端和服务器按照啥样的格式来传输数据 ) 那么应用层协议如何

    2023年04月20日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包