FTP简介

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

默认情况下FTP协议使用TCP端口中的 2021这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

FTP支持两种模式,它在工作运行时也主要是这两种模式,一种模式叫作Standard也被称为PORT方式和主动方式,另一种模式叫作Passive也叫作PASV,被动方式。Standard模式FTP的客户端发出PORT命令到服务器,Passive模式FTP的客户端发送PASV命令到FTP Server中,从而保证文件相互传输正常。

FTP主动模式

我们使用华为的模拟器Ensp来做一个小实验。

FTP三次握手有两次,第一次的TCP三次握手是控制层的握手,第二次是数据层的TCP三次握手

(1)服务器打开端口 21,等待连接;

(2)客户端(100.1.12.1)发起控制连接的建立请求,服务器响应连接,控制连接建立,使用TCP 三次握手(第一次TCP三次握手);

随机端口的计算

可以看到PORT为10,0,0,2,8,6

随机端口计算为:8*256+6=2054

(3)客户端通过控制连接发送 PORT 命令(在应用层数据中带有自己的 ip 地址和临时端口),将客户端数据连接的临时端口号告诉服务器

(4)服务器的 20 号端口与客户端建立起数据连接,使用TCP 三次握手(第二次TCP三次握手);

点击登出后控制端口断开连接

FTP被动模式

FTP三次握手有两次,第一次的TCP三次握手是控制层的握手,第二次是数据层的TCP三次握手

(1)服务器打开端口 21,等待连接

(2)客户端发起控制连接的建立请求,服务器响应连接,控制连接建立,使用TCP 三次握手(第一次TCP三次握手);

(3)客户端通过控制连接发送命令字 PASV,告知服务器处于被动模式;

(4)服务器回应,将服务器数据连接的临时端口号(2060)告诉客户端;

(5)客户端与服务器的临时端口建立起数据连接,使用TCP 三次握手(第二次TCP三次握手);

作者:yao
链接:https://juejin.cn/post/7001145374467440671
来源:掘金

FTP主动模式和被动模式!相关推荐

  1. FTP主动模式及被动模式

    FTP的特殊性: 大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯.但是,FTP协议却有所不同,它使用双向的多个连接,而且使用的端口很难预计.一般 ...

  2. java ftp主动模式和被动模式_什么是ftp主动模式和被动模式

    FTP是文件传输协议的简称,ftp传输协议有着众多的优点所以传输文件时使用ftp协议的软件很多,ftp协议使用的端口是21(也称为控制端口),其实还有一个数据端口20,根据FTP工作方式的不同,数据端 ...

  3. FTP主动模式和被动模式讲解

    主动模式FTP与被动模式FTP该如何选择 无论是主动模式还是被动模式,其要进行文件传输都必须依次建立两个连接,分别为命令连接与数据连结.而主动模式与被动模式的差异主要体现在数据连结通道上.为了说明两者 ...

  4. ftp主动模式和被动模式的区别

    一.FTP是什么 FTP的中文名称是"文件传输协议",是File Transfer Protocol三个英文单词的缩写.FTP:是TCP/IP协议组中的协议之一,其传输效率非常高, ...

  5. 【FTP】FTP主动模式与被动模式

    主动模式 客户机与服务器之间建立连接时,客户机是大于1024的端口上,服务器是20端口. 客户机的端口是大于1024的,而服务器的端口是21端口接收请求,而是20端口给客户机回应. 允许FTP客户机从 ...

  6. FTP笔记-FTP主动模式和被动模式

    FTP的全称为:File Transfer Protocol,也就是传文件的,分为主动模式和被动模式,具体看下面的图: 这里有个要注意的地方:大部分情况下都是用的被动模式,主动模式基本上不推荐用. 因 ...

  7. 关于FTP主动模式与被动模式的一点理解

    又一次面试的时候,面试像这样问我:请简述FTP的主动模式与被动模式的区别?FTP这玩意不是天天都要用到的么,看起来这么简单的问题我居然回答不上来,好尴尬!经过几天的思考与理解,终于有点眉目,拙见让诸位 ...

  8. FTP 主动模式、被动模式

    哈喽,大家好!我是艺博东 ,一个思科出身专注于华为的网工:好了,话不多说,我们直接进入正题. 文章目录 拓扑 FTP主动模式 FTP被动模式 FTP主动模式.FTP被动模式是针对服务器来说的,服务器主 ...

  9. FTP主动模式与被动模式的解决与原理

    FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件.相比于HTTP,FTP协议要复杂得多.复杂的原因,是因为FTP协议要用到两个TCP连接,一 ...

最新文章

  1. 一文搞懂结构体的定义及实际使用
  2. Docker实践(6)—CentOS7上部署Kubernetes
  3. 基带信号传输之信道均衡
  4. Win10+Python+Django+Nginx+MySQL开发教程及实例(1)——开发环境搭建
  5. 1.11 抽象(abstract)类
  6. Placeholder in IE8 and older
  7. 如何返回一个只读泛型集合
  8. 沙漠种水稻,88岁的袁隆平又创造奇迹!他参与的“袁米”还有个大计划
  9. 排序算法值--堆排序
  10. 国外一些知名ASP.Net开源CMS系统
  11. [实变函数]5.6 Lebesgue 积分的几何意义 $\bullet$ Fubini 定理
  12. SpringAMQP+RabbitMQ调试中的问题解决
  13. Everything的使用-初级篇
  14. 局域网中的通信协议及选择简述。
  15. 你安全吗网剧技术探讨-个人向
  16. 扩展ExoPlayer实现多音轨同时播放
  17. 2.2基本共射放大电路的工作原理
  18. 重启计算机找不到打印机,如何解决重启后打印机找不到设备
  19. 移动脑电在神经发展障碍研究中的运用
  20. win7 添加XP共享打印机

热门文章

  1. a标签实现文件下载(ie8可用)
  2. 以软件测试的角度测试一支笔,如何测试一支笔.
  3. 优化用电,安全省心,同为(TOWE)智能循环定时桌面PDU插座APZ-1013DX
  4. 【夏目鬼鬼分享】rabbitmq消息队列发送于接收
  5. rk3399 hdmi HDCP key烧录
  6. 移动光猫改桥接,开启telnet
  7. Kotlin版 极简 干货集中营 APP
  8. java字符串tirm方法模拟去除首尾空白字符
  9. 猫眼电影票房爬取到MySQL中_猫眼电影爬取(一):requests+正则,并将数据存储到mysql数据库...
  10. 内心的强大,永远胜过外表的浮华