第9章 因特网基本应用_第1页
第9章 因特网基本应用_第2页
第9章 因特网基本应用_第3页
第9章 因特网基本应用_第4页
第9章 因特网基本应用_第5页
已阅读5页,还剩146页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、概概 述述 域名系统:域名系统: dns 动态动态ip地址分配:地址分配: dhcp 万维网系统:万维网系统: http 移动移动web 9.6 9.7 9.8 因特网邮件系统:因特网邮件系统: smtp 文件传输协议:文件传输协议: ftp 远程登录协议:远程登录协议: telnet 9.9 简单网络管理协议:简单网络管理协议: snmp 9.1 9.2 9.3 9.4 9.5 9.1.1 因特网应用发展的三个阶段因特网应用发展的三个阶段 第一阶段:第一阶段:提供telnet、e-mail、ftp、bbs与usenet等基本的网络服务功能。 (1)远程登录(telnet)服务实现终端远程登录

2、服务功能。 (2)电子邮件(e-mail)服务实现电子邮件服务功能。 (3)文件传输(ftp)服务实现交互式文件传输服务功能。 (4)电子公告牌(bbs)服务实现网络中人与人之间交流信息的服务功能。 (5)网络新闻组(usenet)服务实现人们对所关心的问题开展专题讨论的服 务功能。 第二阶段:第二阶段:web技术的出现,以及基于web技术的电子政务、电子商务、远程 医疗与远程教育应用的快速发展。 第三阶段:第三阶段:p2p网络应用将因特网应用推向一个新的阶段。在基于web应用的 基础上,出现了一批基于对等结构的p2p网络新应用。 1应用层协议应用层协议 应用层协议可以分为两种类型。 (1)标

3、准的网络应用。 例如:例如:http、smtp、ftp、telnet、rip、bgp、snmp、dhcp、dns等。 协议以rfc文档的方式公布出来,提供给网络应用系统开发者使用。 (2)专用的网络应用。目前很多p2p文件共享的应用层协议都属于专用协议。 2运输层对应用层提供的服务运输层对应用层提供的服务 运输层协议是在主机的操作系统控制下,为应用程序提供进程通信服务。 表9.1和表9.2给出了udp和tcp常用的熟知端口号和网络服务进程。 图9.1给出了部分客户应用进程和服务器进程交互的端口号。 9.2.1 名字空间名字空间 1层次型命名机制层次型命名机制 在因特网上,对提供服务的主机命名,

4、层次型命名机制当然是一个很好的选择。 因为它对名字的管理非常有利。一棵名字树可以划分成几个子树,每个子树分配一 个管理机构。 2域名空间域名空间 在因特网中,域名空间被划分为3个不同的部分:类属域、国家域和反向域。 如图9.2所示。 (1)类属域。 类属域按照主机的类属行为来注册主机。类属域的顶级域允许有18个标号。 标 号说 明标 号说 明 aero航空和航天公司jobs人力资源管理者 biz公司和企业mil军事机构 com商业机构mobi移动产品与服务的用户和提供者 cat加泰隆人的语言和文化团体museum博物馆和其他非盈利组织 coop协作的企业组织name个人姓名 edu教育机构ne

5、t网络支持中心 gov政府机构org非盈利机构 info信息服务提供者pro专业个体组织 int国际机构travel旅游业 (2)国家域。 顶级域下面由各个国家划分成二级域。表9.4列出了我国二级域名的分配情况。 (3)反向域。 反向域用于把ip地址映射为名字。当服务器收到来自客户的请求要完成某项 任务时,有可能需要把地址映射为名称。 与类属域和国家域不同,这种配置使得整个域看起来是反过来的。 这种域标号的读法是从底向顶的。 【例如例如】ip地址21应读为32. 。 图9.4列举了因特网域名结构中的一部分。 4注册机构注册机构

6、 新的域通过一个注册机构(即由icann认可的一个商业实体)注册。 注册机构首先验证这个请求的域名的唯一性,然后把它录入到dns数据库。 目前存在许多注册机构,它们的名称和地址可以从以下地址获得: http:/ dns服务器的管辖范围不是以“域”为单位,而是以“区”为单位。 区是dns服务器实际管辖的范围。区可能等于或小于域,但一定不可能大于域。 图9.6给出了dns域名服务器树状结构图。 1根域名服务器根域名服务器 在因特网上共有13个不同ip地址的根域名服务器,它们的名字是用前13个英 文字母中的一个命名的,从a直到m(字母)。这些根域名服务器相应的域名分别 是: 2顶级域名服务器(即顶级

7、域名服务器(即tld服务器)服务器) 顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到 dns查询请求时,就给出相应的回答。可能是最后的结果,也可能是下一步应当 找的域名服务器的ip地址。 3权限域名服务器权限域名服务器 权限域名服务器是负责一个区的域名服务器。当一个权限域名服务器还不能给 出最后的查询回答时,就会告诉发出查询请求的dns客户,下一步应当找哪一个权 限域名服务器。 4本地域名服务器本地域名服务器 当一个主机发出dns查询请求时,这个查询请求报文就发送给本地域名服务器。 每一个因特网服务提供者(isp),或一所大学,甚至一所大学里的系,都可以拥 有一个本地域名服

