2009-7-25 1
计算机网络
Computer Networks
第九讲 网络应用(三)
远程登录,FTP
2009-7-25 2
课前问题
DNS的主要作用是什么?
域名分为哪几类,如何解析域名?
访问一个网站时,若 DNS服务器出了故障,用户还能访问该网站吗?
2009-7-25 3
远程登录
Telnet
2009-7-25 4
远程登录
远程登录( Remote Login)是 Internet上最广泛的应用之一。通过网络可以远程登录到任何其他一台网络主机上去,而不需要为每一台主机连接一个硬件终端
在 TCP/IP网络上,有两种应用提供远程登录功能。
1) Telnet是标准的提供远程登录功能的应用,几乎每个 TCP/IP的实现都提供这个功能。它能够运行在不同操作系统的主机之间。 Telnet通过客户进程和服务器进程之间的选项协商机制,从而确定通信双方可以提供的功能特性。
2) Rlogin起源于伯克利 Unix,开始它只能工作在 Unix
系统之间,现在已经可以在其他操作系统上运行。
2009-7-25 5
Telnet
采用客户 /服务器模式进行工作
2009-7-25 6
Telnet
1) Telnet客户进程同时和终端用户和
TCP/IP协议模块进行交互
2) Telnet服务器进程经常要和一种叫做
,伪终端设备,( pseudo-terminal
device)打交道
3) 仅仅使用了一条 TCP连接
2009-7-25 7
Telnet协议
RFC 854定义了该协议的规范,其中还定义了一种通用字符终端叫做网络虚拟终端 NVT
NVT是虚拟设备,连接的双方,即客户机和服务器,都必须把它们的物理终端和 NVT进行相互转换。也就是说,不管客户进程终端是什么类型,操作系统必须把它转换为 NVT格式。同时,不管服务器进程的终端是什么类型,操作系统必须能够把 NVT格式转换为终端所能够支持的格式。
2009-7-25 8
网络虚拟终端 NVT格式实际使用多种虚拟终端,如 vt100,vt200等,对于文本中一行的结束,不同的系统使用不同的控制字符。
有的用回车 CR ↙
有的用换行 LF
回车 -换行 CR-LF
但都是实现一个用途 ↙,为了将这些差异统一起来,Telnet定义了所谓的网络虚拟终端 NVT,
概念,客户软件把用户的击键和命令转换成
NVT格式,并送交服务器。
2009-7-25 9
Telnet
服务器端使用 23号 TCP端口,在该端口上
telnet服务器等待 telnet客户机来的连接请求;
连接建立后,服务器实现一个虚拟终端,在该终端上客户机的所有信息被解释为该终端的输入传递给操作系统,操作系统对这些输入进行处理后作出响应;所有这个虚拟终端的输出通过 telnet协议被送到客户机端,在客户机端显示出来
客户机只有拥有了远程计算机的用户名和口令才可以对远程计算机进行登录访问,即只有非匿名登录
2009-7-25 10
Telnet
客户格式 服务器客户格式 服务器格式用 NVT转换服务器
TCP连接
Internet客户客户系统格式 使用 NVT格式 服务器系统格式
2009-7-25 11
Telnet选项协商
选项协商需要 3个字节:一个 IAC字节,接着一个字节是 WILL,DO,WONT和 DONT这四者之一,最后一个 ID字节指明激活或禁止选项。现在,有 40多个选项是可以协商的
IAC
(按命令解释指令 )
命令码 选项码 描述
0 二进制传输
1 回显
2 重新连接
…… ……
例如,<IAC,WONT,1>
关闭回显
2009-7-25 12
Telnet选项协商的 6种情况
2009-7-25 13
文件传输
FTP
2009-7-25 14
FTP协议
文件传输协议( FTP)是因特网上最常用的应用之一,FTP协议标准是 RFC959
FTP是为上载、下载文件而设计的,其主要作用是把文件从一台计算机传递到另一台计算机
FTP是一个客户机 /服务器应用程序,它需要在主机上运行一个服务器软件,并能通过客户端软件来访问该主机
2009-7-25 15
FTP连接
FTP使用两条 TCP连接来完成文件传输,一条是控制连接( TCP端口号 21),另一条是数据连接( TCP端口号 20)
FTP服务器平时一直监听 21端口,当有用户发出连接请求时,客户与服务器通过端口 21建立一条连接,该连接一直保持到会话结束。
当客户端发出数据传输请求时,FTP会建立第二条连接(通过端口 20),这是一条数据连接,通过它可进行数据的传输,数据传输结束,数据连接会自动终止
2009-7-25 16
FTP的控制连接和数据连接本地主机
(客户机) 远程主机(服务器)
数据连接 20#
控制连接 21#
TCP/IP
2009-7-25 17
FTP的工作流程
登录:客户机向 FTP服务器登录,存在两种方式:
– 匿名登录用 anonymous为用户名,以用户自己的电子邮件地址为口令。
– 非匿名登录需要从 FTP服务器申请得到用户名和口令。
浏览、下载、上传
退出
FTP登录示例:
ftp <远程计算机域名或 IP地址 > 用户名 /密码,21
匿名登录,anonymous
2009-7-25 18
FTP协议命令命令 描述
ABOR 中止前一个命令
LIST 列文件名和目录名
MODE 设置传输模式
PASS 用户口令
PORT 端口地址
QUIT 终止连接
RETR 从服务器上取一个文件
STOR 发一个文件到服务器
STRU 结构
SYST 返回系统信息
TYPE 数据类型
USER 用户 ID
A— ASCII编码
E— EBCDIC编码
I— 二进制数据
S— 流模式
B— 块模式
C— 压缩模式
F— 文件结构
R— 记录结构
P— 页结构
2009-7-25 19
数据类型
ASCII码文件类型(默认选择):文本文件以 NVT ASCII码形式在数据连接中传输
EBCDIC文件类型:该文本文件传输方式要求两端都是 EBCDIC系统
图像文件类型(也称为二进制文件类型)
2009-7-25 20
结构
( a)文件结构(默认选择):文件被认为是一个连续的字节流。不存在内部的文件结构。
( b)记录结构:该结构只用于文本文件
( ASCII或 EBCDIC)。
( c)页结构:每页都带有页号发送,以便收方能随机地存储各页。
2009-7-25 21
传输模式
规定文件在数据连接中如何传输
( a)流方式(默认选择):文件以字节流的形式传输。对于文件结构,发方在文件尾提示关闭数据连接。对于记录结构,有专用的两字节序列码标志记录结束和文件结束。
( b)块方式文件:以一系列块来传输,每块前面都带有一个或多个首部字节。
( c)压缩方式:一个简单的全长编码压缩方法,压缩连续出现的相同字节。
2009-7-25 22
FTP程序常用用户命令命令 描述
open 建立连接
close 关闭连接
get 获得一个文件
send 发送一个文件
cd 改变目录
bye 离开
2009-7-25 23
FTP响应码返回代码 含义
1xx 正常操作
2xx 正常操作
3xx 正常操作
4xx 暂时性错误操作
5xx 永久性错误操作
x0x 语法错误
x1x 有关信息的返回
x2x 有关连接通道的返回
x3x 有关身份确认或账号信息
x4x 未指定
x5x 有关文件系统的信息
2009-7-25 24
FTP举例
C:\WINDOWS>ftp ↙
ftp:>open 210.40.4.12 ↙ ;建立连接
connected to 210.40.4.12 ↙ ;本地 FTP发出连接成功
220-cs gzu FTP Service ; 220-cs gzu服务器
Ware FTPD 1.70.bo1.04 Ready,;表示“服务就绪”
220 please enter your user name,
User:anonymous ;匿名,提示用户输入
331 user name okay ;表示用户正确的名字
Password,guest@ ;输入用户口令
2009-7-25 25
常用图形化的 FTP
CuteFTP,LeapFTP,WS_FTP
常用 ftp搜索引擎
http://e.pku.edu.cn (北大天网 ftp搜索引擎)
2009-7-25 26
电子邮件
2009-7-25 27
电子邮件 E-mail
电子邮件概述:历史和基本概念。
电子邮件系统的构成:用户代理和邮件传输代理。
电子邮件的格式
– RFC 822
– MIME
电子邮件的传输协议
– 简单邮件传输协议 SMTP
– 其他协议,POP3等
电子邮件的工作流程
– 邮件的收发
2009-7-25 28
电子邮件概述
1982年,ARPANET提出了 RFC821(传输协议 )
和 RFC822(邮件格式 ),成为电子邮件的标准。
1984年,CCITT提出了 X.400建议(基于
OSI),但是没有得到普及。
电子邮件 Electronic Mail (E-mail)
– 包含了实现用户之间非实时通信的应用程序和发送、
接收、中继(中转)电子邮件的处理程序。
– 每个用户首先应拥有一个电子邮箱。所谓的电子邮箱就是在一台提供了邮件服务的主机上为每个人提供一个用户名。
– 电子邮件的地址表示为,用户名 @域名。
kgq@kgq.8866.org
– 地址 不区分大小写。
2009-7-25 29
电子邮件系统的构成
电子邮件系统由两部分组成:
– 用户代理( UA):允许用户阅读 /发送电子邮件,
一般为用户进程。
用户负责编写和阅读邮件,提供收件人的地址。
邮件编辑器和阅读器负责邮件与处理程序之间的接口程序。
– 消息传输代理( MTA):将消息从源端发送至目的端。
邮件服务器 (mail server):为用户提供电子邮箱,存储到达的邮件。
邮件主机 (mail host):用户所在地区的邮局,负责解析地址和路由。
中继主机 (relay host):中转邮局,在不同地区之间选择邮件的路由。
网关 (gateway):在不同邮件系统间转发邮件。
2009-7-25 30
电子邮件系统模型用户接口
( UA)
发送邮件缓冲区用户邮箱客户
(发送邮件)
服务器
(接收邮件)
发送时
TCP连接接收时
TCP连接端口号 25#
用户发邮件用户读邮件邮件服务器
2009-7-25 31
电子邮件的格式
电子邮件是由信封和消息两个部分构成的。
– 信封:“用户名 @域名”
– 消息:由信头(一些控制信息)和信体(由发信人自由撰写的内容)构成。
电子邮件格式的标准有 RFC 822和 MIME。
RFC 822只适用于无格式的英文文本信息传输,
不能支持非 ASCII码字符集信息,不能处理中文、日文、包含格式的文本信息和多媒体信息。
多用途 Internet邮件扩展 MIME(Multipurpose
Internet Mail Extension),支持中文电子邮件,
支持多媒体电子邮件。
2009-7-25 32
RFC 822的信头格式
由发信人填写的参数
– 邮件发送的目的地址:
TO:
– 邮件的标题,Subject:
– 把邮件同时发给其他收信人的地址,CC,BCC:
举例
From Zhangsan@host.com Fir March 21 08:07 2003
Return-Path:< Zhangsan@host.com >
To:<xiaoliu@otherhost.com>
CC:<li@anotherhost.com,wang@anotherhost.com>
Subject,Hello
Date:Fri,21 Mar 2003 08:06:38 +0800
Content-Type,text
Content-Length:26868
由邮件系统填写的参数
– 发信人的源地址 (From:)
– 回信路径 (Return-Path:)
– 邮件的发送时间 (Date:)
– 邮件内容的类型 (Content-Type:)
– 邮件内容的长度 (Content-Length:)
2009-7-25 33
RFC822的缺陷
限制条件
– 邮件信头和信体都采用了 7位的 ASCII码
– 每个字节的最高位置零
使用条件
– 适用于无格式的英文文本信息传输
– 不适用于
包含了非 ASCII码字符集的信息,例如中文。
包含了格式的文本信息,例如 DOC文件。
包含了语音和图象等非文本信息。
2009-7-25 34
MIME的格式扩展
多用途 Internet邮件扩展 MIME的特点:
– 邮件信息采用 8位数据编码
– 支持中文的电子邮件收发 (中文 16位编码,
不会丢失最高位信息 )。
– 支持多媒体电子邮件通信 (信体中可以包含多个不同格式的数据体 )。
From aa@ggg.com.hk Mon Jul 1 22:40 PDT 1996
To,bb <bb@host.com>,
Suject,问候
Mime-Version,1.0
Content-Type,multipart/mixed; boundary=” -----------
62a9bd86233”
Content-Length:29248
Status,RO
This is a multipart messge in MIME format.
-----------62a9bd86233(信体第一部分,无格式的英文文本)
Content-Type,text/plain; charset=us-ascii
Content-Transfer-Encoding,7 bits
HI,mary,
……
-----------62a9bd86233 (信体第二部分,有格式的中文文件 )
Content-Type,application/octet-stream ;
name=”qing.doc”
Content-Transfer-Encoding,base64
Content-Disposition,attachment; filename=”qing.doc”
你好!
-----------62a9bd86233
……
2009-7-25 35
电子邮件的传输协议 —SMTP
简单邮件传输协议 SMTP (Simple Mail Transfer
Protocol)的 协议标准为 RFC821,占用的 TCP端口号为 25 。
SMTP在目的和源邮件主机 (Mail Host)之间进行基于 TCP连接的邮件传输。
SMTP的实现过程为:
– 寻址:
向 DNS发送请求,得到接收方的 IP地址。
– 建立连接:
源邮件主机向目的邮件主机 TCP端口 25请求建链,
TCP握手成功,目的邮件主机回送确认 (220)。
– 传输邮件:完成邮件的传送。
– 拆除连接:
源邮件主机请求断链,目的邮件主机回送确认 (221)。
2009-7-25 36
SMTP邮件流
2009-7-25 37
Mail Sender,Host.com Mail Receiver,Anotherhost.com
← 220 SMTP service ready
HELO→
← 250 OK
MAIL FROM,Host.com →
← 250 mail accepted
RCPT TO,Anotherhost.com →
← 250 Recipient accepted
DATA→
← 354 start mail input,end with,


