当前课程知识点:计算机网络 >  第六章 应用层 >  6.3 FTP >  FTP

返回《计算机网络》慕课在线视频课程列表

FTP在线视频

下一节:HTTP

返回《计算机网络》慕课在线视频列表

FTP课程教案、知识点、字幕

这一节我们一起来学习

FTP文件传输协议的原理、工作方式等内容

主要介绍五个知识点

FTP协议概述、FTP工作方式、FTP传输方式

和FTP用户授权以及FTP发展现状

首先我们来简单认识一下FTP协议

它属于TCP/IP协议簇中的一个

是文件传输协议(File Transfer Protocol)的缩写

同大多数互联网服务一样

FTP也是一个客户机/服务器系统

字面理解就是主要用于文件传输

用户通过一个客户机程序

连接至远程计算机上运行的服务器程序

依照 FTP 协议提供服务

进行文件传输的计算机就是 FTP 服务器

而连接FTP服务器

遵循FTP协议与服务器传送文件的电脑

就是FTP客户端

它是Internet文件传送的基础

目标是提高文件的共享性

可以从一台计算机将文件传送到另一台计算机

与这两台计算机的位置、连接方式

甚至是是否使用相同的操作系统无关

FTP协议基于TCP协议的可靠传输服务

使存储介质对用户透明和可靠高效地传送数据

下面来看FTP的工作流程

如图 用户通过控制进程发出一条命令

要求服务器向用户传输一个文件的拷贝

服务器会响应这条命令

这个过程是TCP控制连接

将指定文件通过数据传送进程送至用户机器上

客户机程序代表用户接收这个文件

将其存放在用户目录中,即TCP数据连接

刚才的PPT中提到了FTP的端口

通常的默认情况下

FTP协议使用的端口号是20和21

其中20用于传输数据

21用于传输控制信息

但是否使用20端口作为传输数据的端口

与FTP使用的传输模式有关

FTP工作方式分为主动方式和被动方式

若是主动模式

那么数据传输端口就是20

若是被动模式

则根据服务器和客户端协商决定用哪个端口

先来看POST 主动方式

FTP客户端首先和FTP服务器的

TCP 21端口建立连接

通过连接通道发送命令

客户端要接收数据时在通道上发送PORT命令

命令中包含客户端用什么端口接收数据

传送数据时服务器通过TCP 20端口

连接至客户端指定端口发送数据

如图为POST响应流程

在这个模式下

FTP Server必须和客户端

建立一个新的连接用来传输数据

第一 客户端的命令端口(随机端口B>1024)

与FTP服务器命令端口21建立连接

此处以1026端口为例

然后客户端开始监听端口N+1

并发送命令“PORT 1027”

二 FTP服务器给客户端的命令端口

返回一个“ACK”信号

三 服务器发起一个从它自己的数据端口20

到客户端先前指定的数据端口1027的连接

四 客户端给服务器端返回一个“ACK”

下面来看PASV 被动方式

在建立控制通道的时候和POST模式类似

当客户端通过这个通道发送PASV 命令的时候

FTP server打开一个位于1024和5000之间的随机端口

并且通知客户端在这个端口上传送数据的请求

然后FTP server 将通过这个端口进行数据的传送

这个时候FTP server不再需要建立

一个新的和客户端之间的连接

如图为PASV响应流程

第一 客户端的命令端口(随机端口B>1024)

与FTP服务器命令端口21建立连接

此处以1026端口为例

然后客户端开始监听端口N+1

并发送命令“PASV”

二 FTP服务器开启任意一个

非特权端口(P>1024)

告诉客户端用哪个服务器端口监听数据连接

三 客户端初始化一个

从自己的数据端口(N+1)

到客户端指定的数据端口的连接

四 服务器端给客户器端数据端口

返回一个“ACK”响应

对比这两种工作方式

不同之处是由于

PORT方式需要在接上TCP 21端口后

服务器通过自己的TCP 20来发出数据

并且需要建立一个新的连接来传送档案

而PORT的命令包含一些客户端没用的资料

所以有了PASV的出现

而PASV模式拥有PORT模式的优点

并去掉一些PORT的缺点

PASV运行方式就是

当服务器接收到客户连接请求时

就会自动从端口1024到5000中

随机选择一个和客户端建立连接传递数据

由于被动且自动建立连接

容易受到攻击

所以安全性差

下面介绍FTP的传输方式

关于FTP传输模式有两种

一种是ASCⅡ传输模式

另一种是二进制传输模式

先介绍ASCⅡ传输方式

用户正在拷贝的文件包含简单ASCⅡ码文本

而在远程机器上运行的是不同操作系统

当文件传输时FTP会自动将文件内容

调整解释为另一台计算机

储存文本文件的格式

有时用户传输的文件不是文本文件

可能是程序、数据库、压缩文件等

这类文件在拷贝时需要

用到binary命令告诉ftp要逐字拷贝

然后来看二进制传输模式

二进制传输中会保存文件的位序

以便原始和拷贝逐位对应的

即使目的机器上包含位序列的文件

也是无意义的

如Macintosh以二进制方式传送

可执行文件到Windows系统上

