Part 2: Apprlications

Download Report

Transcript Part 2: Apprlications

第2讲: 应用层
本讲目标:
 网络应用层的概念和
实现
 客户端-服务器范式
 服务模型
深层次目标
 特定协议:
 通过对常用应用层协
议的探讨和分析来学
习网络协议
 教科书参考






http
ftp
smtp
pop
dns
第9章
主讲人: 西安交通大学 程向前
第2讲:应用层
1
应用程序和应用层协议
应用程序:沟通, 分布式的进
程



运行在网络主机中的 “用户
空间”
在应用程序间交换报文
e.g., email, ftp, Web
application
transport
network
data link
physical
应用层协议:



应用层的一个“组成部分”
定义应用程序需交换的报文
和所需采取的动作
使用较低层次所提供的通信
服务 (TCP, UDP)
主讲人: 西安交通大学 程向前
application
transport
network
data link
physical
application
transport
network
data link
physical
第2讲:应用层
2
网络应用程序: 一些术语
进程(Process): 主机中运行  用户代理(User agent):
中的程序.
软件进程, 是介于用户
( above )和网络(
 在某些主机中, 两个进程
below )之间的接口
使用进程间通信 (由 OS
管理).
 实现应用级协议
 而运行在不同主机上的进
 Web: 浏览器
程则使用应用层协议进行
 E-mail: OE、Foxmail
通信
 流媒体: media player
主讲人: 西安交通大学 程向前
第2讲:应用层
3
客户端-服务器范式
典型的网络应用都是由两个部
分组成: 客户端 和 服务器
客户端:
application
transport
network
data link
physical
 发起同服务器的联系 (“speaks
first”)
 一般都从服务器请求服务,
 Web: 客户端由浏览器实现; email: 通过OE、Foxmial实现
服务器:
 向客户端提供所请求的服务
 e.g., Web 服务器发送被请求的 Web
request
reply
application
transport
network
data link
physical
页面, 邮件服务器传递 e-mail
主讲人: 西安交通大学 程向前
第2讲:应用层
4
应用层协议(续)
应用程序接口(API:
application programming
interface)
 定义应用层和传输层间的
接口
 插口(socket: Internet
API)

两个进程间的通信, 将数
据送入 socket, 或从
socket 读出数据
主讲人: 西安交通大学 程向前
Q: 某个进程如何“认定”
另一个 需要与之通信的
进程?