← 250 OK
QUIT→
← 221 services closing channel
指令 参数 含义
HELO 发送方的域名 告知自己的域名
MAI L FROM 发信者地址 开始信头发送
R C PT T O 收信者地址 标识收信者
D A T A 信体 开始信体的发送,,,为结束符
R ES ET 中断当前的传输
V ER IFY 收信者地址 请求确认地址有效
QUI T 结束通信
SMTP命令
SMTP会话过程举例
2009-7-25 38
电子邮件的其他协议
POP3协议:
– 由于用户在大多数情况下不能工作在发送和接收电子邮件的主机 (mail server)上,所以需要一种从远程邮箱中读取电子邮件的简单协议邮局协议 3( Post
Office Protocol 3)的支持。
– POP3支持用户登录、读取信息、删除信息和退出功能。
IMAP协议:
– 交互式邮件访问协议,收信人使用多个用户代理访问同一邮箱,邮件始终保持在邮箱中。
PGP与 PEM协议:
– 加密电子邮件协议
2009-7-25 39
电子邮件的工作流程
STEP 1:用邮件处理软件撰写信件和收件人地址。
STEP 2:客户程序将邮件通过 SMTP发给服务提供者 ---邮件服务器。
STEP 3:邮件服务器利用 Internet使用 SMTP
协议在邮件主机之间传递邮件。
STEP 4:邮件到达目的邮件服务器,目的邮件服务器将邮件放入接收者的信箱中。
STEP 5:接收者利用 POP3从他的邮件服务器中取信,并利用邮件处理软件阅读信件。
2009-7-25 40
OUTLOOK设置