zoukankan      html  css  js  c++  java
  • ()centos6.8安装配置ftp服务器

    ftp传输原理

    客户端通过某软件用某个端口(a端口)向服务端发起tcp连接请求,同时告诉服务端客户端另一个空闲端口号(b端口),服务端用21端口与客户端建立一条控制连接通道。

    接着在默认情况下,服务端使用20端口和b端口建立数据传送通道。这样就用客户端的2个端口和服务端2个端口通道建立了两条通道,之后就可以传送数据了。

    ps:客户端的两个通道是都是随机的,服务端的控制通道用21,服务端的数据传送通道默认是20也可以设置成其他端口号。

    客户端<------------>服务端

    a端口<------------->21端口          控制通道

    b端口<------------->20端口           数据传送通道

    控制连接通道,会在传送一个文件后会关闭通道,然后再开启通道传统另一个文件,每一个文件传输都需要建立和关闭Tcp连接

    所以ftp传送多个小文件要比一个大文件时效率要低。

    ftp协议规范

    1:数据传送格式

    文件类型:ASCII或者二进制

    控制格式:只允许非打印

    数据结构:只允许文件结构

    传输方式:只允许流方式

    2:控制命令种类

    建立控制连接后,服务端保持监听状态,随时根据客户端发送的命令做相应的工作

    3:答应格式

     略

    抓包工具

    yum install -y wireshark

    客户端连接方式

    上面的 a端口<------------->21端口 的连接方式有两种:主动方式(port)和被动方式(pasv)

    主动和被动是相对于服务器而言,数据连接如果是服务器发起的就是主动连接,反之。

    主动方式下,客户端首先通过port命令向服务器发送自己的一个控件端口号,然后服务器通过默认的20端口向客服端提供的端口发起连接请求

    被动方式下,客户端发送pasv命令,服务端回应一个端口号,告诉客户端它将在这个端口监听来自客户端的TCP请求

    在全开放的网络环境下二种方式传输的效率是一样的。

    如果在客户端和服务器端有防火墙存在

  • 相关阅读:
    eclipse中文乱码问题解决方案
    修改Tomcat的JDK目录
    Tomcat 5.5 修改服务器的侦听端口
    HTML DOM教程 27HTML DOM Button 对象
    HTML DOM教程 24HTML DOM Frameset 对象
    Navicat for MySQL v8.0.27 的注册码
    HTML DOM教程 25HTML DOM IFrame 对象
    Tomcat 5.5 的下载和安装
    android manifest相关属性
    ubuntu10.04 下 eclipse 小结
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/7092618.html
Copyright © 2011-2022 走看看