计算机网络

174
王王王 [email protected] 计计计计计 计计计计计

Upload: ulysses-miller

Post on 30-Dec-2015

30 views

Category:

Documents


6 download

DESCRIPTION

计算机网络. 王占全 [email protected]. application transport network data link physical. application transport network data link physical. application transport network data link physical. 第 8 章 应用层. 应用程序:互相通信的分布的进程 在网络主机上的用户空间运行 互相交换消息 比如 email、ftp 和 web 应用层协议 应用程序的一部分 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 计算机网络

王占全[email protected].

cn

计算机网络计算机网络

Page 2: 计算机网络

华东理工大学计算机科学与工程系 2

第第 88 章 应用层章 应用层 应用程序:互相通信的分布

的进程 在网络主机上的用户空间

运行 互相交换消息 比如 email、 ftp和web

应用层协议 应用程序的一部分 定义应用程序直接交换的

信息以及相应的动作 利用底层协议提供的服务

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

Page 3: 计算机网络

应用层是网络体系结构的最高层, Internet 技术的发展极大地丰富了应

用层的内容,如:DNS,FTP,EMAIL,WWW,TELNET,FTFP,S

NMP,SMTP,RPC 等的发展

Page 4: 计算机网络

华东理工大学计算机科学与工程系 4

本章学习要求:

TCP/IP 协议栈与应用层协议之间的关系 域名系统的基本工作原理 电子邮件的基本工作原理 文件传输 FTP 的基本工作原理 WWW 服务的基本工作原理 TELNET 的基本工作原理 应用层协议的分析方法

Page 5: 计算机网络

华东理工大学计算机科学与工程系 5

Multimedia

Dynamic WWW

Static WWW

FTP and Telnet

E-Mail and News

Other

8%

17%

39%

27%

7%2%

13%

18%

23%

23%

16%

7%

14%

17%

12%

15%

28%

14%

To Transactional Pages (Red) andAudio/Video Content (Purple)

100%

80%

60%

40%

20%

0%

200019981996Source: The Yankee Group, 2000

Internet 上的信息趋于交互

Page 6: 计算机网络

华东理工大学计算机科学与工程系 6

8.1 应用层协议与低层协议的关系 8.1.1 主要的应用层协议

网络终端协议 Telnet 文件传输协议 FTP 简单邮件传输协议 SMTP 域名系统 DNS 简单网络管理协议 SNMP 超文本传输协议 HTTP

Page 7: 计算机网络

华东理工大学计算机科学与工程系 7

应用层协议的特点 每个应用层协议都是为了解决某一类应用问题,

而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。

应用层的许多协议都是基于客户服务器方式。客户 (client) 和服务器 (server) 都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。

Page 8: 计算机网络

华东理工大学计算机科学与工程系 8

8.1.2 TCP/IP协议族及之间的关系

应用层

传输层

互联层

-主机 网络层

Telnet FTP SMTP DNS SNMP

TCP UDP

ARP RARP

Ethernet Token Ring 其它协议

HTTP TFTP

IP

Page 9: 计算机网络

华东理工大学计算机科学与工程系 9

应用层协议类型划分 它可以划分为三种类型: 依赖于面向连接的 TCP 协议,如

TELNET,SMTP,FTP,HTTP,EMAIL 等; 依赖于无面向连接的 UDP 协议,如

SNMP,TFTP 等; 既依赖于 TCP 协议,又依赖于 UDP 协

议,如 DNS。

Page 10: 计算机网络

华东理工大学计算机科学与工程系 10

8.2 域名系统 DNS

8.2.1 域名系统的基本概念

1.为什么有了 IP地址,还需要域名 ? 域 名 — 用字符表示的网络主机名,是一种主机标识符; IP 地址 — 数字型,难于记忆与理解; 域 名 — 字符型,直观,便于记忆与理解; IP 地址 — 用于网络层; 域 名 — 用于应用层; IP 地址与域名都应该是全网唯一的,并且它们之间具有

对应关系。

Page 11: 计算机网络

华东理工大学计算机科学与工程系 11

域名系统续 许多应用层软件经常直接使用域名系统 DNS

(Domain Name System) 。 因特网采用层次结构的命名树作为主机的名字,

并使用分布式的域名系统 DNS。 名字到域名的解析是由若干个域名服务器程序

完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。

Page 12: 计算机网络

华东理工大学计算机科学与工程系 12

2. Internet 域名结构 TCP/IP 协议中规定的层次型名字管理机制叫做域名

系统; 域名系统将整个 Internet 划分为多个顶级域,并

为每个顶级域规定了通用的顶级域名; Internet 主机域名的一般格式为:

主机域名

. . .四级域名 三级域名 二级域名 顶级域名

Page 13: 计算机网络

华东理工大学计算机科学与工程系 13

因特网的域名结构续 因特网采用了层次树状结构的命名方法。 任何一个连接在因特网上的主机或路由器,都

有一个惟一的层次结构的名字,即域名。 域名的结构由若干个分量组成,各分量之间用

点隔开:

… . 三级域名 . 二级域名 . 顶级域名

如: ecust.edu.cn 各分量分别代表不同级别的域名。

Page 14: 计算机网络

华东理工大学计算机科学与工程系 14

顶级域名 TLD (Top Level Domain)

(1) 国家顶级域名 nTLD :如 : .cn 表示中国, .us 表示美国, .uk 表示英国,等等。

(2) 国际顶级域名 iTLD :采用 .int 。国际性的组织可在 .int 下注册。

(3) 通用顶级域名 gTLD :最早的顶级域名是: .com 表示公司企业 .net 表示网络服务机构 .org 表示非赢利性组织 .edu 表示教育机构(美国专用) .gov 表示政府部门(美国专用) .mil 表示军事部门(美国专用)

Page 15: 计算机网络

华东理工大学计算机科学与工程系 15

新增加了七个通用顶级域名 .aero 用于航空运输企业 .biz 用于公司和企业 .coop 用于合作团体 .info 适用于各种情况 .museum 用于博物馆 .name 用于个人 .pro 用于会计、律师和医师等自由职业者

Page 16: 计算机网络

华东理工大学计算机科学与工程系 16

因特网的名字空间

com net org edu gov milcoop bizinfo aero int cn uk…

hk js sh bj org net gov edu com ac…

pku fudan ……tsinghua…

树根

cctv ibm hp mot…

顶级域名

二级域名

三级域名 mail

ep四级域名 mail csnetl …

ecust

Page 17: 计算机网络

华东理工大学计算机科学与工程系 17

8.2.2 域名服务器的层次结构 1. 域名服务器的基本工作原理 域名系统的一个主要特点是允许区域自治; 域名系统在设计了层次的域名的同时,提出了与其相

对应的域名服务器系统;

整个域名系统是以一个大型的分布式数据库的方式工作的;

大多数具有 Internet连接的组织都有一个域名服务器,每个服务器包含连向其他域名服务器的信息,这些服务器形成了一个大的协同工作的域名数据库 。

Page 18: 计算机网络

华东理工大学计算机科学与工程系 18

2. 域名服务器的层次 DNS 服务器的层次是与域名的层次相适应的; 每一个域名服务器都只对域名体系中的一部分进行管辖; 一个根服务器( root server )在这个层次体系的顶部,

它是顶层域的管辖者; DNS 服务器的层次对应着域名的层次,但是这两者并

不是对等的。一个公司网络或校园网可以选择将它所有的域名都放在一个域名服务器上,也可以选择运行几个域名服务器。

ecust.edu

cs.ecust.edu ee.ecust.edu ......

第一级域名服务器

第二级域名服务器

Page 19: 计算机网络

华东理工大学计算机科学与工程系 19

授权域名服务器 因特网允许各个单位根据具体情况将本单位的

域名划分为若干个域名服务器管辖区(zone) ,并在各管辖区中设置相应的授权域名服务器。

com

y

abc

wv

x

u

根域名服务器域 abc.com

管辖区 y.abc.com的授权域名服务器

管辖区abc.com

管辖区y.abc.com管辖区 abc.com

的授权域名服务器

t

Page 20: 计算机网络

华东理工大学计算机科学与工程系 20

8.2.3 域名解析 1. 域名解析的基本工作原理 将域名转换为对应的 IP地址的过程称为域名解析 ;

完成该功能的软件叫域名解析器 ; 每个本地域名服务器配置一个域名解析器软件 ; 由于每个服务器都知道根服务器的地址,因此无论经过几步查询,在域名树中最终总会找出正确的解析结果。

Page 21: 计算机网络

华东理工大学计算机科学与工程系 21

2. 域名解析算法 递归解析 反复解析

构造域名解析请求包

将解析要求发往某个服务器

结束

N

开始

名字是否在本服务器所辖子域

哪种解析方式从数据库中取出相应地址,将结果传回求解者

Y

请求下一个服务器求解名字,并将结果传回求解者

递归解析反复解析

产生一个指定下一个服务器的响应,并传回求解者

下一次求解

Page 22: 计算机网络

华东理工大学计算机科学与工程系 22

递归解析要求名字服务器系统一次性完成全部名字—地址变换;

反复解析是每次请求一个服务器,如果不行再请求别的服务器;

递归解析的任务主要是由服务器软件承担; 反复解析的任务主要是由域名解析器软件承担。

Page 23: 计算机网络

华东理工大学计算机科学与工程系 23

……

递归查询

com

abc xyz

abc

x y

因特网

