computer_networks06A.ppt

Download Report

Transcript computer_networks06A.ppt

[email protected]
Computer Networks
第六章 应用层
Teacher:
Dr. 周 鹏
学习目的与要求
 掌握:域名系统的基本工作原理。
 了解:文件传输FTP的基本工作原理。
 掌握:WWW服务的基本工作原理。
 掌握:电子邮件的基本工作原理。
 掌握:DHCP 的基本工作原理。
 了解:SNMP的基本工作原理。
http://ic.huanghuai.edu.cn/?zhoupeng
本章内容
6.1 域名系统 DNS
6.2 文件传送协议
6.3 远程终端协议 TELNET
6.4 万维网 WWW
6.5 电子邮件
6.6
动态主机配置协议 DHCP
6.7
简单网络管理协议 SNMP
6.8
应用进程跨越网络的通信
http://ic.huanghuai.edu.cn/?zhoupeng
应用层简介
 功能
 是网络向最终用户提供应用服务的唯
一窗口,其目的是支持用户联网的应
应 用 层
传 输 层
用的要求。
 由于用户的要求不同,应用层含有支
持不同应用的多种应用实体,提供多
种应用服务,如电子邮件、文件传输、
虚拟终端、电子数据交换(EDI)等。
网 络 层
数据链路层
物 理 层
 传输数据类型
 应用层报文
http://ic.huanghuai.edu.cn/?zhoupeng
TCP/IP协议族中的
应用层协议
FTP
TELNET
NFS
SNMP
。。。
SMTP
应用层
HTTP
TFTP
DNS
传输层
网络层
数 据
链路层
TCP
ICMP
IP
。。。
UDP
IGMP
ARP
RARP
EtherNet, Token Ring, Token Bus, FDDI, PPP/SLIP, X. 25
http://ic.huanghuai.edu.cn/?zhoupeng
应用程序和应用层协议的关系
应用程序:沟通, 分布式的进程
application
transport
network
data link
physical
 运行在网络主机中的 “用户空间”
 在应用程序间交换报文
 e.g., email, ftp, Web
应用层协议:
 应用程序的一个“组成部分”
 定义应用程序需交换的报文格式
和所需采取的动作
 使用较低层次所提供的通信服务
