第 6 章 应用层

120
计计计计计计计 计计计 1 计 6 计 计计计 计计计计 6.1 计计计DNS 计计6.2 计计 计计计 6.3 计计计计计计 TELNET 6.4 计计计 WWW 6.5 计计计计计计6.6 计计计计计计计计 DHCP 6.7 计计计计计计计SNMP 6.8 计计计计计计计计计计计 计计计计 计计计 计计计 计计计计

description

第 6 章 应用层. 教学内容 6.1 域名系统 DNS( 重点) 6.2 文件传输协议 6.3 远程终端协议 TELNET 6.4 万维网 WWW 6.5 电子邮件 ( 重点) 6.6 动态主机配置协议 DHCP 6.7 简单网络管理系统 SNMP 6.8 应用进程跨越网络的通信. 教学重点 域名系统 万维网 电子邮件. 用 户. 应 用 层. 传 输 层. 网 络 层. 数 据 链 路 层. 物 理 层. 6 应用层. 应用层协议的地位与作用 - PowerPoint PPT Presentation

Transcript of 第 6 章 应用层

Page 1: 第 6 章 应用层

计算机工程学院 伍俊明 1

第 6 章 应用层教学内容6.1 域名系统 DNS (重点)6.2 文件传输协议6.3 远程终端协议 TELNET6.4 万维网 WWW6.5 电子邮件(重点)6.6 动态主机配置协议 DHCP6.7 简单网络管理系统 SNMP6.8 应用进程跨越网络的通信

教学重点 域名系统 万维网 电子邮件

Page 2: 第 6 章 应用层

计算机工程学院 伍俊明 2

6 应用层应用层协议的地位与作用 应用层是计算机网络体系

结构中的最高层,也是唯一面向用户的一层。

应用层为用户提供常用的应用程序,并实现网络服务的各种功能。

常用的电子邮件、上网浏览等网络服务都是应用层的程序。

物 理 层

数 据 链 路 层

网 络 层

传 输 层

应 用 层

用 户用 户

Page 3: 第 6 章 应用层

计算机工程学院 伍俊明 3

6 应用层TCP/IP 体系中的应用层协议

EtherNet, Token Ring, Token Bus, FDDI, PPP/SLIP, X. 25数 据数 据

链路层链路层

网络层网络层 ICMPICMP IPIP IGMPIGMP RARPRARPARPARP

传输层传输层 TCPTCP UDPUDP

HTTPHTTP

······SMTPSMTP

FTPFTP TELNETTELNET NFSNFS

······

SNMPSNMP

DNSDNS

TFTPTFTP应用层应用层

Page 4: 第 6 章 应用层

计算机工程学院 伍俊明 4

6 应用层应用程序的实现结构 对称的对等模式

应用进程的地位和作用平等。例如:视频会议系统。 非对称的客户 / 服务器模式

客户端确定如何请求服务服务器决定何时和如何提供服务

目前应用最多的是客户 / 服务器模式。客户(一般为网络用户的主机)处于主动地位,向服务器发出各种请求。服务器(为网络上能够提供特定服务的主机)处于被动地位,根据客户的请求提供响应的服务。

Page 5: 第 6 章 应用层

计算机工程学院 伍俊明 5

6 应用层常见的客户 / 服务器模式

...

中介服务器客户端 服务器端两层结构

三层结构

多层结构

Page 6: 第 6 章 应用层

计算机工程学院 伍俊明 6

6 应用层客户 / 服务器之间使用的传输层协议 可以是 TCP 协议,可靠的面向连接的服务,适用

于长的交互过程。 可以是无连接的 UDP 协议,适用于短的交互过程。 还可以同时使用 TCP和 UDP 的服务。

客户和服务器的交互 在 INTERNET 中,客户和服务器的交互通过使用

TCP/IP 协议栈来完成。因此,客户和服务器所在的机器要求支持完全的协议栈。客户 / 服务器通过套接字访问传输层服务。

Page 7: 第 6 章 应用层

计算机工程学院 伍俊明 7

6.1 域名系统 DNS6.1.1 域名系统概述

域名系统 DNS(Domain Name System) 的产生 32 位的 IP 地址难于记忆,大家愿意使用易于记忆的符号地

址——主机名字。例如,淮工的 WWW 服务器名字www.hhit.edu.cn ,其 IP 地址 218.92.6.156 。网络本身是使用 IP 地址的,因此需要一个完成二者之间相互转换的机制。

当网络规模比较小时,每台主机只需查找指定的文件( UNIX的 hosts),就找出主机名字与 IP 地址的对应关系。

当网络规模很大时,上述方法开销大,效率低,管理难,因此研制了域名系统 DNS( Domain Name System )来解决这种问题。

Page 8: 第 6 章 应用层

计算机工程学院 伍俊明 8

6.1 域名系统 DNS

DNS 概述 DNS 被设计成一个联机分布式数据库系统,并采用客

户 / 服务器模式;大多数名字在本地解析,仅少量解析需在因特网上通信,因此效率很高。

域名系统是一个多层次的、基于域的命名树系统,并使用分布式数据库实现这种命名机制;

域名解析是由若干个域名服务器程序完成的,它在专门的结点上运行的,这样的计算机称为域名服务器。

便于网络管理和维护,当主机的 IP 地址变化时,域名可以保持不变。

IP 地址与域名地址是一对多的关系:一个 IP 地址可对应多个域名。

Page 9: 第 6 章 应用层

计算机工程学院 伍俊明 9

6.1 域名系统 DNS

域名解析的基本过程 当应用程序需要解析域名时(从符号名到 IP 地址),

它成为域名系统的一个客户。它以 UDP 包格式向本地域名服务器发出解析请求,并将待解析的域名放在请求报文中。本地域名服务器找到域名后,将对应的IP 地址放在回答报文中返回,应用进程获得目的主机的 IP 地址后即可进行通信。

若本地域名服务器无法完成域名解析,它临时变成DNS 中的另一个客户,并向其它域名服务器发出查询请求,直到该域名解析完成。

Page 10: 第 6 章 应用层

计算机工程学院 伍俊明 10

6.1 域名系统 DNS6.1.2 因特网的域名结构

因特网现在采用层次树状结构的命名方法因特网上任何一个主机 / 路由器都有一个唯一的层次结构的名字——域名。域名结构:由主机名以及由低级到顶级各级域名用点分隔面成,如 www.hhit.edu.cn

主机名 . … . 三级域名 . 二级域名 . 顶级域名域是名字空间中的一个可被管理的划分,域还可以继续划分为子域,如二级域、三级域等。从高到低依次是根、顶级域名、二级域名、三级域名。域名整体最长 255 个字符,每级域名最长 63 个字符。

Page 11: 第 6 章 应用层

计算机工程学院 伍俊明 11

6.1 域名系统 DNS顶级域名已超过 265 个,可分为三大类: 国家顶级域名 nTLD ,如 .cn, .us, .uk 等 通用顶级域名 gTLD ,如 .com, .net, .org, .gov

基础结构域名:只有一个,即 arpa ,用于反向域名解析

我国把二级域名分为类别域名和行政区域名 类别域名: .ac, .com, .edu, .gov 行政区域名: .bj, .js

Page 12: 第 6 章 应用层

计算机工程学院 伍俊明 12