u v w

xyz

.com 顶级域名服务器

本地域名服务器dns.abc.com 授权域名服务器

“树根”

edu.edu 顶级域名服务器

y

… …

本地域名服务器dns.xyz.com 授权域名服务器

m.xyz.com 本地域名服务器dns.y.abc.com 授权域名服务器

t.y.abc.com

④ ⑤

dns.com

①t.y.abc.com的 IP 地址是什么?

Page 24: 计算机网络

华东理工大学计算机科学与工程系 24

递归的查询续

t.y.abc.com

④⑤

⑥ ⑦

根域名服务器dns.com

本地域名服务器 dns.xyz.com

本地域名服务器

dns.abc.com

本地域名服务器dns.y.abc.com

②③

m.xyz.com

IP(t.y.abc.com)=?

⑧IP(t.y.abc.com)

= (198.54.23.15)

Page 25: 计算机网络

华东理工大学计算机科学与工程系 25

域名解析中客户与服务器的交互过程

客户本地域名服务器

1第 步netl ab. cs. nankai . edu. cn

根域名服务器

nankai域名服务器

cs域名服务器

2第 步netl ab. cs. nankai . edu. cn

3第 步nankai . edu. cn 202. 113. 16. 10,

4第 步netl ab. cs. nankai . edu. cn

5第 步cs. nankai . edu. cn 202. 113. 27. 1,

6第 步netl ab. cs. nankai . edu. cn

7第 步netl ab. cs. nankai . edu. cn 202. 113. 56. 10,

8第 步202. 113. 56. 10

202. 113. 16. 10

202. 113. 27. 1

Page 26: 计算机网络

华东理工大学计算机科学与工程系 26

8.2.4 域名系统性能优化 复制与缓存1.复制 每个根服务器的许多副本存在于世界各地; 当一个新的子网加入 Internet 时,它在本地

的 DNS 服务器中配置一个根服务器表; 本地的 DNS 服务器可以为本网用户的域名服务选择响应最快的根服务器;

在实际应用中,地理上最近的域名服务器往往响应最好。

Page 27: 计算机网络

华东理工大学计算机科学与工程系 27

2.缓存 DNS 缓存比复制更为重要,使用高速缓存可优化查询的开销;

每个服务器都保留一个域名缓存,每当查找一个新的域名时,服务器将它置于缓存中;

主机在启动时从本地域名服务器下载域名和地址的全部数据库,维护存放自己最近使用的域名的高速缓存,并且只在从缓存中找不到域名时才使用域名服务器。

Page 28: 计算机网络

华东理工大学计算机科学与工程系 28

8.3 电子邮件服务

8.3.1 电子邮件的概念 电子邮件服务是目前 Internet 上使用最频繁的服务; 电子邮件系统不但可以传输各种格式的文本信息,而且

还可以传输图像、声音、视频等多种信息 ; 邮件服务器系统的核心邮件服务器负责接收用户送来的

邮件,并根据收件人地址发送到对方的邮件服务器中,同时负责接收由其他邮件服务器发来的邮件,并根据收件人地址分发到相应的电子邮箱中;

当用户向 ISP申请 Internet账户时, ISP就会在它的邮件服务器上建立该用户的电子邮件账户,它包括用户名( user name )与用户密码( password )。

Page 29: 计算机网络

华东理工大学计算机科学与工程系 29

电子邮件的一些标准 在 1982 年制定出简单邮件传送协议 SMTP

(Simple Mail Transfer Protocol) 和因特网文本报文格式,它们都已成为因特网的正式标准。

1993 年提出了通用因特网邮件扩充 MIME (Multipurpose Internet Mail Extensions)。

MIME 在其邮件首部中说明了邮件的数据类型 ( 如文本、声音、图像、视像等 ) 。 在

MIME 邮件中可同时传送多种类型的数据。

Page 30: 计算机网络

华东理工大学计算机科学与工程系 30

8.3.2 电子邮件服务的工作过程 电子邮件服务基于客户 /服务器结构

Internet

邮件服务器

邮件客户端

邮件服务器

邮件客户端

发送方 接收方

Page 31: 计算机网络

华东理工大学计算机科学与工程系 31

电子邮件的最主要的组成构件

发送方

邮件缓存 接收端邮件服务器

用户代理

SMTP

SMTPPOP3

发送端邮件服务器

用户代理

用户邮箱接收方

用户代理

用户代理

邮件服务器

邮件服务器

SMTP SMTP POP3( 发送邮件 )

( 发送邮件 )

(发送邮件)

( 发送邮件 ) (读取邮件 )

(读取邮件 )

(TCP 连接 ) (TCP 连接 ) (TCP 连接 )

因特网

Page 32: 计算机网络

华东理工大学计算机科学与工程系 32

电子邮件应用程序基本服务功能: 创建与发送电子邮件; 接收、阅读与管理电子邮件; 账号、邮箱与通信簿管理。

电子邮件协议: 在电子邮件程序向邮件服务器中发送邮件时,使用的

是简单邮件传输协议 SMTP ; 在电子邮件程序从邮件服务器中读取邮件时,可以使

用邮局协议 POP3 或交互式邮件存取协议 IMAP ,它取决于邮件服务器支持的协议类型。

Page 33: 计算机网络

华东理工大学计算机科学与工程系 33

应当注意 一个邮件服务器既可以作为客户,也可以作为

服务器。 例如,当邮件服务器 A 向另一个邮件服务器

B 发送邮件时,邮件服务器 A 就作为 SMTP 客户,而 B 是 SMTP 服务器。

当邮件服务器 A 从另一个邮件服务器 B 接收邮件时,邮件服务器 A 就作为 SMTP 服务器,而 B是 SMTP 客户。

Page 34: 计算机网络

华东理工大学计算机科学与工程系 34

电子邮件系统协议使用情况

Internet

SMTP代理

发送方

邮件缓存

发送端邮件服务器

接收端邮件服务器

接收方

用户邮箱 POP3代理

发送SMTP( )

发送SMTP( )

接收POP3( )

Page 35: 计算机网络

华东理工大学计算机科学与工程系 35

电子邮件的发送和接收过程

发送方

邮件缓存 接收端邮件服务器

用户代理

发送端邮件服务器

用户代理

接收方

用户代理

用户代理

邮件服务器

邮件服务器

( 发送邮件 )

SMTP

SMTP

( 发送邮件 )

(TCP 连接 )

因特网

(1) 发信人调用用户代理来编辑要发送的邮件。用户代理用 SMTP 把邮件传送给发送端邮件服务器。

Page 36: 计算机网络

华东理工大学计算机科学与工程系 36

电子邮件的发送和接收过程

发送方

接收端邮件服务器

用户代理

SMTP

发送端邮件服务器

邮件缓存用户代理

接收方

用户代理

用户代理

邮件服务器

邮件服务器

SMTP( 发送邮件 )

( 发送邮件 )

(TCP 连接 )

因特网

(2) 发送端邮件服务器将邮件放入 邮件缓存队列中,等待发送。

Page 37: 计算机网络

华东理工大学计算机科学与工程系 37

电子邮件的发送和接收过程

发送方

邮件缓存 接收端邮件服务器

用户代理

SMTP

发送端邮件服务器

用户代理

接收方

用户代理

用户代理

邮件服务器

邮件服务器

SMTP( 发送邮件 )

( 发送邮件 )

(TCP 连接 )

SMTP

SMTP(发送邮件)

( 发送邮件 )

(TCP 连接 )

因特网

(3) 运行在发送端邮件服务器的 SMTP 客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器的 SMTP 服务器进程发起 TCP 连接的建立。

Page 38: 计算机网络

华东理工大学计算机科学与工程系 38

电子邮件的发送和接收过程

发送方

邮件缓存 接收端邮件服务器

用户代理

SMTP

发送端邮件服务器

用户代理

用户邮箱接收方

用户代理

用户代理

邮件服务器

邮件服务器

SMTP( 发送邮件 )

( 发送邮件 )

(TCP 连接 )

SMTP

SMTP(发送邮件)

( 发送邮件 )

(TCP 连接 )

因特网

(4) TCP 连接建立后, SMTP 客户进程开始向远程的 SMTP 服务器进程发送邮件。当所有的待发送邮件发完了,SMTP 就关闭所建立的 TCP 连接。

Page 39: 计算机网络

华东理工大学计算机科学与工程系 39

电子邮件的发送和接收过程

发送方

邮件缓存 接收端邮件服务器

用户代理

SMTP

发送端邮件服务器

用户代理

用户邮箱接收方

用户代理

用户代理

邮件服务器

邮件服务器

SMTP( 发送邮件 )

( 发送邮件 )

(TCP 连接 )

SMTP

SMTP(发送邮件)

( 发送邮件 )

(TCP 连接 )

因特网

(5) 运行在接收端邮件服务器中的 SMTP 服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取。

Page 40: 计算机网络

华东理工大学计算机科学与工程系 40

电子邮件的发送和接收过程

发送方

邮件缓存 接收端邮件服务器

用户代理

SMTP

发送端邮件服务器

用户代理

用户邮箱 接收方

用户代理

用户代理

邮件服务器

邮件服务器

SMTP( 发送邮件 )

( 发送邮件 )

(TCP 连接 )

SMTP

SMTP(发送邮件)

( 发送邮件 )

(TCP 连接 )

POP3

POP3

(读取邮件 )

(读取邮件 )

(TCP 连接 )