8、务器,这种域名服务器有时也称为默认域名服务器。 选择网络连接属性internet协议(tcp/ip),再选择“属性”,就可以看 见有关dns地址的选项。如图9.7所示。 1域名系统域名系统 通常构成域名的各个部分(各级域名)都具有一定的含义,相对于主机的ip 地址来说更容易记忆。但域名只是为用户提供了一种方便记忆的手段,主机之间 不能直接使用域名进行通信,仍然要使用ip地址来完成数据的传输。如图9.8所示。 2tcp/ip域名解析域名解析 图9.9描述了一个简单的域名解析过程。 【例例9.1】 主机访问名为的主机,解析域名。 (1)采用迭代解析。 图9.10给出了迭代解析中客户与服务器的交互过

9、程。 (2)采用递归解析。 图9.11给出了递归解析中客户与服务器的交互过程。 3高速缓存高速缓存 高速缓存加速了解析过程,但也可能会带来问题。若服务器把映射放入高速 缓存已有很长的时间,则可能会把过时的映射发送给客户。 要解决这个问题,有两种技术可以使用。 (1)权限服务器总是把称为生存时间(ttl)的信息添加在映射上。 (2)dns要求每一个服务器对缓存中的每一条映射都要保持一个ttl计数 器。高速缓存必须定期地搜索,并清除那些ttl到期的映射。 4域名解析的完整过程域名解析的完整过程 假如一个应用程序需要访问名字主机,其较为完整的解析过程如下。 (1)域名客户首先查询本地主机的缓冲区,查

10、看主机是否以前解析过主机 名,如果是则将对应的ip地址告诉域名客户。 (2)本地域名服务器首先检查与其ip地址的映射关系是否存储它的数据库中。 (3)在其他域名服务器接收到本地服务器的请求后,继续进行域名的查找 与解析工作,当发现与其ip地址的对应关系时,就将该映射关系送交给提出请求 的本地服务器。 本地服务器再使用从其他服务器得到的映射关系响应客户端。 dns有两种类型的报文:查询和响应。两种类型的报文格式相同,如图9.12 所示。 (a)查询报文 (b)响应报文 查询报文和响应报文具有相同的首部格式,查询报文把某些字段置为0。首部 是12字节,其格式如图9.13所示。 (a)查询报文首部

11、(b)响应报文首部 标识(16位):使响应与查询匹配。客户在每次发送查询时使用 不同的标识号,服务器在相应的响应中重复这个标识号作为对应。 标志(16位):包括如图9.14所示的一些子字段。 下面简单说明一下各标志子字段。下面简单说明一下各标志子字段。 qr(1位):若为0,就是查询报文;若为1,就是响应报文。 opcode:若为0则是标准的,若为1则是反向的,若为2则是服务器状态请求。 aa(3位,授权回答):若值为1,表示名字服务器是权限服务器。 tc(1位,截断的):dns可以使用udp,也可以使用tcp。 若tc值为1(置位),表示响应已超过512字节并已截断为512字节,因此就 要使

12、用tcp连接。 rd(1位,要求递归):若其值为1,表示客户希望得到递归回答。它在查询 报文中置位,在响应报文中重复置位。 ra(1位,递归可用):当它在响应中值为1时,表示可得到递归响应。 它只能在响应报文中置为1。 保留(3位):目前置为000。 rcode(4位):表示在响应中的差错状态。当然,只有权限服务器才能做出 这个判断。表9.5给出了这个字段的一些可能的值。 值意 义值意 义 0 1 2 3 无差错 格式差错 问题在域名服务器上 域参照问题 4 5 615 查询类型不支持 在管理上被禁止 保留 1问题记录问题记录 问题记录用于描述客户查询的信息,包含查询域名、查询类型和查询类别。

13、 格式如图9.15所示。 其中:域名长度可变,格式如图9.16所示。 查询类型(16位):表9.6给出了一些常用的类型。最后两种只能用在查询中。 类 型助 记 符说 明 1 2 5 6 11 12 13 15 28 252 255 a ns cname soa wks ptr hinfo mx aaaa axfr any 地址。32位的ipv4地址。它用来把域名转换为地址 名字服务器。它标记了区的权限服务器 规范名称。它定义主机的正式名字的别名 授权开始。它标记一个区的开始 熟知服务。它定义主机提供的网络服务 指针。它用来把ip地址转换为域名 主机信息。它给出主机使用的硬件和操作系统 邮件交换

14、。它把邮件转发到一个邮件服务器 ipv6地址 请求传输完整区文件 请求所有记录 查询类别(16位):定义了使用dns的特定协议。表9.7给出了当前值。 类 别助 记 符说 明 1 2 3 4 an csnet cs hs 因特网 csnet网络(陈旧的) coas网络 由mit开发的hesoid服务器 2资源记录资源记录 每一个域名都与一个称为资源记录的记录相关联。服务器数据库由许多资源 记录组成。同时,资源记录也是服务器向客户所返回的信息。资源记录的格式如 图9.17所示。 【例例9.2】 找出主机“”的ip地址。讨论查询报文和响应报文。 1查询报文分析查询报文分析 图9.18给出了解析程序

