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. tableau linux无网络安装_举个栗子!Tableau 技巧(110)两种方法实现正态分布 Normal distribution...
  2. 90年代人们使用计算机,上世纪90年代电脑走进普通家庭 你还记得长什么样吗?
  3. 不止代码:最长上升序列
  4. vba 修改文本文档 指定行_VBA程序报错,用调试三法宝,bug不存在的
  5. 实现数组和List之间的相互转换
  6. cnblogs用户体验评价
  7. java.lang.UnsatisfiedLinkError: JNA support (com/sun/jna/android-arm/libjnidispatch.so) not found
  8. Vivado 2019.1 使用教程
  9. windows 7 自带计算器详解
  10. NAudio:MP3转WAV和Wav转Mp3
  11. 微信公众号发送客服消息---菜单消息,卡片消息
  12. 【问题】PPS、PPSX自动放映格式打开直接进入编辑模式
  13. 前端程序调试方法总结--高级版
  14. 文本生成图像这么火,你需要了解这些技术的演变
  15. 维特比算法C++实现
  16. java byte与char互转原理_【转】java byte与char互转原理
  17. 打包C#软件两种典型出错的解决方法,以及如何快速定位你的问题出在哪里
  18. 第十三章:项目相关方管理 - (13.0 什么是项目相关方管理)
  19. sublime text 3 支持gbk及gb2312编码
  20. 20种洛杉矶天使之城电影luts调色预设

热门文章

  1. Kaggle-Credit Card Fraud
  2. 天语W700 adb驱动解决
  3. 郭德纲恶心别人的台词大全
  4. 今年有多少周?今天是今年的第几天?第几周?
  5. 001.SML状态机
  6. PMP项目管理知识体系(全集),建议收藏
  7. 卷积网络中的通道(channel)和特征图(feature map)
  8. peel在Linux生成excel,zplane -
  9. python的积木式编程
  10. 计算机学院工作总结报告,研究生工作总结报告