因特网

(6) 收信人在打算收信时,调用用户代理,使用 POP3(或 IMAP )协议将自己的邮件从接收端邮件服务器的用户邮箱中的取回(如果邮箱中有来信的话)。

Page 41: 计算机网络

华东理工大学计算机科学与工程系 41

电子邮件的组成 电子邮件由信封 (envelope) 和内容 (content) 两

部分组成。 电子邮件的传输程序根据邮件信封上的信息来传送邮件。用户在从自己的邮箱中读取邮件时才能见到邮件的内容。

在邮件的信封上,最重要的就是收信人的地址。

Page 42: 计算机网络

华东理工大学计算机科学与工程系 42

电子邮件地址的格式 TCP/IP 体系的电子邮件系统规定电子邮件地址的格式如下:

收信人邮箱名@邮箱所在主机的域名 (8-1) 符号“@”读作“ at” ,表示“在”的意思。 例如,电子邮件地址 [email protected]

邮箱所在的主机的域名在全世界必须是惟一的

这个用户名在该域名的范围内是惟一的。

Page 43: 计算机网络

华东理工大学计算机科学与工程系 43

命令 描述 ------------------------------ HELO 向服务器标识用户身份 发送者能欺骗,说谎,但一般情况下服务器都能检测

到。 MAIL 初始化邮件传输 mail from: RCPT 标识单个的邮件接收人;常在 MAIL 命令后面 可有多个 rcpt to: DATA 在单个或多个 RCPT 命令后,表示所有的邮件接收人已标识,并初始化数据传输,以 . 结束。

VRFY 用于验证指定的用户 / 邮箱是否存在;由于安全方面的原因,服务器常禁止此命令

EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用 HELP 查询服务器支持什么命令 NOOP 无操作,服务器应响应 OK QUIT 结束会话 RSET 重置会话,当前传输被取消

Page 44: 计算机网络

华东理工大学计算机科学与工程系 44

8.3.4 简单邮件传输协议 SMTP及其MIME SMTP 协议运行在 TCP 协议之上,使用公开端口号

25; SMTP使用简单的命令传输邮件 ; SMTP 规定了 14条命令和 21 种响应信息 ; 每条命令都是由 4 个字母组成的 ; 每一种响应信息一般只有一行信息 ; SMTP使用客户 / 服务器工作模式,发送邮件的

SMTP 进程是 SMTP 客户,接收邮件的 SMTP 进程是 SMTP 服务器。

Page 45: 计算机网络

华东理工大学计算机科学与工程系 45

SMTP 通信的三个阶段 1. 连接建立:连接是在发送主机的 SMTP 客户

和接收主机的 SMTP 服务器之间建立的。 SMTP 不使用中间的邮件服务器。

2. 邮件传送3. 连接释放:邮件发送完毕后, SMTP 应释放

TCP 连接。

Page 46: 计算机网络

华东理工大学计算机科学与工程系 46

通用因特网邮件扩充 MIMEMIME 概述

SMTP 有以下缺点: SMTP 不能传送可执行文件或其他的二进制对象。

SMTP 限于传送 7 位的 ASCII 码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。

SMTP 服务器会拒绝超过一定长度的邮件。 某些 SMTP 的实现并没有 完全按照 [RFC

821] 的 SMTP 标准。

Page 47: 计算机网络

华东理工大学计算机科学与工程系 47

MIME 的特点 MIME 并没有改动 SMTP 或取代它。 MIME 的意图是继续使用目前的 [RFC 822]格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。

Page 48: 计算机网络

华东理工大学计算机科学与工程系 48

MIME 和 SMTP 的关系

非 ASCII 码

7 位 ASCII 码

MIMEMIME

SMTPSMTP

MIMEMIME

SMTPSMTP

7 位 ASCII 码

7 位 ASCII 码

非 ASCII 码

用户用户 用户用户

Page 49: 计算机网络

华东理工大学计算机科学与工程系 49

8.3.5 邮件读取协议 POP3 和 IMAP POP3

邮局协议 POP 是一个简单的邮件读取协议;

POP3 协议使用客户 / 服务器的工作方式; 接收邮件的用户主机运行 POP 客户程序, ISP 的邮

件服务器则运行 POP 服务器程序 ; POP3 协议运行在 TCP 协议之上,它使用公开的端口号 110 ;

POP3 协议规定了 15条命令和 24 种响应信息 。

Page 50: 计算机网络

华东理工大学计算机科学与工程系 50

IMAP

Internet报文存取协议 IMAP 与 POP3 都是按客户/ 服务器方式工作,但它们有很大的差别;

对于 POP3 协议, POP3 服务器是具有存储转发功能的中间服务器。在邮件交付给用户之后, POP3 服务器就不再保存这些邮件;

当客户程序打开 IMAP 服务器的邮箱时,用户就可以看到邮件的首部;如果用户需要打开某个邮件,则可以将该邮件传送到用户的计算机;在用户未发出删除邮件的命令前, IMAP 服务器邮箱中的邮件一直保存着;

POP3 协议是在脱机状态下运行,而 IMAP 协议是在联机状态或脱机下都可运行。

Page 51: 计算机网络

华东理工大学计算机科学与工程系 51

IMAP 的特点 IMAP 最大的好处就是用户可以在不同的地方使用不

同的计算机随时上网阅读和处理自己的邮件。 IMAP 还允许收信人只读取邮件中的某一个部分。例如,收到了一个带有视像附件(此文件可能很大)的邮件。为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载这个很长的附件。

Page 52: 计算机网络

华东理工大学计算机科学与工程系 52

必须注意 不要将邮件读取协议 POP 或 IMAP 与邮件传送协议 SMTP 弄混。

发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用 SMTP 协议。

而 POP 协议或 IMAP 协议则是用户从目的邮件服务器上读取邮件所使用的协议。

Page 53: 计算机网络

华东理工大学计算机科学与工程系 53

8.4 文件传输服务

在两个主机之间传输文件 客户 / 服务器模式:由客户端发起文件传输 ( 上传或下载 )

ftp: RFC 959

ftp server: port 21

file transferFTP

server

FTPuser

interface

FTPclient

local filesystem

remote filesystem

user at host

Page 54: 计算机网络

华东理工大学计算机科学与工程系 54

8.4.1 文件传输的概念 文件传输服务又称为 FTP 服务,它是 Internet 中最早提供的服务功能之一,目前仍然在广泛使用中 ;

文件传输服务是由 FTP 应用程序提供的,而 FTP 应用程序遵循的是 TCP/IP 协议组中的文件传输协议,它允许用户将文件从一台计算机传输到另一台计算机上,并且能保证传输的可靠性;

在 Internet 中,许多公司、大学的主机上含有数量众多的各种程序与文件,这是 Internet 的巨大与宝贵的信息资源。通过使用 FTP 服务,用户就可以方便地访问这些信息资源。

Page 55: 计算机网络

华东理工大学计算机科学与工程系 55

网络环境下复制文件的复杂性

(1) 计算机存储数据的格式不同。(2) 对于相同的文件存取功能,操作系统使用的

命令不同。(3) 访问控制方法不同。

Page 56: 计算机网络

华东理工大学计算机科学与工程系 56

FTP 特点 文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。

FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。 FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

Page 57: 计算机网络

华东理工大学计算机科学与工程系 57

8.4.2 文件传输的工作过程

FTP 服务工作模式 :客户 / 服务器

Internet

文件下载

上载文件 客户

FTP服务器

Page 58: 计算机网络

华东理工大学计算机科学与工程系 58

客户端连接到 ftp 服务器TCP 的 21号端口

建立两个并行的 TCP 连接:

- 控制 : 在客户端和服务器之间交换命令、响应

- 数据 : 传递文件数据 Ftp 服务器维护状态:当前目录,身份认证

FTPclient

FTPserver

TCP control connection

port 21

TCP data connectionport 20

Page 59: 计算机网络

华东理工大学计算机科学与工程系 59

FTP模型

ServerProtocol

Interpreter

Server datatransferprocess

UserProtocol

Interpreter

User datatransferprocess

UserInterface

FTP Commands

Data

Connection

User

FileSystem

FileSystem

FTP Replies

From RFC959 注意 : 1. 数据连接可以双向使用 .

2. 数据连接不必始终存在 .

3. 控制连接采用的是 telnet.

Page 60: 计算机网络

华东理工大学计算机科学与工程系 60

8.4.3 匿名 FTP 服务 匿名 FTP 服务的实质是:提供服务的机构在它

的 FTP 服务器上建立一个公开账户(一般为anonymous ),并赋予该账户访问公共目录的权限,以便提供免费服务;

如果用户要访问这些提供匿名服务的 FTP 服务器,一般不需要输入用户名与用户密码;

大多数 FTP 服务都是匿名服务; 为了保证 FTP 服务器的安全,几乎所有的匿名

FTP 服务器都只允许用户下载文件,而不允许用户上载文件。

Page 61: 计算机网络

华东理工大学计算机科学与工程系 61

8.4.4 主进程的工作步骤如下 打开熟知端口(端口号为 21 ),使客户进程能够连接上。

等待客户进程发出连接请求。 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。

回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。

Page 62: 计算机网络

华东理工大学计算机科学与工程系 62

两个连接 控制连接在整个会话期间一直保持打开, FTP

客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。

实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。

数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。

Page 63: 计算机网络

华东理工大学计算机科学与工程系 63