application
transport
network
data link
physical
application
transport
network
data link
physical
(TCP, UDP)
http://ic.huanghuai.edu.cn/?zhoupeng
应用层协议的特点
http://ic.huanghuai.edu.cn/?zhoupeng
http://ic.huanghuai.edu.cn/?zhoupeng
http://ic.huanghuai.edu.cn/?zhoupeng
顶级域名 TLD —3类
(Top Level Domain)
(1) 国家顶级域名 nTLD:如: .cn 表示中国,.us 表示美国,.uk 表示英国,等等。
(2) 通用顶级域名 gTLD:最早的顶级域名是:
.com (公司和企业)
.net (网络服务机构)
.org (非赢利性组织)
.edu (美国专用的教育机构()
.gov (美国专用的政府部门)
.mil (美国专用的军事部门)
.int
(国际组织)
(3) 基础结构域名 这种顶级域名只有一个,即 arpa,用于反向域名解析,因此又
称为反向域名。
http://ic.huanghuai.edu.cn/?zhoupeng
http://ic.huanghuai.edu.cn/?zhoupeng
域名服务器
 名字到 IP 地址的解析是由若干个域名服务器程序完成的。
域名服务器程序在专设的结点上运行,运行该程序的机器称为
域名服务器。
 一个服务器所负责管辖的(或有权限的)范围叫做区
(zone)。
 各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有
节点必须是能够连通的。
 每一个区设置相应的权限域名服务器,用来保存该区中的所有
主机的域名到IP地址的映射。
 DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。
http://ic.huanghuai.edu.cn/?zhoupeng
区的不同划分方法举例
根
org
根
edu
com
域 abc.com
x
u
v
com
edu
abc
区
y.abc.com
域 abc.com
abc
区
abc.com
org
区
abc.com
y
w
(a) 区 = 域
x
t
u
v
y
w
t
(b) 区 < 域
http://ic.huanghuai.edu.cn/?zhoupeng
树状结构的 DNS
域名服务器
根域名服务器
根域名服务器
顶级域名服务器
权限域名服务器
org 域名服务器
com 域名服务器
abc.com
域名服务器
edu 域名服务器
…
abc 公司有两个
权限域名服务器
y.abc.com
域名服务器
http://ic.huanghuai.edu.cn/?zhoupeng
域名服务器有以下四种类型
根域名服务器
顶级域名服务器
权限域名服务器
本地域名服务器
http://ic.huanghuai.edu.cn/?zhoupeng
根域名服务器
——最高层次的域名服务器——
 根域名服务器是最重要的域名服务器。所有的根
域名服务器都知道所有的顶级域名服务器的域名
和 IP 地址。
 不管是哪一个本地域名服务器,若要对因特网上任何一
个域名进行解析,只要自己无法解析,就首先求助于根
域名服务器。
 在因特网上共有13 个不同 IP 地址的根域名服务器,它
们的名字是用一个英文字母命名,从a 一直到 m(前13
个字母)。
http://ic.huanghuai.edu.cn/?zhoupeng
根域名服务器共有 13 套装置
(不是 13 个机器)
 这些根域名服务器相应的域名分别是
a.rootservers.net
b.rootservers.net
…
m.rootservers.net
 到 2006 年底全世界已安装了一百多个根域名服务器机器,
分布在世界各地。
 这样做的目的是为了方便用户,使世界上大部分 DNS 域名服务
器都能就近找到一个根域名服务器。
http://ic.huanghuai.edu.cn/?zhoupeng
举例:根域名服务器 f 的地点分布图
共 40 个机器
• 根域名服务器并不直接把域名直接转换成 IP 地址。
• 在使用迭代查询时,根域名服务器把下一步应当找
的顶级域名服务器的 IP 地址告诉本地域名服务器。
http://ic.huanghuai.edu.cn/?zhoupeng
根域名服务器全球分布图
http://ic.huanghuai.edu.cn/?zhoupeng
根域名服务器全球分布图
http://ic.huanghuai.edu.cn/?zhoupeng
顶级域名服务器
(即 TLD 服务器)
这些域名服务器负责管理在该顶级域名服务器
注册的所有二级域名。
当收到 DNS 查询请求时,就给出相应的回答
(可能是最后的结果,也可能是下一步应当找
的域名服务器的 IP 地址)。
http://ic.huanghuai.edu.cn/?zhoupeng
权限域名服务器
负责一个区的域名服务器。
当一个权限域名服务器还不能给出最后的查询
回答时,就会告诉发出查询请求的 DNS 客户,
下一步应当找哪一个本地域名服务器。
http://ic.huanghuai.edu.cn/?zhoupeng
本地域名服务器
当一个主机发出 DNS 查询请求时,这个查
询请求报文就发送给本地域名服务器。
 每一个因特网服务提供者 ISP,或一个大学,甚
至一个大学里的系,都可以拥有一个本地域名服
务器。
这种域名服务器有时也称为默认域名服务器。
http://ic.huanghuai.edu.cn/?zhoupeng
域名解析的基本工作原理
将域名转换为对应的IP地址的过程称为域名解析;
完成该功能的软件叫域名解析器;
每个本地域名服务器配置一个域名解析器软件;
由于每个服务器都知道根服务器的地址,因此无
论经过几步查询,在域名树中最终总会找出正确
的解析结果。
http://ic.huanghuai.edu.cn/?zhoupeng
域名的一般格式
Internet主机域名的一般格式是:
主机名 . 单位名 . 类型 . 国家代码
例如,域名:www.huanghuai.edu.cn,
主机名:www
web服务器
单位:huanghuai
黄淮学院
类型:edu
教育
国家:cn
中国
http://ic.huanghuai.edu.cn/?zhoupeng
域名解析的方向
域名解析有两个方向:
 从主机域名到IP地址的正向解析,
 从IP地址到主机域名的反向解析。
http://ic.huanghuai.edu.cn/?zhoupeng
简单 DNS 举例
root name server
主机 ctec.xjtu.edu.cn 要求
gaia.cs.umass.edu 的IP 地址
2
4
5
1. 联系本地域名服务器,
3
202.117.0.20
2.如有必要202.117.0.20 会
联系根域名服务器
local name server authorititive name server
202.117.0.20
1
dns.umass.edu
6
3.如有必要根域名服务器会
联系权限域名服务器
dns.umass.edu
requesting host
ctec.xjtu.edu.cn
gaia.cs.umass.edu
这种域名解析过程类似于数据结构中的什么过程?……
http://ic.huanghuai.edu.cn/?zhoupeng
DNS 举例
root name server
根域名服务器:
6
2
7
3
 可能不知道权限域
名服务器的地址
 可能知道中介域名
服务器: 由它负责
local name server
202.117.0.20
1
4
8
联系权限域名服务
器
intermediate name server
dns.umass.edu
requesting host
ctec.xjtu.edu.cn
5
authoritative name server
dns.cs.umass.edu
gaia.cs.umass.edu
http://ic.huanghuai.edu.cn/?zhoupeng
DNS: 迭代查询
root name server
递归查询:
iterated query
2
 对根域名服务器造
成工作负担?……
 如何减负?
迭代查询:
 被查询的服务器直
接把可查询的服务
器地址报回
 “不懂这个域名, 但
可以从这个服务器
查到”
3
4
7
local name server
dns.eurecom.fr
1
intermediate name server
dns.umass.edu
5
8
6
authoritative name server
dns.cs.umass.edu
requesting host
surf.eurecom.fr
gaia.cs.umass.edu
http://ic.huanghuai.edu.cn/?zhoupeng
递归现象
http://ic.huanghuai.edu.cn/?zhoupeng
域名的解析过程
(发出查询请求报文-分两步走)
主机向本地域名服务器的查询一般都是采用
递归查询。
本地域名服务器向根域名服务器的查询通常
是采用迭代查询。
http://ic.huanghuai.edu.cn/?zhoupeng
递归解析与迭代解析的区别
递归解析要求名字服务器系统一次性完成全
部名字——地址变换;
迭代解析是每次请求一个服务器,如果不行
再请求别的服务器;
http://ic.huanghuai.edu.cn/?zhoupeng
5.19六省断网
2009年5月19日21时起,江苏、河北、山西
、广西、浙江等省陆续出现访问互联网速度变
慢或者干脆无法访问网站。经中国电信、中国
联通的努力,截至20日凌晨1时20分,受影响地
区的互联网服务基本恢复正常。然而,20日18
时至20时左右, 广州、深圳等地市也出现了类
似故障,部分网站完全无法访问。
http://ic.huanghuai.edu.cn/?zhoupeng
真实情况回放
① 一个游戏“私服”的网站打算对它的竞争对手发动攻击。
② 黑客在没法黑掉竞争对手网站的情况下,干脆从域名下手,对
DNSpod的服务器进行了狂轰滥炸。
③ DNSpod的服务器中有那么一台瘫痪了。这一台恰好为暴风影音提供
域名解析。
④ 暴风影音的客户端在用户不知情的时候偷偷访问暴风网站,现在上不
去了。
⑤ 接着全国的暴风用户集体转向电信的DNS解析服务器发起请求。
⑥ 因为全国有一半联网的电脑都在使用暴风影音,所以电信服务器很快
就瘫痪了。
⑦ 在部分电信机房暂时屏蔽了暴风网站的IP地址之后,网站开始恢复。
http://ic.huanghuai.edu.cn/?zhoupeng
黑客操控肉鸡攻击
DNSPod
http://ic.huanghuai.edu.cn/?zhoupeng
运营商屏蔽DNSPod的IP
http://ic.huanghuai.edu.cn/?zhoupeng
暴风用户挤爆本地DNS服务器
http://ic.huanghuai.edu.cn/?zhoupeng
DNSPod遭受DDOS攻击情况
18日22时左右,DNSPod主站及多个DNS服
务器遭受超过10G流量的恶意攻击,DNSPod
电信主力DNS服务器被迫离线。19日晚,另
一轮高强度恶意攻击向DNSPod涌来
,DNSPod服务完全中断,进而发生一系列连
锁反应,波及到多个省份。
http://ic.huanghuai.edu.cn/?zhoupeng
什么是DDOS攻击
Distributed Denial of Service
DOS攻击:假冒合理的服务请求来占用过多的服
务资源,从而使合法用户无法得到服务的响应。
常用DDOS攻击方式:
 SYN/ACK Flood、UDP Flood、ICMP
Flood、TCP Connection Flood、HTTP
Get、UDP DNS Query Flood
http://ic.huanghuai.edu.cn/?zhoupeng
6.2 FTP (文件传输协议)
user
at host
FTP
FTP
user
client
interface
file transfer
local file
system
FTP
server
remote file
system
 以客户端/服务器模式工作
 客户端: 启动传输 (下载或上传文件)
 服务器: 远程主机(为客户进程提供服务)
 ftp 服务器: 端口 21
http://ic.huanghuai.edu.cn/?zhoupeng
文件传输的工作过程
FTP服务工作模式 :客户/服务器
http://ic.huanghuai.edu.cn/?zhoupeng
ftp:
采用分离的—控制和数据连接
 ftp客户端在 ftp 服务器的
端口21进行联系, 使用TCP
TCP control connection
port 21
作为传输协议
 打开两个并行的连接:
 控制连接:在客户端和服
务器之间交换命令、响
FTP
client
TCP data connection
port 20
FTP
server
应等控制信号。21端口
 数据连接: 传输文件。20
端口
http://ic.huanghuai.edu.cn/?zhoupeng
FTP客户端
数据传送
Y
FTP服务器端
控制
控制
X
数据传送
21
TCP
20
TCP
由客户端
发起
因特网
由服务器端发起
http://ic.huanghuai.edu.cn/?zhoupeng
FTP的文件传输过程(5步)
 1.建立控制连接(客户端发起)
 控制连接建立后,客户端使用这个连接来发送FTP命令,服务器端使用这个连
接来发送FTP应答。
 2.建立数据连接
 当用户发出一个文件传输请求时,客户端软件通过控制连接向服务器发出一个
PORT命令,在PORT命令中指定一个临时端口,目的是希望服务器在建立数
据连接时使用这个临时端口;
 3.文件传输
 数据连接建立后,发送数据的一方使用这个连接把文件传送给对方。
 4.断开数据连接
 当数据传输完成后
 5.断开控制连接
 FTP会话结束后
http://ic.huanghuai.edu.cn/?zhoupeng
匿名FTP服务
运行着的匿名FTP服务器允许普通网络用户以
anonymous为名登录进入系统
登录时用户应按要求键入口令
在权限许可的目录及子目录中能进行改变工作
目录、列文件目录、设置传输特性、复制文件
等工作
http://ic.huanghuai.edu.cn/?zhoupeng
FTP常用命令
cd
dir
get
mget
binary
http://ic.huanghuai.edu.cn/?zhoupeng
几个匿名FTP站点
ftp.pku.edu.cn
北京大学
ftp.tsinghua.edu.cn
清华大学
ftp.buptnet.edu.cn
北京邮电大学
ftp.cnnic.net.cn
中科院网络信息中心(中国互联网信息中心)
sunsite.net.edu.cn
Sun与中国高校合作技术交流中心
ftp://10.100.200.51/
(CERNET华北中心)
黄淮学院FTP资源中心
http://ic.huanghuai.edu.cn/?zhoupeng
http://ic.huanghuai.edu.cn/?zhoupeng
http://ic.huanghuai.edu.cn/?zhoupeng
http://ic.huanghuai.edu.cn/?zhoupeng
开始匿名FTP的示例
ns% ftp ftp.cnc.ac.cn
Connected to ftp.cnc.ac.cn.
220 ftp.cnc.ac.cn FTP server ready.
Name (ftp.cnc.ac.cn:cshen): anonymous
331 Guest login ok, type your name as password.
Password: {此处应按要求键入口令}
230 Guest login ok, access restrictions apply.
ftp>
http://ic.huanghuai.edu.cn/?zhoupeng
列目录和改变当前的工作目录
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for '/bin/ls'.
total 40
dr-xr-xr-x
2 0
0
20 Sep 26 13:26 bin
dr-xr-xr-x
2 30000
404
4096 Jun 4 1997 cnnic
dr-xr-xr-x
2 0
0
22 Sep 9 1996 dev
dr-------2 0
0
38 Sep 26 13:37 etc
drwxrwxrwx
52 0
0
4096 Mar 6 05:03 incoming
dr-xr-xr-x
2 0
0
39 Sep 9 1996 lib
dr-xr-xr-x
16 30000
404
4096 Jan 12 11:41 pub
dr-xr-xr-x
12 30000
404
4096 Sep 24 14:27 pub1
-r-xr-xr-x
1 30000
404
911 Jan 24 1997 welcome.msg
226 Transfer complete.
566 bytes received in 0.027 seconds (21 Kbytes/s)
ftp> cd pub
250 CWD command successful.
ftp>
http://ic.huanghuai.edu.cn/?zhoupeng
其它 FTP 接口
通过浏览器使用
通过其它带窗口界面的用户程序
LeapFTP
CuteFTP
Flashfxp
服务器软件
?……
http://ic.huanghuai.edu.cn/?zhoupeng
补充—09考研真题
40.FTP客户和服务器之间传递FTP命令时,
使用的连接是(
)
A)建立在TCP之上的控制连接
B)建立在TCP之上的数据连接
C)建立在UDP之上的控制连接
D)建立在UDP之上的控制连接
http://ic.huanghuai.edu.cn/?zhoupeng
6.3 远程登录(Telnet)
 什么是Telnet?
 Telnet是Telecommunication Network Protocol的英文缩写。
 用户在本地发出命令,通过IP网络,进入另一台机器的系统,这个
