文件传输协议

  • 一、FTP协议
    • 1.FTP协议介绍
    • 2.FTP数据传输模式
  • 二、TFTP协议
    • 1.TFTP协议介绍
    • 2.TFTP协议报文
    • 3.TFTP文件传输过程(重发机制

一、FTP协议

1.FTP协议介绍

(1)采用客户机/服务器设计模式

(2)进行文件传输时,需要在客户机和服务器建立两个TCP连接:
FTP控制连接:负责两机间交互FTP控制命令与命令执行得应答信息,连接时一直保持打开
FTP数据连接进行文件传输,仅在需要传数据时才打开,TCP端口号20

(3)FTP服务器启动后,FTP服务打开TCP端口21作为侦听窗口,客户端随机选择一个TCP端口作为控制连接的源端口,主动发起FTP服务器端口21的TCP连接

(4)FTP传输模式(4种:
ASCII模式: 转换成ASCII码,适用于传输文本文件
二进制模式: 按比特流方式传输,适用于传输程序文件
EBCDIC模式: 要求两端都是EBCDIC系统
本地文件模式:

2.FTP数据传输模式

分为:主动模式和被动模式

1.主动模式
(1)建立控制通道TCP连接:三次握手

重要的是FTP客户端用随机端口作为源端口向FTP服务器TCP端口21发送报文

(2)主动方式参数传递:

PORT命令:(A1,A2,A3,A4,P1,P2) A1-4表示ip地址,P1和P2表示端口号,临时端口号=256×P1+P2
FTP客户端发送PORT命令,包含自己的ip地址和端口号

(3)建立数据通道TCP连接:三次握手、服务器先发报文
(4)数据传输:

FTP服务器用的端口号为TCP端口20
传输完毕后又发送数据一方发送FIN报文,关闭数据连接

但防火墙不允许外部对内部的随机端口进行访问

2.被动模式

  1. 被动模式时,两个连接都由客户端发起
  2. FTP被动建立过程
    (1)建立控制通道TCP连接
    (2)被动方式参数传递

首先客户端发送PASV命令,告诉服务器进入被动模式,服务器对客户端的PASV应答,包含IP地址和端口号

(3)建立数据通道TCP连接:客户端先发报文
(4)数据传输

二、TFTP协议

1.TFTP协议介绍

  • 客户端/服务器
  • 承载在UDP上
  • TFTP服务器用端口69
  • 两种传输模式:netascii :ASCII模式和octet :二进制文件模式

2.TFTP协议报文

5种协议数据报文:

  • 读请求报文:操作码为1
  • 写请求报文:操作为2
  • 数据报文:操作码为3
  • 确认报文:操作码为4
  • 错误报文:操作码为5

3.TFTP文件传输过程(重发机制

  • 传输时将文件当初多个连续的文件块组成,每一个TFTP数据报文种包含一个文件块,对应一个文件块编号
  • 客户端每次发出去之后都要接收到确认报文,规定时间内等不到则重传;接收端没收到下一个报文则重传上一个报文的确认报文
  • 文件块大小固定为512字节

1.若文件块大小为512整数倍则最后要发送一个不含数据的数据报,表示发送完毕
2.若不是整数倍则最后一个小于512字节的文件块作为文件结束标志

  • 读请求报文包含需下载的文件名信息文件传输模式
  • 读请求和写请求稍微有点不同

文件传输协议:FTP和TFTP相关推荐

  1. 【学习笔记】网络层:应用模型、DNS系统、文件传输协议FTP

    文章目录 一. 应用层概述 ① 客户/服务器(C/S)模型 ② P2P模型(对等模型) 二. DNS系统 ① 定义 ② 域名 ③ 域名服务器 ④ 域名解析过程 三. 文件传输协议FTP ① 定义 ② ...

  2. 华为数通笔记-文件传输协议FTP

    文件传输协议 主机之间传输文件是IP网络的一个重要功能,如今人们可以方便地使用网页.邮箱进行文件传输. 然而在互联网早期,Web(World Wide Web,万维网)还未出现,操作系统使用命令行的时 ...

  3. 《计算机网络》——文件传输协议FTP、简单邮件传送协议SMTP、邮局协议POP3、网际报文存取协议IMAP、万维网和HTTP协议、超文本传输协议HTTP

    文章目录 文件传输协议FTP FTP服务器和用户端 FTP工作原理 简单邮件传送协议SMTP 邮局协议POP3 网际报文存取协议IMAP 万维网和HTTP协议 超文本传输协议HTTP HTTP协议的特 ...

  4. 四十三、文件传输协议FTP、电子邮件、万维网

    文章目录 1.FTP服务器和用户端 2.FTP的工作原理 3.电子邮件 3.1 电子邮件的信息格式 3.2 电子邮件的组成结构 3.3 简单邮件传送协议SMTP 3.4 邮局协议-POP3 3.5 网 ...

  5. [转]文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1

    转自:http://blog.csdn.net/soarheaven/archive/2008/12/08/3474152.aspx 最近项目需要对FTP服务器进行操作,现把实现总结如下: 打算分2篇 ...

  6. 6.3文件传输协议FTP

    6.3文件传输协议FTP

  7. 【计算机网络】应用层 : 总结 ( 网络应用模型 C/S P2P | 域名解析 DNS | 文件传输协议 FTP | 电子邮件 | 万维网 与 HTTP ) ★★★

    文章目录 一.网络应用模型 ★ 二.域名解析过程 ★ 三.FTP 文件传输协议 四.电子邮件★ 五.万维网 和 HTTP 协议★ 一.网络应用模型 ★ 网络应用模型 : ① 客户 / 服务器 模型 ( ...

  8. Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1...

    相关文章导航 Sql Server2005 Transact-SQL 新兵器学习总结之-总结 Flex,Fms3相关文章索引 FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统 ...

  9. 计算机网络 王道考研2021 第六章:应用层 -- 文件传输协议FTP、电子邮件SMTP、POP3

    文章目录 1. 文件传输协议 FTP 1.1 文件传输协议 1.2 文件传输协议 FTP 1.3 FTP的工作原理 1.4 控制连接与数据连接 1.5 补充:FTP传输模式 2. 电子邮件 2.1 电 ...

  10. Linux网络文件共享服务(一)存储类型和文件传输协议FTP

    成功不易,加倍努力! 网络文件共享服务 本章总目录 1 存储类型 1.1 DAS存储 1.2 NAS存储 1.3 SAN存储 1.4 三种存储比较 2 文件传输协议 FTP 2.1 FTP工作原理介绍 ...

最新文章

  1. VS2010使用Skin++
  2. 计算价格, java中浮点数精度丢失的解决方案
  3. flutter 局部状态和全局状态区别_给 Android 开发者的 Flutter 指南
  4. Java对象转换为Json对象
  5. python向端口发出数据_Python写的简单的端口监听,显示端口上收到的数据,TCP的...
  6. 25、UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释
  7. NSIS UI 美化类插件分享
  8. MySQL增强版命令行客户端连接工具(mycli)
  9. [图文教程] 手把手教你安装Android SDK
  10. 数独程序求解世界最难数独——JAVA版
  11. TwinCAT 3 使用XML-server
  12. 我们怎么样把pdf格式转换成dwg格式呢
  13. 博图PLC仿真时,CPU一直出于STOP状态,无法启动
  14. 平均值 几何平均数 算术平均数 调和平均数 平方平均数
  15. sd卡与FAT32文件系统
  16. 一位SAP培训顾问的建议:SAP HANA应该如何学习?
  17. RW文档翻译学习——RW-BT-SW-COMMON-FS
  18. python elif是什么意思_python elif是什么意思
  19. 【计算机毕业设计】123网上商城系统的设计与实现
  20. Linux—教你两个方法轻松找回root密码

热门文章

  1. 搜狗拼音皮肤 php文件,搜狗拼音输入法皮肤制作
  2. Markdown小技巧:代码格式、缩进和字体大小
  3. java ext.dirs_关于-Djava.ext.dirs使用问题
  4. 以太网之父Bob Metcalfe荣获图灵奖,其同名定律成为互联网经济基石
  5. js实现简单点名册.
  6. c语言循环语句sleep不正常,求助C语言Sleep延迟输入问题
  7. UE、UI、UCD、UED?你知道你是干啥的吗
  8. 实现Fegin远程调用
  9. 计算机专业英语博士就业情况,北京外国语大学博士就业前景怎么样
  10. 我需要30部美或英剧的剧名