zoukankan      html  css  js  c++  java
  • TCP/IP笔记 四.应用层(2)——FTP

    1. FTP(File Transfer Protocol)

    文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。
    FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
    1.1 网络环境下复制文件的复杂性:
    (1) 计算机存储数据的格式不同。
    (2) 文件的目录结构和文件命名的规定不同。
    (3) 对于相同的文件存取功能,操作系统使用的命令不同。
    (4) 访问控制方法不同。
    FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。

    2 两个链接

    FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。


    好处:

    (1)使协议更加简单和更容易实现。

    (2)在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。

    3 FTP优缺点

    3.1 优点:

    (1)促进文件的共享(计算机程序或数据)
    (2)鼓励间接或者隐式的使用远程计算机
    (3)向用户屏蔽不同主机中各种文件存储系统的细节
    (4)可靠和高效的传输数据

    3.2 缺点:

    (1)密码和文件内容都使用明文传输,可能产生不希望发生的窃听。
    (2)因为必须开放一个随机的端口以建立连接,当防火墙存在时,客户端很难过滤处于主动模式下的FTP流量。这个问题通过使用被动模式的FTP得到了很大解决。
    (3)服务器可能会被告知连接一个第三方计算机的保留端口。
    FTP虽然可以被终端用户直接使用,但是它是设计成被FTP客户端程序所控制。
    运行FTP服务的许多站点都开放匿名服务,在这种设置下,用户不需要帐号就可以登录服务器,默认情况下,匿名用户的用户名是:“anonymous”。这个帐号不需要密码,虽然通常要求输入用户的邮件地址作为认证密码,但这只是一些细节或者此邮件地址根本不被确定,而是依赖于FTP服务器的配置情况。




  • 相关阅读:
    【面试题】Round A China New Grad Test 2014总结
    【C++】指针数组和数组指针
    快速排序算法递归和非递归实现
    StringTokenizer的用法
    java实时监测文件夹的变化,允许多用户同时访问,完成文件转移
    java统计当前在线数
    KMP算法的一种实现
    java.io.PrintWriter
    OOAOODOOP
    Java 编程技术中汉字问题的分析及解决
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3327544.html
Copyright © 2011-2022 走看看