《计算机网络原理与技术(第二版)》第章应用层(可编辑)
收藏
编号:98549490
类型:共享资源
大小:112.50KB
格式:DOC
上传时间:2020-10-13
上传人:xinsh****encai
认证信息
个人认证
蔡**(实名认证)
江西
IP属地:江西
16
积分
- 关 键 词:
-
计算机网络原理与技术第二版
计算机网络
原理
技术
第二
应用
编辑
- 资源描述:
-
《计算机网络原理与技术(第二版)》第7章应用层
计算机网络 第七章 应用层 主要内容 域名系统 文件传输 电子邮件 万维网 多媒体应用 主机配置 应用的体系结构 客户/服务器体系结构 有一个总是打开的服务器,在固定的众所周知的地址上为客户机提供服务,客户机之间不直接通信,如:电子邮件、文件传输、… P2P体系结构: 没有一个总是打开的服务器,任意一对主机(称对等方)之间直接通信,如P2P文件共享。 混合体系结构 同时使用客户/服务器结构和P2P结构,如具有联系人列表的即时讯息。 1. 域名系统DNS 网络内部使用IP地址来标识主机,而人们倾向于使用便于记忆的ASCII名字,因而需要一种名字服务系统将对用户友好的名字转换成对路由器友好的地址。 域名系统是一种分层的基于域的命名方案和实现这种命名方案的分布式数据库: 层次命名解决了大规模网络中名字冲突的问题 分布式数据库解决了表的维护与传播问题。 域名系统通常由其它应用使用,将用户提供的主机名字或电子邮件地址转换成IP地址。 DNS的名字空间 名字空间定义了计算机允许使用的名字的集合。 DNS在概念上将因特网分成了200多个顶级域,每个顶级域被进一步划分成若干个二级子域,每个二级子域还可以再分子域,依次类推。 一个指定的域是指树中一个特定的节点以及该节点以下所有的节点。 某个域的域名用从该域开始向上直到树根(为空)的标号序列表示,标号之间用句点隔开,如。 域名的任一后缀也是一个域。 顶级域分为两类: 组织域:主要由美国的组织使用。 国家域:按国家(或称地理)注册,每个国家对应一个域。 域名空间示意图 DNS的组织域 DNS工作原理 应用程序调用一个称为解析器的库例程,在UNIX系统上是gethostbyname ,输入参数为包含主机名的字符串。 解析器的内部配置了本地DNS服务器的地址,解析器将需要查询的信息封装成一个DNS请求报文,封装到一个UDP包(端口为53)中,发送给本地DNS服务器。 若本地数据库中有所需的信息,本地DNS服务器将查到的信息封装成DNS响应报文,封装到另一个UDP包(端口为53)中,发回给解析器。 解析器从DNS响应报文取出查询结果,返回给调用者。 以上过程采用RPC实现。 问题:如果本地数据库中没有所需的信息,怎么办? DNS服务器的组织方式 三种类型的DNS服务器: 根DNS服务器:知道所有顶级域服务器的IP地址。 顶级域(TLD)服务器:每个顶级域至少有一个TLD服务器,每个TLD服务器知道本域下所有二级子域的权威DNS服务器的IP地址。 权威DNS服务器:存放各组织机构公共可访问DNS记录的服务器。 分层解析: 本地DNS服务器- 根DNS服务器- TLD服务器- 二级子域权威服务器- 三级子域权威服务器- …… 改进: 使用DNS缓存提高查找效率。 实现时将多层域结构放在同一个物理域名服务器中,缩短查询链。 DNS资源记录 DNS数据库的每一个表项称为一个资源记录。 每个域都有一组相关联的资源记录,解析器从DNS得到的是和域名相关联的资源记录。因此确切地说,DNS的功能是将域名映射到资源记录上。 一条资源记录是一个五元组,包括: 域名:该资源记录适用的域 生存期:表示资源记录的稳定性 信息类型:对于因特网信息,该字段总为IN 资源记录类型:共有20多种资源记录 值 最重要的一些资源记录 Type A: 域名给出一个主机名,值给出该主机的IP地址。 如: ,86400,IN,A,1 Type NS: 域名给出一个域,值给出该域权威DNS服务器的名字。 如: ,86400,IN,NS, Type CNAME: 域名给出一个主机的别名,值给出这个主机的规范名字。 如: .,86400,IN,CNAME, Type MX: 域名给出邮件服务器的别名,值给出邮件服务器的规范名字。 如: ,86400,IN,MX, 2. 文件传输 文件传输协议FTP (File Transfer Protocol) 简单文件传输协议TFTP (Trivial File Transfer Protocol) 2.1 文件传输协议FTP FTP规定了两台计算机上的FTP软件如何进行交互。 大多数厂商使用BSD FTP软件,新开发的FTP应用程序为用户隐藏了FTP接口的许多细节。 FTP使用客户/服务器模式: FTP客户程序:解释用户输入的命令,与文件服务器建立TCP连接,在TCP连接上完成与服务器的通信及数据传输。 FTP服务器程序:接受客户的连接请求,与客户建立TCP连接,在TCP连接上完成与客户的通信及数据传输。 FTP的控制连接和数据连接 FTP使用两条TCP连接完成文件传输: 控制连接:使用端口21,用于传送客户的命令和服务器的响应。 数据连接:使用端口20,用于传输文件。每个数据连接只传输一个文件,文件传输结束时关闭连接。 使用分开的控制连接和数据连接的优点: 简化协议的设计和实现。 控制连接在文件传输过程中一直可用,客户可以随时发送终止传输的命令。 使用数据连接的关闭来表示文件传输结束,允许动态创建文件。 FTP连接 数据连接的建立 建立数据连接时,客户和服务器的角色刚好相反,服务器扮演客户的角色,而客户扮演服务器的角色。 建立数据连接的过程: 客户进程为数据连接选择一个本地的临时端口号,在该临时端口上等待服务器的连接请求。 客户进程在控制连接上用PORT命令将临时端口号发送给服务器。 服务器收到端口号后,发送一个连接请求,同客户机的该端口建立一个数据连接。服务器用于数据连接的端口号总是20。 2.2 简单文件传输协议TFTP TFTP设计为用于引导无盘系统,因而它使用UDP而不是TCP传输文件,以保持算法简单和短小。 使用TFTP引导无盘系统: 需要一个网络连接和一小块ROM,ROM中有支持TFTP、UDP和IP的代码以及设备驱动程序等。 无盘系统启动时,执行ROM中的代码,在网络上产生一个TFTP广播请求。 网络上配置的TFTP服务器通过发送文件来响应这一请求,文件中包含可运行的二进制程序。 无盘系统将收到的文件装载到内存中并执行。 TFTP的数据传输 TFTP使用客户/服务器模式,客户与服务器之间采用停-等协议进行数据传输。以读文件为例: TFTP客户向服务器发送读请求,说明要读的文件名和文件模式(ASCII文件或二进制文件)。 TFTP服务器发送一个块编号为1的数据分组,TFTP客户收到后发送一个块编号为1的确认分组。 TFTP服务器随后发送一个块编号为2的数据分组,TFTP客户发送一个块编号为2的确认分组。 依次类推,直至文件传送完。 除最后一个数据分组外,其它分组均含有512字节的数据。 TFTP依靠UDP检测数据错误并丢弃出错的包,并使用超时重传机制解决分组丢失问题。 TFTP的通信过程 TFTP客户与服务器的通信过程: TFTP客户进程向TFTP服务器进程的UDP熟知端口69发送第一个报文(读或写请求)。 服务器进程向服务器主机申请一个尚未使用的端口,重新创建一个进程在该端口上与请求的客户进程交换数据。 服务器进程回到69端口继续监听其它客户的请求。 服务器中的UDP模块根据目的端口号区分不同的客户。 TFTP报文不提供用户名和口令。 3. 电子邮件 两个概念: 电子邮箱:由计算机上的一个存储区域(如磁盘上的一个文件)组成,每个邮箱均被分配了唯一的电子邮件地址。 电子邮件地址:形如:mailbox@computer,前者为用户邮箱的字符串,后者为邮箱所在的计算机的名字。 因特网电子邮件系统的标准: RFC 821:邮件传输协议 RFC 822:消息格式 因特网电子邮件系统由三个部分组成: 用户代理:本地程序,提供邮件阅读、编辑、发送及信箱管理。 消息传输代理:运行在邮件服务器后台的系统守护程序,负责传递邮件及将收到的邮件放入用户邮箱。 简单邮件传输协议SMTP:控制在两个计算机之间的邮件传递。 3.1 邮件格式 邮件的三个组成部分: 信封:包含与信件传输有关的信息,仅供消息传输代理使用。 信头:包括发信人地址及信体格式说明,供用户代理使用。 信体:收信人真正感兴趣的部分。 RFC 822:规定了信头中可以使用的域,信体为英文纯文本格式,采用ASCII编码。 多用途因特网邮件扩展协议MIME: 允许信体具有一定的数据结构,定义了七种数据类型及相应的子类型。 规定了非ASCII文本信息在传输时的统一编码形式,其中最重要的编码形式是基64编码。 在信头中扩充了一些域,用以指明信体的数据类型和传输编码形式。 一个邮件传输的例子 以Alice向Bob发送一个邮件为例,两者信箱不在同一个邮件服务器上: Alice调用用户代理编辑邮件,提供Bob的电子邮件地址,然后通过用户代理发送邮件。 Alice的用户代理把信件发送给Alice的邮件服务器,该邮件被放到邮件服务器的发送队列中。 Alice的邮件服务器在发送队列中发现这封邮件,与Bob的邮件服务器进行交互,然后将邮件发送给Bob的邮件服务器。 Bob的邮件服务器接收邮件,将其放入Bob的邮箱中。 Bob在方便的时候,调用用户代理阅读该邮件。 3.2 邮件传输协议 使用SMTP的邮件传输过程: 客户机上的消息传输代理与服务器上的SMTP守护进程(在端口25上监听)建立TCP连接。 服务器发送准备好报文,若服务器未准备好,客户机释放连接。 客户机向服务器通报信件的发送方和接收方。 若接收方信箱在服务器上,服务器通知客户机继续。客户机将信件发送给服务器,服务器将信件放入相应的信箱后进行响应。 重复以上过程,将信件全部发完。 服务器交换发送方和接收方的身份,邮件反向流动。 当两个方向的信件均交换完后,释放连接。 3.3 邮件访问 邮箱一般放在功能强大的运行邮件服务器的计算机系统上,用户代理通过远程访问邮箱来获取邮件。 邮件的两阶段交付: 第一阶段:在具有永久因特网连接的计算机上为每个用户分配一个邮箱,该计算机运行一个常规SMTP服务器,一直准备着接收电子邮件。 第二阶段:用户与邮件服务器建立一个连接,运行一个从永久邮箱检索邮件的协议,将邮件传输到本地计算机上阅读或者在线阅读。 两阶段交付邮件 邮局协议POP3 POP3的通信过程: 用户激活一个POP3客户,该客户与带有永久邮箱的计算机的端口110(POP3守护进程)建立一个TCP连接。 用户发送用户名和口令进行身份鉴别。 身份鉴别成功,用户发送POP3命令,将邮件接收到本地,并可将邮件标记为删除。 当客户发出退出命令时,服务器删除所有标记的邮件,回应客户。 释放连接。 IMAP和Webmail Internet邮件访问协议IMAP: 允许用户将所有邮件无限期地保留在服务器中,在线阅读邮件和管理信箱。 除了可以为用户接收邮件外,还可以为用户发送邮件。 IMAP服务器在端口143上监听。 Webmail 允许用户使用Web浏览器收发电子邮件。 用户代理为普通浏览器,浏览器和远程邮箱之间使用HTTP协议通信,但邮件服务器之间仍是SMTP协议。 和IMAP一样,用户可以在远程服务器上用文件夹来组织他们的信件。 4. 万维网 从用户的角度来看,Web是由数量巨大且遍布全球的文档组成,这些文档称为Web页。 每个页除了包含普通数据外,还包含格式命令和指向其它页的链接: 格式命令:指示如何显示文档中的数据 链接:指示如何获取另一个文件 包含链接信息的文本串或图形称为超级链接,当用户点击某个超级链接时,该超级链接指向的页会被取回,并显示在用户屏幕上。 包含超级链接的页称为超文本页或超媒体页,它们的区别在于文档内容。 页需要用称为浏览器的程序阅读,浏览器负责取回指定的页,并按照指定的格式显示在屏幕上。 网页获取 Web采用客户/服务器模式工作,客户为浏览器软件,服务器是运行在Web服务器上的一个软件程序。 服务器平时总在端口80上监听客户的连接请求,当用户点击了一个超级链接后: 浏览器找到该链接所指的网页的名字 与网页所在的服务器建立一个TCP连接 向服务器发送取网页的请求 服务器将请求的网页发送给浏览器 释放TCP连接 两个问题需要解决: 如何命名一个网页 定义客户和服务器之间的传输协议 4.1 统一资源定位器URL 为在全网范围内确定一个页,页名必须包括: 页的存放地址 页在宿主机中的全路径名 页的访问方法 URL的一般格式为: Schemename:方法名,指出访问网页的协议名称 Host:网页所在宿主机的域名 Path:网页在宿主机上的全路径名 从URL获取信息: 浏览器从host域得到网页所在服务器的域名,通过域名系统得到服务器的IP地址 从schemename域得到应用服务的端口号 使用IP地址和端口号与服务器建立TCP连接 利用schemename指定的协议同服务器对话,请求发送path域指定的页。 4.2 超文本传输协议HTTP HTTP规定了客户与服务器通信使用的命令及响应。 HTTP运行在TCP连接之上,使用端口80。 基本工作模式:浏览器向服务器发送HTTP请求,服务器返回响应,然后释放连接。服务器不保留以前的请求或会话的历史记录。HTTP/1.0使用这种工作模式。 持久连接模式:一旦客户建立了和特定服务器的TCP连接,该连接在多个请求和响应过程中一直存在,直至客户或服务器关闭连接。HTTP/1.1的默认方式为使用持久连接。 持久连接 持久连接的两种方式: 非流水线方式:客户只能在收到前一个请求的响应后才能发送下一个请求,吞吐量低。 流水线方式:客户可以连续发送多个请求而不需要等待响应,服务器也可以进行连续响应,吞吐量高。 使用持久连接的缺点: 需要标识发送的每一个数据项的开头和结尾,HTTP采用的方法是先发送数据项的长度,然后再发送数据项。 HTTP消息交互 HTTP允许浏览器和服务器通过消息头部交换元信息和协商各种能力。 四类元信息: 常规头:信息发生的日期、编号和使用的MIME版本号等。 请求头:指明提出请求的浏览器类型、浏览器能支持的数据类型、压缩方法和浏览器所用语言等。 应答头:指明Web服务器类型、要求客户进行身份认证等信息。 实体头:提供有关传输对象的信息,如长度、类型、压缩方法、制作语言等。 条件请求: HTTP允许发送方有条件地请求。浏览器在头部说明响应请求的条件,如果条件不满足,服务器不返回请求的数据项。 4.3 Web文档表示 Web文档类型: 静态文档:以文件形式保存在Web服务器上,由文档的作者决定文档的内容。对静态文档的每次请求均产生相同的响应。 动态文档:由Web服务器动态创建。当请求到达时,Web服务器运行一个应用程序创建动态文档,并返回给浏览器。每次请求产生的动态文档不同。 主动文档:由一个计算机程序组成。当游览器请求一个主动文档时,服务器返回一个在浏览器本地运行的程序的拷贝,程序运行时可以与用户进行交互,并不断访问服务器取回新的信息。主动文档的内容总在不断更新。 Web文档描述语言 静态文档和动态文档使用超文本标记语言6>HTML表示: HTML将格式命令显式地置于文件中,由终端系统解释和执行。 格式命令规定了显示文档所需的大纲信息,由浏览器确定文档的显示细节。 格式命令称为标签,使用时标签成对出现,一对标签之间的内容为该标签的作用范围。 HTML将文档的内容与格式绑在一起,使得从文档中提取信息或改变信息的输出格式非常困难。 提出两种新的语言,分离信息与信息的表示: 扩展的标记语言XML:以一种结构化的方式描述内容 扩展的样式语言XSL:描述独立于内容的显示格式 创建和运行主动文档的技术包括Java Applet、JavaScript等。 4.4 Web性能优化--客户端措施 Web缓存 将请求到的页放到缓存中,以备将来使用。 使用一个代理程序来维护缓存。浏览器被配置为向代理请求网页,当缓存中有所请求的页时,代理将页返回,否则先从服务器取回,添加到缓存中,然后返回给客户。 分级缓存方案:本地PC、局域网及ISP均运行代理,协同工作。 确定页的缓存时间: 启发式方法:根据网页的Last-Modified头来确定保存时间 条件请求:使用If-Modified-Since请求头 由服务器指示如何进行缓存。 积极缓存。 Web性能优化--服务器端措施 缓存:将经常访问的文件保存在高速缓存中,减少文件的访问时间。 提高服务器的并行性:将服务器设计为多线程的,并将文档分布到多个磁盘上。 建立服务器集群系统,并使用负载均衡器进一步提高网站的服务能力。 建立服务器镜像:在多个相距较远的位置建立镜像服务器,复制内容。 5. 多媒体应用 多媒体应用至少必须包含一种连续的媒体,而连续媒体通常就是指音频或视频。 多媒体应用的分类: 流式存储音/视频: 压缩的音/视频文件已经存储在服务器上,用户下载这些文件进行播放。 用户可以暂停、倒退、快进或者检索多媒体内容。 实时实况音/视频: 类似于传统的电台广播和电视,只是通过因特网来传输。 实时交互音/视频: 允许人们使用音/视频进行实时通信 对端到端延时的要求很高。 因特网广播 在实际的因特网广播实现中,每个客户与电台建立一条单独的TCP连接,然后在TCP连接上传输音频数据。 因特网广播采用TCP单播而不是RTP多播的原因: 许多ISP不支持多播。 TCP已被广泛应用并被所有的软件包支持,而RTP却陌生得多。 许多系统的防火墙仅允许某些熟知端口的TCP包和UDP包通过,携带RTP报文的UDP包通常会被过滤掉。 流式存储音/视频应用 基本过程: 客户机请求存储在服务器上的音/视频文件 服务器将音/视频文件发送到客户指定的一个套接字 客户机使用媒体播放器播放音/视频文件 通常采用RTP协议传输音/视频文件,采用RTSP(Real-Time Streaming Protocol)协议提供交互性操作。 基于Web服务器的音/视频流实现(不推荐使用) 使用Web服务器和流式服务器的音/视频流实现 基于Web服务器的实现 使用Web服务器和流式服务器的实现 实时交互式音/视频应用 需要一个会话控制协议,负责在会话的双方之间建立、管理和终止呼叫连接,SIP和H.323就是这样的两个协议。 实时传输协议RTP RTP是专为多媒体应用而设计的一个应用层协议,为多媒体应用提供公共的端到端功能。 RTP运行在UDP之上,其基本功能是将多个媒体流复用到一个UDP流上: RTP为每个源分配一个独立的RTP流 多个RTP流经复用和编码后封装成RTP报文 RTP报文封装到UDP包中 UDP报文流被送往一个或多个目的地 RTP报文由报头和数据两部分组成 RTP报头格式 RTP提供的服务 RTP提供的服务: 将多个媒体流复用到一个UDP流上 同步多个媒体流 选择每个媒体流的编码方案 标识发送方 检测报文丢失。 RTP没有提供的服务: RTP不保证数据的及时交付和顺序交付,它甚至不保证分组的交付。 实时传输控制协议RTCP RTCP是与RTP伴生的协议,其作用是为多媒体应用程序提供一个与数据流相联系的控制流: 反馈应用程序和网络的性能,如延迟、延迟抖动、带宽、拥塞等,以便自适应调整发送速率。 关联和同步来自同一发送方的不同媒体流。 将发送方标识符传到用户界面上显示,让接收者知道现在谁正在说话。 RTP数据流和对应的RTCP控制流使用相邻的传输层端口,RTP数据流使用偶数端口,RTCP控制流使用端口号大1的奇数端口。 6. 主机配置 协议配置:为协议软件提供参数值的行为。 协议软件需要的配置信息包括: 内部信息:计算机本身的信息,如协议地址等。 外部信息:计算机系统的环境信息,如默认路由器地址等。 协议配置的方法: 使用磁盘文件,手工修改配置文件;低效,不灵活。 自动配置:利用计算机网络自动获取配置信息。 如何在协议软件被配置前收发数据包? 先初始化网络硬件,然后按照从低层到高层的顺序配置协议,以使高层协议利用低层协议来获取配置信息。 6.1 引导协议BOOTP BOOTP使用一个消息提供多条配置信息: 为获取配置信息,协议软件广播一个BOOTP请求消息。 BOOTP服务器查找相应的几条配置信息,放入一个BOOTP响应消息,发送给请求计算机。 BOOTP允许计算机通过协商发现引导程序的映像: 计算机在BOOTP消息中填写需要的引导文件映像 BOOTP服务器返回包含所请求文件映像的文件的名字 计算机使用TFTP获取引导文件映像 BOOTP消息的传输: BOOTP请求消息采用广播发送。 BOOTP响应消息采用广播发送,或者用请求计算机的硬件地址通过单播方式发送。 6.2 动态主机配置协议DHCP DHCP提供了一种无需手工介入、计算机就可以加入到一个新网络并获得一个IP地址的机制。 DHCP支持两种类型的计算机: 运行服务器软件的非移动计算机:为其分配一个永久地址,配置信息保存在数据库中。 运行客户软件的计算机:不保存配置信息,需要时分配一个有限租期的临时地址,地址快过期时必须续约。 DHCP的工作过程 对于一台新到达的主机, 主机广播DHCP发现消息,查找DHCP服务器。DHCP发现消息被封装在UDP(端口67)和IP中发送。 收到消息的DHCP服务器向主机发送一个DHCP提供(DHCP offer)消息,给出向客户推荐的IP地址、地址掩码及IP地址租用期等信息。 主机从一个或多个服务器提供中选择一个,并用一个DHCP请求消息对选中的提供进行响应。 服务器用一个DHCP确认消息进行响应。此时,客户机可以在租用期内使用DHCP分配的IP地址。 DHCP中继代理 DHCP客户使用全1的IP地址(本地广播地址)发送DHCP发现消息,该消息被限制在本网中传播。 为允许DHCP服务器和请求计算机不在同一个网络内,DHCP引入了中继代理: 每个网络上至少有一个中继代理,中继代理只配置了一条信息,就是DHCP服务器的IP地址。 当中继代理收到DHCP发现消息时,它将这条消息用单播的方式发送给DHCP服务器,然后将DHCP服务器的响应消息回传给请求计算机。 DHCP中继示例 * * 国际组织 int 临时ARPA域(仍在使用) arpa 非赢利组织 org 主要网络提供商 net 美国军事组织 mil 美国政府组织 gov 教育机构 edu 商业组织 com 分配给 域
- 内容简介:
-
-
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。