zoukankan      html  css  js  c++  java
  • FTP 连接类型和连接模式 (主动模式被动模式)

    FTP 连接类型和连接模式 (主动模式被动模式)

    1、FTP连接类型
    一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。

    • 1. 控制连接
      • 客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接。
    • 2. 数据连接
      • FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。FTP数据连接就是FTP传输数据的过程,它有两种传输模式

     2、FTP传输模式

      FTP是有两种传输的模式的,主动模式被动模式,

    • PORT(主动)方式的连接过程是:
      • 客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
    • PASV(被动)方式的连接过程是:
      • 客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。


    主动FTP:
      命令连接:客户端 >1023端口 -> 服务器 21端口
      数据连接:客户端 >1023端口 <- 服务器 20端口

    被动FTP:
      命令连接:客户端 >1023端口 -> 服务器 21端口
      数据连接:客户端 >1023端口 -> 服务器 >1023端口

     

    3、主动模式和被动模式图解

    3.1 主动模式:图1

    3.2 被动模式 图2:

     

     4、命令设置连接模式

    Windows Cmd下默认为主动模式,更改Ftp为被动的方法:

    ftp> quote PASV  //被动
    ftp> quote PORT //主动

    Linux Ftp命令下默认为被动模式,更改为主动的方法:

    ftp> passive
    ftp> Passive mode off.
    ftp> Passive mode on.
    

    个人认为最简单的理解方式,用一句话概括就是:

    服务器主动连接的,称为主动模式;服务器被动连接的,称为被动模式

     

     

    创建时间:2019.07.26  更新时间:2020.06.23-24

     

  • 相关阅读:
    bzoj 4245: [ONTAK2015]OR-XOR【按位贪心】
    bzoj 4247: 挂饰【dp】
    bzoj 3503: [Cqoi2014]和谐矩阵【高斯消元】
    bzoj 3029: 守卫者的挑战【概率dp】
    bzoj 3732: Network【克鲁斯卡尔+树链剖分】
    bzoj 1040: [ZJOI2008]骑士【基环树+树形dp】
    bzoj 3668: [Noi2014]起床困难综合症【贪心】
    bzoj 2157: 旅游【树链剖分+线段树】
    bzoj 4521: [Cqoi2016]手机号码【数位dp】
    bzoj 3437: 小P的牧场【斜率优化】
  • 原文地址:https://www.cnblogs.com/guorongtao/p/11249457.html
Copyright © 2011-2022 走看看