IP 地址-运行另一个进程
的主机所拥有的
“端口号(PORT #)” –
允许接收主机来确定的一
个标识,本地进程将报文
发送给它
教科书p232-234
第2讲:应用层
5
应用进程需要怎样的传输服务?
数据丢失(Data loss)
 某些应用 (e.g., audio) 可
以容忍某种程度上的数据丢
失
 其他应用 (e.g., 文件传输,
telnet) 要求 100% 可靠的
数据传输
实时性(Timing)
 某些应用(e.g., IP 电话
, 交互式游戏) 要求较低
的时延
主讲人: 西安交通大学 程向前
带宽(Bandwidth)
 某些应用(e.g., 多媒体)
对最低带宽有要求
 其他应用(“弹性应用”)
则可灵活应用所能得到
的带宽
第2讲:应用层
6
常用应用程序对传输功能的要求
应用程序 数据丢失
文件传输
e-mail
Web 网页
实时音频/视频
存储音频/视频
交互式游戏
金融应用
不丢失
不丢失
不丢失
允许丢失
允许丢失
允许丢失
允许丢失
不丢失
主讲人: 西安交通大学 程向前
带宽
实时性
弹性
弹性
弹性
音频: 5Kb-1Mb
视频:10Kb-5Mb
同上
几 Kb/s 以上
弹性
无
无
无
100’s msec
few secs
100’s msec
yes and no
第2讲:应用层
7
Internet 的传输协议服务
UDP服务:
TCP 服务:





面向连接: 在客户端和服务器进
 在客户端和服务器进程之间
程之间需要建立连接(setup
)
可靠传输 : 在发送和接受进程
之间
流量控制: 发送数据的速度决不
超过接收的速度
拥塞控制: 当网络超负荷时,束
紧发送端口,减缓发送速度
不提供: 实时性, 最小带宽承诺
实现“不可靠的”数据传输
 不提供:连接建立, 可靠性保
证,流量控制,拥塞控制,实时
性, 最小带宽承诺
主讲人: 西安交通大学 程向前
Q: 既生喻,何生亮? Why is
there a UDP?
第2讲:应用层
8
Internet应用: 应用, 传输协议
应用
e-mail
远程终端访问
Web
文件传输
流媒体
远程文件服务器
IP电话
应用协议
所依赖的传输协议
smtp [RFC 821]
telnet [RFC 854]
http [RFC 2068]
ftp [RFC 959]
专有协议
(e.g. RealNetworks)
NSF
专有协议
(e.g., Vocaltec)
TCP
TCP
TCP
TCP
TCP or UDP
主讲人: 西安交通大学 程向前
TCP or UDP
typically UDP
第2讲:应用层
9
http 协议
http: TCP 传输服务:
 客户端启动TCP连接(创建插口
) 到服务器, 端口 80
 服务器接受来自客户端的 TCP
连接
 http 报文(应用层协议报文)
在浏览器 (http client) 和
Web服务器(http server)之间
进行交换
 关闭TCP 连接
主讲人: 西安交通大学 程向前
http 是 “无状态(
stateless)”的
 服务器不保留任何访问
过的请求信息
小评论
保留状态的协议很复杂哟!
 过去的历史 (状态) 需要保留
 一旦浏览器/服务器崩溃, 它
们各自的状态视图就会发生
分歧,还需要重新核对
第2讲:应用层
10
Web: http 协议
超文本传输协议(http:
hypertext transfer
protocol)
 万维网应用协议
 客户端/服务器模式

PC running
Explorer
客户端: 浏览器请求、接
收、展示 Web对象(
objects)
 服务器: Web 服务器发
送对象对请求进行响应
 http1.0: RFC 1945
 http1.1: RFC 2068
主讲人: 西安交通大学 程向前
Server
running
NCSA Web
server
Mac running
Navigator
第2讲:应用层
11
http 举例
假设用户键入了一个 URL
www.someSchool.edu/someDepartment/home.index
1a. http 客户端启动 TCP 连接到
www.someSchool.edu上的
http 服务器 (进程). Port 80
是 http 服务器的默认端口.
(该网页包含文本
并引用了10
jpeg 图片)
1b. 在www.someSchool.edu 上
的http 服务器在 port 80 等待
TCP 的连接请求. “接受” 连
接并通知客户端
2. http客户端发送 http 请求报
文 (包括URL) 进入 TCP 连接插
口(socket)
3. http 服务器接收到请求报文,
形成 响应报文( 包含了所请求
的对象 ,
someDepartment/home.index), 将报
文送入插口( socket)
time
主讲人: 西安交通大学 程向前
第2讲:应用层
12
http 举例 (续.)
4. http 服务器关闭 TCP 连接.
5. http 客户端接收到了包含
time 6.
html文件的响应报文。 分
析 html 文件, 发现 10 个
引用的 jpeg 对象
对10 jpeg objects 逐个重复
1-5 步
主讲人: 西安交通大学 程向前
第2讲:应用层
13
非持续和持续连接
(非持续连接)Non-
(持续连接)Persistent
persistent
 http/1.1的默认设置
 http/1.0: 服务器分析请
 在同一TCP 连接上: 服
求、响应、关闭 TCP 连接
务器分析请求、响应请
 取对象需要2 RTTs
求,分析新的请求、..
 TCP 连接
 客户端一旦下载到了基
本的html文件( base
 对象请求/传送
HTML )马上发送对所
 每次传送都要受到TCP连
有引用对象的请求.
接初始化时的慢启动影响
 较少的 RTTs, 较少的
 许多浏览器同时打开多个
慢启动.
并行的连接来改善性能
主讲人: 西安交通大学 程向前
第2讲:应用层
14
http 报文格式: request(请求)
 two types of http报文:
request, response
 http 请求报文:
 ASCII (可读格式)
请求行
(GET, POST,
HEAD 命令)
GET /somedir/page.html HTTP/1.0
User-agent: Mozilla/4.0
Accept: text/html, image/gif,image/jpeg
首部 Accept-language:fr
诸行
(额外的 carriage return, line feed)
回车、换行表示
报文结束
主讲人: 西安交通大学 程向前
第2讲:应用层
15
http 请求报文: 一般格式
主讲人: 西安交通大学 程向前
第2讲:应用层
16
http 报文格式: response(响应)
状态行
(协议状态码
状态短语)
首部
诸行
数据, e.g.,
被请求的html文件
HTTP/1.0 200 OK
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 …...
Content-Length: 6821
Content-Type: text/html
data data data data data ...
主讲人: 西安交通大学 程向前
第2讲:应用层
17
http 响应状态码和短语
位于(服务器->客户端)响应报文的第一行.
样例:
200 OK

请求成功, 被请求的对象在报文中
301 Moved Permanently

被请求的对象被移动过, 新的位置在报文中有说明 (Location:)
400 Bad Request

服务器不懂请求报文
404 Not Found

服务器上找不到请求的对象
505 HTTP Version Not Supported
主讲人: 西安交通大学 程向前
第2讲:应用层
18
自行测试 http (客户端操作)
1. 用Telnet 连接测试用的服务器(需要预先登录UNIX):
$telnet 202.117.35.70 80 打开 TCP 连接到 port 80
(默认的http 服务器端口) 位于 202.117.35.70
后续键入的内容将发送到202.117.35.70
80 号端口
的
2. 键入一条 http请求报文:
GET /~j1010/hello.htm HTTP/1.0
将该指令键入后 (按两次回车键), 就
将此最短之 (但是完整的)
GET 请求发到了 http 服务器
3. 请注意观察http服务器发回的响应报文!
主讲人: 西安交通大学 程向前
第2讲:应用层
19
用户-服务器的交互: 认证(authentication)
认证 : 控制对服务器内容的访问
server
client
 信用认证: 一般通过用户名, 口
令进行
普通 http 请求报文
 无状态: 客户端必须在每次请求
401: 认证要求
前进行认证
WWW authenticate:
 authorization: 就是要求在每
个请求报文中提交认证的首
普通 http 请求报文
部行
+ Authorization: <cred>
 如果客户端没有提交
authorization: 首部行, 服务
普通 http响应报文
器将拒绝访问, 只是在响应
报文首部中发送
WWW authenticate:
普通 http 请求报文
+ Authorization: <cred>
普通 http响应报文
主讲人: 西安交通大学 程向前
time
第2讲:应用层
20
Cookies: 保存 “状态”
 服务器产生一个 # , 服务
器认识这个 #, 以备不时
之需:
 认证
 记忆用户的前序访问,
先前的选择
 服务器在响应报文中发送
“cookie” 给客户端
client
Set-cookie: 1678453
 客户端可以在后继的请求中
server
普通 http 请求报文
普通 http响应报文+
Set-cookie: #
普通 http 请求报文
cookie: #
普通 http响应报文
cookie特定的
发送“cookie”
cookie: 1678453
普通 http 请求报文
cookie: #
cookie特定的
普通 http响应报文
主讲人: 西安交通大学 程向前
第2讲:应用层
21
Conditional GET: 客户端缓存机制
 目的: 如果客户端缓存了最新
的请求对象,则服务器不必重
复发送
 客户端: 在http请求报文中声
明所缓存拷贝的生成日期
server
client
If-modified-since:
<date>
 服务器: 如果客户端缓存的拷
贝是最新的,则在响应报文中
不发请求的对象:
HTTP/1.0 304 Not
Modified
http请求报文
If-modified-since:
<date>
对象未
经修改
http响应报文
HTTP/1.0
304 Not Modified
http请求报文
If-modified-since:
<date>
http响应报文
对象已
经修改
HTTP/1.1 200 OK
<data>
主讲人: 西安交通大学 程向前
第2讲:应用层
22
Web 缓存:代理服务器 (proxy server)
目的: 满足客户端的请求而无需烦扰原始服务器
 用户设置浏览器:
Web 访问经由代理服
务器
 客户端发送所有的
http 请求到代理服务器


origin
server
client
Proxy
server
代理服务器保存了请求的
对象: 代理服务器返回
请求的对象
否则代理服务器从原始
服务器请求对象,再将
其返回给客户端
client
主讲人: 西安交通大学 程向前
origin
server
第2讲:应用层
23
为何Web缓存?
前提: 缓存与客户端比较
“接近 “(e.g., 在同一
网络中)
 响应时间较短:缓存与客
户端比较“接近 “
origin
servers
public
Internet
 减少了往来与远程服务
1.5 Mbps
access link
器间的数据流量

因为从学校或本地ISP 通
往外部的链路往往是网络
瓶颈
institutional
network
10 Mbps LAN
institutional
cache
主讲人: 西安交通大学 程向前
第2讲:应用层
24
ftp: 文件传输协议
user
at host
FTP
FTP
user
client
interface
local file
system
file transfer
FTP
server
remote file
system
 传输文件往来与远程主机
 客户端/服务器模式
客户端: 启动传输 (无论与往来远程主机)
 服务器: 远程主机

 ftp: RFC 959
 ftp 服务器: 端口 21
主讲人: 西安交通大学 程向前
第2讲:应用层
25
ftp: 分离的控制, 数据连接
 ftp客户端在 ftp 服务器的 端
口21进行联系, 使用TCP作为
传输协议
 打开两个并行的连接:
 控制:在客户端和服务器之
间交换命令, 响应。称为带
外控制:
“out of band control”
 数据: 往来于服务器的文件
 ftp 维持状态 (state): 当前
目录、先前的认证信息等
主讲人: 西安交通大学 程向前
TCP control connection
port 21
FTP
client
TCP data connection
port 20
FTP
server
第2讲:应用层
26
ftp 命令, 响应
样例命令:
 在控制通道上传送的
ASCII文本


USER username(登录)
PASS password(登录)

LIST (返回当前目
录中的文件列表)

RETR filename (取
(gets) 文件)

STOR filename (存
(puts) 文件到远程主机)
主讲人: 西安交通大学 程向前
返回码样例
 状态码和短语 (同 http)
 331 Username OK,
password required
 125 data
connection already
open; transfer
starting
 425 Can’t open
data connection
 452 Error writing
file
第2讲:应用层
27
电子邮件
外发报文队列
用户邮箱
四个重要组件:
user
agent
 用户代理
 邮件服务器
 简单邮件传输协议: smtp
mail
server
SMTP
 邮局协议:pop
用户代理
 写作, 编辑, 阅读邮件报文
 e.g., Foxmail, OE, elm,
Netscape Messenger
 外发, 接收的报文存储在邮件
服务器中
SMTP
mail
server
user
agent
主讲人: 西安交通大学 程向前
SMTP
user
agent
mail
server
user
agent
user
agent
user
agent
第2讲:应用层
28
电子邮件:邮件服务器
Mail Servers
user
agent
 邮箱 包含了收到的用户
邮件 (尚未被阅读)
 报文 队列包含了外发的
邮件报文
 smtp 协议用在邮件服务
器之间发送邮件
 客户端: 将邮件发送
到邮件服务器
 “服务器”: 接收和转
发邮件
mail
server
SMTP
SMTP
mail
server
user
agent
主讲人: 西安交通大学 程向前
SMTP
user
agent
mail
server
user
agent
user
agent
user
agent
第2讲:应用层
29
电子邮件: smtp [RFC 821]
 使用 tcp 可靠的传送邮件报文, 端口25
 直接传输: 发送服务器到接收服务器
 传输的三个阶段
握手(打招呼)
 报文传输
 结束
 命令/响应交互
 命令: ASCII文本
 响应: 状态码和短语

 邮件报文必须使用7-bit ASCII表示
主讲人: 西安交通大学 程向前
第2讲:应用层
30
smtp 交互样例(在UNIX中用telnet)
S:
C:
S:
C:
S:
C:
S:
C:
S:
C:
C:
S:
C:
S:
220 X1 NT-ESMTP Server ctec.xjtu.edu.cn
HELO [email protected]
250 hello ctec.xjtu.edu.cn
MAIL FROM:<[email protected]>
250 ok
RCPT TO:<[email protected]>
250 ok its for <[email protected]>
DATA
354 ok, send it; end with <CRLF>.<CRLF>
Hi, I am in XUJI now,Where are you?
.
250 Message queued
QUIT
221 Goodbye
主讲人: 西安交通大学 程向前
第2讲:应用层
31
自测 smtp 交互:
 $telnet 202.117.35.170 25
 见到邮件服务器的 220 响应后
 键入 HELO, MAIL FROM, RCPT TO, DATA,
QUIT 命令
上述过程可以不使用用户代理,就能直接将电子邮件
发送出去(因为目前大部分邮件服务器的交互过程趋
于复杂,本试验不一定都能进行)。
主讲人: 西安交通大学 程向前
第2讲:应用层
32
smtp: 评述
 smtp 使用持续连接
 smtp 要求报文 (首部 &
信体) 全部使用 7-bit
ASCII码
 某些代码组合不允许出
现在报文中 (e.g.,
CRLF.CRLF). 此类数据
必须进行编码 (通常使
用 base-64 或 quoted
printable)
 smtp 服务器用
CRLF.CRLF 表示邮件
报文的结束
主讲人: 西安交通大学 程向前
与 http的比较:
 http: pull(拉)
 email: push(推)
 都使用 ASCII 命令/响
应交互, 状态码
 http: 每个对象分装在
各自的响应报文中
 smtp:多个对象在一个多
分部的报文中传送
第2讲:应用层
33
邮件报文格式
smtp: 交换邮件报文的协议
RFC 822: 文本报文格式标准:
 首部诸行, e.g.,



To:
From:
Subject:
不同 于 smtp 命令!
header
空行
body
 信体

即 “报文”, ASCII
characters only
主讲人: 西安交通大学 程向前
第2讲:应用层
34
邮件格式: 多媒体扩展
 MIME: multimedia mail extension, RFC 2045, 2056
 在报文首部附加额外的信息声明 MIME 内容类型
MIME 版本
数据编码方法
多媒体类型, 子类型,
参数声明
编码后的数据
From: [email protected]
To: [email protected]
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
主讲人: 西安交通大学 程向前
第2讲:应用层
35
MIME 类型声明
Content-Type: type/subtype; parameters
Text
Video
 子类型样例: plain, html
 子类型样例: mpeg,
quicktime
Image
 子类型样例: jpeg, gif
Application
 需使用其他阅读器的数据
Audio
 子类型样例: msword,
 子类型样例: basic (8-bit
octet-stream
mu-law encoded),
32kadpcm (32 kbps
coding)
主讲人: 西安交通大学 程向前
第2讲:应用层
36
MIME多分部类型
From: [email protected]
To: [email protected]
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=98766789
--98766789
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain
Dear Bob,
Please find a picture of a crepe.
--98766789
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
--98766789-主讲人: 西安交通大学 程向前
第2讲:应用层
37
邮件访问协议
user
agent
SMTP
SMTP
sender’s mail
server
POP3 or
IMAP
user
agent
receiver’s mail
server
SMTP: 发送/存储 到接收方的服务器
 邮件访问协议: 从服务器中取信
 POP: Post Office Protocol [RFC 1939]
• 认证 (agent <-->server) 和下载
 IMAP: Internet Mail Access Protocol [RFC 1730]
• 更多功能(更为复杂)
• 在服务器中操作存储在那里的报文
 HTTP: Hotmail , Yahoo! Mail, 263.net,etc.

主讲人: 西安交通大学 程向前
第2讲:应用层
38
POP3 协议
认证阶段
 客户端命令:
user: 用户名
 pass: 口令
 服务器响应
 +OK
 -ERR

交互阶段, 客户端:
 list: 列出报文号码
 retr: 用报文号码取信
 dele:用报文号码删信
 quit
主讲人: 西安交通大学 程向前
S:
C:
S:
C:
S:
+OK POP3 server ready
user alice
+OK
pass hungry
+OK user successfully logged
C:
S:
S:
S:
C:
S:
S:
C:
C:
S:
S:
C:
C:
S:
list
1 498
2 912
.
retr 1
<message 1 contents>
.
dele 1
retr 2
<message 1 contents>
.
dele 2
quit
+OK POP3 server signing off
第2讲:应用层
on
39
自测 pop3交互:
 $telnet 202.117.35.70 110
 见到+OK POP3 server ready 响应后
 键入 user, pass, list, retr, quit 命令
上述过程可以不使用用户代理,就能察看邮
箱中的信件。
主讲人: 西安交通大学 程向前
第2讲:应用层
40
DNS: 域名系统
自然人: 诸多定义:

身份证, 姓名, 护照 #
因特网主机, 路由器:


IP 地址 (32 bit) – 用于
数据报寻址
“域名”, e.g.,
ctec.xjtu.edu.cn – 帮助
记忆
Domain Name System:
分布式数据库:由许多域
名服务器按层次构成
 应用层协议: 主机、路由

Q: IP 地址和域名之间如
何映射(转换) ?
器、域名服务器互相通信
进行域名解析 (地址/域名
翻译)
 注意: 因特网之核心功
能, 应用层之协议

主讲人: 西安交通大学 程向前
网络“边缘”上之复杂
实体
第2讲:应用层
41
DNS name servers
为什么不搞集中的DNS?
 单点失败的问题
 数据的流通量
 远程集中式的数据库
 维护问题
 没有服务器能够保存所有
难以与时俱进,跟不上发展!
授权域名服务器:
Name-to-IP 地址的映射
本地域名服务器:




主讲人: 西安交通大学 程向前
每个 ISP, 企业可拥有 本地
(默认) 域名服务器
主机的 DNS 查询首先发往
本地域名服务器
每台主机必须在授权服务器
上注册登记
可完成域名/地址的转换
第2讲:应用层
42
DNS: 根域名服务器
 当本地域名服务器不能解析时,就向根域名服务器查询
 根域名服务器:



如果域名映射未知,则向授权域名服务器查询
取得映射
将映射返回本地域名服务器
a NSI Herndon, VA
c PSInet Herndon, VA
d U Maryland College Park, MD
g DISA Vienna, VA
h ARL Aberdeen, MD
j NSI (TBD) Herndon, VA
k RIPE London
i NORDUnet Stockholm
m WIDE Tokyo
e NASA Mt View, CA
f Internet Software C. Palo Alto,
CA
b USC-ISI Marina del Rey, CA
l ICANN Marina del Rey, CA
主讲人: 西安交通大学 程向前
遍布世界各地的
13个根域名服务器
第2讲:应用层
43
简单 DNS 举例
root name server
主机 ctec.xjtu.edu.cn 要
求 gaia.cs.umass.edu
的IP 地址
1. 联系本地域名服务器,
202.117.0.20
2.如有必要202.117.0.20 会
联系根域名服务器
3.如有必要根域名服务器会联系
授权域名服务器,
dns.umass.edu
2
4
5
local name server
202.117.0.20
1
authorititive name server
dns.umass.edu
6
requesting host
ctec.xjtu.edu.cn
主讲人: 西安交通大学 程向前
3
gaia.cs.umass.edu
第2讲:应用层
44
DNS 举例
root name server
根域名服务器:
6
2
7
 可能不知道授权域
3
名服务器的地址
 可能知道中介域名
服务器: 由它负责
local name server
联系授权域名服务
器
202.117.0.20
1
8
requesting host
ctec.xjtu.edu.cn
intermediate name server
dns.umass.edu
4
5
authoritative name server
dns.cs.umass.edu
gaia.cs.umass.edu
主讲人: 西安交通大学 程向前
第2讲:应用层
45
DNS: 迭代查询
root name server
递归查询:
3
 对根域名服务器造
成工作负担
 如何减负?
迭代查询:
 被查询的服务器直
接把可查询的服务
器地址报回
 “不懂这个域名, 但
可以从这个服务器
查到”
iterated query
2
4
7
local name server
dns.eurecom.fr
1
8
requesting host
intermediate name server
dns.umass.edu
5
6
authoritative name server
dns.cs.umass.edu
surf.eurecom.fr
gaia.cs.umass.edu
主讲人: 西安交通大学 程向前
第2讲:应用层
46
DNS: 缓存和更新纪录
 一旦 (任何) 域名服务器得知了某个映射, 就将其
缓存
在一定的时间间隔后缓存的条目将会过期(自动消
除)
 更新/通知 机制由 IETF负责设计


RFC 2136

http://www.ietf.org/html.charters/dnsind-charter.html
主讲人: 西安交通大学 程向前
第2讲:应用层
47
DNS 纪录
DNS: 存储资源纪录 (RR)的分布式数据库
RR 格式: (name,
 Type=A
 name = 主机名
 value = IP 地址
value, type,ttl)
 Type=CNAME
 Name= 别名
www.ibm.com is really
servereast.backup2.ibm.com
 Type=NS
 value =真名
 name = 域 (e.g.
foo.com)
 Type=MX
 value =该域授权域名服务
 value = 与 name相关的邮件
器的 IP 地址
服务器域名
主讲人: 西安交通大学 程向前
第2讲:应用层
48
DNS 协议, 报文
DNS 协议 : 查询和应答报文, 二者格式相同
报文首部
 identification: 16 bit #
用于查询, 应答报文使用同
样的 #
 flags:
 查询 或 应答
 希望递归
 可以递归
 授权应答
主讲人: 西安交通大学 程向前
第2讲:应用层
49
DNS 协议, 报文
Name, type fields
查询报文
RRs 响应
来自授权服务器的纪录
其他“帮助”信息
主讲人: 西安交通大学 程向前
第2讲:应用层
50
本讲小结
Our study of network apps now complete!
 应用服务的要求:
 可靠性, 带宽, 延迟
 客户端-服务器范式
 Internet 传输服务模型
 面向连接的, 可靠的:
TCP
 不可靠的, 数据报: UDP
主讲人: 西安交通大学 程向前
 特定协议:
 http
 ftp
 smtp, pop3
 dns
第2讲:应用层
51
本讲小结
Most importantly: learned about protocols
 典型的请求/应答报文交
换:


客户请求信息或服务
服务器用数据, 状态码进
行响应
 报文格式:
 首部: 说明数据的信息
 数据: 进行通信的信息
主讲人: 西安交通大学 程向前
 控制 vs. 数据报文
in-based, out-of-band
集中式 vs. 非集中式
无状态 vs. 有状态
可靠的 vs. 不可靠的报文传输
“网络边缘上的复杂实体”
安全性: 认证






第2讲:应用层
52