FTP 使用的两个 TCP 连接

控制进程控制进程

数据传送进程

数据传送进程

用户界面用户界面

控制进程控制进程

数据传送进程

数据传送进程

客户端 服务器端

因特网

控制连接

数据连接

Page 64: 计算机网络

华东理工大学计算机科学与工程系 64

当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口 (21) ,同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。

接着,服务器进程用自己传送数据的熟知端口 (20)与客户进程所提供的端口号码建立数据传送连接。

由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。

两个不同的端口号

Page 65: 计算机网络

华东理工大学计算机科学与工程系 65

使用两个独立的连接的主要好处是 使协议更加简单和更容易实现。 在传输文件时还可以利用控制连接(例如,客户

发送请求终止传输)。

使用两个不同的端口号

Page 66: 计算机网络

华东理工大学计算机科学与工程系 66

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[01] 用户要用 FTP 和远地主机 ( 网络信息中心 NIC 上的主机 )建立连接。

Page 67: 计算机网络

华东理工大学计算机科学与工程系 67

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[02] 本地 FTP 发出的连接成功信息。

Page 68: 计算机网络

华东理工大学计算机科学与工程系 68

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[03] 从远地服务器返回的信息, 220 表示“服务就绪”。

Page 69: 计算机网络

华东理工大学计算机科学与工程系 69

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[04] 本地 FTP 提示用户键入名字。用户键入的名字表示“匿名”。用户只需键入 anonymous 即可。

Page 70: 计算机网络

华东理工大学计算机科学与工程系 70

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[05] 数字 331 表示“用户名正确”,需要口令。

Page 71: 计算机网络

华东理工大学计算机科学与工程系 71

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[06] 本地 FTP 提示用户键入口令。用户这时可键入guest 作为匿名的口令,也可以键入自己的电子邮件地址,即耶鲁大学数学系名为 xyz 的主机上的 abc 。

Page 72: 计算机网络

华东理工大学计算机科学与工程系 72

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[07] 数字 230 表示用户已经注册完毕。

Page 73: 计算机网络

华东理工大学计算机科学与工程系 73

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

“ftp>” 是 FTP 的提示信息。用户键入的是将目录改变为包含 RFC 文件的目录。

Page 74: 计算机网络

华东理工大学计算机科学与工程系 74

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.[09] 字符 CWD 是 FTP 的标准命令,代表 Change Working Directory 。

Page 75: 计算机网络

华东理工大学计算机科学与工程系 75

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[10] 用户要求将名为 rfc1261.txt 的文件复制到本地主机上,并改名为 nicinfo 。

Page 76: 计算机网络

华东理工大学计算机科学与工程系 76

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[11] 字符 PORT 是 FTP 的标准命令,表示要建立数据连接。 200 表示“命令正确”。

Page 77: 计算机网络

华东理工大学计算机科学与工程系 77

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[12] 数字 150 表示“文件状态正确, 即将建立数据连接”。

Page 78: 计算机网络

华东理工大学计算机科学与工程系 78

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[13] 数字 226 是“释放数据连接”。现在一个新的本地文件已产生。

Page 79: 计算机网络

华东理工大学计算机科学与工程系 79

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[14] 用户键入退出命令。

Page 80: 计算机网络

华东理工大学计算机科学与工程系 80

FTP 的屏幕信息举例 [01] ftp nic.ddn.mil[02] connected to nic.ddn.mil[03] 220 nic FTP server (Sunos 4.1)ready.[04] Name: anonymous[05] 331 Guest login ok, send ident as password.[06] Password: [email protected][07] 230 Guest login ok, access restrictions apply.[08] ftp> cd rfc[09] 250 CWD command successful.[10] ftp> get rfc1261.txt nicinfo[11] 200 PORT command successful.[12] 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401) (4318 bytes).[13] 226 ASCII Transfer complete. local: nicinfo remote: rfc1261.txt 4488 bytes received in 15 seconds (0.3 Kbytes/s).[14] ftp> quit[15] 221 Goodbye.

[15] 表明 FTP 工作结束。

Page 81: 计算机网络

华东理工大学计算机科学与工程系 81

8.5 新闻与公告类服务 8.5.1 网络新闻组 网络新闻组是一种利用网络进行专题讨论的国际论坛 ; Usenet 并不是一个网络系统,只是建立在

Internet 上的逻辑组织; Usenet 不同于 Internet 上的交互式操作方式,在

Usenet 服务器上存储的各种信息,会周期性地转发给其他 Usenet 服务器;

Usenet 的基本通信方式是电子邮件,但它不是采用点对点通信方式,而是采用多对多的传递方式。

Page 82: 计算机网络

华东理工大学计算机科学与工程系 82

8.5.2 电子公告牌 电子公告牌 BBS 也是 Internet 上较常用的服务功能之一;

电子公告牌提供一块公共电子白板,每个用户都可以在上面书写、发布信息或提出看法、聊天,获得帮助、讨论问题及为别人提供信息;

早期的 BBS 服务是一种基于远程登录的服务,想要使用 BBS 服务的用户,必须首先利用远程登录功能登录到 BBS 服务器上;

目前很多 BBS站点开始提供WWW访问方式。

Page 83: 计算机网络

华东理工大学计算机科学与工程系 83

8.6 WWW 服务 8.6.1 WWW 服务的基本概念 WWW又称为万维网,简称为 Web, 是 Internet技术发展中的一个重要的里程碑;

WWW 系统的结构采用了客户 / 服务器模式; 信息资源以 web页的形式存储在 WWW 服务器中,

用户通过 WWW 客户端浏览器程序图、文、声并茂的 Web页内容;

通过 Web页中的链接,用户可以方便地访问位于其他 WWW 服务器中的 Web页,或是其他类型的网络信息资源。

Page 84: 计算机网络

华东理工大学计算机科学与工程系 84

万维网提供分布式服务

万维网站点 A

万维网站点 C

万维网站点 E万维网站点 D

万维网站点 B

链接到

链接

到链接到 链接到链接到

链接到

①② ④

Page 85: 计算机网络

华东理工大学计算机科学与工程系 85

WWW 服务的基本概念

HTML文件

HTML文件

HTTP协议

I nternet

其他信息资源

WWW服务器

WWW服务器

WWW客户

Page 86: 计算机网络

华东理工大学计算机科学与工程系 86

WWW服务具有以下几个主要特点

以超文本方式组织网络多媒体信息,用户可以访问文本、语音、图形和视频信息;

用户可以在 Internet范围内的任意网站之间查询、检索、浏览及发布信息,并实现对各种信息资源透明的访问;

提供生动、直观、统一的图形用户界面; WWW 服务的核心技术是: 超文本标记语言HTML 超文本传输协议 HTTP 超链接 hyperlink

Page 87: 计算机网络

华东理工大学计算机科学与工程系 87

8.6.2 超文本、超媒体与超文本标记语言 1. 超文本与超媒体的概念 超文本方式的工作方式

南开大学

学校概况

学校概况

学校目录

南开大学

院系设置 信息学院

学校历史

院系设置

学校历史

学校概况

信息学院计算机系

计算机系

数学学院数学学院

Page 88: 计算机网络

华东理工大学计算机科学与工程系 88

超媒体工作方式

老虎

文字介绍

音频介绍

视频介绍

文字介绍

视频介绍 音频介绍

Page 89: 计算机网络

华东理工大学计算机科学与工程系 89

WWW 以客户 / 服务器方式工作; 浏览器 browser 是在用户计算机上运行的

WWW 客户程序; WWW 服务器程序运行在服务器,管理着提供浏览的文档;

WWW 在实现过程中必须解决以下几个问题: 如何标识分布在整个 Internet 上的 WWW文档?

如何实现WWW 上各种链接的链接? 如何显示不同风格的 WWW 文档?

Page 90: 计算机网络

华东理工大学计算机科学与工程系 90

2. 主页的概念 信息资源以网页Web page 的形式存储在 WWW 服务

器中 ; 用户通过浏览器向 WWW 服务器发出请求,服务器根据

客户请求内容,将保存在 WWW 服务器中的某个页面发送给客户;

用户可以通过页面中的链接,方便地访问位于其他WWW 服务器中的页面,或是其他类型的网络信息资源;

主页 home page 是一种特殊的 Web页面,是指包含个人或机构基本信息的页面,用于对个人或机构进行综合性介绍,是访问个人或机构详细信息的入口点。

Page 91: 计算机网络

华东理工大学计算机科学与工程系 91

主页一般包含以下几种基本元素: 文本( text ) 最基本的元素,就是通常所说的文字 图像( image ) WWW浏览器一般只识别 GIF 与

JPEG 两种图像格式 表格( table ) 类似于 Word 中的表格,表格单元内容

一般为字符类型 超链接( hyperlink ) 用于将 HTML 与其他主页

相连

Page 92: 计算机网络

华东理工大学计算机科学与工程系 92

3.超文本标记语言 HTML WWW 服务器中所存储的页面是一种结构化的文档,采用超文本标记语言书写而成;

HTML 是 WWW 上用于创建超文本链接的基本语言,可以定义WWW 主页格式化的文本、色彩、图像与超文本链接;

HTML 文档可以将声音、图像、视频等多媒体信息集成在一起 ;

使用 HTML语言开发的 HTML 超文本文件一般具有 .htm (或 .html )后缀。

Page 93: 计算机网络

华东理工大学计算机科学与工程系 93

