Transcript Document

第十四讲 TCP/IP应用(3)
主要内容
域名系统(DNS)
 6.2 DHCP服务
 6.3 超文本传输协议(HTTP)和万维网
(WWW)
 6.4 文件传输协议(FTP )
 6.5 远程登录(Telnet)
 6.6 简单邮件传输协议(SMTP)
 6.7 网络相关的工具软件
 6.1
TCP/IP协议栈
应 用 层
FTP DNS HTTP
传 输 层
网络 层
数据链路层
物理 层
TCP
IP
SMTP
UDP
ARP RARP
ICMP
6.4 文件传输协议(FTP)
 6.4.1
 6.4.2
 6.4.3
 6.4.4
 6.4.5
 6.4.6
文件传输协议简介
文件传输协议原理
文件传送过程
FTP服务器和客户端
FTP用户授权与登录
简单文件传输协议TFTP
FTP 的基本工作原理
 网络环境中的一项基本应用就是将文件从一台
计算机中复制到另一台可能相距很远的计算机
中。
 初看起来,在两个主机之间传送文件是很简单
的事情。
 其实这往往非常困难。原因是众多的计算机厂
商研制出的文件系统多达数百种,且差别很大。
网络环境下复制文件的复杂性
(1) 计算机存储数据的格式不同。
(2) 文件的目录结构和文件命名的规定不同。
(3) 对于相同的文件存取功能,操作系统使用的
命令不同。
(4) 访问控制方法不同。
FTP 特点
 文件传送协议
FTP 只提供文件传送的一些基本
的服务,它使用 TCP 可靠的运输服务。
 FTP 的主要功能是减少或消除在不同操作系统
下处理文件的不兼容性。
 FTP 使用客户服务器方式。一个 FTP 服务器进
程可同时为多个客户进程提供服务。FTP 的服
务器进程由两大部分组成:一个主进程,负责
接受新的请求;另外有若干个从属进程,负责
处理单个请求。
FTP运作模式
大
客 于1
户 0
2
4
端
client 口
1 客户端主动连接,通过三次握手,
21
建立tcp连接(命令通道)。
号
端
口
2 申请启动数据通道。
端
3 服务器主动连接,三次握手,建立
tcp连接(数据通道)。
服
务
20 器
号
service
端
口
1 发出请求(带有SYN标志) C:>1024 S:21
2 确认 (ACK 同时带有SYN标志)
3 确认(ACK)至此命令通道建立。
客
户
端
4 文件传输请求 C:>1024
5 发出请求(带有SYN标志) C:>1024 S:20
6 确认 (ACK 同时带有SYN标志)
7 确认(ACK)至此数据通道建立。
主动连接
服
务
器
1 发出请求(带有SYN标志) C:>1024 S:21
2 确认 (ACK 同时带有SYN标志)
3 确认(ACK)至此命令通道建立。
客
户
端
4 文件传输请求使用 PASV 模式
5 启用>1024 port等待Client主动建立连接
6 发出请求(带有SYN标志) C:>1024 S: >1024
7 确认 (ACK 同时带有SYN标志) 。
8 确认(ACK)至此数据通道建立。
被动连接
服
务
器
主进程的工作步骤如下
 打开熟知端口(端口号为
21),使客户进程能
够连接上。
 等待客户进程发出连接请求。
 启动从属进程来处理客户进程发来的请求。从
属进程对客户进程的请求处理完毕后即终止,
但从属进程在运行期间根据需要还可能创建其
他一些子进程。
 回到等待状态,继续接受其他客户进程发来的
请求。主进程与从属进程的处理是并发地进行。
两个连接
 控制连接在整个会话期间一直保持打开,FTP
客
户发出的传送请求通过控制连接发送给服务器端
的控制进程,但控制连接不用来传送文件。
 实际用于传输文件的是“数据连接”。服务器端
的控制进程在接收到 FTP 客户发送来的文件传
输请求后就创建“数据传送进程”和“数据连
接”,用来连接客户端和服务器端的数据传送进
程。
 数据传送进程实际完成文件的传送,在传送完毕
后关闭“数据传送连接”并结束运行。
FTP 使用的两个 TCP 连接
用户界面
控制连接
控制进程
数据传送
进程
客户端
控制进程
因特网
数据连接
数据传送
进程
服务器端
两个不同的端口号
当客户进程向服务器进程发出建立连接请求时,
要寻找连接服务器进程的熟知端口(21),同时还要
告诉服务器进程自己的另一个端口号码,用于建立
数据传送连接。
 接着,服务器进程用自己传送数据的熟知端口(20)
与客户进程所提供的端口号码建立数据传送连接。
 由于 FTP 使用了两个不同的端口号,所以数据连接
与控制连接不会发生混乱。