15、发送的查询报文。其中: (1)标识:0 x1333。 (2)标志:0 x0100。二进制表示是00000001 00000000,与子字段对应如 下: qr opcode aatc rdra 保留rcode 0 0000 0 0 1 0 0000000 (3)问题记录数:1。这个报文只包含了一个问题记录。 (4)域名: 3sun6taojin3com,表示查询域名为。 (5)查询类型:值为1,由域名查ip地址。 (6)查询类别:值为1,因特网。 2响应报文分析响应报文分析 图9.19给出了域名服务器的响应。 (1)标识:0 x1333。 (2)标志:0 x8180。用二进制表示,它是10000

16、001 10000000,与子字段 对应如下: qr opcode aatc rd ra保留 rcode 1 0000 00 1 1000 0000 (3)问题记录数:1; (4)回答记录数:1。 (5)查询类型:值为1,由域名查ip地址。 (6)查询类别:因特网。 (7)生存时间:值为12 000。表示12 000秒内需要更新。 (8)资源数据长度:4字节。资源数据为ip地址(05)。 【例例9.3】 ftp服务器收到从ip地址为的ftp客户发来的分组。ftp服 务器想验证这个ftp客户是否为授权客户。 1查询报文分析查询报文分析 图9.20给出了解析程

17、序发送给服务器的查询报文。 (1)标志字段的值是十六进制的0 x0900(00001001 00000000),把它划分 为以下几个子字段: qr opcode aa tc rd ra 保留 rcode 0 0001 0 0 1 0 000 0000 (2)这个报文只包含一个问题记录,其中的域名是53.。 (3)查询类型:值为12,由ip地址查域名。 2响应报文分析响应报文分析 图9.21给出了响应报文。 (1)标志字段的值是十六进制的0 x8d80(10001101 10000000),把它划 分为以下几个子字段: qr opcode aatc rdra

18、 保留rcode 1 0001 10 11 000 0000 (2)这个报文包含一个问题记录和一个回答记录。查询记录是从问题报文中 复制的。在回答记录中偏移指针值0 x000c。 (3)查询类型:值为12,由ip地址查域名。 (4)ttl为24 000秒。 (5)资源数据长度:10字节。资源数据是域名4mhhe3com0,它表示 “”。 1网络主机需要网络主机需要ip地址才能上网地址才能上网 网络主机的以下4种信息是必要的: (1)计算机的ip地址。 (2)计算机的子网掩码。 (3)默认网关(路由器)的ip地址。 (4)域名服务器的ip地址。 2网络主机固定网络主机固定ip地址的问题地址的问题

19、 (1)为了将软件协议做成通用的和便于移植,协议软件的编写者把协议软件 参数化。通过不同的参数来描述不同的网络主机。即软件是通用的,同时又可以 适应不同主机。 (2)有些网络主机会在网络上移动,无法固定主机ip地址。 (3)无盘工作站无法固定主机ip地址。 dhcp可以在有限时间内提供一个临时的ip地址。 1客户和服务器在同一个网络客户和服务器在同一个网络 客户和服务器在同一个网络中,如图9.22所示。 2客户和服务器不在同一个网络客户和服务器不在同一个网络 如果客户和服务器不在同一个网络上,因为客户不知道服务器的ip地址, dhcp请求是广播发送的,而本网广播的ip数据报不能通过任何路由器,

20、路由器收 到这样的分组就丢弃它。可以用某台主机(或路由器)作为中继代理,中继代理 知道dhcp服务器的单播地址。如图9.23所示。 3dhcp配置配置 (1)静态地址分配。 dhcp有一个专门的数据库,可以静态地把物理地址绑定到ip地址。 (2)动态地址分配。 当dhcp客户向dhcp服务器发送请求时,服务器首先检查它的静态分配数据库。 4租用时效租用时效 从地址池指派的地址都是临时地址。dhcp服务器向客户授予在某一段时间内 对该地址的租用权。当租用时效过期时,客户或者停止使用这个ip地址,或者续租。 图9.24给出了dhcp分组的格式。 操作码(8位):定义了dhcp分组的类型。请求(1)

21、或回答(2)。 硬件类型(8位):定义了物理网络的类型。例如,以太网是1。 硬件长度(8位):定义了以字节为单位的物理地址的长度。例如,以太网 值是6。 跳数(8位):定义分组可经历的最大跳数。 事务标识(4字节):由客户设置,用来对回答和请求进行匹配。 秒数(16位):指出从客户开始引导算起一共经历的秒数。 标志(16位):只使用了它的最左边一位,其余位都应当置0。 客户ip地址(4字节):若客户没有这个信息,则这个字段的值是0。 你的ip地址(4字节):包含客户ip地址。这是服务器在客户的请求下填入的。 服务器ip地址(4字节):它由服务器在回答报文中填入。 网关ip地址(4字节):包含路