8.6.3 URL与信息定位 URL 是对能从 Internet 上得到的资源的位置和访问方法的一种简洁的表示 ;

标准的 URL 由 3 部分组成:服务器类型、主机名和路径及文件名

http : //www.ecust.edu.cn/index.html  协议类型 主机名 路径及地址

Page 94: 计算机网络

华东理工大学计算机科学与工程系 94

URL 的一般形式 由以冒号隔开的两大部分组成,并且在 URL

中的字符对大写或小写没有要求。 URL 的一般形式是:

<URL 的访问方式 >://< 主机 >:<端口 >/< 路径 > (8-2)

ftp —— 文件传送协议 FTP

http —— 超文本传送协议 HTTP

News —— USENET 新闻

Page 95: 计算机网络

华东理工大学计算机科学与工程系 95

URL 的一般形式 由以冒号隔开的两大部分组成,并且在 URL

中的字符对大写或小写没有要求。 URL 的一般形式是:

<URL 的访问方式 >://< 主机 >:<端口 >/< 路径 > (8-2)

< 主机 > 是存放资源的主机在因特网中的域名

Page 96: 计算机网络

华东理工大学计算机科学与工程系 96

URL 的一般形式 由以冒号隔开的两大部分组成,并且在 URL

中的字符对大写或小写没有要求。 URL 的一般形式是:

<URL 的访问方式 >://< 主机 >:<端口 >/< 路径 > (8-2)

有时可省略

Page 97: 计算机网络

华东理工大学计算机科学与工程系 97

2. 使用 FTP 的 URL 使用 FTP 的 URL 举例

ftp://rtfm.mit.edu/pub/abc.txt

这表示使用 FTP 协议

Page 98: 计算机网络

华东理工大学计算机科学与工程系 98

使用 FTP 的 URL 使用 FTP 的 URL 举例

ftp://rtfm.mit.edu/pub/abc.txt

冒号和两个斜线是规定的格式

Page 99: 计算机网络

华东理工大学计算机科学与工程系 99

使用 FTP 的 URL 使用 FTP 的 URL 举例

ftp://rtfm.mit.edu/pub/abc.txt

这是网站的域名

Page 100: 计算机网络

华东理工大学计算机科学与工程系 100

使用 FTP 的 URL 使用 FTP 的 URL 举例

ftp://rtfm.mit.edu/pub/abc.txt

这是路径和文件名

Page 101: 计算机网络

华东理工大学计算机科学与工程系 101

3. 使用 HTTP 的 URL 使用 HTTP 的 URL 的一般形式

http://< 主机 >:<端口 >/<路径 >

这表示使用 HTTP 协议

Page 102: 计算机网络

华东理工大学计算机科学与工程系 102

使用 HTTP 的 URL 使用 HTTP 的 URL 的一般形式

http://< 主机 >:<端口 >/<路径 >

冒号和两个斜线是规定的格式

Page 103: 计算机网络

华东理工大学计算机科学与工程系 103

使用 HTTP 的 URL 使用 HTTP 的 URL 的一般形式

http://< 主机 >:<端口 >/<路径 >

这里写主机的域名

Page 104: 计算机网络

华东理工大学计算机科学与工程系 104

使用 HTTP 的 URL 使用 HTTP 的 URL 的一般形式

http://< 主机 >:<端口 >/<路径 >

HTTP 的默认端口号是 80 ,通常可省略

Page 105: 计算机网络

华东理工大学计算机科学与工程系 105

使用 HTTP 的 URL 使用 HTTP 的 URL 的一般形式

http://< 主机 >:<端口 >/<路径 >

若再省略文件的 < 路径 >项,则 URL 就指到因特网上的某个主页 (home page) 。

Page 106: 计算机网络

华东理工大学计算机科学与工程系 106

URL 通过指定其他协议类型访问其他类型服务器 : gopher : //gopher.cernet.edu.cn 连接到

名为 gopher.cernet.edu.cn 的 Gopher 服务器 ftp: //ftp.pku.edu.cn/pub/dos/

readme.txt 通过 FTP 连接来获得一个名为readme.txt 的文本文件

file : //linux001.nankai.edu.cn/pub/gif/wu.gif 要在所连接的主机上获得并显示一个名为wu.gif 的图形文件

telnet : //cs.nankai.edu.cn 远程登录到名为 cs.nankai.edu.cn 的主机

Page 107: 计算机网络

华东理工大学计算机科学与工程系 107

8.6.4 WWW浏览器 WWW浏览器的基本功能 WWW浏览器是用来浏览 Internet 上主页的客户软件

; 浏览器软件应具备以下的基本功能 : • 查找、启动与终止链接 • 通过按钮与菜单项来链接 • 历史( history )与书签( bookmark )的使用 • 自由设定屏幕窗口 • 选择起始页 • 改变式样、字体与色彩 • 查看内嵌图像与外部图像 • 保存与打印主页

Page 108: 计算机网络

华东理工大学计算机科学与工程系 108

WWW浏览器的结构

与远程服务器通信

输出至显示器从鼠标和键盘输入

网 络 接 口网 络 接 口

可选客户程序可选客户程序

HTML 解释程序HTML 解释程序

可选解释程序可选解释程序

控 制 程 序 驱动程序

HTTP 客户程序HTTP 客户程序缓 存缓 存

Page 109: 计算机网络

华东理工大学计算机科学与工程系 109

浏览器的主要组成部分

浏览器有一组客户、一组解释程序,以及管理这些客户和解释程序的控制程序。

控制程序是其中的核心部件,它解释鼠标的点击和键盘的输入,并调用有关的组件来执行用户指定的操作。

例如,当用户用鼠标点击一个超链的起点时,控制程序就调用一个客户从所需文档所在的远地服务器上取回该文档,并调用解释程序向用户显示该文档。

Page 110: 计算机网络

华东理工大学计算机科学与工程系 110

解释程序 HTML 解释程序是必不可少的,而其他的

解释程序则是可选的。 解释程序把 HTML 规格转换为适合用户显

示硬件的命令来处理版面的细节。 许多浏览器还包含 FTP 客户,用来获取文

件传送服务。 一些浏览器也包含电子邮件客户,使浏览器能够发送和接收电子邮件。

Page 111: 计算机网络

华东理工大学计算机科学与工程系 111

浏览器中的缓存 浏览器将它取回的每一个页面副本都放入本地磁盘

的缓存中。 当用户用鼠标点击某个选项时,浏览器首先检查磁盘的缓存。若缓存中保存了该项,浏览器就直接从缓存中得到该项副本而不必从网络获取,这样就明显地改善浏览器的运行特性。 。

但缓存要占用磁盘大量的空间,而浏览器性能的改善只有在用户再次查看缓存中的页面时才有帮助。

许多浏览器允许用户调整缓存策略。

Page 112: 计算机网络

华东理工大学计算机科学与工程系 112

8.6.5 WWW基本工作过程与协议层次

I nternet

WWW浏览器

Web服务器HTTP协议

TCP协议

I P协议

局域网或广域网协议

客户端协议

HTTP协议

TCP协议

I P协议

局域网或广域网协议

服务器端协议

Web服务器软件

WWW浏览器软件

Page 113: 计算机网络

华东理工大学计算机科学与工程系 113

8.6.6万维网上的信息检索系统1. 搜索引擎的工作原理

在万维网中用来进行搜索的程序叫做搜索引擎。

要在万维网上进行检索,就要将所有万维网页面标题中的关键词作成索引。

Page 114: 计算机网络

华东理工大学计算机科学与工程系 114

简单搜索引擎中使用的数据结构 到 URL的指针

到标题的指针

url_table 堆 散列表

字符串存储 散列码0123

溢出链

n1

URL

URL

标题

标题

44

55

2323 4141

1818 77

22

Page 115: 计算机网络

华东理工大学计算机科学与工程系 115