过程即称为远程登录。 (使用另一台机器的主机名或 IP 地址)。
 用户通过本地计算机登录到其他计算机上,本地计算机就成为了那台计
算机的“终端”,与那台机器本身的终端享有同样的待遇,在它的权限
范围内操作那台计算机。
 大多数提供远程登录的目标系统以UNIX为主。
 注意:远程登录中的“远”字并非指距离,而是指不是从本
地登录到这台计算机。
http://ic.huanghuai.edu.cn/?zhoupeng
Telnet
美国
加州大学
中国
黄淮学院
UNIVERSITY
Internet
Username:
Password:
Telnet Server
http://ic.huanghuai.edu.cn/?zhoupeng
Telnet是如何工作的
TELNET 使用客户服务器方式。在本地系统
运行 TELNET 客户进程,而在远地主机则
运行 TELNET 服务器进程。
除登录进入自己的帐号外,可以访问某些提
供公共服务(如BBS)的站点
http://ic.huanghuai.edu.cn/?zhoupeng
TELNET命令举例
open
close
quit
display
status
http://ic.huanghuai.edu.cn/?zhoupeng
6.4 万维网 WWW
(World-Wide Web)
简称Web
是用于访问遍布于Internet上的相互链接在一
起的超文本的一种结构框架。


万维网
站点 A