6.1 域名系统 DNSInternet 被分成了几百个顶层域,顶层域中分成三大类:通用顶级域名即组织结构 (3 个字符 ) 、国家顶级域名即地理结构 (2 个字符 ) 和国际顶级域名。每个域对它下面的子域和机器进行管理。我国将二级域名划分为“类别域名”和“行政区域名”两大类。

几乎所有的美国组织都处于一般域中,非美国组织都列在自己所在国家的域下。

域名 含义 域名 国家 com 商业部门 j p 日本 edu 教育部门 de 德国 net 大型网络 ca 加拿大 mi l 军事部门 uk 英国 gov 政府部门 au 澳大利亚 org 组织机构 cn 中国

Page 13: 第 6 章 应用层

计算机工程学院 伍俊明 13

6.1 域名系统 DNS

tsinghuapku

cn edujp comorg ...ukca ...

ROOTROOT

edu comorg ... mit cmu...

zju

ee emcs ...

mail www

www cs

ftp

顶层顶层

第二层第二层

第三层第三层

第四层第四层

第五层第五层

Page 14: 第 6 章 应用层

计算机工程学院 伍俊明 14

6.1 域名系统 DNS区域的权威代表网络信息中心 NIC ,它对域名的管理职能包括: 申请和分配 IP 地址 提供域名注册服务 提供域名 / 地址解析服务( DNS 服务) 与上级管理域和其他域共同维护 DNS 信息

主要的 NIC 机构有 国外: InterNIC( 北美及其地区 ), RIPENIC( 欧洲 ), APNIC( 亚洲 )

国内: CNNIC, CerNIC

Page 15: 第 6 章 应用层

计算机工程学院 伍俊明 15

6.1 域名系统 DNS6.1.3 域名服务器

一个服务器所负责管辖的(或有权限的)范围叫做区 (zone) 。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到 IP 地址的映射。DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。

Page 16: 第 6 章 应用层

计算机工程学院 伍俊明 16

6.1 域名系统 DNS区的不同划分方法举例

域 abc.com

区abc.com

abc

x

u v w t

y

(a) 区 = 域 (b) 区 < 域

域 abc.com

区abc.com

区y.abc.com

abc

x

u v w t

y

com eduorg

com eduorg

Page 17: 第 6 章 应用层

计算机工程学院 伍俊明 17

6.1 域名系统 DNS树状结构的域名服务器

根域名服务器根域名服务器

org 域名服务器org 域名服务器 com 域名服务器com 域名服务器 edu 域名服务器 …

y.abc.com域名服务器y.abc.com域名服务器

abc 公司有两个权限域名服务器权限域名服务器

根域名服务器

顶级域名服务器

abc.com域名服务器

abc.com域名服务器

Page 18: 第 6 章 应用层

计算机工程学院 伍俊明 18

6.1 域名系统 DNS域名服务器有四种类型:根域名服务器 ,顶级域名服务器,权限域名服务器 ,本地域名服务器

( 1 )根域名服务器:是最高层次、最重要的的域名服务器,全球共 13 套根域名服务器装置,分别叫 a~m.rootservers.net 。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。任何本地域名服务器,若自己无法解析因特网上某一个域名时,就首先求助于根域名服务器。

( 2 )顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名。当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的 IP 地址)。

Page 19: 第 6 章 应用层

计算机工程学院 伍俊明 19

6.1 域名系统 DNS( 3 )权限域名服务器:负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器。

( 4 )本地域名服务器:当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。每一个因特网服务提供者 ISP ,一个大学,甚至一个系,都可以拥有一个本地域名服务器,这种域名服务器有时也称为默认域名服务器。

Page 20: 第 6 章 应用层

计算机工程学院 伍俊明 20

6.1 域名系统 DNS例:根域名服务器 f 的地点分布图

• 根域名服务器并不直接把域名直接转换成 IP 地址。• 在使用迭代查询时,根域名服务器把下一步应当找的顶级域名服务器的 IP 地址告诉本地域名服务器。

共 40 个机器

Page 21: 第 6 章 应用层

计算机工程学院 伍俊明 21

6.1 域名系统 DNS提高域名服务器的可靠性 DNS 域名服务器都把数据复制到几个域名服务器来保存,

其中的一个是主域名服务器,其他的是辅助域名服务器。 当主域名服务器出故障时,辅助域名服务器可以保证 DNS

的查询工作不会中断。 主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。

Page 22: 第 6 章 应用层

计算机工程学院 伍俊明 22

6.1 域名系统 DNS

cs.tsinghua.edu.cn

tsinghua.edu.cn

edu.cnPrimaryPrimary SecondarySecondary

PrimaryPrimary

SecondarySecondaryPrimaryPrimary

SecondarySecondary

ROOTROOT

Page 23: 第 6 章 应用层

计算机工程学院 伍俊明 23

6.1 域名系统 DNS域名的递归解析 (Recursive resolution) :一次域名服务请求即可自动完成域名 /IP 地址之间的转换,由 DNS 服务器软件连锁完成,不适于频繁的域名解析应用。

本地 DNS服务器

本地 DNS服务器

本地主机 sun.cs.tsinghua.edu.cn

应用程序 解析器

根 DNS服务器根 DNS服务器远程二级

DNS 服务器远程二级

DNS 服务器远程三级

DNS 服务器远程三级

DNS 服务器

请求域名解析ftp.cs.mit.edu

管辖 edu.cn

返回解析结果 管辖 mit.edu

管辖 cs.mit.edu保存了 ftp.cs.mit.edu的 IP 地址

Page 24: 第 6 章 应用层

计算机工程学院 伍俊明 24

6.1 域名系统 DNS域名的迭代解析:(需要向不同 DNS 服务器依次发送请求,加重本地 DNS 服务器的负担,但减轻了根域名服务器的负担)

远程二级DNS 服务器远程二级

DNS 服务器

本地 DNS服务器

本地 DNS服务器

本地主机 sun.cs.tsinghua.edu.cn

应用程序 解析器

根 DNS服务器根 DNS服务器

远程三级DNS 服务器远程三级

DNS 服务器

请求域名解析ftp.cs.mit.edu 管辖 edu.cn

返回解析结果

管辖 mit.edu管辖 cs.mit.edu保存了 ftp.cs.mit.edu的 IP 地址

不能解析,告知下一个 DNS

不能解析,告知下

一个 DNS

Page 25: 第 6 章 应用层

计算机工程学院 伍俊明 25

6.1 域名系统 DNS域名解析算法 开 始

结 束

构造 DNS 报文

发往指定服务器

从数据库中取出相应的地址

将结果返回求解方给出可用的服务器地址 递归求解

可以解析

解析方式?

YESNO

递归反复

求解方完成服务器完成

Page 26: 第 6 章 应用层

计算机工程学院 伍俊明 26

6.2 文件传送协议6.2.1 文件传送协议 FTP ( File Transfer Protocol)

文件传送协议 FTP 是 Internet 上使用最广泛的文件传送协议。通过该协议,用户可以从一个 Internet 主机向另一个 Internet 主机拷贝文件。文件共享是另一类联机访问,允许多个程序同时对一个文件进行存取,它是由操作系统提供对远地共享文件进行访问的服务,如同访问本地文件一样,实现透明存取。FTP 也是一个客户机 / 服务器系统。 用户通过一个支持 FTP 协议的客户机程序,连接到在远程主机上的 FTP 服务器程序。

用户通过客户机程序向服务器程序发出命令,服务器程序执行用户发出的命令,并将执行的结果返回给客户。