2. 一些著名的搜索引擎 当前国内外最有名的搜索引擎是: Google (http://www.google.com) Yahoo (http://www.yahoo.com) 百度 (http://www.baidu.com)

Page 116: 计算机网络

华东理工大学计算机科学与工程系 116

8.7 TELNET TELNET 是一个简单的远程终端协议,也是因

特网的正式标准。 用户用 TELNET 就可在其所在地通过 TCP

连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。

TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。

Page 117: 计算机网络

华东理工大学计算机科学与工程系 117

客户服务器方式 现在由于 PC 机的功能越来越强,用户已较少使用 TELNET 了。

TELNET 也使用客户服务器方式。在本地系统运行 TELNET 客户进程,而在远地主机则运行 TELNET 服务器进程。

和 FTP 的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。

Page 118: 计算机网络

华东理工大学计算机科学与工程系 118

TELNET 使用网络虚拟终端 NVT 格式

因特网

TCP 连接

客户端 服务器端

使用客户端的格式 使用服务器端的格式 使用 NVT 格式

客户客户 服务器服务器

Page 119: 计算机网络

华东理工大学计算机科学与工程系 119

网络虚拟终端 NVT 格式 客户软件把用户的击键和命令转换成 NVT 格式,并送交服务器。

服务器软件把收到的数据和命令,从 NVT 格式转换成远地系统所需的格式。

向用户返回数据时,服务器把远地系统的格式转换为 NVT 格式,本地客户再从 NVT 格式转换到本地系统所需的格式。

Page 120: 计算机网络

华东理工大学计算机科学与工程系 120

TELNET 定义的一些控制命令 (1) DO (选项代码 ) 表示要求对方执行该选项 WILL (选项代码 ) 同意执行此选项(2) DO (选项代码 ) 表示要求对方执行该选项 WON'T (选项代码 ) 不同意,状态不变(3) WILL (选项代码 ) 表示我想执行该选项 DO (选项代码 ) 同意执行此选项(4) WILL (选项代码 ) 表示我想执行该选项 DON'T (选项代码 ) 不同意,状态不变 WON'T (选项代码 ) 证实状态不变

Page 121: 计算机网络

华东理工大学计算机科学与工程系 121

虚拟专用网虚拟专用网 虚拟专用网,之所以称之为虚拟因为它不是

一个物理的存在的网络。两个不同的物理网络之间的连接由通道来建立。而专用网,是因为为了提供传输的机密性,将虚拟的通信信道进行加密。

Page 122: 计算机网络

华东理工大学计算机科学与工程系 122

VPN VPN 可以使企业通过公共网络在公司总部和各远程

分部以及客户之间建立快捷,安全、可靠的信息通信。这种连接方式在概念上等同于传统广域网 WAN的运作。

VPN 技术的出现,使企业不再依赖于昂贵的长途拨号以及长途专线服务,而代之以本地 ISP 提供的VPN 服务。从企业中心站点铺设至当地 ISP 的专线要比传统 WAN 解决方案中的长途专线短得多,因而成本也低廉得多。

Page 123: 计算机网络

华东理工大学计算机科学与工程系 123

                                                                                          

Page 124: 计算机网络

华东理工大学计算机科学与工程系 124

VPN 的构成 一个典型 VPN 的组成部分:

Page 125: 计算机网络

华东理工大学计算机科学与工程系 125

VPN 服务器:接受来自 VPN 客户机的连接请求。 VPN 客户机:可以是终端计算机也可以是路由器。 隧道:数据传输通道,在其中传输的数据必须经过封装。

VPN 连接:在 VPN 连接中,数据必须经过加密。 隧道协议:封装数据、管理隧道的通信标准。 传输数据:经过封装、加密后在隧道上传输的数据。 公共网络:如 Internet ,也可以是其他共享型网

络。

Page 126: 计算机网络

华东理工大学计算机科学与工程系 126

8.8 典型应用层协议 FTP 的分析

8.8.1 FTP模型与测试分析环境

FTP服务器

协议分析器

局域网

FTP客户

I P 201. 5. 21. 1地址:

MAC 00-00-C0-22-A1-01地址:

I P 201. 5. 21. 25地址:

MAC 02-60-8C-01-24-28地址:

Page 127: 计算机网络

华东理工大学计算机科学与工程系 127

协议分析器 协议分析器的作用就是监视 FTP客户与FTP服务器的协议交

互过程,记录并对协议包进行分析 ; 分析环境的具体参数是: FTP服务器: MAC地址为 00-00-C0-22-A1-01 IP地址为 201.5.21.

1 控制连接端口号为 20 数据连接端口号为 21 FTP客户: MAC地址为 02-60-8C-01-24-28 IP地址为 201.5.21.

25 数据连接端口号为 15432 控制连接端口号为 7180

Page 128: 计算机网络

华东理工大学计算机科学与工程系 128

FTP工作模型

数据传输模块

控制模块

TCP

IP

15432端口7180端口

FTP Client

数据传输模块

控制模块

TCP

IP

20端口 21端口

FTP Server

网络

控制连接

数据连接

熟知的端口号:Port21=FTP

Port20=FTP-DATA

Page 129: 计算机网络

华东理工大学计算机科学与工程系 129

协议分析器捕获 FTP交互的协议包

协议分析器

02-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-01

LayerDesti nati onSourceNo. Summary

BroadcastBroadcast02-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-28

arparparptcptcptcpf tptcpf tpf tptcpf tptcptcpf tptcpf tpf tpf tptcptcptcp

201. 5. 21. 25→ 201. 5. 21. 1201. 5. 21. 25→ 201. 5. 21. 1201. 5. 21. 1=00-00-C0-22-A1-01Port 15432→ FTP SYN:Port FTP→15432 ACK SYN:Port 15432→ FTP ACK:Repl y Servi ce ready for new user:Port 15432→ FTP ACK:Command=USER User Name( )Repl y User name ok need password: ,Port 15432→ FTP ACK PUSH:Command=PASS Password( )Port FTP→15432 ACK:Port 15432→ FTP ACK PUSH:Repl y User l ogged i n proceed: ,Port 15432→ FTP ACK PUSH:Command=PORT Data Port( )Repl y Command ok:Command=RETR Retri eve Fi l e( )Port FTP-DATA→7180 SYN:Port 7180→FTP-DATA ACK SYN:Port FTP-DATA→7180 ACK:

12345678910111213141516171819202122

Packet 43 Unfi l tered 43: :

a( )

Page 130: 计算机网络

华东理工大学计算机科学与工程系 130

协议分析器

00-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-28

LayerDesti nati onSourceNo. Summary

02-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-01

f tptcptcpf tptcptcptcptcptcptcptcptcptcpf tpf tptcptcptcptcptcptcp

Repl y Fi l e status ok about to: ,Port 15432→ FTP ACK PUSH:Port FTP-DATA→7180 ACK:Repl y Cl ose data connect:Port 15432→ FTP ACK PUSH:Port 7180→FTP-DATA ACK:Port FTP-DATA→7180 ACK:Port 7180→FTP-DATA ACK:Port FTP-DATA→7180 ACK:Port 7180→FTP-DATA ACK:Port FTP-DATA→7180 ACK PUSH FI N:Port 7180→FTP-DATA ACK FI N:Port FTP-DATA→7180 ACK:Command=QUI T Logout( )Repl y Servi ce cl osi ng control:Port FTP→15432 ACK FI N:Port 15432→ FTP ACK FI N:Port 15432→ FTP ACK PUSH:Port FTP→15432 ACK FI N:Port FTP→15432 ACK FI N:Port 15432→ FTP ACK PUSH:

232425262728293031323334353637383940414243

Packet 43 Unfi l tered 43: :

b( )

Page 131: 计算机网络

华东理工大学计算机科学与工程系 131

8.8.2 FTP控制连接建立过程的协议分析 1. 地址解析 ARP 协议执行过程

用户模块

FTP客户控制模块

FTP服务器控制模块

1 FTP协议包 : 客户用广播包通知本结点 I P MAC的 地址与 地址

2 FTP协议包 : 客户用广播包发出地址 解析请求

FTP客户

FTP服务器

I P地址201. 5. 21. 1

I P地址201. 5. 21. 25

3 FTP协议包 : 服务器向客户发出地址 解析请求的应答包

Page 132: 计算机网络

华东理工大学计算机科学与工程系 132

2.FTP控制连接建立过程 协议包 4~ 6 是 FTP 控制连接建立的协议执行过程 协议包 4 : FTP 客户请求建立与 FTP 服务器控制连接

包协议分析器

i p - - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→ 201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di sti nati on Port 21: Control Bi ts Synchroni ze Sequence Numbers SYN: ( )

Packet 4 Unfi l tered 43: :

Page 133: 计算机网络

华东理工大学计算机科学与工程系 133

FTP控制连接建立的协议包交互过程 用户模块

FTP客户控制模块

FTP服务器控制模块

4 FTP FTP协议包 : 客户向 服务器发出的 控制连接建立请求

5 FTP协议包 : 服务器同意建立控制连接 建立请求

FTP客户

FTP服务器

端口号21

FTP /命令 应答TCP头I P头数据链路帧头 数据链路帧尾帧格式

端口号15432

6 FTP FTP协议包 : 客户向 服务器发出应 答的确认包

7 FTP “ Servi ce ready协议包 : 服务器 f or new user” 包

8 FTP “ FTP ACK”协议包 : 客户 应答包

Page 134: 计算机网络

华东理工大学计算机科学与工程系 134

8.8.3 FTP用户登录身份验证过程的协议分析 协议包 9~ 16 是用户身份的协议执行过程 协议包 9 : FTP 客户发送给 FTP 服务器的 User命令

协议包 协议分析器

ether - - - - - - - - - - - - - - -Ethernet Datal i nk Layer- - - - - - - - - - - - - -: Stati on 02-60-8C-01-24-28→ 00-00-C0-22-A1-01: Type 0ⅹ 0800(I P): i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→ 201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - -: Source Port 15432: Di st i nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - -: Command User User Name: ( ) User Name wuy:

Packet 9 Unfi l tered 43: :

Page 135: 计算机网络

华东理工大学计算机科学与工程系 135

协议包 10 : FTP 服务器发送给 FTP 客户对 User

命令的应答包

协议分析器

ether - - - - - - - - - - - - - - -Ethernet Datal i nk Layer- - - - - - - - - - - - - - -: Stati on 00-00-C0-22-A1-01→ 02-60-8C-01-24-28: Type 0ⅹ 0800 I P: ( ) i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 1→ 201. 5. 21. 25: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di st i nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Repl y 331 User name okay need password.: ( , ) Text Password requi red for wuy.:

Packet 10 Unfi l tered 43: :

Page 136: 计算机网络

华东理工大学计算机科学与工程系 136

协议包 12 : FTP 客户发送给 FTP 服务器的带有用户名与密码的应答包

协议分析器

ether - - - - - - - - - - - - - - -Ethernet Datal i nk Layer- - - - - - - - - - - - - - -: Stati on 02-60-8C-01-24-28→ 00-00-C0-22-A1-01: Type 0ⅹ 0800 I P: ( ) i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→ 201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di st i nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Command Pass Password: ( ) Password ******:

Packet 12 Unfi l tered 43: :

Page 137: 计算机网络

华东理工大学计算机科学与工程系 137

FTP 用户登录身份验证的协议包交互过程

用户模块

FTP客户控制模块

FTP服务器控制模块

9 FTP FTP协议包 : 客户发送给 服务器的 User user name命令( )

FTP客户

FTP服务器

:端口号21

端口号:15432

10 FTP User协议包 : 服务器对 命令的应 答,对用户名确认后,要求 password发送

12 FTP FTP协议包 : 客户向 服务器发送 password

13 FTP password协议包 : 服务器检查 合 FTP法,向 客户发送应答包

14 FTP FTP协议包 : 客户接收到 服务器的 FTP应答包,再次向 服务器 发送确认包

15 FTP FTP协议包 : 服务器通知 客户,该 FTP用户在 服务器登录成功

11 FTP FTP协议包 : 客户向 服务器发送对 10协议包 的应答包

Page 138: 计算机网络

华东理工大学计算机科学与工程系 138

8.8.4 FTP数据连接建立过程的协议分析

1.FTP 数据连接建立分为:连接建立准备、连接建立阶段 协议包 17、 18 完成数据连接建立准备工作 协议包 17 : FTP 客户发送给 FTP 服务器的 Port命令包 协议包 18 : FTP 服务器发送给 FTP 客户的 Port命令应答包

根据 FTP 协议的规定, FTP 客户可以动态地选择一个大于 1024 的本地端口号

FTP 协议表示方法:在 Port命令中客户 IP 地址后面加上两个十进制的数 P1 、 P2 ,表示 16位的本地端口号,计算公式是本地端口号 = P1×256+ P2

Page 139: 计算机网络

华东理工大学计算机科学与工程系 139

协议包 19 : FTP 客户发送给 FTP 服务器的 RETR命令包

协议分析器

i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→ 201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di st i nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - - Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Command RETR Retri eve Fi l e: ( ) Pathname Netstart:

Packet 19 Unfi l tered 43: :

Page 140: 计算机网络

华东理工大学计算机科学与工程系 140

FTP 数据连接建立准备工作的协议包交互过程

用户模块

FTP客户控制模块

FTP服务器控制模块

17 FTP FTP协议包 : 客户发送给 服务器的 FTP Port命令 包

FTP客户

FTP服务器

端口号:21

18 FTP FTP协议包 : 服务器发送给 客户的 Port命令确认包

端口号:15432

19 FTP FTP协议包 : 客户发送给 服务器的 RETR命令包

Page 141: 计算机网络

华东理工大学计算机科学与工程系 141

数据连接建立过程 协议包 20~ 22 完成数据连接建立工作

用户模块

FTP客户机控制模块

FTP服务器控制模块

20 FTP 20协议包 : 服务器端口号 的端口 FTP 7180与 客户端口号 的端 口建立数据连接的请求包

21 FTP协议包 : 客户同意建立数据连接 的应答包

FTP客户

FTP服务器

21端口号:

FTP客户数据模块

FTP服务器数据模块

控制连接

FTP客户创建数据进程

FTP服务器创建数据进程

15432端口号:

端口号:20

端口号:7180

22 FTP 协议包 : 服务器建立数据连接 应答包的确认

Page 142: 计算机网络

华东理工大学计算机科学与工程系 142

8.8.5 FTP数据传输过程的协议分析

协议分析器

i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 1→ 201. 5. 21. 25: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 21: Di sti nati on Port 15432: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Repl y 150 Fi l e status okay about to open data: ( , connecti on.) Text openi ng ASCI I mode data connecti on for: netstart 1920bytes.( )

Packet 23 Unfi l tered 43: :

协议包 23~ 25 完成数据传输工作 协议包 23 : FTP 服务器向 FTP 客户发回文件 netstart

的 状态信息

Page 143: 计算机网络

华东理工大学计算机科学与工程系 143

协议包 25 : FTP 服务器向 FTP 客户发送的检索文件的数据包

协议分析器

i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 1→ 201. 5. 21. 25: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 20 FTP-DATA: ( ) Di st i nati on Port 7180: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) f tp - - - - - - - - - - - - - - - Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Data: 0 23 21 2F 62 69 6E 73 68 0D 2D AD 00 0A AF 12 32: 10 22 3A 22 A3 12 22 86 C2 AA 21 32 56 88 A2 1A 55: 20 11 13 56 09 55 76 0A 90 00 78 08 88 56 66 2B 00:

