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

     

  • 相关阅读:
    POJ 2752 Seek the Name, Seek the Fame
    POJ 2406 Power Strings
    KMP 算法总结
    SGU 275 To xor or not to xor
    hihocoder 1196 高斯消元.二
    hihoCoder 1195 高斯消元.一
    UvaLive 5026 Building Roads
    HDU 2196 computer
    Notions of Flow Networks and Flows
    C/C++代码中的笔误
  • 原文地址:https://www.cnblogs.com/guorongtao/p/11249457.html
Copyright © 2011-2022 走看看