例如,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。

Page 27: 第 6 章 应用层

计算机工程学院 伍俊明 27

6.2 文件传送协议文件传输的概念有两个层次: 本地操作:硬盘、 U 盘、光盘软盘之间的文件传输。 远程操作:本地主机和远程主机之间的文件传输。

文件传输协议 File Transfer Protocol (FTP) 功能 在计算机之间实现文件的上载( Upload )和下载( Download),即复制

FTP 协议标准是 RFC959。FTP 的工作模式 客户 / 服务器模式:只有运行了 FTP 服务程序的计算

机才支持 FTP 服务,成为 FTP 服务器。

Page 28: 第 6 章 应用层

计算机工程学院 伍俊明 28

6.2 文件传送协议FTP 的操作流程 登录:客户机向 FTP 服务器登录,存在两种方式:

匿名登录用 anonymous 为用户名,以用户自己的电子邮件地址为口令。非匿名登录需要从 FTP 服务器申请得到用户名和口令。

浏览和下载 退出

file transferFTP

server

FTPuser

interface

FTPclient

local filesystem

remote filesystem

user at

host

Page 29: 第 6 章 应用层

计算机工程学院 伍俊明 29

6.2 文件传送协议FTP 服务器的功能:一个主进程,若干个从属进程 接收并执行客户程序发送过来的指令,与客户程序建立 TCP 连接。 根据用户指令操作,将文件传送给客户程序或从客户程序接收文件,

并将操作结果返回。FTP 客户机的功能 接收用户从键盘输入的命令,并里利用 TCP 连接将用户指令发送给

远端的 FTP 服务器。 接收远端的 FTP 服务器发来的消息,显示在本地屏幕上。 根据不同的命令,或读取本地文件并传送给服务程序,或接收从服

务器传送来的文件。采用交互式处理方式;采用 Web 方式。采用双重连接: 控制连接: Server 端口 21 ,负责传输命令; 数据连接: Server 端口 20 ,负责传输数据;首先进行控制连接 ; 若有传输命令先行传送,再进行数据连接 ; 一旦传输完毕,则释放数据连接,并且继续使用控制连接;

Page 30: 第 6 章 应用层

计算机工程学院 伍俊明 30

6.2 文件传送协议主进程工作流程 打开熟知端口(端口号为 21 ),使客户进程能

够连接上。 等待客户进程发出连接请求。 启动从属进程来处理客户进程发来的请求。从属

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

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

Page 31: 第 6 章 应用层

计算机工程学院 伍俊明 31

6.2 文件传送协议两个连接 控制连接在整个会话期间一直保持打开, FTP 客

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

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

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

Page 32: 第 6 章 应用层

计算机工程学院 伍俊明 32

6.2 文件传送协议两个端口 当客户进程向服务器进程发出建立连接请求

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

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

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

Page 33: 第 6 章 应用层

计算机工程学院 伍俊明 33

6.2 文件传送协议FTP 的连接方式

FTP 命令 文件传输命令: get/put, mget/mput 文件管理命令: ls, pwd, mkdir/rmdir, rename, rm 控制命令: ascii/binary

UserInterface

Client

FTPClientProtocolDatatransferProtocol

User

FS

Server

FTPServer

ProtocolData

transferProtocol FS

Port5122

Port5137

Port21

Port20

控制连接

数据连接

Page 34: 第 6 章 应用层

计算机工程学院 伍俊明 34

6.2 文件传送协议FTP 常用命令举例C:> ftp 166.111.4.80 username: anonymous password: *******ftp> lsftp>binary( 8 位,二进制码)ftp>ascii( 7 位,文本编码)ftp>get a.htmlftp>mget *.htmlftp>cd one-dirftp>put a.htmlftp>mput *.html ftp> quit

