第7章 应用层 应用层主要提供应用进程与通信进程之间的接口 它提供两种不同的服务要素: 第7章 应用层 应用层主要提供应用进程与通信进程之间的接口 它提供两种不同的服务要素: CASE ( Common Application Service Element) 公共应用服务要素 CASE提供整个通信所要求的功能,如两个通信伙伴之间建立联系,向低层指示通信所用的参数、要求的服务质量等 SASE ( Special Application Service Element) 专门的(或具体的)应用服务要素 SASE包括专门的、但广泛应用的功能 如:虚拟终端、文件传输等
本章将讨论: SNMP – 简单网络管理协议 DNS – 域名系统 电子邮件E - mail WWW 多媒体
网络管理的基本出发点 具有网络监视和控制两方面的能力 能够管理所有层次的协议 尽可能大的可管理范围(设备种类) 尽可能小的系统开销 可管理不同厂家的设备
网络管理的五大功能 故障管理: 配置管理: 性能管理: 计费管理: 安全管理: 故障检测、故障定位、故障报告 识别网上的设备和用户,维护网上软硬件和电路的精确清单 性能管理: 资源利用率分析 计费管理: 对用户使用的各种资源进行跟踪,统计时间 安全管理: 用户授权,控制网上用户只能访问自己权限内的资源
常用的术语 网络元素: 对象: 被管对象: MIB: 具体的通信设备和逻辑实体 设备中描述其状态的变量,通信和信息处理范畴内可标识的且拥有一定信息特性的资源,如:网络接口、主机、路由表、某种协议 被管对象: 可用管理协议进行管理和控制的对象 MIB: 管理信息库,保存有关被管网络元素信息的数据结构
SNMP模型 网管站 网管代理 委托代理 数据库 管理协议 MIB
网络管理系统的组成 网管站: 网管代理(agent): 委托代理(proxy): 管理信息库(MIB): 管理协议: 运行网络管理软件的计算机 网管代理(agent): 运行于被管设备 委托代理(proxy): 无法安装SNMP的设备,通过委托代理管理 管理信息库(MIB): 存放被管信息 管理协议: 网管站、网管代理、委托代理之间的通信协议
网管站 运行特殊网络管理软件的普通计算机 在它上面运行一个或多个进程 它们在网络上与代理通信:发送命令,接收应答 MIB 管理进程 SNMP UDP IP 与网络有关的协议 在它上面运行一个或多个进程 它们在网络上与代理通信:发送命令,接收应答 网管工作站对所有被管设备的管理,通常采用定时的询问机制
网络管理系统的组成 网管站: 网管代理(agent): 委托代理(proxy): 管理信息库(MIB): 管理协议: 运行网络管理软件的计算机 网管代理(agent): 运行于被管设备 委托代理(proxy): 无法安装SNMP的设备,通过委托代理管理 管理信息库(MIB): 存放被管信息 管理协议: 网管站、网管代理、委托代理之间的通信协议
网管代理(agent) 运行于被管设备中,如路由器、交换机、网桥等 管理者 manager SNMP消息 被管设备 管理进程 代理进程 SNMP UDP IP 与网络有关的协议 通信网络 网络设备在完成主要职责的同时,运行一个网管代理软件,一般网管工作站定时轮询网管代理,网管代理则向网管工作站报告所询问的网络状态,或有紧急情况时网管代理向网管工作站提出紧急请求:Trap
网络管理系统的组成 网管站: 网管代理(agent): 委托代理(proxy): 管理信息库(MIB): 管理协议: 运行网络管理软件的计算机 网管代理(agent): 运行于被管设备 委托代理(proxy): 无法安装SNMP的设备,通过委托代理管理 管理信息库(MIB): 存放被管信息 管理协议: 网管站、网管代理、委托代理之间的通信协议
委托代理(proxy) 管理工作站 管理进程 SNMP UDP IP 底层协议 委托代理 协议转换功能 管理进程 被委托设备的协议结构 SNMP UDP IP 底层协议 被委托设备 管理进程 被委托设备的协议 底层协议 SNMP消息 通信网络 通信网络 一个SNMP的委托代理负责对一个或多个被委托设备的管理功能,即把管理者的命令和请求转换为此类设备能识别的信息,同时把这些设备的信息转换为管理者所能识别的形式,进行间接管理
网络管理系统的组成 网管站: 网管代理(agent): 委托代理(proxy): 管理信息库(MIB): 管理协议: 运行网络管理软件的计算机 网管代理(agent): 运行于被管设备 委托代理(proxy): 无法安装SNMP的设备,通过委托代理管理 管理信息库(MIB): 存放被管信息 管理协议: 网管站、网管代理、委托代理之间的通信协议
对象的命名 管理信息库MIB(management information base)指明了网络元素所维持的变量(即能被管理进程查询和设置的信息) MIB给出了一个网络中所有被管对象的集合的数据结构,SNMP的管理信息库采用树型结构,称为对象命名树
对象命名树 根 ccitt(0) iso(1) joint-iso-ccitt(2) Enterprises(1) 1.3.6.1.4.1 mib-2(1) 1.3.6.1.2.1 directory(1) mgmt(2) experimental(3) private(4) security(5) snmpv2(6) internet(1) 1.3.6.1 standard(0) registration authority(1) member body(2) identified organization(3) ccitt(0) iso(1) joint-iso-ccitt(2) 根 dod(6) system(1) interface(2) at(3) ip(4) icmp(5) tcp(6) udp(7) egp(8)
网络管理系统的组成 网管站: 网管代理(agent): 委托代理(proxy): 管理信息库(MIB): 管理协议: 运行网络管理软件的计算机 网管代理(agent): 运行于被管设备 委托代理(proxy): 无法安装SNMP的设备,通过委托代理管理 管理信息库(MIB): 存放被管信息 管理协议: 网管站、网管代理、委托代理之间的通信协议
SNMPv1协议只支持5类消息 get:管理者读取代理信息 set:管理者设置代理对象中的值 trap:在紧急情况下,代理向管理者报告信息 get-request get-response get-next-request set:管理者设置代理对象中的值 set-request trap:在紧急情况下,代理向管理者报告信息 trap
SNMP采用UDP协议 使用的端口号为161和162 161端口:接收来自管理者(网管工作站) 的全部协议数据单元 161端口:接收来自管理者(网管工作站) 的全部协议数据单元 162端口:用于代理向管理者传送事件/陷阱
SNMP报文的典型操作过程 SNMP管理进程 SNMP代理进程 get-request UDP端口161 get-next-request set-request get-response get- response trap SNMP管理进程 SNMP代理进程
本章将讨论: SNMP – 简单网络管理协议 DNS – 域名系统 电子邮件E - mail WWW 多媒体
域名系统DNS DNS:Domain Name System DNS的主要功能 DNS的名字空间 名字服务器 资源记录 域名解析过程
DNS的主要功能 功能:映射域名与IP地址之间的对应关系 域名 IP地址 DNS MAC地址 ARP 特点:分级的、基于域的命名机制和分布式的数据库系统
域名系统DNS DNS:Domain Name System DNS的主要功能 DNS的名字空间 名字服务器 资源记录 域名解析过程
Tnbm P581 Fig. 7-1 部分Internet域名空间 DNS的名字空间 DNS的分层结构 通用的 国家的 sun yale acm ieee edu sh occ vu eng cs eng jack jill sjtu online cs a inda cs orin flits fluit robit network int com edu gov mil org net cn jp nl ... Tnbm P581 Fig. 7-1 部分Internet域名空间
DNS的名字空间(续) 其中:int - 特定组织机构,net - 网络提供者 命名:域名是从叶到根的路径,用点分开 例: network.cs.sjtu.edu.cn 注: 大小写不敏感 新建一个域,必须征得所属域的同意 命名遵循组织界限,而非物理网络 1997年 Internet公布了新的顶级域名 .firm 企业或公司 .rfo 娱乐活动 .now 个体或个人 .info 提供信息服务的单位 .store 售货单位 .arts 文化娱乐单位 .web 与WWW活动有关的单位
域名系统DNS DNS:Domain Name System DNS的主要功能 DNS的名字空间 名字服务器 资源记录 域名解析过程
Tnbm P586 Fig. 7-4 显示区域划分的部分DNS名字空间 域名服务器 提供域名解析 域名的解析是通过分布式数据库系统,由区域管理员划分区域边界,每个区域有自己的DNS服务器 一台域名服务器必须负责自己所管辖的所有主机的域名解析 也必须知道上一层域名服务器的IP地址 通用的 国家的 int com edu gov mil org net cn jp nl ... sun yale acm ieee edu sh occ vu eng cs eng jack jill sjtu online cs a inda cs orin flits fluit robit network Tnbm P586 Fig. 7-4 显示区域划分的部分DNS名字空间
域名系统DNS DNS:Domain Name System DNS的主要功能 DNS的名字空间 名字服务器 资源记录 域名解析过程
资源记录 每一个域都有一组资源记录,对任意一台主机来说,最常见的资源记录是它的IP地址 域名服务器的主要功能是将域名映射成一组资源记录
资源记录的组成 Domain name:该资源记录对应的域 Time to live:该资源记录的生存期(秒) class type value Domain name:该资源记录对应的域 Time to live:该资源记录的生存期(秒) Class:常量“IN”,即Internet类 Type:记录类型 Value:取决于记录类型
Tnbm P583 Fig. 7-2 主要的DNS资源记录类型 记录类型 Type 类型 意义 值 SOA 提供有关域名服务器区域、管理者的Email地址等信息 有关该区域的一组参数 A 主机的IP地址 32位整型数 MX 邮件服务器 邮件服务器名 NS 域名服务器 该域的域名服务器名 CNAME 别名 域名 PTR 指针 某一IP地址的别名,用于反向解析 HINFO 主机描述 ASCII方式表示的CPU或OS TXT 文本 任意字符串 Tnbm P583 Fig. 7-2 主要的DNS资源记录类型
资源记录实例 荷兰Vrije 大学计算机系DNS数据库可能的权威记录信息 域名 生存期 类 类型 说明 cs.vu.nl 86400 IN SOA star boss (9527,7200) TXT “Vrije Universiteit Amsterdam” MX 1 zephyr.cs.vu.nl 2 top.cs.vu.nl flits.cs.vu.nl HINFO Sun Unix A 130.37.16.112 1 flits.cs.vu.nl ftp.cs.vu.nl CNAME 2 zephyr.cs.vu.nl Rowboat 130.37.62.23
域名系统DNS DNS:Domain Name System DNS的主要功能 DNS的名字空间 名字服务器 资源记录 域名解析过程
Tnbm P587 Fig. 7-5 域名解析器如何用个8步骤解析出远程IP地址 域名解析过程 通过UDP包传输请求和应答 cs.sjtu.edu.cn要知道www.cs.tsinghua.edu.cn的IP地址,其过程(递归)为: cs.sjtu.edu.cn sjtu.edu.cn edu.cn tsinghua. edu.cn ① ⑧ ⑦ ③ ⑥ 起始服务器 sjtu DNS服务器 cernet tsinghua ② cs.tsinghua. tsinghua CS ④ ⑤ Tnbm P587 Fig. 7-5 域名解析器如何用个8步骤解析出远程IP地址
DNS性能的优化 解决根服务器太忙的问题 复制:每个根服务器被复制许多份,存于整个世界,实际使用时,找物理上最近的服务器
本章将讨论: SNMP – 简单网络管理协议 DNS – 域名系统 电子邮件E - mail WWW 多媒体
电子邮件 电子邮件是使用方便、传递迅速、价格低廉的通信手段 电子邮件标准 SMTP – Internet 的标准 X.400 – CCITT的标准
电子邮件E-mail E-mail服务基于客户/服务器模式,逻辑上分成用户代理和消息传输代理两个子系统 电子邮件系统具有五个基本功能:撰写、传输、报告、显示、处理
电子邮件的组成及其传输 E-mail系统的组成 用户代理 消息格式 消息传输 最终递交
E-mail系统的组成图例 电子邮件系统 用 户 接 口 发送邮件缓冲区 用户信箱 报文传输代理MTA 用户代理UA 客户 (发送邮件) 计算机网络讲义 计算机网络讲义 E-mail系统的组成图例 发送邮件缓冲区 用户信箱 报文传输代理MTA 用 户 接 口 用户代理UA 客户 (发送邮件) 服务器 (接收邮件) 发送邮件的TCP连接 目的端口号25 接收邮件的TCP连接 25 电子邮件系统 40
电子邮件的组成及其传输 E-mail系统的组成 用户代理 消息格式 消息传输 最终递交
用户代理(user agent) 用户代理是一个本地程序,提供行命令方式、菜单方式或图形方式的界面,用于收发和管理电子邮件 具有撰写、显示和处理功能,在常用的浏览工具中都带有电子邮件收发器,早期也流行过专用的收发器 常用的有:sendmail、Netscape、IE、foxmail等
电子邮件的组成及其传输 E-mail系统的组成 用户代理 消息格式 消息传输 最终递交
消息格式 与传统的信件一样,电子邮件也由信封、信头和内容组成 RFC822 MIME
RFC 822 RFC 822 没有明显地区分信封和头部字段,因此邮件就由头部和消息体组成 通常用户代理创建一条消息交给传输代理,由它去构建一个信封
Tnbm P595 Fig. 7-9 与消息有关的RFC 822头部字段 与消息传输相关的头部字段 头字段 意义 To: 接收者的地址 Cc: 第二接收者的地址 Bcc: 秘密拷贝者的地址 From: 发送者名字 Sender: 发送者的地址 Received: 沿途每一个转发者增加的信息行 Return-Path: 标识返回发送者的路径 Tnbm P595 Fig. 7-9 与消息有关的RFC 822头部字段
Tnbm P596 Fig. 7-10 RFC 822消息头中使用的一些字段 用户代理或接收者使用的头部字段 头字段 含义 Date: 发送消息的日期和时间 Reply-To: 回信应送达的电子邮件地址 Message-ID: 以后引用此消息的唯一标识号 In-Reply-To: 回信消息的标识号 References: 其它相关消息的标识号(一个或多个) Keywords: 用户选择的关键字 Subject: 用于一行显示的本消息的简短摘要 Tnbm P596 Fig. 7-10 RFC 822消息头中使用的一些字段
消息格式 与传统的信件一样,电子邮件也有信封、信头和内容组成 RFC822 MIME
早期E-mail的缺陷 RFC822仅限于7位ASCII码,许多非英语国家的文字无法传送 当 Internet 成为一个全球网络的时候,出现以下问题: RFC822仅限于7位ASCII码,许多非英语国家的文字无法传送 不能传送可执行文件等二进制文件,包括音频、视频文 件
Tnbm P597 Fig. 7-11 MIME 添加的由RFC822定义的头部 MIME(Multipurpose Internet Mail Extension)在RFC822的基础上,增加了消息主体的内容(RFC 2045 2049)以及5个新的头部 字段名 含义 MIME-Version: MIME版本为1.0,表示服从RFC文档 Content-Description: 人能阅读的串,说明消息中的内容 Content-ID: 唯一的标识符 Content-Transfer-Encoding: 说明传送时如何包装消息主体 Content-Type: 说明内容的类型和格式 Tnbm P597 Fig. 7-11 MIME 添加的由RFC822定义的头部
内容描述和内容标识符 内容描述 主体对象的简单文本描述 内容标识符 用于在多个内容中唯一地标识每个MIME报文实体
Tnbm P597 Fig. 7-11 MIME 添加的由RFC822定义的头部 MIME(Multipurpose Internet Mail Extension)在RFC822的基础上,增加了消息主体的内容(RFC 2045 2049)以及5个新的头部 字段名 含义 MIME-Version: MIME版本为1.0,表示服从RFC文档 Content-Description: 人能阅读的串,说明消息中的内容 Content-ID: 唯一的标识符 Content-Transfer-Encoding: 说明传送时如何包装消息主体 Content-Type: 说明内容的类型和格式 Tnbm P597 Fig. 7-11 MIME 添加的由RFC822定义的头部
内容传送编码 表示报文主体的转换类型,以某种方式将报文主体表示成邮件传送时可接受的格式 最简单的编码 (7 bit或8 bit的ASCII,但不能传输二进制数) Base 64 传送编码(ASCII armor,可传输二进制数)P598 引用的可打印编码 (quoted-printable encoding , 可传输二进制数)
Tnbm P597 Fig. 7-11 MIME 添加的由RFC822定义的头部 MIME(Multipurpose Internet Mail Extension)在RFC822的基础上,增加了消息主体的内容(RFC 2045 2049)以及5个新的头部 字段名 含义 MIME-Version: MIME版本为1.0,表示服从RFC文档 Content-Description: 人能阅读的串,说明消息中的内容 Content-ID: 唯一的标识符 Content-Transfer-Encoding: 说明传送时如何包装消息主体 Content-Type: 说明内容的类型和格式 Tnbm P597 Fig. 7-11 MIME 添加的由RFC822定义的头部
内容类型 内容类型 详细地描述了报文主体所包含的数据,接收方用户代理可挑选适当的代理或机制向用户提交数据,或以适当的方式处理数据
Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型 内容类型详述 定义了7个基本类型和17种子类型,类型与子类型之间用“ / ”分开 ,例:Content-Type:Video/Mpeg 类型 子类型 描 述 Text Plain 末格式化的文本 Richtext 文本中含有简单的格式化命令 Html web页面 Xml Xml文档 Image Gif GIF格式的静态图象 Jpeg JPEG格式的静态图象 Audio Basic 声音 Video Mpeg MPEG格式的电影 Application Octet-Steam 一个末解释的字节序列 Postscript 一个以Postscript格式组织的可打印文档 Message Rft822 一条MIME RFC 822消息 Partial 消息已被分割用于传输 External-Body 消息本身必须通过网络来获取 Multipart Mixed 按指定顺序的各个无关部分 Alternative 不同格式的同一消息 Parallel 各部分必须同时浏览 Digest 每一部分都是一条完整的RFC 822消息 Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型
Text类型 Text类型意味着普通文本 Text/Plain组合是能按接收样式直接显示的普通消息,无须进行编码和其他的处理 这个选项允许普通消息只添加很少的头部就能以MIME传输
Text类型(续) Text/Richtext子类型允许文本中包含一个简单的标记语言 Text/Html允许在E-mail中发送web页面 这种语言提供了一种独立于系统的方法来描述粗体、斜体、大小、缩进、对齐、上下标以及简单的页面设置,标记语言基于标准通用标记语言SGML,也是万维网HTML的基础 Text/Html允许在E-mail中发送web页面 Text/Xml允许发送xml的文档
Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型 内容类型详述 定义了7个基本类型和17种子类型,类型与子类型之间用“ / ”分开 ,例:Content-Type:Video/Mpeg 类型 子类型 描 述 Text Plain 末格式化的文本 Richtext 文本中含有简单的格式化命令 Html web页面 Xml Xml文档 Image Gif GIF格式的静态图象 Jpeg JPEG格式的静态图象 Audio Basic 声音 Video Mpeg MPEG格式的电影 Application Octet-Steam 一个末解释的字节序列 Postscript 一个以Postscript格式组织的可打印文档 Message Rft822 一条MIME RFC 822消息 Partial 消息已被分割用于传输 External-Body 消息本身必须通过网络来获取 Multipart Mixed 按指定顺序的各个无关部分 Alternative 不同格式的同一消息 Parallel 各部分必须同时浏览 Digest 每一部分都是一条完整的RFC 822消息 Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型
Image类型 Image用来传输静态图片 目前有多种格式用来存储和转换图象,有些支持压缩有些不支持压缩,其中的两种: Image/Gif和Image/Jpeg是已定义的标准子类型,但以后会增加其他类型
Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型 内容类型详述 定义了7个基本类型和17种子类型,类型与子类型之间用“ / ”分开 ,例:Content-Type:Video/Mpeg 类型 子类型 描 述 Text Plain 末格式化的文本 Richtext 文本中含有简单的格式化命令 Html web页面 Xml Xml文档 Image Gif GIF格式的静态图象 Jpeg JPEG格式的静态图象 Audio Basic 声音 Video Mpeg MPEG格式的电影 Application Octet-Steam 一个末解释的字节序列 Postscript 一个以Postscript格式组织的可打印文档 Message Rft822 一条MIME RFC 822消息 Partial 消息已被分割用于传输 External-Body 消息本身必须通过网络来获取 Multipart Mixed 按指定顺序的各个无关部分 Alternative 不同格式的同一消息 Parallel 各部分必须同时浏览 Digest 每一部分都是一条完整的RFC 822消息 Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型
Audio和Video类型 Audio和Video类型分别用于声音和运动的图象 注:Video只包括视频信息,没有音频信息,如果要传输一部有声电影,Video和Audio部分可能会被分别传输,这依赖于所用的编码系统,到目前为止唯一定义的图象格式是Mpeg
Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型 内容类型详述 定义了7个基本类型和17种子类型,类型与子类型之间用“ / ”分开 ,例:Content-Type:Video/Mpeg 类型 子类型 描 述 Text Plain 末格式化的文本 Richtext 文本中含有简单的格式化命令 Html web页面 Xml Xml文档 Image Gif GIF格式的静态图象 Jpeg JPEG格式的静态图象 Audio Basic 声音 Video Mpeg MPEG格式的电影 Application Octet-Steam 一个末解释的字节序列 Postscript 一个以Postscript格式组织的可打印文档 Message Rft822 一条MIME RFC 822消息 Partial 消息已被分割用于传输 External-Body 消息本身必须通过网络来获取 Multipart Mixed 按指定顺序的各个无关部分 Alternative 不同格式的同一消息 Parallel 各部分必须同时浏览 Digest 每一部分都是一条完整的RFC 822消息 Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型
Application类型 Application类型是要求额外处理的格式的总称,它不与其他类型交叉 Application/Octet-Stream子类型是不间断字节的序列 当收到这种数据流时,用户代理可能会告诉用户它应当被拷贝到文件中并提示用户输入文件名,随后处理由用户负责 Application/Postscript子类型即Adobe System公司开发的Postscript语言 Postscript语言被广泛用于描述打印页上
Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型 内容类型详述 定义了7个基本类型和17种子类型,类型与子类型之间用“ / ”分开 ,例:Content-Type:Video/Mpeg 类型 子类型 描 述 Text Plain 末格式化的文本 Richtext 文本中含有简单的格式化命令 Html web页面 Xml Xml文档 Image Gif GIF格式的静态图象 Jpeg JPEG格式的静态图象 Audio Basic 声音 Video Mpeg MPEG格式的电影 Application Octet-Steam 一个末解释的字节序列 Postscript 一个以Postscript格式组织的可打印文档 Message Rft822 一条MIME RFC 822消息 Partial 消息已被分割用于传输 External-Body 消息本身必须通过网络来获取 Multipart Mixed 按指定顺序的各个无关部分 Alternative 不同格式的同一消息 Parallel 各部分必须同时浏览 Digest 每一部分都是一条完整的RFC 822消息 Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型
Message类型 Message类型允许一条消息封装在另一条之中 当一条完整的RFC 822消息被封装在一条发送消息中时,应当使用Message/RFC 822子类型 Message/Partial子类型允许将一条封装好的消息拆散成几块,并将它们分别发送 当原封装好的消息太长,则可进行分拆,然后利用参数把所有部分以正确的顺序重新组装 Message/External-Body子类型适用于很长的消息(例如图象文件) 除了在消息中包含Mpeg文件,还给出FTP地址,接收者的用户代理就能在需要时从网上将它取来,当发送一部电影给许多人时,这个特性特别有用,因为只有一部分人想要看它(假设垃圾电子邮件包含广告电影)
Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型 内容类型详述 定义了7个基本类型和17种子类型,类型与子类型之间用“ / ”分开 ,例:Content-Type:Video/Mpeg 类型 子类型 描 述 Text Plain 末格式化的文本 Richtext 文本中含有简单的格式化命令 Html web页面 Xml Xml文档 Image Gif GIF格式的静态图象 Jpeg JPEG格式的静态图象 Audio Basic 声音 Video Mpeg MPEG格式的电影 Application Octet-Steam 一个末解释的字节序列 Postscript 一个以Postscript格式组织的可打印文档 Message Rft822 一条MIME RFC 822消息 Partial 消息已被分割用于传输 External-Body 消息本身必须通过网络来获取 Multipart Mixed 按指定顺序的各个无关部分 Alternative 不同格式的同一消息 Parallel 各部分必须同时浏览 Digest 每一部分都是一条完整的RFC 822消息 Tnbm P599 Fig. 7-12 RFC 1521中定义的MIME类型和子类型
Multipart类型 Multipart类型允许消息包括不止一部分内容,每部分的开始和结束有明确界限 Multipart/Mixed子类型允许每部分各不相同,而且无需添加附加结构 Multipart/Alternative子类型允许每部分包含同样的消息,但以不同的媒介或编码来表达
Multipart类型(续) Multipart/Parallel子类型允许多个部分的同时播放(Viewed),如电影的播放包括视频部分和音频部分的同时播放 Multipart/Digest子类型用于多个消息打包、封装,并压缩成一个消息
电子邮件的组成及其传输 E-mail系统的组成 用户代理 消息格式 消息传输 最终递交
简单邮件传输协议SMTP 描述电子邮件的信息格式及传递方式,以保证被传输的电子邮件能正确寻址和可靠传输 当邮件传输程序需向远程服务器发送邮件时,将建立一个TCP连接(端口号为25)并通过该连接传输电子邮件信息 SMTP是两个报文传输代理之间的通信协议,它有14条命令和21条应答信息,每条命令用四个字母组成,一般情况下一条命令只有一行,由三位数字的代码开始,后面附上简单的文字说明
连接建立 发信人先将准备发送的邮件送到邮件缓冲区,SMTP client 每隔一定时间(例如30分钟)对邮件缓冲区扫描一次,如发现有邮件,就以client 的身份与目的主机(SMTP server)的Well-known的端口号(25)建立TCP连接并发送
连接建立过程 在连接建立后,SMTP server 要发出: “ 220 service Ready ” 然后SMTP client 向SMTP server 发送: “ HELO ” 命令,附上发送方的主机名 SMTP server 若有能力接收邮件,则回答: “ 250 OK ” 表示已准备好接收,若SMTP server 不可用,则回答: “ 421 Service not available ” 如在一定时间内(例如两天)发送不了邮件,则将邮件退还发信人
邮件传送—询问服务器是否准备好 邮件的传送从MAIL命令开始,在MAIL命令后面有发信人的地址,如: MAIL FROM:<ybzhang@cs.sjtu.edu.cn> 若SMTP server 已准备好接收邮件,则回 “ 250 OK ” 否则,返回一个代码,指出原因如: 451(处理时出错) 452(存储空间不够) 500(命令无法识别)
邮件传送—验证收信人地址 RCPT TO:<收信人地址> 每发送一个命令,都应当有相应的信息从SMTP server 返回,如: “ 250 OK ”:指明的邮箱在接收端的系统中 “ 550 No such user here ”:不存在此邮箱
邮件传送—传送正文 DATA命令,表示将开始传送邮件的内容 SMTP server 返回的信息是: “ 354 Start mail input;end with<CRLF>·<CRLF>” 若不能接收邮件,则返回421:server 不可用; 500:命令无法识别;等 SMTP client 就发送邮件的内容 发送完毕后,再发送<CRLF>·<CRLF> 若邮件收到,则SMTP server 返回信息 “ 250 OK ”;或返回差错代码
连接释放 邮件发送完毕后,SMTP client 应发送QUIT命令 SMTP server 返回的信息是:“ 250 OK ” SMTP client 再发出释放TCP连接的命令,待SMTP server 回答后,邮件传送的全部过程即结束 完整的过程见Tnbm P604 Fig. 7-14
电子邮件的组成及其传输 E-mail系统的组成 用户代理 消息格式 消息传输 最终递交
最后递交 上述E-mail传递过程是传统的ARPANET的工作模型,所有的用户都是永远在线的,而在如今的Internet上,用户可能是通过拨号连接到它的ISP,即他可能并非永远在线 当有人给你发E-mail时你不在线怎么办? 如何建立TCP连接? 与谁建立TCP连接? 可以在ISP的机器上设置一个消息传输代理(邮局)来替代 client 接收邮件,并把它存入他们的邮箱中,当用户在线并有请求时再发给用户
邮件服务器 邮件服务器即 “ 邮局 ”,通常邮件服务器是不会关机的 邮件服务器应为每个注册用户提供用户信箱(mailbox)并设定E-mail地址 交大计算机系的Mail Server的域名为cs.sjtu.edu.cn E-mail地址格式:mailbox@computer ybzhang@cs.sjtu.edu.cn yb33030@163.com
POP3 (Post Office Protocol version 3) 允许用户代理与传输代理联系,将E-mail从ISP复制到用户端的协议 POP3执行过程 当用户开始读取E-mail时,POP3开始执行 用户与ISP上的传输代理的110端口建立一个TCP连接 用户认证:用户发送用户名和密码 用户发送RETR (Return) 命令读取E-mail 用户发送QUIT命令请求结束该过程 服务器删除所有消息 服务器发送一个应答,并终止TCP连接
用户A邮局为发送邮件向用户B邮局的25#端口请求TCP连接 邮件传输的完整过程 用户A 用 户 接 口 Internet 用户B 发送邮件缓冲区 用户信箱 SMTP-C (发送邮件) SMTP-S (接收邮件) 用户A 邮局 用户B 邮局 邮局间收发邮件使用SMTP协议 用户A邮局为发送邮件向用户B邮局的25#端口请求TCP连接 SMTP POP POP-S POP-C 110 25 用户 - 邮局、邮局 - 用户的邮件传输模型
IMAP (Internet Message Access Protocol) 与POP3对应的另一个邮件读取协议,所用的TCP端口为143 IMAP假设E-mail永久保存在多个信箱中的某一个上 邮件不下载到用户的机器上,邮件服务器的资源占用量较大 IMAP提供了一套在用户机器上对多个E-mail信箱进行操作的手段
Web Mail 通过Web站点提供E-mail服务 服务器上有正常的信息传输代理来监听端口25,以及时应答SMTP用户的连接请求 在连接建立后,通过用户名和口令的输入,验证身份 由服务器读取用户信箱,并组装成HTML的网页发给用户
本章将讨论: SNMP – 简单网络管理协议 DNS – 域名系统 电子邮件E - mail WWW 多媒体
万维网是分布式的超媒体信息系统,是超文本的扩展 WWW 万维网是分布式的超媒体信息系统,是超文本的扩展 超文本: 由多个文本信息源连接而成,通过链接,用户可以找到其他文档 超媒体: 与超文本的区别是文档内容不同,超媒体信息可包括声音、图象、活动图象等 万维网的结构: 基于客户/服务器结构,客户端称为浏览器,用TCP作为传输层协议,服务器方用固定端口80侦听连接请求
浏览器(Browser) 客户端软件即浏览器,主要用于: 较有影响的几个浏览器: 连接Web server 解释执行由HTML语言编写的文档 将执行结果显示在屏幕上 较有影响的几个浏览器: Microsoft(IE Internet Explorer) Netscape(Navigator) Mosaic Navigator和IE等浏览器,除了支持访问Web server 的HTTP协议外,还包含了E-mail、Telnet、FTP等功能
Web server 在 server 上,信息以网页形式来发布多媒体信息 网页采用超文本标记语言HTML来编写 资源使用统一的资源定位器URL来唯一标识
有关万维网的几个问题 怎样表示分布在整个Internet上的万维网文档? URL 用什么样的协议来实现万维网上各种超链的链接? HTTP 网页制作 怎样使用户能方便地找到所需的信息? Search Engine 万维网性能的提高
统一资源定位符URL URL(Uniform Resource Locator) 一般格式: protocol://computer_name:port/document_name (其中port 通常不用 ) 举例: http://www.cs.sjtu.edu.cn/welcome.html ftp://ftp.cs.sjtu.edu.cn
有关万维网的几个问题 怎样表示分布在整个Internet上的万维网文档? URL 用什么样的协议来实现万维网上各种超链的链接? HTTP 网页制作 怎样使用户能方便地找到所需的信息? Search Engine 万维网性能的提高
超文本传输协议HTTP 工作过程 Internet 服务器计算机 www.cs.sjtu.edu.cn 客户计算机 链接到URL的超链 XXXXXXXXX 浏览器程序 客户计算机 Internet 服务器程序 xxxxxxxxxxxx 服务器计算机 www.cs.sjtu.edu.cn HTTP使用此TCP连接 HTTP 链接到URL的超链 Tnbm P614 Fig. 7-19 万维网模型局部
一次成功的Web访问 当点击了 http:// www.cs.sjtu.edu.cn/welcome.html 浏览器分析超链指向页面的URL 浏览器向DNS请求解析www.cs.sjtu.edu.cn的IP地址 DNS解析出服务器的IP地址为202.120.1.154 浏览器与服务器建立TCP连接(202.120.1.154使用端口80) 浏览器发出取文件命令:get/welcome.html www.cs.sjtu.edu.cn服务器响应,将文件welcome.html发给浏览器 TCP连接释放 浏览器显示文件welcome.html中的所有文本 浏览器显示文件welcome.html中的所有图象
HTTP报文的通用结构 HTTP(Hypertext Transfer Protocol) 请求报文 响应报文 实体 请求报文 响应报文 Request Line 请求行 Response Line 状态行 General Header 通用首部 Request Header 请求首部 Response Header 响应首部 Entity Header 实体首部 Entity Body 实体主体 实体
HTTP请求方法 请求命令(大小写敏感) 方法 描述 GET 请求读一网页 HEAD 请求读一网页的头 PUT 请求存储一网页 POST 附加一个命名的资源(例如,一个网页) DELETE 删除一网页 LINK 链接两个已有的资源 UNLINK 切断两个已有资源的连接
有关万维网的几个问题 怎样表示分布在整个Internet上的万维网文档? URL 用什么样的协议来实现万维网上各种超链的链接? HTTP 网页制作 怎样使用户能方便地找到所需的信息? Search Engine 万维网性能的提高
网页的制作 静态网页 某个服务器上等待用户访问的文件 动态网页 按用户的需求在服务器上动态组织一个网页
静态网页 HTML(HyperText Markup Language)允许用户创建包含文本、图像及指向其它Web页面的指针 XML(eXtensible Markup Language)允许定义结构化的数据 XHTML(eXtended HyperText Markup Language)是一种新的Web标准,为了达到最大的平台移植性
网页的制作 静态网页 某个服务器上的文件 动态网页 按用户的需求在服务器上动态组织一个网页
动态网页 服务器端的动态网页的生成,比如根据用户的需求从数据库中读取数据并组织成网页 客户端的动态网页的生成,如在客户端利用一段SCRIPT程序生成一些预定格式的网页
有关万维网的几个问题 怎样表示分布在整个Internet上的万维网文档? URL 用什么样的协议来实现万维网上各种超链的链接? HTTP 网页制作 怎样使用户能方便地找到所需的信息? Search Engine 万维网性能的提高
搜索引擎Search Engine 搜索万维网的程序 万维网是一无向图,页面即为节点,超链接为边 数据量十分庞大,且经常更新 使用递归的搜索算法,根据关键字到URL列表 (可能有几百万个表项)中指向的主机进行搜索 问题:数据结构的定义、搜索策略与搜索时间和存储空间的问题、搜索准确率等等
有关万维网的几个问题 怎样表示分布在整个Internet上的万维网文档? URL 用什么样的协议来实现万维网上各种超链的链接? HTTP 网页制作 怎样使用户能方便地找到所需的信息? Search Engine 万维网性能的提高
万维网性能的提高 缓存 服务器的复制 内容分发网络 是客户端采用的技术,它利用代理(proxy)技术,将网页保存在代理的缓冲区中,此代理可以是本地的个人PC、可以是公司LAN上的服务器,也可以是ISP的服务器 服务器的复制 镜像服务器 内容分发网络
本章将讨论: SNMP – 简单网络管理协议 DNS – 域名系统 电子邮件E - mail WWW 多媒体
多媒体 音频 视频
数字音频 音频是一维的声波 音频数字化 PCM调制 每秒8000次采样,每个采样被量化为8 bit 音频CD 每秒44100次采样,每个采样被量化为16 bit,因此非立体声需要705.6K bps,立体声需要1.4112M bps
音频压缩 波形编码(waveform coding) 知觉编码(perceptual coding) 利用傅立叶级数的展开,记下每一个分量的振幅,并以最小化的方式编码 知觉编码(perceptual coding) 以人对声音的感觉方式来编码,MP3就用此方法压缩,其关键技术是某些声音能掩盖其它声音
数字音频的应用 流音频:在Internet上听音乐 Internet无线电广播 Voice over IP 节目事先录制在磁盘上 通过HTTP下载一个音频文件,由Media play回放 Internet无线电广播 节目事先录制在磁盘上 Internet上的直播 Voice over IP
Voice over IP ITU的H.323 IETF的SIP 传统的电话网传递的大部分是话音,少部分是数据,但数据流量在不断增长,在1999年已与话音量持平,2002年数据流量已比语音流量多一个数量级 由于话音通过PCM调制也变成了数字,因此也可以在数据网络上传输,在Internet上传输电话称为Internet电话,也称为Voice over IP ITU的H.323 IETF的SIP
H.323 H.323的全名为:Visual Telephone System and Equipment for Local Area Network Which Provide a Non-Guaranteed Quality of Service H.323提出了Internet电话的总体结构
IP phone的结构 zone gateway PSTN Internet gatekeeper Tnbm P686 Fig. 7-64 IP电话的结构模型 Internet gateway gatekeeper zone PSTN
IP phone要解决的问题 端点之间如何协商音频和视频的编码规范 音频/视频如何封装在网络上发送:用RTP 端点如何与网守通信 因特网电话如何通过网关与普通电话通信
IP phone的工作原理 IP phone用到的协议 连接建立 PC与gatekeeper建立连接 建立电话连接 通话 连接释放
IP phone用到的协议 声音的编码解码 H.245:双方协商压缩方法 Q.931:处理诸如连接建立与断开、提供拨号音 和振铃声等 G.711(PCM):每秒8000采样 每样本8bit64K bps G.723:用知觉编码,将每30 ms的声音信息用24 或20个字节来表示,6.4K或5.3K bps H.245:双方协商压缩方法 Q.931:处理诸如连接建立与断开、提供拨号音 和振铃声等 H.225: PC与gatekeeper之间的对话协议,如 注册、准入等工作
IP phone的工作原理 IP phone用到的协议 连接建立 PC与gatekeeper建立连接 建立电话连接 通话 连接释放
PC与gatekeeper建立连接 PC寻找自己的gatekeeper 向gatekeeper注册 得到承诺后开始连接建立过程,PC与gatekeeper之间建立一个TCP连接
IP phone的工作原理 IP phone用到的协议 连接建立 PC与gatekeeper建立连接 建立电话连接 通话 连接释放
建立电话连接 PC发送Q.931的连接消息,指出与哪个电话通话,通过gatekeeper送到gateway PSTN本地局向被叫电话发出振铃信号,并用Q.931 ALERT 消息告诉PC振铃开始 当被叫电话摘机时,局端发回一个Q.931的CONNECT消息,通知PC连接已建立
IP phone的工作原理 IP phone用到的协议 连接建立 PC与gatekeeper建立连接 建立电话连接 通话 连接释放
PC与电话用户的通话和连接释放 通话 与gatekeeper释放连接 双方以G.711或其他的压缩协议通话
Voice over IP ITU的H.323 IETF的SIP 传统的电话网传递的大部分是话音,少部分是数据,但数据流量在不断增长,到99年已与话音量持平,2002年数据流量已比语音流量多一个数量级 由于话音通过PCM调制也变成了数字,因此也可以在数据网络上传输,在Internet上传输电话称为Internet电话,也称为Voice over IP ITU的H.323 IETF的SIP
SIP会话发起协议 Session Initiation Protocol SIP是一种更加简单的建立Internet电话、电视会议和其他多媒体连接的方法 特点 可以建立一对一、一对多和多对多的会话 每个会话可以包含声音、图像和数据 电话号码表示为URL 可以跟踪到使用者当前正在使用的设备
SIP的信令 SIP共规定了六种信令:INVITE、ACK、CANCEL、OPTIONS、BYE、REGISTER。
会话建立过程 会话的建立利用三次握手 主叫方与被叫方建立一个TCP连接,并发送一个INVITE消息,或用UDP发送一个INVITE消息,请求建立一个会话,在此消息中还包括了发送方的容量、介质类型和格式 如果被叫方接纳呼叫,发回一个HTTP的应答代码,以及应答方的容量、介质类型和格式 发送方发送一个ACK
会话断开 任意一方都允许请求会话断开 一方发送BYE消息 另一方发回一个应答
通过SIP代理建立呼叫的例子 193.64.210.89/48753 Alice 167.180.112.24/38060 Bob INVITE bob@193.64.210.89 C=IN IP4 167.180.112.24 M=audio 38060 RTP/AVP0 Port:5060 220 OK C=IN IP4 193.64.210.89 M=audio 48753 RTP/AVP3 Port:5060 ack Port:5060 Port:38060 AVP3编码的音频 AVP0编码的音频 Port:48753
名字翻译及域名定位 SIP地址类似于电子邮件地址,@后面是域名,发送方不可能知道目的IP。 完成此任务需要两个设备 SIP代理 SIP注册器
SIP代理和SIP注册器 SIP代理 SIP注册器 每个SIP用户有一个关联的SIP代理,实现域名到IP的转换 当发起者不知道目的地址时,可先发INVITE到他自己的代理询问 SIP注册器 每个SIP用户有一个关联SIP注册器,当启动SIP应用时,会向自己的注册器报告当前的IP地址 注册器即是地址中@后面的部分
H.323与SIP的比较 相同点 不同点 允许两方或多方会话 允许计算机和电话通信 支持参数协商、封装和RTP/RTCP协议 SIP是一个典型的Internet协议,用ASCII文本交换信息,它是一个模块,可以和其他Internet协议一起工作
多媒体 音频 视频
数字视频 由一系列帧组成,每个帧由一个矩形图像元素,称为像素(pixel)组成,每个像素可以是一个bit,表示黑的还是白的 彩色图像每个像素用3个部分来表示,如用3个8 bit 分别表示三基色RGB的强度,则共有224 (16M)种颜色 连续的视频至少用每秒25帧表示 传输video所需的带宽=每秒传输的帧数*每帧的bit数 最小的带宽 = 25帧 * 1024 * 768 * 24 bit = 472M bps
视频压缩 JPEG MPEG 通过对单个图像的压缩,减少连续图像所需的带宽 通过记录与前一帧的不同之处达到压缩的目的。MPEG-1所需的平均带宽1.5M
第7章 习题 Tnbm P715 #7、#8、#51