22、由器ip地址。这是服务器在回答报文中填入的。 客户硬件地址(6字节):虽然服务器可以从客户发送的帧中读取这个地址, 但若由客户在请求报文中显式地提供这个地址,则更加有效。 服务器名(64字节):它包含了以空字符为结尾的字符串,这个字符串由服 务器的域名构成。 选项(64字节):有双重作用。它可以携带附加信息(如网络掩码或默认路 由器地址),也可以携带某些厂商特定的信息。如图9.25所示。 选项的列表如表9.8所示。 标 记长 度值说 明 0 1 2 3 4 5 6 7 8 9 10 11 12 13 53 128254 255 4 4 可变 可变 可变 可变 可变 可变 可变 可变 可变 可变

23、 2 1 可变 子网掩码 当天的时间 ip地址 ip地址 ip地址 ip地址 ip地址 ip地址 ip地址 ip地址 ip地址 dns名 整数 稍后讨论 特定信息 填充 子网掩码 时间偏移 默认路由器 时间服务器 ien 16服务器 dns服务器 log服务器 quote服务器 打印服务器 impress rlp服务器 主机名 引导文件大小 用于动态配置 厂商相关 列表结束 1转换状态转换状态 为了提供动态的地址分配,dhcp客户可以像状态机那样从一个状态转换到另 一个状态,状态转换取决于收到的报文和发送的报文。在这种情况下,报文的类型 是由包含在dhcp分组中的标记为53的选项来定义的。如图

24、9.26所示。 图9.27所示为它的一些主要状态的状态转换图。在rfc和一些dhcp的实现中可 能提供了更多的状态。 图9.28给出了与上面的状态转换图相关的报文交换过程。 2提前释放提前释放 在某一段时间内被指派了地址的dhcp客户,可以在租用时间到期之前释放该 地址。客户可以通过发送一个dhcprelease报文告诉服务器它不再需要这个地址 了。 3计时器计时器 以上的讨论要求客户使用3个计时器:更新计时器、重新绑定计时器和超时计 时器。 图9.29说明了万维网提供分布式服务的特点。 1超媒体、超文本与超链接超媒体、超文本与超链接 一个超文本由多个信息源链接而成,利用一个超链接可使用户找到

25、另一个文 档,而该文档又可链接到其他的文档(依次类推)。这些文档可以位于世界上任 何一个接在因特网上的超文本系统中。 2分布式的超媒体系统分布式的超媒体系统 万维网把大量信息分布在整个因特网上。每台主机上的文档都独立进行管理。 对这些文档的增加、修改、删除或重新命名都不需要(实际上也不可能)通知到 因特网上成千上万的结点。 3客户客户/服务器方式服务器方式 万维网以客户/服务器方式工作。浏览器就是在用户主机上的万维网客户程序。 万维网文档所驻留的主机则运行服务器程序,因此这个主机也称为万维网服务器。 图9.30描述了万维网的基本组成部分。 统一资源定位器(url)是因特网上标准的资源地址,用户

26、向浏览器地址栏输 入url请求web服务。 格式: :/:/ 例如:http:/ 使用的协议:http。 服务器地址:。 服务器端口号:此处省略了服务器的端口号,80作为http的默认端口号。 请求文档的路径:/computer/zhengaq,表示信息服务文件所在的虚拟根目录 下的computer/zhengaq目录。 文档名称:my1.htm,如果省略文档文件,则一般默认为index.htm。 (1)用户在浏览器中输入url,确定用户要访问的网页文件在因特网上的位 置。例如:http:/ (2)浏览器(dns客户)向dns(域名服务器)发出请求,要求把域名 “”转化为对应的ip地址。 (3

27、)dns进行查询后,向浏览器发出ip地址应答。 (4)浏览器(http客户)向对应ip地址指定的主机(http服务器)发出与 端口80建立一条tcp连接的请求。 (5)浏览器向http服务器请求网页文件,http服务器向浏览器回送网页文 件。浏览器显示网页内容。 (6)关闭tcp连接。 http工作于客户/服务器模式,浏览器就是客户,一个接受连接并对请求返回 信息的应用程序是web服务器。web服务器在tcp端口80监听客户的请求。如图 9.31所示。 1请求报文请求报文 请求报文的格式在图9.32中给出。 (1)请求行。 方法:定义了请求类型。在http版本1.1中定义了几种方法,如表9.9

28、所示。 url:定义了相关web网页的名称和地址。 版本:给出了协议的版本。http的最新版本是1.1。 方 法动 作方 法动 作 get head post put 请求服务器的文档 请求关于文档的信息,但不是这个文档本身 从客户向服务器发送一些信息 从服务器向客户发送文档 trace connect delete options 把到达的请求回送 保留 删除web网页 询问关于可用的选项 (2)首部行。 表9.10给出了请求报文中一些常用的首部名。首部值字段定义了与首部名相 关联的值。首部值的完整列表可以在相应的rfc中找到。 方 法动 作方 法动 作 user-agent accept