万维网站点 B


万维网站点 D
万维网站点 E

万维网
站点 C
http://ic.huanghuai.edu.cn/?zhoupeng
万维网 WWW要点
 1. 万维网WWW通过超文本向用户提供全方位的多
媒体信息。
 2. WWW系统结构采用——服务器/客户模式的。
 3. 信息资源以web页的形式存储在WWW服务器中,
用户通过WWW客户端浏览器查看;
 4. 通过Web页中的链接,用户可以方便地访问位于
其他WWW服务器中的Web页。
http://ic.huanghuai.edu.cn/?zhoupeng
Web的产生与发展
http://ic.huanghuai.edu.cn/?zhoupeng
WWW客户机软件—浏览器
 基于图形界面的WWW客户机软件就是浏览器,用于浏
览Internet资源。
 NCSA Mosaic Browser
 它是最早诞生的浏览器,在1993年由美国伊利诺依大学的国家
超级计算应用中心NCSA开发成功,并且是免费的。
 这套浏览器主要支持三种平台:UNIX、Macintosh、Windows。
 Netscape Navigator
 Microsoft Internet Explorer
 为什么用遨游、Firefox、360等浏览器感觉比IE快?
http://ic.huanghuai.edu.cn/?zhoupeng
WWW服务器软件 —
使网站运行起来的程序
 WWW服务器就是我们常说的网站 (Web Site)。
 网站就是作者希望其他人能够看到的一些信息,这些信息表
现为一台主机(服务器)上的一些文件。
 网站地址一般用域名表示。
 http://www.huanghuai.edu.cn
 网页(Webpage)就是组成网站的HTML文件,即浏览者所见
到的内容。
IIS 和 Aparch
http://ic.huanghuai.edu.cn/?zhoupeng
http://ic.huanghuai.edu.cn/?zhoupeng
万维网的工作过程
http://ic.huanghuai.edu.cn/?zhoupeng
万维网必须解决的问题
 标志

怎样标志分布在因特网上的万维网文档
 链接