在对方的系统上此文件不能执行

若是在ASCⅡ方式下传输二进制文件

即使不需要也会转译

这会使得传输变慢

也会损坏数据

使文件变得无用

接下来来看关于FTP用户授权的相关内容

用户使用FTP协议之前需要进行登录

取得授权账号(用户ID以及口令)后

方能登录服务器端进行操作

其中FTP传输协议支持匿名用户模式

即无需登机获取服务器端的授权

用户使用用户名“Anonymous”登录FTP服务

即可访问远程主机上公开的文件

服务器端还可以设置映射路径

用户登录后可访问服务器端上映射的地址

另外 用户要连上 FTP 服务器

就要用到(FTP)的客户端软件

通常 Windows自带“FTP”命令

这是一个命令行的 FTP 客户程序

输入FTP访问地址

即可访问FTP服务器上的资源

FTP访问地址中包括用户名、密码

FTP服务器IP地址或域名

FTP命令端口/路径/文件

上述参数中除FTP服务器IP地址或域名

为必要项外

其它都是非必需的

下面我们来看一下FTP的发展现状

FTP作为一个文件传输协议

其优势表现在适用于大文件

例如与HTTP协议作比较

FTP协议上传文件

大于1M的文件速度比HTTP快

文件越大

上传的速度就比HTTP上传

快的倍数越大

而从开发维护的角度看

用java编写程序

FTP比HTTP更方便

虽然近年来有各种FTP的替代服务出现

但是它们依然有着较为一致的安全性缺陷

明文口令在当前的交换环境的

数据监听技术下显得安全性过低

信息机密性低

用户密码可以通过穷举法破解

对通讯双方也没有可靠的认证措施

由于FTP协议的特点

互联网上任意用户均可登录FTP服务

若有非法用户获取了用户名和密码

他可以向FTP服务器发送大量垃圾文件

导致FTP服务器瘫痪

严重影响了正常工作

针对这些待改进的问题

近年来也出现了一些

不需要对FTP协议自身

做完全更改的协议扩展模块

能够良好的完成兼容性和功能扩展

FTP SSL/TLS协议就是其中一种方式

这是一种用于HTTP协议加密的安全传输协议

SSL工作于TCP协议的

传输层(TCP层)和应用程序之间

作为一个中间层

应用程序只需要采用SSL提供的

一套SSL套接字API

来替换标准的Socket套接字

就可以把程序转换为SSL化的

安全网络程序

在传输过程中

将 SSL协议实现数据机密性和完整性的保证

计算机网络课程列表:

第一章 概述

-1.1 计算机网络的发展历程及其在信息时代中的作用

--计算机网络的发展历程及其在信息时代中的作用

-1.2 互联网的组成

--互联网的组成

-1.3 电路交换和分组交换

--电路交换和分组交换

-1.4 计算机网络的性能

--计算机网络的性能

-1.5 计算机网络体系结构和层次划分

--计算机网络体系结构和层次划分

-第一章

第二章 物理层

-2.1 数据通信系统模型

--数据通信系统模型

-2.2 导向型传输媒体

--导向型传输媒体

-2.3 光导纤维

--光导纤维

-2.4 非导向型传输媒体

--非导向型传输媒体

-2.5 信道的极限容量

--信道的极限容量

-2.6 信道复用技术

--信道复用技术

-2.7 ADSL

--ADSL

-第二章

第三章 数据链路层

-3.1 数据链路层的三个基本问题

--数据链路层的三个基本问题

-3.2 CSMA/CD协议

--CSMA/CD协议

-3.3 虚拟局域网

--虚拟局域网

-3.4 扩展的以太网

--扩展的以太网

-3.5 高速以太网

--高速以太网

-第三章

第四章 网络层

-4.1 分类的IP地址-划分子网

--分类的IP地址-划分子网

-4.2 无分类编址-构造超网

--无分类编址-构造超网

-4.3 ICMP协议

--ICMP协议

-4.4 路由器结构

--路由器结构

-4.5 RIP协议

--RIP协议

-4.6 IP多播

--IP多播

-第四章

第五章 运输层

-5.1 用户数据报协议UDP

--用户数据报协议UDP

-5.2 TCP报文段首部格式

--TCP报文段首部格式

-5.3 可靠传输工作原理

--可靠传输工作原理

-5.4 字节为单位的滑动窗口实现

--字节为单位的滑动窗口实现

-第五章

第六章 应用层

-6.1 网络应用层

--网络应用层

-6.2 DNS

--DNS

-6.3 FTP

--FTP

-6.4 HTTP

--HTTP

-6.5 P2P

--P2P

-6.6 计算机网络面临的安全性威胁

--计算机网络面临的安全性威胁

-6.7 防火墙

--防火墙

--第六章

第七章 网络实验

-7.1 交换机基本配置

--交换机基本配置

-7.2 路由器基本配置

--路由器基本配置

-7.3 交换机端口隔离

--交换机端口隔离

-7.4 跨交换机实现相同VLAN通信

--跨交换机实现相同VLAN通信

-7.5 动态路由

--动态路由

-7.6 静态路由

--静态路由

FTP笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。