29、accept-charset accept-encoding accept-language authorization 标志客户程序 给出客户能够接受的媒体格式 给出客户能够处理的字符集 给出客户能够处理的编码方案 给出客户能够接受的语言 给出客户具有何种准许 host date upgrade cookie if-modified-since 给出客户的主机和端口号 给出当前日期 指明优先使用的通信协议 把cookie回送给服务器 只有在指明日期以后更新的文档才被发送 (3)请求报文实体。 实体可以出现在请求报文中。请求报文中的实体部分通常是一些需要发送的备注 信息。 2响应报文响应报文

30、响应报文的格式如图9.33所示。 (1)状态行。 版本:http协议的版本(目前是1.1版)。 状态码:定义了请求的状态。它由3个数字组成。其中: 1xx代码指示提供信息; 2xx代码则指示成功的请求; 3xx代码是把客户重新定向到另一个url; 4xx代码指示在客户端的差错; 5xx代码指示在服务器端的差错。 表9.11列出了最常用的一些状态码和状态短语。 (2)首部行。 在状态行之后,可以有0到多个响应首部行。每个首部行从服务器向客户发送 附加信息。例如,服务器可以发送有关文档的额外信息。 每个首部行可以由一个首部名、一个冒号、一个空格和一个首部值组成。 表9.12列出了响应报文中一些常见

31、的首部名。 首 部描 述首 部描 述 date upgrade server set-cookie content-encoding content-language 给出当前日期 指明优先使用的通信协议 给出服务器的相关信息 服务器请求客户保存cookie 指明编码方案 指明语言 content-length content-type location accept-ranges last-modified 给出文档长度 指明媒体类型 请求客户将请求发送到另一站点 服务器将接受请求的字节范围 给出上次改变的日期和时间 (3)主体。 主体包含从服务器向客户发送的文档。如果响应不是错误报文,则主

32、体将出现 在响应报文中。 【例例9.4】 在url指定的位置显示my1.htm网页。 网页在浏览器中的显示如图9.34所示。 网页html文件 my1.htm的代码如下: 郑阿奇主编 电子工业出版社出版 内容包含目前最流行的编程语言、开发平台、数据库, 网络提供课件、实例、数据库、综合应用源文件. (1)第1请求报文:读取html文档my1.htm。 get /usr/bin/my1.htm http/1.1 accept:text/html (2)web服务器响应报文。 http/1.1 200 ok date: suaday,23-jul-12 15:18:03 gmt server: c

33、hallenger mime-version :1.0 content-type: text/html last-modified:thursday.02.jun.11.20:12:12gmt content-length: 541 (3)第2请求报文:读取jpeg图像文档mytop.jpg。 get /usr/bin/mytop.jpg http/1.1 accept:image/gif accept:image/jpeg (4)web服务器响应报文。 包含状态行和4行首部。这些首部行定义日期、服务器、mime版本和文档长度。 文档的主体在首部之后。 http/1.1 200 ok data

34、 : suaday,23-jul-12 15:18:03 gmt server: challenger mime-version: 1.0 content-type: text/html content-length: 11382 (图像数据编码) 【例例9.5】 客户向服务器发送输入信息数据。 http请求和响应报文如图9.35所示。 1非持续连接非持续连接 例如,浏览器获得my1.htm网页文件非持续连接的情况如图9.36所示。 2持续连接持续连接 http版本1.1中持续连接是默认的策略。在使用持续连接时,服务器在发送 响应后,连接继续打开以服务更多的请求。 例如,浏览器获得my1.ht

35、m网页文件持续连接的情况如图9.37所示。 1cookie实现机制实现机制 (1)当服务器收到来自客户的请求后,它就把有关客户的信息存储在一个文 件或字符串中。 (2)服务器向客户发送的响应包含这个cookie。 (3)当客户收到响应时,浏览器把这个cookie存储在自己的cookie目录中, 它是按域名服务器的名字来分类的。 2cookie的使用的使用 当一个客户向服务器发送请求时,浏览器就查找在cookie目录中是否有那个 服务器发送的cookie。 【例例9.6】 一个购物者想要从一家叫besttoys的电子商店购买一个玩具。 购物过程如图9.38所示。 1静态文档静态文档 静态文档是指

36、在文档创作完毕后就存放在万维网服务器中,在被用户浏览的 过程中,内容不会改变。由于这种文档的内容不会改变,因此用户对静态文档的 每次读取所得到的返回结果都是相同的。 2动态文档动态文档 动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态 创建。当浏览器请求到达时,万维网服务器要运行另一个应用程序,并把控制转 移到此应用程序。 cgi应用程序与web服务器的关系如图9.39所示。 3活动文档活动文档 程序在客户端运行称为活动文档。 【例如】设想在屏幕上产生需要进行交互的动画图形程序,这个程序应当在 客户端运行。该程序存放在web服务器上,当浏览器请求活动文档时,服务器就 发送这个