用何协议实现万维网上各种超链的链接
 显示

怎样使各种万维网文档都能在因特网上的计算机上显示出来
 查找

怎样使用户能很方便地找到所需的信息
http://ic.huanghuai.edu.cn/?zhoupeng
问题
WWW服务的核心技术是?……
统一资源定位符 URL
超文本传输协议HTTP
超文本标记语言HTML
搜索引擎
http://ic.huanghuai.edu.cn/?zhoupeng
6.4.2 统一资源定位符 URL
统一资源定位符 URL 是对可以从因特网上
得到的资源的位置和访问方法的一种简洁的
表示。
使每一个文档在整个因特网的范围内具有唯
一的标识符 URL。
http://ic.huanghuai.edu.cn/?zhoupeng
URL 的一般形式
 由以冒号隔开的两大部分组成,并且在 URL 中的字
符对大写或小写没有要求。
 URL 的一般形式是:
<协议>://<主机>:<端口>/<路径>
ftp —— 文件传送协议 FTP
http —— 超文本传送协议 HTTP
News —— USENET 新闻
http://ic.huanghuai.edu.cn/?zhoupeng
URL 的一般形式(续)
由以冒号隔开的两大部分组成,并且在 URL 中
的字符对大写或小写没有要求。
URL 的一般形式是:
<协议>://<主机>:<端口>/<路径>
<主机> 是存放资源的主机
在因特网中的域名
http://ic.huanghuai.edu.cn/?zhoupeng
URL 的一般形式(续)
由以冒号隔开的两大部分组成,并且在 URL 中
的字符对大写或小写没有要求。
URL 的一般形式是:
<协议>://<主机>:<端口>/<路径>
有时可省略
http://ic.huanghuai.edu.cn/?zhoupeng
使用 HTTP 的 URL
 使用 HTTP 的 URL 的一般形式
http://<主机>:<端口>/<路径>
这表示使用 HTTP 协议
http://ic.huanghuai.edu.cn/?zhoupeng
使用 HTTP 的 URL
 使用 HTTP 的 URL 的一般形式
http://<主机>:<端口>/<路径>
冒号和两个斜线是规定的格式
http://ic.huanghuai.edu.cn/?zhoupeng
使用 HTTP 的 URL
使用 HTTP 的 URL 的一般形式
http://<主机>:<端口>/<路径>
这里写主机的域名
http://ic.huanghuai.edu.cn/?zhoupeng
使用 HTTP 的 URL
使用 HTTP 的 URL 的一般形式
http://<主机>:<端口>/<路径>
HTTP 的默认端口号是 80,通常可省略
http://ic.huanghuai.edu.cn/?zhoupeng
使用 HTTP 的 URL
使用 HTTP 的 URL 的一般形式
http://<主机>:<端口>/<路径>
若再省略文件的<路径>项,则 URL 就指到
因特网上的某个主页(home page)。
http://ic.huanghuai.edu.cn/?zhoupeng
补充:主页的概念
 主页home page是一种特殊的Web页面,是指包含
个人或机构基本信息的页面,用于对个人或机构进
行综合性介绍,是访问个人或机构详细信息的
入口点。
 主页是浏览者进入站点后见到的第一个网页,一般
的默认值为:index.htm(l)、 default.htm(l)。
http://ic.huanghuai.edu.cn/?zhoupeng
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的主机
http://ic.huanghuai.edu.cn/?zhoupeng
6.4.3 超文本传送协议 HTTP
 HTTP由一套从浏览器发往服务器的请求和一套
从服务器发往浏览器的响应组成。
 基于TCP协议
 面向事务的客户服务器协议,即每个事务单独
处理
 服务器默认端口号80
 HTTP 1.0 协议是无状态的(stateless)。
http://ic.huanghuai.edu.cn/?zhoupeng
HTTP 的工作流程
 1. 启动WWW客户程序(浏览器),输入或点击希
望查看的主页地址(唯一资源定位器URL)。
 2. 在每个WEB服务器上有一个服务进程在TCP的
80端口上监听由浏览器发来的建立连接请求;在
连接建立之后,浏览器和服务器之间使用超文本
传输协议HTTP协议进行信息传输。
 3. 浏览器确定URL,通过DNS解析IP地址,建立
TCP连接。向服务器发出请求,并获取所需要的
网页,释放连接。
 4. 浏览器显示网页内容。如此循环往复。
http://ic.huanghuai.edu.cn/?zhoupeng
HTTP1.0请求一个万维网文档
所需的时间 (耗时)
万维网客户
万维网服务器
发起 TCP 连接
RTT
HTTP 请求报文
RTT
传输文档的时间
整个文档收到
时间
时间
http://ic.huanghuai.edu.cn/?zhoupeng
HTTP1.1解决1.0耗时问题
—持续连接 (persistent connection)
 HTTP/1.1 协议使用持续连接。
 万维网服务器在发送响应后仍然在一段时间内保持这条
连接,使同一个客户(浏览器)和该服务器可以继续在
这条连接上传送后续的 HTTP 请求报文和响应报文。
 这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在
同一个服务器上就行。
 目前一些流行的浏览器(例如,IE 6.0)的默认设置就是使用
HTTP/1.1。
http://ic.huanghuai.edu.cn/?zhoupeng
代理服务器(proxy server)
代理服务器(proxy server)又称为万维网
高速缓存(Web cache),它代表浏览器发
出 HTTP 请求。
 把最近的一些请求和响应暂存在代理服务器本地
