文件传送协议FTP
文件传送协议 FTP (File Transfer Protocol) 是互联网上使用得最广泛的文件传送协议。FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
FTP特点
- 文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。
- FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
- FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
两个连接
- 控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。
-
实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。
使用两个不同的端口号
当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口 (21),(控制连接)同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。接着,服务器进程用自己传送数据的熟知端口 (20)(数据连接)与客户进程所提供的端口号码建立数据传送连接。
好处:
- 由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。
- 使协议更加简单和更容易实现。
- 在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。
访问FTP服务器有两种方式
- 一种是需要用户提供合法的用户名和口令,这种方式适用于在主机上有账户和口令的内部用户;
- 另一种方式是用户用公开的账户和口令登录,这种方式称之为匿名FTP服务。匿名FTP服务用户名为anonymous,口令为用户的电子邮件地址或其他任意字符。
NFS
- NFS 允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。
- NFS 可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件。
例如,计算机 A 的 NFS 客户软件,把要添加的数据和在文件后面写数据的请求一起发送到远地的计算机 B 的 NFS 服务器。NFS 服务器更新文件后返回应答信息。 - NFS 在网络上传送的只是少量的修改数据。
简单文件传送协议 TFTP
- TFTP (Trivial File Transfer Protocol) 是一个很小且易于实现的文件传送协议。
- TFTP 使用客户服务器方式和使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施。
- TFTP 只支持文件传输而不支持交互。
- TFTP 没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。
- TFTP 的工作很像停止等待协议。
远程终端协议 TELNET
- TELNET 是一个简单的远程终端协议,用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。
- 和 FTP 的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。
- TELNET 使用网络虚拟终端 NVT 格式。