Packet 25 Unfi l tered 43: :

Page 144: 计算机网络

华东理工大学计算机科学与工程系 144

协议包 26 : FTP 服务器在传输数据的同时,向FTP 客户发送在文件传输结束时断开数据连接的通知协议包

协议分析器

ether - - - - - - - - - - - - - - -Ethernet Datal i nk Layer- - - - - - - - - - - - - - -: Stati on 00-00-C0-22-A1-01→ 02-60-8C-01-24-28: Type 0ⅹ 0800 I P: ( ) i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 1→ 201. 5. 21. 25: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 21: Di st i nati on Port 15432: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Repl y 226 Cl osi ng data connecti on Requested fi l e acti on: ( ; successful .)

Packet 26 Unfi l tered 44: :

Page 145: 计算机网络

华东理工大学计算机科学与工程系 145

FTP 数据传输中最后一个数据包的结构

协议分析器

tcp - - - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - - -: Source Port 20: Di sti nati on Port 7180: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) No more data f rom Sender FI N( ) Data 0 23 21 2F 62 69 6E 73 68 0D 2D AD 00 0A AF 12 32: : 10 22 3A 22 A3 12 22 86 C2 AA 21 32 56 88 A2 1A 55: 20 11 13 56 09 55 76 0A 90 00 78 08 88 56 66 2B 00: 30 23 21 2F 78 08 88 56 66 2B 00 AD 00 0A AF 12 32: 40 22 3A 22 A3 12 22 86 C2 AA 21 32 56 88 A2 1A 55: 50 78 08 88 56 66 2B 00 00 00 78 08 88 56 66 2B 00:

Packet 33 Unfi l tered 44: :

Page 146: 计算机网络

华东理工大学计算机科学与工程系 146

FTP数据传输和确认的协议包交换过程 用户模块

FTP客户机控制模块

FTP服务器控制模块

23 FTP FTP协议包 : 服务器向 客户发回将要 检索文件的状态

FTP客户

FTP服务器

FTP客户数据模块

FTP服务器数据模块

端口号:20

端口号:7180

24 FTP协议包 : 客户对检索文件的状态确认

25 FTP FTP协议包 : 服务器向 客户发送数据

26 FTP FTP协议包 : 服务器向 客户发送数据, “同时通知 数据发送结束后关闭 ”数据连接

30 FTP协议包 : 客户对传输数据的确认

32 FTP协议包 : 客户对传输数据的确认

29 FTP FTP协议包 : 服务器向 客户发送数据

27 FTP 26协议包 : 客户对包 通知的确认

31 FTP FTP协议包 : 服务器向 客户发送数据

28 FTP 25协议包 : 客户对包 传输数据的确认

33 FTP FTP协议包 : 服务器向 客户发送数据, FI N并置 标记

21端口号:控制连接

15432端口号:

Page 147: 计算机网络

华东理工大学计算机科学与工程系 147

8.8.6 FTP连接释放过程的分析 一个完美的传输连接的释放机制应该是任何一方都可以提出,但是必须双方都同意,才可以释放连接;

FTP 连接建立分为控制连接建立与数据连接建立两个阶段,因此连接释放也应包括释放控制连接与释放数据连接两个阶段;

首先应该释放数据连接,然后再释放控制连接。

Page 148: 计算机网络

华东理工大学计算机科学与工程系 148

FTP 客户做 FIN 置位的应答包

协议分析器

i p - - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→ 201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di sti nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) No More Data f rom Sender FI N( )

Packet 34 Unfi l tered 43: :

Page 149: 计算机网络

华东理工大学计算机科学与工程系 149

FTP 客户的 QUIT命令包结构

协议分析器

i p - - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di sti nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Command QUI T Logout: ( )

Packet 36 Unfi l tered 43: :

Page 150: 计算机网络

华东理工大学计算机科学与工程系 150

FTP 服务器对 QUIT命令的响应包的结构 协议分析器

i p - - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 1→ 201. 5. 21. 25: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 21: Di st i nati on Port 15432: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Repl y 221 Servi ce cl osi ng control connecti on.: ( ) Text Goodby.:

Packet 37 Unfi l tered 43: :

Page 151: 计算机网络

华东理工大学计算机科学与工程系 151

FTP 数据连接释放过程

用户模块

FTP客户控制模块

FTP服务器控制模块

33 FTP协议包 : 服务器发送最后一个数据 包,提出释放数据连接请求

34 FTP协议包 : 客户同意释放数据连接的 应答包

FTP客户

FTP服务器

21端口号:

FTP客户数据模块

FTP服务器数据模块

控制连接

FTP客户终止数据连接

FTP服务器终止数据连接

15432端口号:

端口号:21

端口号:7180

35 FTP协议包 : 服务器对应答包的确认

36 FTP FTP协议包 : 客户向 服务器发送退出 Qui t登录的 命令