磁盘中。
 当与暂时存放的请求相同的新请求到达时,就把
暂存的响应发送出去,而不需要按 URL 的地址再
去因特网访问该资源。
http://ic.huanghuai.edu.cn/?zhoupeng
使用高速缓存可减少
访问因特网服务器的时延
没有使用高速缓存的情况
校园网
浏览器
源点服务器
这条链路上
的时延很大
R1
2 Mb/s
R2
因特网
所有万维网通信量
都经过这条链路
http://ic.huanghuai.edu.cn/?zhoupeng
使用高速缓存的情况
(1) 浏览器访问因特网的服务器时,要先与校
园网的高速缓存建立 TCP 连接,并向高速缓
存发出 HTTP 请求报文
源点服务器
校园网
浏览器
R1
2 Mb/s
R2
因特网
校园网的高速缓存
(代理服务器)
http://ic.huanghuai.edu.cn/?zhoupeng
使用高速缓存的情况
(2) 若高速缓存已经存放了所请求的对象,则
将此对象放入 HTTP 响应报文中返回给浏览器。
源点服务器
校园网
浏览器
R1
2 Mb/s
校园网的高速缓存
(代理服务器)
R2
因特网
http://ic.huanghuai.edu.cn/?zhoupeng
使用高速缓存的情况
(3) 否则,高速缓存就代表发出请求的用户浏
览器,与因特网上的源点服务器建立 TCP 连
接,并发送 HTTP 请求报文。
源点服务器
校园网
浏览器
R1
2 Mb/s
校园网的高速缓存
(代理服务器)
R2
因特网
http://ic.huanghuai.edu.cn/?zhoupeng
使用高速缓存的情况
(4) 源点服务器将所请求的对象放在 HTTP 响应报
文中返回给校园网的高速缓存。
源点服务器
校园网
浏览器
R1
2 Mb/s
校园网的高速缓存
(代理服务器)
R2
因特网
http://ic.huanghuai.edu.cn/?zhoupeng
使用高速缓存的情况
(5) 高速缓存收到此对象后,先复制在其本地存
储器中(为今后使用),然后再将该对象放在
HTTP 响应报文中,通过已建立的 TCP 连接,
返回给请求该对象的浏览器。
源点服务器
校园网
浏览器
R1
2 Mb/s
校园网的高速缓存
(代理服务器)
R2
因特网
http://ic.huanghuai.edu.cn/?zhoupeng
3. HTTP 的报文结构
HTTP 有两类报文:
请求报文—从客户向服务器发送请求报文。
响应报文—从服务器到客户的回答。
http://ic.huanghuai.edu.cn/?zhoupeng
HTTP 的报文结构(请求报文)
空格
开始行
方 法
URL
回车换行
版 本
CRLF
请求行
首部字段名 : 值 CRLF
…
首部行
首部字段名 :
CRLF
值 CRLF
:
实体主体
(通常不用)
报文由三个部分组成,即开始行、首部行和实体主体。
在请求报文中,开始行就是请求行。
http://ic.huanghuai.edu.cn/?zhoupeng
HTTP 的报文结构(响应报文)
空格
开始行
版 本
状态码
回车换行
短 语
CRLF
状态行
首部字段名 : 值 CRLF
…
首部行
首部字段名 :
CRLF
值 CRLF
:
实体主体
(有些响应报文不用)
响应报文的开始行是状态行。
状态行包括三项内容,即 HTTP 的版本,状态码,
以及解释状态码的简单短语。
http://ic.huanghuai.edu.cn/?zhoupeng
4. 在服务器上存放用户信息
原因:HTTP是无状态的(简化服务器设计),
但一些站点常常希望能够识别用户。
So,万维网站点使用 Cookie 来跟踪用户。
Cookie 表示在 HTTP 服务器和客户之间传
递的状态信息。
使用 Cookie 的网站服务器为用户产生一个
唯一的识别码。利用此识别码,网站就能够跟
踪该用户在该网站的活动。
http://ic.huanghuai.edu.cn/?zhoupeng
http://ic.huanghuai.edu.cn/?zhoupeng
6.4.4 万维网的文档
1.静态文档
2.动态文档
3.活动文档
http://ic.huanghuai.edu.cn/?zhoupeng
1.静态万维网文档
 超文本标记语言 HTML(又称HTML文档)
 HTML定义了许多用于排版的命令(即标签)。
 HTML把各种标签嵌入到万维网的页面中。这样就构成了HTML
文档。
 HTML文档是ASCII 码文件,可用任何文本编辑器创建或修改 。
 仅当HTML文档是以.html 或 .htm 为后缀时,浏览器才对此文
档的各种标签进行解释。
 当浏览器从服务器读取HTML文档后,就按照HTML文档中的各
种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重
新进行排版并恢复出所读取的页面。
http://ic.huanghuai.edu.cn/?zhoupeng
超媒体与超文本
 什么是超文本:利用一个链接可使用户找到另一个文档。
 一个超文本由多个信息源链接成。
 超媒体与超文本的区别
 文档内容不同。
 超文本文档仅包含文本信息,而超媒体文档还包含其他表示方