使用两个不同的端口号
 使用两个独立的连接的主要好处是
 使协议更加简单和更容易实现。
 在传输文件时还可以利用控制连接(例如,客户
发送请求终止传输)。
简单文件传送协议 TFTP
(Trivial File Transfer Protocol)
 是一个很小且易于实现的文件传送协议。
 TFTP 使用客户服务器方式和使用
UDP 数据
报,因此 TFTP 需要有自己的差错改正措施。
 TFTP 只支持文件传输而不支持交互。
 TFTP 没有一个庞大的命令集,没有列目录
的功能,也不能对用户进行身份鉴别。
TFTP 的主要特点是
(1) 每次传送的数据 PDU 中有 512 字节的
数据,但最后一次可不足 512 字节。
(2) 数据 PDU 也称为文件块(block),每个块
按序编号,从 1 开始。
(3) 支持 ASCII 码或二进制传送。
(4) 可对文件进行读或写。
(5) 使用很简单的首部。
TFTP 的工作很像停止等待协议
 发送完一个文件块后就等待对方的确认,确
认时应指明所确认的块编号。
 发完数据后在规定时间内收不到确认就要重
发数据 PDU。
 发送确认 PDU 的一方若在规定时间内收不
到下一个文件块,也要重发确认 PDU。这
样就可保证文件的传送不致因某一个数据报
的丢失而告失败。
TFTP 的工作很像停止等待协议
 在一开始工作时。TFTP
客户进程发送一个读请求
PDU 或写请求 PDU 给 TFTP 服务器进程,其熟知
端口号码为 69。
 TFTP 服务器进程要选择一个新的端口和 TFTP 客
户进程进行通信。
 若文件长度恰好为 512 字节的整数倍,则在文件
传送完毕后,还必须在最后发送一个只含首部而
无数据的数据 PDU。
 若文件长度不是 512 字节的整数倍,则最后传送
数据 PDU 的数据字段一定不满512字节,这正好
可作为文件结束的标志。
6.5 远程登录(Telnet)
远程登录的概念
 6.5.2 远程登录的工作原理
 6.5.3 远程登录的应用与实现
 6.5.1
远程终端协议 TELNET
是一个简单的远程终端协议,也是因特
网的正式标准。
 用户用 TELNET 就可在其所在地通过 TCP 连接注
册(即登录)到远地的另一个主机上(使用主机
名或 IP 地址)。
 TELNET 能将用户的击键传到远地主机,同时也
能将远地主机的输出通过 TCP 连接返回到用户屏
幕。这种服务是透明的,因为用户感觉到好像键
盘和显示器是直接连在远地主机上。
 TELNET
客户服务器方式
 现在由于
PC 机的功能越来越强,用户已较
少使用 TELNET 了。
 TELNET 也使用客户服务器方式。在本地系
统运行 TELNET 客户进程,而在远地主机
则运行 TELNET 服务器进程。
 和 FTP 的情况相似,服务器中的主进程等
待新的请求,并产生从属进程来处理每一个
连接。
TELNET 使用
网络虚拟终端 NVT 格式
客户端
因特网
服务器端
TCP 连接
客户
使用客户端的格式
服务器
使用 NVT 格式
使用服务器端的格式
网络虚拟终端 NVT 格式
 客户软件把用户的击键和命令转换成
NVT
格式,并送交服务器。
 服务器软件把收到的数据和命令,从 NVT
格式转换成远地系统所需的格式。
 向用户返回数据时,服务器把远地系统的
格 式 转换 为 NVT 格式 ,本地客户再从
NVT 格式转换到本地系统所需的格式。
远程登录

远程登录的作用:
 使用其他计算机的强大的处理能力
 登录到别的主机中运行该机器所安装的软件

远程登录使用的协议:Telnet

当用户使用因特网的远程登录服务时,启
动了两个程序进行工作:
 Telnet客户程序
 Telnet服务器程序
远程登录

利用Windows的Telnet客户程序进行远程登录,一
般是在DOS模式下进行的:
 用户输入命令“telnet 主机地址 端口号”与远程主机
连接
 输入用户名和密码,进入远程的主机系统
 用户按远程主机的命令进行操作
Telnet的特点
 优点:
远程登录服务本身对用户是透明的,本地用户好像
直接接入远地系统;它提供给用户与本地登录几乎
完全相同的界面,使用方便 。
 缺点:
远程登录也有其限制,即当Internet的网络通信量
大时,来自远地主机的响应会减慢。
Telnet的应用
 Telnet本身也是一个应用程序,通过运行它,
本地用户可实现访问远地资源的愿望。
 未能连接的常见原因有:
1.用户输入的计算机地址不正确。
2.远程主机临时不可用,如没有开机或有故障。
3.用户所指定的计算机的名字并不在Internet上。
4.用户所在的位置可能不能与Internet上的特定部分相
连。