zoukankan      html  css  js  c++  java
  • FTP协议

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105895775

    学习课程:《2019王道考研计算机网络》

    学习目的:利用最省时间的方法学习考研面试中的计算机网络。


    1、FTP协议的功能

    • 文件传输协议( File Transfer Protocol, FTP)是因特网上使用得最广泛的文件传输协议。
    • FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限
    • 它屏蔽了各计算机系统的细节,因而适合于在异构网络中的任意计算机之间传送文件

    FTP提供以下功能:
    ①提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
    以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力
    ③以匿名FTP的方式提供公用文件共享的能力。

    在这里插入图片描述

    2、FTP工作原理

    • FTP采用客户/服务器(C/S)的工作方式,它使用TCP可靠的传输服务。
    • 一个FTP服务器进程可同时为多个客户进程提供服务。
    • 依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器
    • 连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端
    • FTP的服务器进程由两大部分组成:
      一个主进程,负责接收新的请求;
      若干从属进程,负责处理单个请求。
      在这里插入图片描述

    其工作步骤如下:
    ①打开熟知端口21 (控制端口),使客户进程能够连接上。
    ②等待客户进程发连接请求。
    ③启动从属进程来处理客户进程发来的请求。主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止。
    ④回到等待状态,继续接收其他客户进程的请求。


    • FTP服务器必须在整个会话期间保留用户的状态信息。
      特别是服务器必须把指定的用户账户与控制连接联系起来,服务器必须追踪用户在远程目录树上的当前位置。

    3、控制连接和数据连接

    • FTP在工作时使用两个并行的TCP连接:
      一个是控制连接(端口号21)
      一个是数据连接(端口号20)
    • 使用两个不同的端口号可使协议更加简单和更容易实现。
      在这里插入图片描述
      在这里插入图片描述

    (1)控制连接

    • 服务器监听21号端口,等待客户连接,建立在这个端口上的连接称为控制连接,控制连接用来传输控制信息(如连接请求、传送请求等),并且控制信息都以7位ASCII格式传送

    • FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。

    • 在传输文件时还可以使用控制连接(如客户在传输中途发一个中止传输的命令),因此控制连接在整个会话期间一直保持打开状态。
      在这里插入图片描述

      (2)数据连接

    • 服务器端的控制进程在接收到FTP客户发来的文件传输请求后,就创建“数据传送进程”和“数据连接”。

    • 数据连接用来连接客户端和服务器端的数据传送进程数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。


    • 因为FTP使用了一个分离的控制连接,所以也称FTP的控制信息是带外(Out-of-band) 传送的。
    • 使用FTP时,若要修改服务器上的文件,则需要先将此文件传送到本地主机,然后再将修改后的文件副本传送到原服务器
    • 网络文件系统(NFS)允许进程打开一个远程文件,并在该文件的某个特定位置开始读写数据。这样,NFS可使用户复制一个大文件中的一个很小的片段,而不需要复制整个大文件。
  • 相关阅读:
    字符串与Unicode码的相互转换
    关于es6中的yield
    ajax请求中的6个全局事件
    用H5上传文件
    类型化数组
    git笔记-9-29
    js正则表达式验证身份证号和密码
    assertThat用法
    java产生随机数的几种方式
    jQuery之Deferred对象详解
  • 原文地址:https://www.cnblogs.com/wangzheming35/p/14553956.html
Copyright © 2011-2022 走看看