式的信息,如图形、图像、声音、动画,甚至活动视频图像。
http://ic.huanghuai.edu.cn/?zhoupeng
超文本方式的工作方式
南开大学
学校概况
学校概况
学校历史
学校概况
院系设置
学校目录
南开大学
学校历史
院系设置
信息学院
数学学院
信息学院
计算机系
计算机系
数学学院
http://ic.huanghuai.edu.cn/?zhoupeng
超媒体工作方式
老虎
文字介绍
文字介绍
音频介绍
视频介绍
视频介绍
音频介绍
http://ic.huanghuai.edu.cn/?zhoupeng
2. 动态万维网文档
 静态文档—预先创建,静态存放
 文档创作完毕后就存放在万维网服务器中,在被用户浏览过
程中,内容不会改变。
 动态文档—动态创建
 文档的内容是在浏览器访问万维网服务器时才由应用程序动
态创建。
 当浏览器需要动态文档时,服务器就运行该程序并发送输出
到浏览器。动态文档程序对每个需求可生成不同的输出。
 主要差别—体现在服务器端
 主要是指文档内容的生成方法不同。
http://ic.huanghuai.edu.cn/?zhoupeng
动态文档—万维网服务器功能的扩充
增加一个应用程序
用来处理浏览器发来的数据,并创建动态文档。
增加一个机制
用来使万维网服务器把浏览器发来的数据传送给这
个应用程序,然后万维网服务器能够解释这个应用
程序的输出,并向浏览器返回 HTML 文档。
http://ic.huanghuai.edu.cn/?zhoupeng
扩充了功能的
万维网服务器
万维网服务器
万维网客户
浏览器
程序
数据库
服务器
程序
HTTP
CGI
 请求文档
 CGI 程序创建

 响应动态文档
HTTP 响应报文

动态文档
HTTP 请求报文
http://ic.huanghuai.edu.cn/?zhoupeng
通用网关接口 CGI
(Common Gateway Interface)
 CGI 是一种标准,它定义了动态文档应如何创建,输入
数据应如何提供给应用程序,以及输出结果应如何使用。
 万维网服务器与 CGI 的通信遵循 CGI 标准。
 “通用”:CGI 标准所定义的规则对其他任何语言都是通用的。
 “网关”:CGI 程序的作用像网关。
 “接口”:有一些已定义好的变量和调用等可供其他 CGI 程序
使用。
http://ic.huanghuai.edu.cn/?zhoupeng
3. 活动万维网文档
活动文档(active document)—把所有的工作都转
移给浏览器端。
 每当浏览器请求一个活动文档时,服务器就返回一
段程序副本在浏览器端运行。
 活动文档程序可与用户直接交互,并可连续地改变
屏幕的显示。
 由于活动文档技术不需要服务器的连续更新传送,
对网络带宽的要求也不会太高。
http://ic.huanghuai.edu.cn/?zhoupeng
活动文档在客户端创建

万维网服务器
万维网客户
浏览器
程序
 请求文档
 此程序在
客户端创建
出活动文档

文档
服务器
HTTP 程序
HTTP 请求报文
程序
程序事先被编译
成二进制代码,
存放为文件
 响应程序

HTTP 响应报文 程序
http://ic.huanghuai.edu.cn/?zhoupeng
用 Java 技术创建活动文档
 JAVA可以设计交互式的网页。
 工作过程
 网页可以指向一个JAVE的applet,当浏览器发出请求
后,applet会被下载到浏览器中并被浏览其中所包含的
JAVA解释器安全地执行。
 JAVA系统包含三个部分:
 JAVA到字节代码的编译器
 支持applet的浏览器
 字节代码的解释器
http://ic.huanghuai.edu.cn/?zhoupeng
小结:三种万维网文档
的区别及优缺点
1.静态文档
 快、不灵活
2.动态文档
 慢、灵活
3.活动文档
 快、灵活、复杂
http://ic.huanghuai.edu.cn/?zhoupeng
6.4.5 万维网信息检索系统
万维网信息检索系统——搜索引擎
 搜索引擎:在万维网中用来进行搜索的程序。
 搜索引擎分类
 全文检索搜索
 分类目录搜索
http://ic.huanghuai.edu.cn/?zhoupeng
全文检索搜索引擎
 是一种纯技术型的检索工具。
 工作原理
 预先搜索
• 通过搜索软件(机器手或Spider程序)到因特网上的各网站收
集信息,找到一个网站后可以从这个网站再链接到另一个网站。
 建立数据库
• 根据收集的信息按照一定的规则建立一个很大的在线数据库供用
户查询。
 用户查询
• 用户在查询时只要输入关键词,就从已经建立的索引数据库上进
行查询(并不是实时地在因特网上检索到的信息)。
http://ic.huanghuai.edu.cn/?zhoupeng
分类目录搜索
分类目录搜索引擎并不采集网站的任何信息,
而是利用各网站向搜索引擎提交的网站信息时填
写的关键词和网站描述等信息,经过人工审核编
辑后,如果认为符合网站登录的条件,则输入到
分类目录的数据库中,供网上用户查询。
 分类目录搜索也叫做分类网站搜索。