Page 35: 第 6 章 应用层

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 (126.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 36: 第 6 章 应用层

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 (126.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 37: 第 6 章 应用层

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 (126.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 38: 第 6 章 应用层

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 (126.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 39: 第 6 章 应用层

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 (126.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 40: 第 6 章 应用层

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 (126.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 41: 第 6 章 应用层

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 (126.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 42: 第 6 章 应用层

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 (126.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 43: 第 6 章 应用层

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 (126.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 44: 第 6 章 应用层

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 (126.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 45: 第 6 章 应用层

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 (126.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 46: 第 6 章 应用层

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 (126.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 47: 第 6 章 应用层

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 (126.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 48: 第 6 章 应用层

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 (126.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 49: 第 6 章 应用层

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 (126.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 50: 第 6 章 应用层

计算机工程学院 伍俊明 50

6.2 文件传送协议6.2.3 TFTP—— 简单文件传送协议

TFTP 可用于 UDP 环境。每次传送的数据 PDU 中有 512 字节的数据,但最后一次可以不足 512 字节。所占的内存较小。支持 ASCII 码或二进制传送。可对文件读或写。使用较简单的首部。

Page 51: 第 6 章 应用层

计算机工程学院 伍俊明 51

6.2 文件传送协议TFTP 可用于小型的计算机或设备。这些设备不配备硬盘时,只要固化了 TFTP, UDP和 IP 的小容量只读存储器即可。接通电源时,执行这些代码,在网络上广播一个TFTP 请求,网络上的 TFTP 服务器就可以发送响应,设备将收到的文件放入内存,然后运行程序。TFTP 的工作方式很像停等协议:发送完一个文件块后就等待对方确认,确认时应指明所确认的块号。发完数据后在规定的时间内收不到确认就要重发 PDU。TFTP 的服务器启动后就在 69 号端口侦听,以接受 TFTP客户的读 / 写请求,以及时提供服务。

Page 52: 第 6 章 应用层

计算机工程学院 伍俊明 52

6.2 文件传送协议6.2.4 网络文件系统 NFS

(选) NFS 允许应用进程打开一个远地文件,并能够在该文件的某一个特定的位置上读写数据。NFS 允许用户只复制一个大文件中的一个很小的数据片段,而不需要复制整个文件。 NFS 客户软件只需将要添加的数据和在文件后面写数据的请求一起发送给 NFS 服务器,由服务器完成更新后返回应答信息。因此,可以在网络上只传送较小的修改数据。

应用进程

操作系统内核

本地文

件系统

NFS

客户

本地磁盘 到 NFS 服务器的 Internet 连接

Page 53: 第 6 章 应用层

计算机工程学院 伍俊明 53

6.3 远程终端协议 TELNETTelnet 是一个执行远程登录的工具,其目的上让用户从本地计算机登录进入远程计算机,使用远程计算机的资源。在网络上的应用程序多半是采用 Client/Server 模式,其标准是RFC854 。在用户需要登录的远程系统上必须运行 Telnet 服务程序,在用户的本地机上需要安装 Telnet 客户程序。客户机只有拥有了远程计算机的用户名和口令才可以对远程计算机进行登录访问,即只有非匿名登录。远程登录时,用户通过本地计算机的终端或者键盘将命令输入到客户程序中,客户程序会通过 TCP 连接(端口号为 23 )将命令发送到远程计算机中,由服务程序进行接收。远地主机上服务程序按照客户的命令自动执行处理,并将结果通过 TCP连接返回到客户机,由客户程序接收并显示在屏幕上。

Page 54: 第 6 章 应用层

计算机工程学院 伍俊明 54

6.3 远程终端协议 TELNET

Telnetclient

Terminaldriver TCP/IP

kernel

Telnetserver

Pseudo-terminaldriver

TCP/IP

kernel

Port=23

loginshell

terminal

TCP 连接

• Telnet 的客户 / 服务器结构

Page 55: 第 6 章 应用层

计算机工程学院 伍俊明 55

6.3 远程终端协议 TELNETTELNET 使用网络虚拟终端 NVT 格式 客户软件把用户的击键和命令转换成 NVT 格式,并送交服务器。 服务器软件把收到的数据和命令,从 NVT 格式转换成远地系统所需

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

地客户再从 NVT 格式转换到本地系统所需的格式。因特网

TCP 连接

客户端 服务器端

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

客户客户 服务器服务器

Page 56: 第 6 章 应用层

计算机工程学院 伍俊明 56

6.4 电子邮件6.4.1 电子邮件概述

电子邮件是因特网上使用最广泛的应用之一,它将邮件发送到 ISP 的邮件服务器,并存放在收信人的邮箱中,收信人随时上网到 ISP 的邮件服务器上读取邮件。1982年, ARPANET 制定出简单电子邮件协议SMTP( RFC821 传输协议) 和电子邮件格式( RFC822 ),成为电子邮件的标准。 1984年 CCITT 提出了报文处理系统MHS 的标准,即 X.400 建议。 1993年因特网组织又提出了通用因特网邮件扩充MIME草案,可支持多种类型数据的传送。发送邮件的协议: SMTP

读取邮件的协议: POP3 和 IMAP

Page 57: 第 6 章 应用层

计算机工程学院 伍俊明 57

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

发送方

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

用户代理

SMTP

SMTPPOP3

发送端邮件服务器

用户代理

用户邮箱接收方( 发送邮件 )

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

因特网

SMTP POP3

发送邮件

发送邮件 SMTP

读取邮件

TCP连接

TCP连接

发送方邮件服务器

SMTP客户

POP3客户

发件人用户代理

接收方邮件服务器

SMTP服务器

POP3服务器

SMTP服务器

SMTP客户

收件人用户代理

TCP 连接

Page 58: 第 6 章 应用层

计算机工程学院 伍俊明 58

6.4 电子邮件电子邮件系统有三个主要组成构件:用户代理、邮件服务器,和电子邮件协议,如 SMTP和 POP3 (或 IMAP)。

用户代理:是用户与电子邮件系统的接口,一般为用记主机上的用户进程,允许用户撰写、显示和处理和通信;

邮件服务器:发送和接收电子邮件,向发信人汇报邮件传送情况, 邮件服务器按照客户 / 服务器方式工作,需要使用发送和读取邮件两

个协议;在一次邮件传输中,邮件服务器既可作为服务器,同时又可作为客户。

useragent

sender’s mail server

useragent

SMTP SMTP POP3/IMAP

receiver’s mail server

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

Page 59: 第 6 章 应用层

计算机工程学院 伍俊明 59

6.4 电子邮件收发电子邮件的重要步骤

发件人调用 PC 机中的用户代理撰写和编辑要发送的邮件。 发件人的用户代理把邮件用 SMTP 协议发给发送方邮件服务器 SMTP 服务器把邮件临时存放在邮件缓存队列中,等待发送。 发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP

服务器建立 TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去。

运行在接收方邮件服务器中的 SMTP 服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。

收件人在打算收信时,就运行 PC 机中的用户代理,使用 POP3 (或 IMAP )协议读取发送给自己的邮件。请注意, POP3 服务器和 POP3 客户之间的通信是由 POP3 客户发起的。

Page 60: 第 6 章 应用层

计算机工程学院 伍俊明 60

6.4 电子邮件电子邮件系统提供的五大基本功能 成文:指创建消息或回答消息的过程; 传输:指将消息从发送者传送至接收者; 报告:将消息的发送情况报告给消息发送者; 显示:使用相应的工具软件将收到的消息显示给接收者 处理:接收者对接收到的消息进行处理,存储 /丢弃 /

转发等等。其它高级功能 自动转发、自动回复; mailbox ,创建邮箱存储邮件; mailing list; 抄送( cc)、高优先级、加密。

Page 61: 第 6 章 应用层

计算机工程学院 伍俊明 61

6.4 电子邮件电子邮件的组成 信封:接收方的信息,如名字、邮件地址、邮件的优先级和安全级别; 信件内容:由信头和信体组成,信头包含了用户代理所需的控制信息,

信体是真正的内容。TCP/IP 体系中电子邮件的格式: 收信人邮箱名 @ 邮箱所在主机的域名,例: [email protected]

用户代理 邮件传输代理

编辑 封装邮件服务器Mail Server

邮件主机Mail Host

发信方

编辑 封装 邮件服务器Mail Server

邮件主机Mail Host收信方

message envelope( address)

collecting

寻址路由

邮件中继主机Relay Host

Page 62: 第 6 章 应用层

计算机工程学院 伍俊明 62

6.4 电子邮件6.3.2 简单邮件传送协议 SMTP

SMTP 负责在源和目的邮件主机 (Mail Host) 之间进行基于 TCP 连接的邮件传输,占用 TCP 的 25 号端口。SMTP 采用客户 / 服务器模式: SMTP 客户进程负责发送邮件, SMTP服务器进程负责接收邮件。SMTP 规定了 14 条命令和 21 种应答信息,每条命令由 4 个字母组成,每一种应答信息一般只有一行,由一个 3 位数开始。SMTP 通信分三个阶段 建立连接: SMTP 客户进程每隔一定时间对发信人的邮件缓存进行扫描,使用 TCP 之 25 端口与目的主机的 SMTP 服务器建立连接。如在一定时间内无法连接,则退回邮件;

邮件传送:完成邮件的传送 释放连接:源邮件主机请求断链,目的邮件主机回送确认。

Page 63: 第 6 章 应用层

计算机工程学院 伍俊明 63

6.4 电子邮件SMTP 的通信过程举例

Mail Sender: mail.tsinghua.edu.cn Mail Receiver: mail.pku.edu.cn

←220 SMTP service readyHELO→

←250 OKMAIL FROM: mail.tisnghua.edu.cn→

←250 mail acceptedRCPT TO: mail.pku.eud.c

n→←250 Receipient accepted

DATA→←354 start mail input,end with .

→→←250 OK

QUIT→←221 services closing channel

Page 64: 第 6 章 应用层

计算机工程学院 伍俊明 64

6.4 电子邮件6.4.3 电子邮件的信息格式

电子邮件由信封和内容两大部分组成, RFC 822 只规定了邮件内容的首部格式,而对邮件的主体部分则让用户自由撰写。邮件首部中的一些关键字 To :指明一个或多个收信人的电子邮件地址; Subject :指明邮件的主题; Cc :抄送 / 复写副本到指定的电子邮箱中; Bcc :暗送副本到指定的电子邮箱中; From :发信人的电子邮件地址; Date :发信日期; Reply-To :指明接收方回信所用的电子邮件地址,可与发送时的邮箱不同

Page 65: 第 6 章 应用层

计算机工程学院 伍俊明 65

6.4 电子邮件6.4.4 邮件读取协议 POP3和 IMAP

邮局协议 POP 采用客户 / 服务器方式,在接收邮件的用户主机上运行 POP 客户进程,

连接邮件服务器上运行的 POP 服务器进程(当然该服务器还必须运行SMTP 服务器进程,以便接收邮件),将邮箱中的信件取回本地;

POP3 支持用户登录、读取信息、删除信息和退出功能。因特网报文存取协议 IMAP 采用客户 / 服务器方式,在接收方的主机上运行 IMAP 客户进程,与邮

件服务器上运行的 IMAP 服务器进程建立 TCP 连接,使用户像在本地一样操纵服务器上的邮箱,如实现邮箱的分类、分层次管理,将邮件在多个文件夹之间移动;

IMAP 在用户打开文件时才将邮件复制到用户的主机上,否则邮件一直存放在 IMAP 服务器上。

加密电子邮件协议: PGP和 PEM

Page 66: 第 6 章 应用层

计算机工程学院 伍俊明 66

6.4 电子邮件基于万维网的电子邮件 电子邮件从 A 发送到网易邮件服务器是使用 HTTP 协议。 两个邮件服务器之间的传送使用 SMTP 。 邮件从新浪邮件服务器传送到 B 是使用 HTTP 协议。

HTTPHTTPA B

SMTP

网易邮件服务器mail.163.com

新浪邮件服务器mail.sina.com.cn

Page 67: 第 6 章 应用层

计算机工程学院 伍俊明 67

6.4 电子邮件6.4.5 通用因特网邮件扩充MIME 多用途 Internet 邮件扩展MIME 的特点:

邮件信息采用 8 位数据编码,可以接收用户的非 ASCII 码,并将它转换为 7 位的 ASCII 码通过 SMTP 进行传送;也可以将 7 位的ASCII 码转换为非 ASCII 码提交用户;支持中文的电子邮件收发 ( 中文 16 位编码,不丢失最高位 ) 。支持多媒体电子邮件通信 ( 信体中可包含多个不同格式的数据体 ) 。

MIME 主要包括三部分内容5 个新的邮件首部字段,提供有关邮件主体的信息;定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化;定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。

Page 68: 第 6 章 应用层

计算机工程学院 伍俊明 68

6.4 电子邮件MIME 和 SMTP 的关系

非 ASCII 码

7 位 ASCII 码

MIMEMIME

SMTPSMTP

MIMEMIME

SMTPSMTP

7 位 ASCII 码

7 位 ASCII 码

非 ASCII 码

用户用户 用户用户

Page 69: 第 6 章 应用层

计算机工程学院 伍俊明 69

6.4 电子邮件MIME 新增加的 5 个邮件首部字段 MIME-Version :标志MIME 有版本号,目前为 1.0 ; Content-Description :以可读字符串方式说明此邮件是什么; Content-Id :邮件的唯一标识符; Content-Transfer-Encoding :在传送时邮件的主体如何编码;

7 位的 ASCII 码Quoted-printable编码:适用于传送的数据中只有少量非 ASCII 码Base64编码:将二进制代码划分为一个 24 位长的单元,然后每个单元划分为 4 个 6 位组,每个 6 位组转换为 ASCII 码进行传送

Content-type :说明邮件的性质Text :正文文本;Image: gif/jpeg 等静止图像;Audio :可听见的声音数据;Video:mpeg 格式的影片。Application :不间断的字节序列等;Message :报文;Multipart :支持 mixed、 alternative、 parallel、 digest 四各子类型

Page 70: 第 6 章 应用层

计算机工程学院 伍俊明 70

6.5 万维网 WWW6.5.1 WWW 概述

万维网 WWW 是一个大规模的联机式信息储藏所,可通过链接的方式从一个站点跳到另一个站点。WWW 是由欧洲高能物理实验室 CERN 于 1989年 3月提出来的,后被浏览器所支持。WWW 是一个分布式的超媒体系统,是超文本系统的扩充。WWW 采用的是客户 / 服务器结构,整理和储存各种 WWW资源,并响应客户端软件的请求,把客户所需的 WWW 文档以网页的方式传送到 Windows 、 UNIX 或 Linux 等平台上。WWW 上的各种文档是使用统一资源定位符 URL( Uniform Resource Locator )来标识的,文档的传输采用超文本传送协议 HTTP( HyperText Transfer Protocol)。

Page 71: 第 6 章 应用层

计算机工程学院 伍俊明 71

6.5 万维网 WWW万维网提供分布式服务

万维网站点 A

万维网站点 C

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

万维网站点 B

链接到

链接

到链接到 链接到链接到

链接到

①② ④

Page 72: 第 6 章 应用层

计算机工程学院 伍俊明 72

6.5 万维网 WWW相关术语 超文本 Hypertext

概念:一种非顺序的文本结构,将相关信息资源用指针连接。与普通文本区别:非顺序,跳跃式,信息资源分布广泛一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础

超媒体 Hypermedia媒体 Media :信息的表现形式多媒体 Multimedia :文本、声音、图像、视频动画超媒体 HyperMedia :超文本+多媒体

超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。

Page 73: 第 6 章 应用层

计算机工程学院 伍俊明 73

6.5 万维网 WWW万维网的工作方式 万维网以客户服务器方式工作。 浏览器就是在用户计算机上的万维网客户程序。

万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。

客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。

在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。

Page 74: 第 6 章 应用层

计算机工程学院 伍俊明 74

6.5 万维网 WWW万维网必须解决的问题(1) 怎样标志分布在整个因特网上的万维网文档?

使用统一资源定位符 URL (Uniform Resource Locator) 来标志万维网上的各种文档。使每一个文档在整个因特网的范围内具有惟一的标识符 URL 。

(2) 用何协议实现万维网上各种超链的链接?在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。

Page 75: 第 6 章 应用层

计算机工程学院 伍俊明 75

6.5 万维网 WWW万维网必须解决的问题

(3) 怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链? 超文本标记语言 HTML (HyperText Markup

Language) 使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。

客户端运行浏览器,可以按标准显示出各个网页。(4) 怎样使用户能够很方便地找到所需的信息?

为了在万维网上方便地查找信息,用户可使用各种的搜索工具(即搜索引擎)。

Page 76: 第 6 章 应用层

计算机工程学院 伍俊明 76

6.5 万维网 WWW6.5.2 统一资源定位符 URL

URL 格式 统一资源定位符 URL 是对可从因特网上得到的资源的位置和

访问方法的一种简洁的表示。 资源:在因特网上可得到的任何对象,包括文件目录、文件、

文档、图像、声音、视频等。 URL 的格式<URL 的访问方式 >://< 主机 >:< 端口 >/ < 路径 >

使用 FTP的 URL 举例: ftp://rtfm.mit.edu使用 HTTP的 URL 举例: http://www.tsinghua.edu.cn:80/chn/yxsz/index.htm

通用资源标识符 URI :包括了 URL 和统一资源名字 URN ,可视为广义的 URL。

Page 77: 第 6 章 应用层

计算机工程学院 伍俊明 77

6.5 万维网 WWW6.5.3 超文本传送协议 HTTP

HTTP 是面向事务的应用层协议,它是 WWW 上能够可靠地交换各种媒体信息的重要基础。

HTTP 请求和响应报文都由三部分组成:开始行、首部行和实体主体组成。

服务器www.cctv.com

客户

HTTP

HTTP 使用此 TCP 连接因特网

浏览器程序

服务器程序

链接到 URL 的超链接

Page 78: 第 6 章 应用层

计算机工程学院 伍俊明 78

6.5 万维网 WWW万维网的工作过程

因特网

服务器www.tsinghua.edu.cn链接到 URL 的超链

HTTP 使用此 TCP 连接

浏览器 程序

服务器 程序HTTP

客户清华大学院系设置

建立 TCP 连接

释放 TCP 连接

HTTP 响应报文② 响应文档

HTTP 请求报文① 请求文档

Page 79: 第 6 章 应用层

计算机工程学院 伍俊明 79

6.5 万维网 WWWWWW 的工作原理:客户 / 服务器工作模式 客户方启动浏览器 客户在浏览器的地址栏键入 URL ,或点击超链接 浏览器分析超链接 : http://www.tsinghua.edu.cn /chn/yxsz/index.htm 浏览器向 DNS 请求解析 www.tsinghua.edu.cn的 IP 地

址。 域名系统 DNS 解析出清华大学服务器的 IP 地址。浏览器得到

信息资源所在主机地址 与该主机(服务器)建立 TCP 连接(端口号 80 ) 向该主机发出取文件命令GET/chn/yxsz/index.htm ,要求获得该页面

服务器给出响应,通过 TCP 连接把页面 index.htm 给浏览器。 撤销 TCP 连接 浏览器在本机显示所得的页面,“清华大学院系设置”文件

index.htm 中的所有文本。

Page 80: 第 6 章 应用层

计算机工程学院 伍俊明 80

6.5 万维网 WWWHTTP 的主要特点 HTTP 是面向事务的客户服务器协议。 HTTP 1.0 协议是无状态的 (stateless)。 HTTP 协议本身也是无连接的,虽然它使用了面向

连接的 TCP 向上提供的服务。 万维网浏览器就是一个 HTTP 客户,而在万维网

服务器等待 HTTP 请求的进程常称为 HTTP daemon ,有的文献将它缩写为 HTTPD。

HTTP daemon 在收到 HTTP 客户的请求后,把所需的文件返回给 HTTP 客户。

Page 81: 第 6 章 应用层

计算机工程学院 伍俊明 81

6.5 万维网 WWW万维网高速缓存 万维网高速缓存代表浏览器发出 HTTP 请求,因此又称为代理服务器

(proxy server)。 万维网高速缓存将最近的一些请求和响应暂存于本地磁盘中,以减少对远

程服务器的访问。 带高速缓存的校园网环境下的浏览过程

浏览器访问因特网服务时,先与校园网的高速缓存建立 TCP 连接,并向高速缓存发出 HTTP 请求;若高速缓存中已存放了客户所请求对象,则将此对象放入 HTTP 响应报文中,返回给客户浏览器;若高速缓存中不存在客户所请求对象,则高速缓存代表客户浏览器,与因特网上的源点服务器建立 TCP 连接,并发出 HTTP 请求报文;源点服务器将所请求的对象放入 HTTP 响应报文,并返回给校园网高速缓存;高速缓存接收到此对象后,将其复制到本地存储器中,然后将该对象放入 HTTP 响应报文中,通过已建立的 HTTP 连接,返回给客户浏览器。

Page 82: 第 6 章 应用层

计算机工程学院 伍俊明 82

6.5 万维网 WWW使用高速缓存可减少访问因特网服务器的时延

校园网

源点服务器

2 Mb/s因特网

浏览器 R1 R2

这条链路上的时延很大

没有使用高速缓存的情况

所有万维网通信量都经过这条链路

Page 83: 第 6 章 应用层

计算机工程学院 伍俊明 83

6.5 万维网 WWW使用高速缓存的情况

校园网

校园网的高速缓存(代理服务器)

源点服务器

2 Mb/s 因特网浏览器 R1 R2

(1) 浏览器访问因特网的服务器时,要先与校园网的高速缓存建立 TCP 连接,并向高速缓存发出 HTTP 请求报文

Page 84: 第 6 章 应用层

计算机工程学院 伍俊明 84

6.5 万维网 WWW使用高速缓存的情况

(2) 若高速缓存已经存放了所请求的对象,则将此对象放入 HTTP 响应报文中返回给浏览器。

校园网

校园网的高速缓存(代理服务器)

源点服务器

2 Mb/s 因特网浏览器 R1 R2

Page 85: 第 6 章 应用层

计算机工程学院 伍俊明 85

6.5 万维网 WWW使用高速缓存的情况

(3) 否则,高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文。

校园网

校园网的高速缓存(代理服务器)

源点服务器

2 Mb/s 因特网浏览器 R1 R2

Page 86: 第 6 章 应用层

计算机工程学院 伍俊明 86

6.5 万维网 WWW使用高速缓存的情况

(4) 源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的高速缓存。

校园网

校园网的高速缓存(代理服务器)

源点服务器

2 Mb/s 因特网浏览器 R1 R2

Page 87: 第 6 章 应用层

计算机工程学院 伍俊明 87

6.5 万维网 WWW使用高速缓存的情况

(5) 高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在 HTTP 响应报文中,通过已建立的 TCP 连接,返回给请求该对象的浏览器。

校园网

校园网的高速缓存(代理服务器)

源点服务器

2 Mb/s因特网

浏览器 R1 R2

Page 88: 第 6 章 应用层

计算机工程学院 伍俊明 88

6.5 万维网 WWW6.5.4 超文本标记语言 HTML

HTML 是为WWW 服务器信息资源制作和客户浏览器信息屏幕呈现而约定的一种具有超文本形式的格式化语言。 信息制作者用 HTML 定义文本的编排格式,定义相关信息的超文本、超媒体链接指针。

每个 WWW 服务器所包含的信息资源都可以看作是用HTML 格式书写的文档(页面)。

浏览器读取服务器的信息资源,按照 HTML语言定义的格式呈现信息,便于用户浏览。

HTML 定义了许多用于排版的命令——标签( tag)主页 Home Page :每个 WWW 服务器为自己所包含的信息而建立的一个具有封面和目录效果的一页 HTML 文档;它点明信息资源的主题,列出所含信息的子标题, 反映信息内容的层次结构,并有指针链接下一层次的页面;是信息制作者建立的信息源头。

Page 89: 第 6 章 应用层

计算机工程学院 伍俊明 89

6.5 万维网 WWWHTTP 的报文结构

HTTP 有两类报文: 请求报文——从客户向服务器发送请求报文。 响应报文——从服务器到客户的回答。

由于 HTTP 是面向正文的 (text-oriented) ,因此在报文中的每一个字段都是一些 ASCII 码串,因而每个字段的长度都是不确定的。

Page 90: 第 6 章 应用层

计算机工程学院 伍俊明 90

6.5 万维网 WWWHTTP 的报文结构(请求报文)

方 法 URL 版 本首部字段名

首部行: 值

首部字段名 值

:

实体主体(通常不用)

请求行

空格 回车换行

:

CRLF

CRLF

CRLF

CRLF

开始行

报文由三个部分组成,即开始行、首部行和实体主体。在请求报文中,开始行就是请求行。

Page 91: 第 6 章 应用层

计算机工程学院 伍俊明 91

6.5 万维网 WWWHTTP 请求报文的一些方法

方法(操作) 意义OPTION 请求一些选项的信息GET 请求读取由 URL 所标志的信息HEAD 请求读取由 URL 所标志的信息的首部POST 给服务器添加信息(例如,注释)PUT 在指明的 URL 下存储一个文档DELETE 删除指明的 URL 所标志的资源TRACE 用来进行环回测试的请求报文CONNECT 用于代理服务器

Page 92: 第 6 章 应用层

计算机工程学院 伍俊明 92

6.5 万维网 WWWHTTP 的报文结构(响应报文)

版 本 状态码 短 语首部字段名

首部行: 值

首部字段名 值

:

实体主体(有些响应报文不用)

状态行

空格 回车换行

:

CRLF

CRLF

CRLF

CRLF

响应报文的开始行是状态行,包括三项内容,即 HTTP 的版本,状态码,以及解释状态码的简单短语。

开始行

Page 93: 第 6 章 应用层

计算机工程学院 伍俊明 93

6.5 万维网 WWW状态码 1xx 表示通知信息的,如请求收到了或正在

进行处理。 2xx 表示成功,如接受或知道了。 3xx 表示重定向,表示要完成请求还必须采取进一步的行动。

4xx 表示客户的差错,如请求中有错误的语法或不能完成。

5xx 表示服务器的差错,如服务器失效无法完成请求。

Page 94: 第 6 章 应用层

计算机工程学院 伍俊明 94

6.5 万维网 WWW在服务器上存放用户的信息 万维网站点使用 Cookie 来跟踪用户。 Cookie 表示在 HTTP 服务器和客户之间

传递的状态信息。 使用 Cookie 的网站服务器为用户产生一

个唯一的识别码。利用此识别码,网站就能够跟踪该用户在该网站的活动。

Page 95: 第 6 章 应用层

计算机工程学院 伍俊明 95

6.5 万维网 WWW6.5.5 万维网页面中的超链超链可以链接到其他网点上的页面,或本地上的文件,或文件中的某个地方。浏览器能够解释用 HTML 标记的各类标签和链接,根据客户的请求链接 Web 服务器,并将 Web 服务器返回的信息在客户端解释和显示出来。常用的 WWW 浏览器 Netscape Navigator Microsoft Internet Explorer

现在的浏览器扩展了许多功能 支持多种协议: HTTP、 FTP、 Gopher、 News 支持 JAVA 提供第三方软件嵌入接口: Plug-ins

Page 96: 第 6 章 应用层

计算机工程学院 伍俊明 96

6.5 万维网 WWW本文件链接举例

<A NAME=“Destination”> abc </A>

X

abc

文件 F 本文件链接的 HTML 语句格式:<A HREF=“#Destination”> X </A>

本文件链接

在此处定义命名锚

起点终点

命名锚的定义语句:

命名锚的名字 命名锚的终点在字符 abc 的前面

Page 97: 第 6 章 应用层

计算机工程学院 伍俊明 97

6.5 万维网 WWW浏览器的主要组成部分

控制程序 HTML 解释程序

可选解释程序

可选客户

网 络 接 口

缓存 HTTP 客户

驱动程序

远程服务器

键盘鼠标输入

Page 98: 第 6 章 应用层

计算机工程学院 伍俊明 98

6.5 万维网 WWW6.5.6 动态万维网文档静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。动态万维网文档:文档的内容是在浏览器访问服务器时才由应用程序根据客户的具体请求生成的。动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并没有区别。动态文档的生成技术:根据客户提交的表单生成 CGI技术 PHP技术 ASP及 ASP.net技术 Servlet和 JSP技术

Page 99: 第 6 章 应用层

计算机工程学院 伍俊明 99

6.5 万维网 WWW万维网服务器功能的扩充

(1) 应增加另一个应用程序,用来处理浏览器发来的数据,并创建动态文档。

(2) 应增加一个机制,用来使万维网服务器把浏览器发来的数据传送给这个应用程序,然后万维网服务器能够解释这个应用程序的输出,并向浏览器返回 HTML 文档。

Page 100: 第 6 章 应用层

计算机工程学院 伍俊明 100

6.5 万维网 WWW用 CGI扩充了功能的万维网服务器

万维网服务器

浏览器 程序

万维网客户

服务器 程序HTTP

数据库

CGI

HTTP 请求报文① 请求文档

② CGI 程序创建动态文档

③ 响应动态文档

HTTP 响应报文

Page 101: 第 6 章 应用层

计算机工程学院 伍俊明 101

6.5 万维网 WWW6.5.7 活动万维网文档活动万维网文档:用户浏览器从服务器端下载的活动文档,可在浏览器上直接运行,实现交互。用 Java技术创建活动文档—— applet 小程序 JAVA技术:程序设计语言,运行环境,类库 JAVA虚拟机: Java 解释程序许多浏览器都支持 Java技术 Netscape Navigator Microsoft Internet Explorer Opera

Page 102: 第 6 章 应用层

计算机工程学院 伍俊明 102

6.5 万维网 WWW活动文档在客户端创建

响应程序HTTP 响应报文程序

万维网服务器

浏览器 程序

万维网客户

服务器 程序HTTP

HTTP 请求报文 请求文档

程序事先被编译成二进制代码,

存放为文件

程序

此程序在客户端创建出活动文档 文档

Page 103: 第 6 章 应用层

计算机工程学院 伍俊明 103

6.5 万维网 WWW6.5.8 万维网上的搜索引擎搜索引擎:在万维网中用来进行搜索的程序。万维网上进行检索,需将所有网页标题中的关键词作成索引。最著名的全文检索搜索引擎: Google (谷歌) (www.google.com) 百度 (www.baidu.com)

最著名的分类目录搜索引擎: 雅虎 (www.yahoo.com) 雅虎中国 (cn.yahoo.com) 新浪 (www.sina.com) 搜狐 (www.sohu.com) 网易 (www.163.com)

Page 104: 第 6 章 应用层

计算机工程学院 伍俊明 104

6.6 引导程序协议和动态主机配置协议6.6.1 引导程序协议 BOOTP

协议配置:在协议软件中对各类参数赋值连接因特网的计算机的协议软件需要配置: IP 地址 子网掩码 默认路由器的 IP 地址 域名服务器的 IP 地址自动协议配置 无盘工作站可固化操作系统和连网软件,但不能固化

IP 地址等,因为这取决于所连的网络 计算机经常改变在网络中的位置,如手工配置既不方便,又易出错

Page 105: 第 6 章 应用层

计算机工程学院 伍俊明 105

6.6 引导程序协议和动态主机配置协议引导程序协议 BOOTP 也称为自举协议 BOOTP 使用 UDP 使一个无盘工作站自动获取配置信息 BOOTP 使用客户 / 服务器模式。为了获取配置信息,协

议软件以 UDP 方式广播一个 BOOTP 请求报文, UDP用户数据报再封装成 IP 数据报。收到请求报文的BOOTP 服务器查找客户请求的各项配置信息,并将配置信息放入一个 BOOT 回答报文中,返回给提出请求的计算机,对它进行配置。

由于发送 BOOTP 请求的计算机无 IP 地址,因此使用全1 的广播地址作目的地址,用全 0 的地址作为源地址。 BOOTP 服务器可使用广播方式将回答报文返回给该计算机,或使用收到广播帧上的硬件地址进行单播。

Page 106: 第 6 章 应用层

计算机工程学院 伍俊明 106

6.6 引导程序协议和动态主机配置协议

6.6.2 动态主机配置协议 DHCP动态主机配置协议 DHCP 提供了一种称为即插即用连网的机制,允许一台计算机加入新的网络和获取 IP 地址而不需要手工参与。DHCP 协议是对 BOOTP 协议的扩展。DHCP 使用客户 / 服务器模式:需要 IP 地址的客户计算机在启动时就向 DHCP 服务器广播发送发现报文 (DHCP Discover) ,将目的地址置为全 1 ,源地址全部置 0 。本地只有 DHCP 服务器收到此广播后才作回答: DHCP 服务器先在其数据库中查找该计算机的配置信息,若找到则返回所找到的信息;若找不到,则从服务器的 IP 地址池中取一个未用的 IP 地址分配给该计算机。 DHCP 服务器的回答报文也叫提供报文 (DHCPOffer)。

Page 107: 第 6 章 应用层

计算机工程学院 伍俊明 107

6.6 引导程序协议和动态主机配置协议

DHCP 协议工作在 UDP 之上:客户端使用 68 号端口发送DHCP 发现报文,而服务器端被动打开 67 号端口,等待客户端发来的报文,并发出 DHCP 提供报文。DHCP 中继代理:实际情况下,并非每个网络配置一个DHCP 服务器,但这样的网络必须配置一个 DHCP 中继代理,该代理配置有 DHCP 服务器的 IP 地址。当 DHCP 中继代理收到计算机客户广播的 DHCP 报文后,以单播方式转发给DHCP 服务器。 DHCP 服务器产生回答的提供报文返回给DHCP 中继代理,由代理转发给请求 IP 地址的客户计算机。

Page 108: 第 6 章 应用层

计算机工程学院 伍俊明 108

6.6 引导程序协议和动态主机配置协议

DHCP 中继代理以单播方式转发发现报文

主机DHCP服务器

其他网络

DHCP中继代理

DHCPDISCOVERDHCPDISCOVER

广播

DHCPDISCOVERDHCPDISCOVER

单播

注意: DHCP 报文只是 UDP 用户数据报中的数据。

Page 109: 第 6 章 应用层

计算机工程学院 伍俊明 109

6.6 引导程序协议和动态主机配置协议

租用期 (lease period) DHCP 服务器分配给 DHCP 客户的 IP 地

址的临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。 DHCP 协议称这段时间为租用期。

租用期的数值应由 DHCP 服务器自己决定。 DHCP 客户也可在自己发送的报文中(例如,

发现报文)提出对租用期的要求。

Page 110: 第 6 章 应用层

计算机工程学院 伍俊明 110

DHCP 协议的工作过程

客户 DHCPDISCOVER 服务器6768UDP UDP

客户 DHCPOFFER 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPNACK 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPRELEASE 服务器6768UDP UDP

服务器67UDP

被动打开

: DHCP 服务器被动打开 UDP 端口 67 , 等待客户端发来的报文。

Page 111: 第 6 章 应用层

计算机工程学院 伍俊明 111

DHCP 协议的工作过程

客户 DHCPDISCOVER 服务器6768UDP UDP

客户 DHCPOFFER 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPNACK 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPRELEASE 服务器6768UDP UDP

服务器67UDP

被动打开

: DHCP 客户从 UDP 端口 68 发送 DHCP 发现报文。

Page 112: 第 6 章 应用层

计算机工程学院 伍俊明 112

DHCP 协议的工作过程

客户 DHCPDISCOVER 服务器6768UDP UDP

客户 DHCPOFFER 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPNACK 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPRELEASE 服务器6768UDP UDP

服务器67UDP

被动打开

:凡收到 DHCP 发现报文的 DHCP 服务器 都发出 DHCP 提供报文,因此 DHCP 客户 可能收到多个 DHCP 提供报文。

Page 113: 第 6 章 应用层

计算机工程学院 伍俊明 113

DHCP 协议的工作过程

客户 DHCPDISCOVER 服务器6768UDP UDP

客户 DHCPOFFER 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPNACK 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPRELEASE 服务器6768UDP UDP

服务器67UDP

被动打开

: DHCP 客户从几个 DHCP 服务器中选择 其中的一个,并向所选择的 DHCP 服务 器发送 DHCP 请求报文。

Page 114: 第 6 章 应用层

计算机工程学院 伍俊明 114

DHCP 协议的工作过程

客户 DHCPDISCOVER 服务器6768UDP UDP

客户 DHCPOFFER 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPNACK 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPRELEASE 服务器6768UDP UDP

服务器67UDP

被动打开

:被选择的 DHCP 服务器发送确认报文 DHCPACK ,进入已绑定状态,并可 开始使用得到的临时 IP 地址了。

Page 115: 第 6 章 应用层

计算机工程学院 伍俊明 115

DHCP 协议的工作过程

客户 DHCPDISCOVER 服务器6768UDP UDP

客户 DHCPOFFER 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPNACK 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPRELEASE 服务器6768UDP UDP

服务器67UDP

被动打开

DHCP 客户现在要根据服务器提供的租用期 T 设置两个计时器 T1 和 T2 ,它们的超时时间分别是 0.5T 和 0.875T 。当超时时间到就要请求更新租用期。

Page 116: 第 6 章 应用层

计算机工程学院 伍俊明 116

DHCP 协议的工作过程

客户 DHCPDISCOVER 服务器6768UDP UDP

客户 DHCPOFFER 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPNACK 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPRELEASE 服务器6768UDP UDP

服务器67UDP

被动打开

:租用期过了一半( T1 时间到), DHCP 发送 请求报文 DHCPREQUEST 要求更新租用期。

Page 117: 第 6 章 应用层

计算机工程学院 伍俊明 117

DHCP 协议的工作过程

客户 DHCPDISCOVER 服务器6768UDP UDP

客户 DHCPOFFER 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPNACK 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPRELEASE 服务器6768UDP UDP

服务器67UDP

被动打开

: DHCP 服务器若同意,则发回确认报文 DHCPACK。 DHCP 客户得到了新的租 用期,重新设置计时器。

Page 118: 第 6 章 应用层

计算机工程学院 伍俊明 118

DHCP 协议的工作过程

客户 DHCPDISCOVER 服务器6768UDP UDP

客户 DHCPOFFER 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPNACK 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPRELEASE 服务器6768UDP UDP

服务器67UDP

被动打开

: DHCP 服务器若不同意,则发回否认报文 DHCPNACK 。这时 DHCP 客户必须立即 停止使用原来的 IP 地址,而必须重新申 请 IP 地址(回到步骤)。

Page 119: 第 6 章 应用层

计算机工程学院 伍俊明 119

DHCP 协议的工作过程

客户 DHCPDISCOVER 服务器6768UDP UDP

客户 DHCPOFFER 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPNACK 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPRELEASE 服务器6768UDP UDP

服务器67UDP

被动打开

若 DHCP 服 务 器 不 响 应 步 骤 的 请 求 报 文DHCPREQUEST , 则 在 租 用 期 过 了 87.5% 时 , DHCP 客 户 必 须 重 新 发 送 请 求 报 文 DHCPREQUEST (重复步骤),然后又继续后面的步骤。

Page 120: 第 6 章 应用层

计算机工程学院 伍俊明 120

DHCP 协议的工作过程

客户 DHCPDISCOVER 服务器6768UDP UDP

客户 DHCPOFFER 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPREQUEST 服务器6768UDP UDP

客户 DHCPNACK 服务器6768UDP UDP

客户 DHCPACK 服务器6768UDP UDP

客户 DHCPRELEASE 服务器6768UDP UDP

服务器67UDP

被动打开

: DHCP 客户可随时提前终止服务器所提供的 租用期,这时只需向 DHCP 服务器发送释 放报文 DHCPRELEASE 即可。