37、文档的一个副本或脚本,然后这个文档就在客户(浏览器)端运行。 1没有代理服务器没有代理服务器 在一个网络(例如校园网)中,许多用户可能经常浏览相同的网页,web服 务器到这网络的连接非常繁忙,用户经常不能得到及时响应,而且传输的信息大 多相同。如图9.41所示。 2使用代理服务器使用代理服务器 (1)浏览器访问因特网的服务器时,要先与校园网的高速缓存建立tcp连接, 并向高速缓存发出http请求报文。 (2)若高速缓存已经存放了所请求的对象,则将此对象放入http响应报文中 返回给浏览器。否则执行(3)。 (3)高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立 tcp 连接,并发

38、送http请求报文。 (4)源点服务器将所请求的对象放在http响应报文中返回给校园网的高速缓 存。 (5)高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然 后再将该对象放在http响应报文中,通过已建立的tcp连接,返回给请求该对象 的浏览器。 通过图9.42可以了解代理服务器的工作过程。 1wap1.0 在本质上,wap是一个专门针对web访问的协议栈,由于移动无线设备的限制, 导致一些协议的差异。图9.43显示了wap的协议层。 wae层使用了一种称为wml(无线标记语言)的语言,它是xml的一个应用。 在原则上,一个wap设备只能访问那些已经被转换为wml的页面。 这极大

39、地限制了wap的价值,因为这种体系结构要求有一个很好的过滤器将 html动态地转换为wml,以增加可被wap设备访问的页面数量。 图9.44展示了这种体系结构。 2wap2.0 wap2.0继续支持wap1.0老的协议栈,也支持标准的、包含tcp和http/1.1在 内的internet协议栈。它对tcp做了修改,以便简化代码,但仍与原来的tcp兼容。 如图9.45所示。 xhtml basic被分成11个模块。有些是必需的,而有些是可选的。 所有的模块都以xml定义。表9.13列出了一些模块和标签的例子。 模 块需 要 否功 能标 签 实 例 structure是文档结构body, head

40、, html, title text是信息br, code, dfn, em, hn, kbd, p,strong hypertext是超链接a list是明细表dl, dt, dd, oi, ul, li forms否填入表单form, input, label, option, textarea tables否矩形表格caption, table, td, th, tr image否图像img object否java小程序、地图等object, param meta-information否额外的信息meta link否类似于link base否url起始点base 9.6.1 电子邮件系