37 FTP Qui t协议包 : 服务器对 命令的确认

Page 152: 计算机网络

华东理工大学计算机科学与工程系 152

FTP控制连接的释放过程

用户模块

FTP客户控制模块

FTP服务器控制模块

38 FTP FTP协议包 : 服务器向 客户发出释 放控制连接请求包

FTP客户

FTP服务器

端口号21

端口号15432 39 FTP协议包 : 客户发出释放控制连接的

ACK FIN应答包( )

40 FTP协议包 : 客户发出释放控制连接的 ACK PUSH应答包( )

41 FTP FTP协议包 : 服务器向 客户发出释放 控制连接请求包

42 FTP协议包 : 客户发出释放控制连接的 ACK FIN应答包( )

43 FTP协议包 : 客户发出释放控制连接的 ACK PUSH应答包( )

Page 153: 计算机网络

华东理工大学计算机科学与工程系 153

8.9 8.9 引导程序协议引导程序协议 8.9.1 BOOTP 的概念

引导程序协议( Bootstrap protocol, BOOTP )使一个客户工作站能够用一个最小的 IP堆栈进行初始化,并向BOOTP 服务器请求它的 IP 地址、网关地址以及名字服务器的地址。基于 UDP 的协议,一般和 TFTP 协同工作。 8.9.2 BOOTP 的报文格式

图综述了 BOOTP报文格式。

Page 154: 计算机网络

华东理工大学计算机科学与工程系 154

Page 155: 计算机网络

华东理工大学计算机科学与工程系 155

Op 1 packet op code / message type. 包操作码/消息类型1 = BOOTREQUEST(引导请求 ), 2 = BOOTREPLY(引导应答 )

Htype 1hardware address type, 硬件地址类型

see ARP section in "Assigned Numbers" RFC. 请看 "Assigned Numbers" RFC 中的 ARP章节'1' = 10mb ethernet 10M 以太网

Page 156: 计算机网络

华东理工大学计算机科学与工程系 156

Hlen 1 hardware address length 硬件地址长度

(eg '6' for 10mb ethernet). 例如 '6'是 10M以太网

Hops 1 client sets to zero, 客户端设置成 0

optionally used by gateways 在跨越网关引导时网关可选择使用in cross-gateway booting.

Page 157: 计算机网络

华东理工大学计算机科学与工程系 157

Xid 4 transaction ID, a random number,

used to match this boot request with theresponses it generates. 事务 ID ,一个随机数,用来匹配引用请求和应答

Secs 2 filled in by client, seconds elapsed since

client started trying to boot. 由客户端填写,客户端引导开始后的过去的秒数

Flag--2 unused未使用

Page 158: 计算机网络

华东理工大学计算机科学与工程系 158

Ciaddr 4 client IP address; 客户端 IP 地址,

filled in by client in bootrequest if known. 如果客户端知道就在引导请求中填入

Yiaddr 4 'your' (client) IP address;'你的 '(客户端) IP

地址filled by server if client doesn'tknow its own address (ciaddr was 0). 如果客户端不知道它的地址( ciaddr 是 0 ),服务器填入

Page 159: 计算机网络

华东理工大学计算机科学与工程系 159

Siaddr 4 server IP address; 服务器 IP 地址

returned in bootreply by server. 由服务器在引导应答返回

Giaddr 4 gateway IP address, 网关 IP 地址

used in optional cross-gateway booting. 在跨越网关引导中可以选择使用

Chaddr 16 client hardware address, 客户端硬件地址

filled in by client. 由客户端填写

Page 160: 计算机网络

华东理工大学计算机科学与工程系 160

Sname 64 optional server host name, 可选的服务器主机名

null terminated string. 空结束的字符串 File 128 boot file name, null terminated string; 引导文件名,

空结束的字符串'generic' name or null in bootrequest, 在引导请求中使用 '通用 '名称或空fully qualified directory-path 是引导应答中使用确切的目录路径名称name in bootreply.

Page 161: 计算机网络

华东理工大学计算机科学与工程系 161

Vend 64 optional vendor-specific area, 可选的卖主指定的区域,e.g. could be hardware type/serial on request, 例如,可以是请求硬件类型 /序列,or 'capability' / remote file system handle 或应答的性能 /远端文件系统句柄。 on reply. This info may be set aside for use 这些信息留给第三方分析引导或核心(程序)使用。by a third phase bootstrap or kernel.

Page 162: 计算机网络

华东理工大学计算机科学与工程系 162

8.9.3 BOOTP 的工作过程 BOOTP 过程包括如下步骤: ( 1 )客户确定它自己的硬件地址,地址一般在硬

件的 ROM 内。 ( 2) BOOTP 客户在一个 UDP数据报中把它的硬

件地址发送到服务器。 ( 3 )服务器接收数据报,并在它的配置文件中查找客户的硬件地址,这个文件包含客户的 IP 地址。

Page 163: 计算机网络

华东理工大学计算机科学与工程系 163

8.10 8.10 实时传输 实时传输 实时传输协议 (Real-Time Transport

Protocol, RTP) 和实时控制协议 (Real-

Time Control Protocol, RTCP) 用于同步多媒体应用程序和控制多媒体应用程序中的通信流。

Page 164: 计算机网络

华东理工大学计算机科学与工程系 164

8.10.1 RTP和 RTCP 协议

实时传输协议标准是由 Internet 工程任务组(Internet Engineering Task

Force, IETF) 中的音频一视频传输工作组(Audio-VideoTransport Working Group)

开发的。有关基本标准的文档见 RFC 1889

和 RFC 1890。

Page 165: 计算机网络

华东理工大学计算机科学与工程系 165

为了在一个应用程序中使用实时服务,必须实现两个协议:

( 1 )实时传输协议 (RTP) 提供了实时数据报文的传输。

( 2)RTP控制协议 (RTCP)监视提供给已有 RTP 会话的服务质量。

Page 166: 计算机网络

华东理工大学计算机科学与工程系 166

实时传输协议 (RTP): RTP实现了提供多媒体数据流同步所需的传输特征。 图表示了在一次多媒体传输中 RTP 的操作。音频数据和视频数据在从发送方传输到接收方之前先封装到 RTP报文中。

Page 167: 计算机网络

华东理工大学计算机科学与工程系 167

Page 168: 计算机网络

华东理工大学计算机科学与工程系 168

1. RTP报文头格式 RTP报文的报文头具有如下格式,如图所示。

Page 169: 计算机网络

华东理工大学计算机科学与工程系 169

V: RTP 协议的版本号,占 2 位,当前协议版本号为 2 。 P :填充标志,占 1 位,如果 P=1 ,则在该报文的尾部将填充一个或多个额外的八位组,它们不是有效载荷的一部分。

X :扩展标志,占 1 位,如果 X=1 ,则在 RTP报头后跟有一个扩展报头。

CC: CSRC 计数器,占 4 位,指示 CSRC 标识符的个数。 M: 标记,占 1 位,不同的有效载荷有不同的含义,对于视频,标记一帧的结束;对于音频,标记会话的开始。

PT: 有效载荷类型,占 7 位,用于说明 RTP报文中有效载荷的类型,如 GSM音频、 JPEM图像等。

Page 170: 计算机网络

华东理工大学计算机科学与工程系 170

序列号:占 16 位,用于标识发送者所发送的 RTP报文的序列号,每发送一个报文,序列号增 1 。接收者通过序列号来检测报文丢失情况,重新排序报文,恢复数据。

时戳 (Timestamp) :占 32 位,时戳反映了该 RTP报文的第一个八位组的采样时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。

同步信源 (SSRC)标识符:占 32 位,用于标识同步信源。该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的 SSRC。

特约信源 (CSRC)标识符:每个 CSRC标识符占 32 位,可以有 0~ 15 个。每个 CSRC标识了包含在该 RTP报文有效载荷中的所有特约信源。

Page 171: 计算机网络

华东理工大学计算机科学与工程系 171

图显示了 RTCP 发送方报告的格式。这个报告分为三个部

分.第一个部分包含报文头。第二部分包含发送方信息。

第三部分包含接收方报告块 (receiver report block)。

Page 172: 计算机网络

华东理工大学计算机科学与工程系 172

Page 173: 计算机网络

华东理工大学计算机科学与工程系 173

8.10.2 RSVP 与服务质量 综合服务模型使用资源预约协议 (Resource

Reservation Protocol, RSVP)建立和控制 QoS预约。 RSVP在 RFC2205 中定义,它是建议的标准协议。 RSVP 协议运行在 IP和 UDP 的上层,必须在预约路径上的所有路由器中加以实现。 RSVP 关键的概念在于数据流和预约。

Page 174: 计算机网络

华东理工大学计算机科学与工程系 174

小结 应用层服务主要有:电子邮件 E-mail、文件传输协

议 FTP、网络终端协议 Telnet 与 WWW 等; 应用层协议可以分为 3 种类型:一类依赖于面向连接

的 TCP 协议,一类依赖于面向连接的 UDP 协议,另一类则既依赖于 TCP 协议,也可以依赖于 UDP 协议;

Internet 域名系统采用的是层次结构, DNS 服务器的层次是与域名的层次相适应的;

WWW 服务在 Internet技术发展中有着重要的影响,它的核心技术是超文本标记语言HTML、超文本传输协议 HTTP 与超链接 hyperlink 。

RTP,BOOTP 等