http://ic.huanghuai.edu.cn/?zhoupeng
一些著名的搜索引擎
 最著名的全文检索搜索引擎:
 Google(谷歌)(www.google.com)
 百度 (www.baidu.com)
 必应( http://www.bing.com)
 最著名的分类目录搜索引擎:
 雅虎 (www.yahoo.com)
 新浪 (www.sina.com)
 搜狐 (www.sohu.com)
 网易 (www.163.com)
http://ic.huanghuai.edu.cn/?zhoupeng
小结:DNS与ARP的比较
 地址类型
 DNS:域名(应用层地址)→IP地址(网络层地址)
 ARP: IP地址(网络层地址) →MAC地址(数据链路层地址)
 作用范围
 DNS:全局(整个因特网)
 ARP:本地(仅限于LAN内部)
 工作方式
 DNS:本质上是对一个分布式数据库的查询过程
 ARP:LAN内部的广播查询
http://ic.huanghuai.edu.cn/?zhoupeng
习题5-13解答
一个UDP用户数据的数据字段为8192字
节。在数据链路层要使用以太网来传送。
试问应当划分为几个IP数据报片?说明
每一个IP数据报字段长度和片偏移字段
的值。
8字节
20字节
IP 首部
8192字节
运输层
UDP 首部 UDP 用户数据报的数据部分
IP 数据报的数据部分
帧首部
IP 层
帧尾部
最大MTU1500字节
5-13解答(续)
思路:
 1. 看图可知,UDP数据报在进入IP层后还必须加上8字
节的固定首部;即需要分片的总长度为8192+8=8200
字节;
 2. 由于以太网链路层传输单位是帧,所以看图可知,
分片后每个IP数据报片的长度不能>1500字节,除去最
小首部20字节,所以数据部分不能>1480字节;
 2. 此外,IP分片后片偏移必须是8字节的整数倍,因此
必须验算1480/8,得185,满足要求。
所以答案为:
 6个。数据字段的长度:前5个是1480字节,最后一个
是800字节。片偏移字段的值分别是:0,185,370,
555,740和925。
http://ic.huanghuai.edu.cn/?zhoupeng
习题5-30
设TCP使用的最大窗口为65535字节,而传
输信道不产生差错,带宽也不受限制。若报文
段的平均往返时间为20ms,问所得到的最大
吞吐量是多少?
http://ic.huanghuai.edu.cn/?zhoupeng
习题5-30解答
什么是窗口大小?
 TCP报文段的首部有窗口的大小—16位(P194图)。
 窗口这个域对于整个TCP协议都很重要。简单地说,窗口
大小是指接收端的接收缓存的大小(P195第7段),即允
许一次发送的最大TCP报文段。
• 应用进程在发数据的时候,TCP会缓存这些数据,稍后发送。接收数据
时也一样,TCP接收数据并缓存起来,直到应用进程调用recv之类的函
数取数据时,TCP才将这些缓存数据清除。
 TCP发送端会根据TCP接收端发过来的那个窗口值决定发
送多少数据。这样,TCP接收端的接收缓存才不至于溢出
http://ic.huanghuai.edu.cn/?zhoupeng
习题5-30解答(续)
 设TCP使用的最大窗口为65535字节,而传输信道不产生
差错,带宽也不受限制。若报文段的平均往返时间为20ms
,问所得到的最大吞吐量是多少?
解法1:在发送时延可忽略的情况下,最大吞吐量=
(8×最大窗口)÷平均往返时间=26.2Mb/s。
解法2:每20ms可以发送一个窗口大小的交通量
,则每秒可发50个窗口:1000ms÷20ms=50
 所以,最大吞吐量=8×65535×50=26.214Mb/s
习题5-31
一通信信道带宽为1Gb/s,端到端传播时延
为10ms,TCP的发送窗口为65535字节。
试问:可能达到的最大吞吐量是多少?信道的
利用率是多少?
http://ic.huanghuai.edu.cn/?zhoupeng
习题5-31解答
 解法一:
 此题应该计算发送时延(也叫传送时延)= L ÷ C=
(8*65535) ÷1Gb = 0.00052428s=0.52428ms
 所以,最大吞吐量= 发送窗口数据量 ÷ 【发送时延+往返
时间(即两倍传播时延)】= (8 *65535) ÷ (0.
52428ms+10*2 ms) ≈ 25.7 Mb/s
 信道的利用率约为25.7 Mb/s÷1000Mb/s≈ 2.57%
 解法二:
 由于是计算可能达到的最大吞吐量,所以忽略发送时延。
最大吞吐量=(8*最大窗口)÷平均往返时间=26.2Mb/s。
 信道的利用率约为26.214Mb/s÷1000Mb/s≈2.6%
http://ic.huanghuai.edu.cn/?zhoupeng
习题5-35
试计算一个包括5段链路的运输连接的单程端
到端时延。5段链路程中有2段是卫星链路,有
3段是广域网链路。每条卫星链路又由上行链
路和下行链路两部分组成。可以取这两部分的
传播时延之和为250ms。每一个广域网的范
围为1500km,其传播时延可按150000km
/s来计算。各数据链路速率为48kb/s,帧
长为960位。
http://ic.huanghuai.edu.cn/?zhoupeng
习题5-35解答
思路:端到端时延=发送时延+传播时延
 注意s和ms的转换,b和kb的转换。
 5段链路的传播时延
250*2+(1500 ÷ 150000)*3*1000=530ms
 5段链路的发送时延
L ÷ C= [960 ÷ (48*1000)]*5*1000=100ms
 所以5段链路单程端到端时延=530+100=630ms
http://ic.huanghuai.edu.cn/?zhoupeng
http://ic.huanghuai.edu.cn/?zhoupeng