41、统电子邮件系统 1用户代理(用户代理(ua) 用户代理是电子邮件客户端软件。用户代理向用户提供一个很友好的接口来 发送和接收邮件。用户代理功能包括给用户提供编辑信件、发送和接收邮件、显 示来信的内容、处理邮件(例如删除、存盘、打印、转发等)。 2邮件服务器邮件服务器 邮件服务器的功能是发送和接收邮件,同时还要向发件人报告邮件传输的结 果(已交付、被拒绝、丢失等)。邮件服务器按照客户/服务器方式工作。 3邮件发送协议和邮件读取协议邮件发送协议和邮件读取协议 邮件交付分成3个阶段,第一和第二阶段使用邮件发送协议smtp,第三阶段 使用邮件读取协议。 4发送和接收电子邮件的步骤发送和接收电子邮件的步

42、骤 图9.46给出了pc之间发送和接收电子邮件的几个重要步骤。 5信封和报文信封和报文 要发送邮件,用户通过ua创建邮件,它看起来很像邮政邮件。 【例如例如】 2012年5月22日孙小宇给电子教材部写信,希望得到易睿得编著的计算机网 络的样书。 发件人:孙小宇(sunxiaoyu) 收件人:电子教材部(phei.books) 主题:希望得到样书(get networks) 内容: 教材部: 我是南京高校的一名教师,上计算机网络课,希望得到贵出版社出版的易睿 得编著的计算机网络书作为参考。谢谢! . 6邮件地址(邮件地址(email) 为了交付邮件,邮件处理系统必须使用唯一的编址系统。因特网的邮

43、件地址包 括两个部分:本地部分和域名,并且用符号分隔开(见图9.47所示)。 1命令命令 命令是从客户发送到服务器。命令的格式如下所示。 命令:变量 命令包括关键词,后面跟着0个或多个变量。smtp定义了14个命令。这些命 令在表9.14中列出,更详细的描述见下文。 关 键 词变 量关 键 词变 量 helo mail from rcpt to data quit rset vrfy 发送方的主机名 发件人 预期的收件人 邮件的主体 收件人名字 noop turn expn help send from smol from smal from 邮件发送清单 命令名 预期的收件人 预期的收件人

44、预期的收件人 2响应响应 响应是从服务器发送到客户。响应是3位十进制数字,后面可以跟着附加的文 本信息。表9.15列出了一些常用响应。 代 码说 明 正面完成回答 211 214 220 221 250 251 系统状态或求助回答 求助报文 服务就绪 服务关闭传输信道 请求命令完成 用户不是本地的;报文将被转发 正面中间回答 354 421 450 451 452 开始邮件输入 服务不可用 邮箱不可用 命令异常终止:本地差错 命令异常终止:存储器不足 永久负面完成回答 500 501 502 503 504 550 551 552 553 554 语法差错;不能识别的命令 语法的参数或变量差错

45、 命令未实现 命令序列不正确 命令暂时未实现 命令未执行;邮箱不可用 用户非本地的 所请求的动作异常终止;存储位置超过 所请求的动作未发生:邮箱名不允许用 事务失败 邮件传输在前面的两个阶段,如图9.48所示。 1连接建立连接建立 当客户与熟知端口25建立了tcp连接后,smtp服务器(又称mta服务器)就 开始它的连接阶段。这个阶段包括以下3个步骤,如图9.49所示。 2报文传输报文传输 在smtp客户与服务器之间建立连接后,发件人就可以与一个或多个收件人交换 单个的报文了。这个阶段包括8个步骤。 3连接终止连接终止 在报文传输成功后,客户就终止连接。这个阶段包括两个步骤(见图9.51)。

46、【例例9.7】 使用telnet登录到端口25(smtp的熟知端口),然后直接使用 命令发送电子邮件。给自己发送电子邮件。 $ telnet 25 trying 00. connected to (00). 前几行表示telnet试图连接到邮件服务器。 在连接后,可以输入smtp命令,然后收到如下响应。 =连接建立= 220 smtp server ready ffi, 6 aug 2004 helo =信封= mail from: 250 sender ok rcpt to: 250 receipient ok =首部和主体= data 354 o

47、k send data ending with . from: forouzan to: forouzan this is a test message to show smtp in action. . =连接关闭= 250 message received: quit 221 smtp server closing connection connection closed by foreign host. 目前共有两种报文读取协议:邮局协议版本3(pop3)和因特网邮件读取协议 版本4(imap4)。如图9.52所示。 1pop3 当用户需要从邮件服务器的邮箱中下载电子邮件时,客户就开始读

48、取邮件。 客户(用户代理)在tcp端口110打开到服务器的连接。然后它发送用户名和 口令,访问邮箱。用户可以列出清单,并逐个读取邮件报文。 图9.53给出了使用pop3进行下载的例子。 2imap4 imap4还提供了以下一些功能: (1)用户在下载邮件之前可以检查邮件的首部。 (2)用户在下载邮件之前可以用特定的字符串搜索电子邮件的内容。 (3)用户可以部分下载电子邮件。如果在电子邮件中包含高带宽需求的多媒 体信息,而且带宽又受到限制,那么imap4就特别有用。 (4)用户可以在邮件服务器上创建、删除邮箱,或对邮箱更名。 (5)为了存放电子邮件,用户可以在文件夹中创建分层次的邮箱。 多用途因

49、特网邮件扩充(mime)是一个辅助协议,它允许非ascii数据能够 通过电子邮件传输。 mime在发送方把非ascii数据转换为nvt ascii数据,并把它交付给客户mta, 通过因特网发送出去。在接收方再将报文转换为原来的数据。 如图9.54所示。 1mime-version:mime版本版本 这个首部定义mime使用的版本,当前的版本是1.1。 2content-type:内容类型:内容类型 这个首部定义报文主体使用的数据类型。内容类型和内容子类型用斜线分隔开。 根据子类型的不同,首部还可包含其他一些参数。 mime允许7种不同的数据类型,这些都列举在表9.16中。 类 型子 类 型说

50、明 text(正文) multipart (多部分) message (报文) image (图像) video(视频) audio(音频) application (应用) plain(纯文字) html mixed(混合) parallel(并行) digest(摘要) alternative(交替) rfc822 partial(部分) external-body(外部主体) jpeg gif mpeg basic(基本) postscript octet-stream(八位组流) 无格式的正文 html格式 主体包含不同数据类型的有序部分 主体包含不同数据类型,但无序 与“混合”相似,

51、但默认的是message/rfc822 几个部分是同一个报文的不同版本 主体是被封装的报文 主体是更大报文的分片 主体是到另一个报文的索引 jpeg格式的图像 gif格式的图像 mpeg格式的视频信号 8 khz的单声道语音编码 adobe postscript 一般的二进制数据(8位字节) 3cotent-transfer-encoding:内容传输编码:内容传输编码 这个首部定义把报文编码为便于传输的0和1的方法: content-transfer-encoding: 表9.17列举了5种类型的编码。 类 型说 明 7bit 8bit binary base64 quoted-printa

52、ble nvt ascii字符和短行 非ascii字符和短行 ascii字符和长度不限的行 6位数据块被编码成8位ascii字符 非ascii字符被编码成等号后面跟随一个ascii码 8bit:这是8位编码。非ascii字符可以发送,但行的长度仍不能超过1000字 符。 binary:这是8位编码。非ascii字符可以发送,且行的长度可以超过1000字 符。 base64:当要发送的数据是由字节组成且最高位不一定是0时,base64把这 种类型的数据转换为可打印字符,然后就可以作为ascii字符或底层邮件传输机制 支持的任何类型的字符集发送出去。 base64把二进制数据(由比特流组成)划分为

53、24比特的块。每一块再分为4 个部分,每部分由6比特组成(如图9.55所示)。编码开销为25%。 每一个6比特部分按照表9.18被解释为一个字符。 值代码值代码值代码值代码值代码值代码 0 1 2 3 4 5 6 7 8 9 10 a b c d e f g h i j k 11 12 13 14 15 16 17 18 19 20 21 l m n o p q r s t u v 22 23 24 25 26 27 28 29 30 31 32 w x y z a b c d e f g 33 34 35 36 37 38 39 40 41 42 43 h i j k l m n o p q

54、 r 44 45 46 47 48 49 50 51 52 53 54 s t u v w x y z 0 1 2 55 56 57 58 59 60 61 62 63 3 4 5 6 7 8 9 + / quoted-printable:若字符是ascii,则按原样发送。若字符是非ascii,则用 3个字符发送出。第一个字符是等号(=),后两个字符是用十六进制表示的字节。 图9.56给出了例子。 4content-id:内容标识:内容标识 这个首部在多报文环境中唯一地标志整个报文。 5content-description:内容描述:内容描述 这个首部定义主体是否为图像、音频或视频。 【例例

55、9.8】 一个mime邮件包含有一个简单解释的文本和含有非文本信息的照 片。邮件中第一部分的注解说明第二部分含有一张照片。 from: to: mime-version: 1.0 content-type: multipart/mixed; boundary=mypart - mypart 教材部: 我是南京高校一名教师,上计算机网络课,希望得到贵出版社出版的易睿得编著 的计算机网络书作为参考。谢谢! - mypart content-type: image/gif content-transfer-encoding: base64 (教材封面图像数据) - mypart - 两个万维网服务器

56、之间仍然要通过smtp进行传输。 发件人这边的http服务器把报文传给smtp客户,然后使用smtp协议将它发送 到接收人这边的smtp服务器,smtp服务器传给http服务器。如图9.57所示。 ftp使用两个熟知tcp端口:端口21用做控制连接,而端口20用于数据连接。 图9.58给出了ftp的基本模型。 1控制连接控制连接 创建控制连接的步骤如下: (1)服务器在熟知端口21发出被动打开命令,等待客户。 (2)客户使用临时端口发出主动打开命令。 2数据连接数据连接 数据连接使用服务器端的熟知端口20。创建一条数据连接的步骤如下: (1)客户(而不是服务器)使用一个临时端口发出被动打开命令

57、。客户使用 port命令把这个端口号发送给服务器。 (2)服务器收到这个端口号,并使用熟知端口20和收到的临时端口号发出主 动打开命令。 1在控制连接上的通信在控制连接上的通信 ftp使用nvt ascii字符集在控制连接上通信。因为一次发送一条命令(响应)。 每一条命令或响应都是一个短行,每一行的结束处是两个字符(回车和换行)的行 结束记号。 2在数据连接上的通信在数据连接上的通信 在数据连接上传输数据之前,异构性问题可以由定义3个通信属性来解决: (1)文件类型。 (2)数据结构。 (3)传输方式。 ftp使用控制连接在客户进程和服务器进程之间建立通信。在通信时,从客户 向服务器发送命令,

58、而响应从服务器发回到客户(如图9.59所示)。 1命令命令 由ftp客户控制进程发送的命令形式是ascii大写字符,后面的变量可以有,也 可以没有。 命令粗略地划分为6组: (1)接入命令:使用户能够接入到远程系统。 表9.19列举了这个组的常用命令。 命 令变 量说 明 user pass acct rein quit abor 用户标识符 用户口令 应付费的账务 用户信息 口令 账务信息 重新初始化 从系统注销 前面的命令异常终止 (2)文件管理命令:使用户接入到远程计算机的文件系统。允许用户使用目 录结构、创建新的目录、删除文件,等等。表9.20给出了这个组的常用命令。 命 令变 量说

59、明 cwd cdup dele list nlist mkd pwd rmd rnfr rnto smnt 目录名 文件名 目录名 目录名 目录名 目录名 文件名(旧文件名) 文件名(新文件名) 文件系统名 改变到另一个目录 改变到父目录 删除文件 列出子目录或文件 列出子目录名或无其他属性的文件 创建新目录 显示当前目录名 删除目录 标志要重新命名的文件 重新命名文件 安装文件系统 (3)数据格式化命令:使用户定义数据结构、文件类型以及传输方式。所定 义的格式可由文件传输命令来使用。表9.21给出了这个组的常用命令。 命 令变 量说 明 type stru mode a(ascii),e(ebcdic),i(图像) n(非打印),或t(telnet) f(文件),r(记录),或p(页面) s(流),b(块),或c(压缩) 定义文件类型 定义数据的组织 定义传输方式 (4)端口定义命令:定义在客户端的数据连接的端口号。有两种方法: 第一种方法是使用port命令,客户可选择一个临时端口号,并使用被动打开 把它发送给服务器。服务器就使用这个端口号创建主动打开。 第二种方法是使用pasv命令,客户仅要求服务器先选择一个端口号。服务器 在那个端口进行被动打开,并在响应中发送端口号(编号为227的响应)。客户使 用这个端口号发出主动打开。表9.22给出了这个组的常用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论