zoukankan      html  css  js  c++  java
  • FTP概述

    FTP工作原理:
    通过FTP传输文件,双方需要建立两个TCP连接,一个是控制连接,一个是数据连接。
    控件连接用于传输FTP命令。数据连接用于传输文件。
    建立控制连接后,用户通过客户机进程向服务器进程发送命令,服务器执行命令,然后将执行结果返回到客户端。
    FTP数据连接,服务器向客户端发起一个用于数据传输的连接,连接的端口是由服务器端和客户端协商确定的。

    以下载为例:
    客户端首先与服务器的21端口建立控制连接,然后提供用户名和密码,经服务器验证认为合法后,客户端将自己监听的端口号告诉服务器,服务器再与客户端建立连接。此后,客户端通过控制连接向服务器发送下载文件的命令,服务器接收到命令后,如果执行成功,通过控制连接向客户端发送响应码,并将文件数据通过数据连接返回给客户端。

    FTP的数据传输方式:一是使用ASCII传输方式,二是二进制传输方式。ASCII仅适用于传输包含英文的命令和参数。二进制可传输含中文信息。

    文件传输模式:一种是主动模式(Port),二是被动模式(PASV)
    主动模式是从服务器向客户端发起数据连接请求。
    被动模式是客户端向服务器发起数据连接请求。

    主动模式:FTP客户端先用一个端口N(N>1024)向服务器的21号端口发起控制连接,连接成功后,再发出PORT N+1 命令告诉服务器自己监听的端口号为N+1。服务器到该命令后,用一个新的数据端口(一般是20)与客户端的端口N+1建立连接,然后进行文件数据传输,而客户端则通过监听N+1端口接收文件数据。

    被动模式:控制连接请求和数据连接请求都是由客户端发起。FTP客户端先随机开启一个端口N向服务器的21号端口发起控制连接,然后向服务器发送PASV命令,服务器收到此命令后,会用一个新的端口P(P>1024)进行监听,同时将该端口号告诉客户端,客户端收到响应命令后,再通过新的端口号N+1连接服务器的端口P,然后进行文件传输。

  • 相关阅读:
    jquery ui autocomplete
    解决IIS服务和用户上传的文件分别部署在不同的电脑上时,解决权限的问题
    wpf一些例子
    t-sql 笔记(2)
    t-sql 笔记(1)
    测试基础之软件测试模型
    测试用例设计方法之错误猜测法
    测试用例设计方法之边界值分析法
    批处理文件将多台连接的手机安装同一个APP
    安卓和IOS抓包工具
  • 原文地址:https://www.cnblogs.com/KimhillZhang/p/2527140.html
Copyright © 2011-2022 走看看