应用层协议
应用层
23
万维网 WWW概述
万维网 WWW (World Wide Web)并非某种特殊的
计算机网络。 万维网是一个大规模的、联机式的信息储藏所。
万维网用链接的方法能非常方便地从因特网上的一个
站点访问另一个站点,从而主动地按需获取丰富的信 息。 这种访问方式称为“链接”。
应用层
24
用户可以使用的端口1024-65535
问题:为什么不使用操作系统的进程号来标识
进程。
应用层 6
应用进程需要怎样的传输服务?
数据丢失(Data loss) 某些应用 (e.g., audio) 可 以容忍某种程度上的数据丢 失 其他应用 (e.g., 文件传输, telnet) 要求 100% 可靠的 数据传输 实时性(Timing) 某些应用(e.g., IP 电话 , 交互式游戏) 要求较低 的时延
reply
application transport network data link physical
服务器:
向客户端提供所请求的服务 e.g., Web 服务器发送被请求的 Web
页面, 邮件服务器传递 e-mail
应用层
4
应用层协议(续)
应用程序接口(API: application programming interface)
身份证, 姓名, 护照 #
IP 地址 (32 bit) – 用于 数据报寻址 “域名”, e.g., – 帮助 记忆
Domain Name System:
因特网主机, 路由器:
分布式数据库:由许多域 名服务器按层次构成
DNS透明的解决了IP地址
和域名的转换问题 DNS传输一般使用UDP,端 口53。
所依赖的传输协议
TCP TCP TCP TCP TCP or UDP TCP or UDP typically UDP
应用层
10
在IE中输入网址后……
首先域名解析DNS,浏览器和DNS服务器交
互 其次采用http协议,浏览器和Web服务器交互
应用层
11
DNS: 域名系统
自然人: 诸多定义:
带宽(Bandwidth) 某些应用(e.g., 多媒体) 对最低带宽有要求 其他应用(“弹性应用”) 则可灵活应用所能得到 的带宽
应用层
7
常用应用程序对传输功能的要求
应用程序 数据丢失
文件传输 e-mail Web 网页 实时音频/视频 存储音频/视频 交互式游戏 金融应用 不丢失 不丢失 不丢失 允许丢失 允许丢失 允许丢失 允许丢失 不丢失
三级域名 四级域名
mail
…
tsinghua pku fudan sjtu seu
mail csnetl ep
…
DNS name servers
为什么不搞集中的DNS? 单点失败的问题 数据的流通量 远程集中式的数据库 维护问题 难以与时俱进,跟不上发展!
没有服务器能够保存所有
应用层
3
客户端-服务器模式
典型的网络应用都是由两个部 分组成: 客户端 和 服务器
客户端:
发起同服务器的联系 (“speaks
application transport network data link physical
request
first”) 一般都从服务器请求服务, Web: 客户端由浏览器实现; email: 通过OE、Foxmial实现
应用层
9
Internet应用: 应用, 传输协议
应用
e-mail 远程终端访问 Web 文件传输 流媒体 远程文件服务器 IP电话
应用协议
smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] 专有协议 (e.g. RealNetworks) NSF 专有协议 (e.g., Vocaltec)
Q: IP 地址和域名之间如 何映射(转换) ?
应用层
12
因特网的域名结构
因特网采用了层次树状结构的命名方法。 任何一个连接在因特网上的主机或路由器,都
有一个惟一的层次结构的名字,即域名。
域名的结构由若干个分量组成,各分量之间用
点隔开: … .三级域名.二级域名.顶级域名
各分量分别代表不同级别的域名。
应用层
20
DNS 纪录
DNS: 存储资源纪录 (RR)的分布式数据库
RR 格式: (name,
Type=A name = 主机名 value = IP 地址
value, type,ttl)
Type=CNAME Name= 别名
is really
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
万维网提供分布式服务
① ② 万维网 站点 A
③ ④
⑤ ⑥
万维网站点 B
万维网站点 E
万维网 站点 C
万维网站点 D
应用层
25
超媒体与超文本
万维网是分布式超媒体(hypermedia)系统,它是超文
本(hypertext)系统的扩充。 一个超文本由多个信息源链接成。利用一个链接可使 用户找到另一个文档。这些文档可以位于世界上任何 一个接在因特网上的超文本系统中。超文本是万维网 的基础。 超媒体与超文本的区别是文档内容不同。超文本文档 仅包含文本信息,而超媒体文档还包含其他表示方式 的信息,如图形、图像、声音、动画,甚至活动视频 图像。
定义应用层和传输层间的
Q: 某个进程如何“标识” 另一个 需要与之通信的 进程?(SOCKET 套接字 )
接口 插口(socket: Internet API)
两个进程间的通信, 将数 据送入 socket, 或从 socket 读出数据
IP 地址-运行另一个进程 的主机所拥有的 “端口号(PORT #)” – 允许接收主机来确定的一 个标识,本地进程将报文 发送给它 SOCKET=IP+PORT
应用层
26
万维网的工作方式
万维网以客户服务器方式工作。 浏览器就是在用户计算机上的万维网客户程序。
万维网文档所驻留的计算机则运行服务器程序, 因此这个计算机也称为万维网服务器。
客户程序向服务器程序发出请求,服务器程序向
客户程序送回客户所要的万维网文档。
在一个客户程序主窗口上显示出的万维网文档称
Type=NS value =真名 name = 域 (e.g. ) Type=MX value =该域授权域名服务 value = 与 name相关的邮件 器的 IP 地址 服务器域名
应用层
21
DNS 协议-报文格式
DNS 协议 : 查询和应答报文, 二者格式相同
应用层
2
网络应用程序: 一些术语
进程(Process): 主机中运行 用户代理(User agent): 中的程序. 软件进程, 是介于用户 ( above )和网络( 在某些主机中, 两个进程 below )之间的接口 使用进程间通信 (由 OS 管理). 实现应用级协议 而运行在不同主机上的进 Web: 浏览器 程则使用应用层协议进行 E-mail: OE、Foxmail 通信 流媒体: media player
应用层
5
关于端口的说明
端口是应用进程的标识,本质上是一个存放在
传输层首部的一个字段的值,如TCP端口, UDP端口。 端口可以看作传输层对于应用层的SAP 端口占两个字节,范围是0-65535
பைடு நூலகம்
保留使用的端口0-1023
http:80. Dns:53. Smtp:25 pop:110
报文首部
identification: 16 bit #
用于查询, 应答报文使用同 样的 # flags: 查询 或 应答 希望递归 可以递归 授权应答
应用层
22
DNS 协议-报文格式
Name, type fields 查询报文 RRs 响应
来自授权服务器的纪录
其他“帮助”信息
Name-to-IP 地址的映射 本地域名服务器:
每个 ISP, 企业可拥有 本地
(默认) 域名服务器
主机的 DNS 查询首先发往 本地域名服务器 每台主机必须在授权服务器 上注册登记 可完成域名/地址的转换
授权域名服务器:
应用层
16
DNS: 根域名服务器
当本地域名服务器不能解析时,就向根域名服务器查询
应用层
13
顶级域名 TLD
(Top Level Domain)
(1) 国家顶级域名 nTLD:如: .cn 表示中国,.us 表示美国 ,.uk 表示英国,等等。 (2) 国际顶级域名 iTLD:采用.int。国际性的组织可在 .int 下注册。 (3) 通用顶级域名 gTLD:最早的顶级域名是:
.com 表示公司企业 .net 表示网络服务机构 .org 表示非赢利性组织 .edu 表示教育机构(美国专用) .gov 表示政府部门(美国专用) .mil 表示军事部门(美国专用)
应用层
14
因特网的名字空间