文档详情

第七章应用层48660(免费阅读).ppt

发布:2016-12-28约8.29千字共49页下载文档
文本预览下载声明
第7章 应用层 主要内容 7.1 应用层概述 7.2 客户/服务器模型 7.3 域名服务 7.4 网络安全 7.5 电子邮件 7.6 WWW 7.1 应用层概述 应用程序:互相通信的分布的进程 在网络主机上的用户空间运行 互相交换消息 比如email、ftp和web 应用层协议 应用程序的一部分 定义应用程序直接交换的信息以及相应的动作 利用底层协议提供的服务 7.1 应用层概述 应用层术语 一个进程是运行于主机上的一个程序。 . 在同一主机上的进程利用操作系统提供的IPC(interprocess communication)进行通信。 在不同主机上运行的进程利用应用层协议进行通信 用户代理(user agent)是指用户和网络应用程序间的接口。比如web浏览器,流媒体播放器等 7.1 应用层概述 应用程序编程接口API (application programming interface) 定义应用程序和传输层之间的接口 socket: Internet API 两个进程通过向socket写数据和读数据来通信 7.1 应用层概述 应用程序对传输服务的要求 数据丢失 有的应用程序(比如音频)可以容忍一定程度的数据丢失 有的应用程序(如文件传输)要求100%的可靠传输 带宽 有的程序(如多媒体)需要一定的带宽才能工作 有的程序则使用它所能得到的全部带宽 延迟 有的程序要求低延迟,比如IP电话和交互游戏 . 应用程序所需的传输服务 Internet传输协议提供的服务 Internet应用和使用的相应协议 7.2 客户/服务器模型 基本概念 客户/服务器模型是所有网络应用的基础。 客户/服务器分别指参与一次通信的两个应用实体,客户方主动地发起通信请求,服务器方被动地等待通信的建立。 7.2 客户/服务器模型 客户软件 任何一个应用程序当需要进行远程访问时成为客户,这个应用程序也要完成一些本地的计算; 一般运行于用户的个人计算机上; 向服务器主动发起通信请求; 可以访问多个服务器,但一次只能访问一个; 不需要特殊的硬件和复杂的操作系统。 服务器软件 是专用的提供某种服务的特权程序,可以同时处理多个远程客户; 一般在系统启动时被执行,并连续运行以处理多次会话; 被动的等待远程客户发起通信; 需要特殊的硬件和复杂的操作系统。 7.2 客户/服务器模型 数据在客户和服务器之间是双向流动的,一般是客户发出请求,服务器给出响应。 服务器软件的并发性 由于服务器软件要支持多个客户的同时访问,必须具备并发性。 服务器软件的组成 服务器软件一般分为两部分:一部分用于接受请求并创建新的进程或线程,另一部分用于处理实际的通信过程。 7.2 客户/服务器模型 客户/服务器之间使用的传送层协议 可以是基于连接的TCP协议,要求建立和释放连接,适用于可靠的交互过程; 也可以是无连接的UDP协议,适用于可靠性要求不高的或实时的交互过程; 同时使用TCP和UDP的服务,有两种服务器软件的实现或服务器软件同时和TCP、UDP协议交互,不对客户做限制。 7.2 客户/服务器模型 客户和服务器的交互 支持协议:在INTERNET中,客户和服务器的交互通过使用TCP/IP协议栈来完成。因此,客户和服务器所在的机器要求支持完全的协议栈。客户/服务器通过套接字访问传送层服务 多种服务:一台计算机上可以运行多个服务器软件,但是要求计算机有强大的硬件资源(服务器级别的计算机)和多任务操作系统(UNIX和WIN95/98/2000/NT)。 服务的标识:客户是通过服务的标识来访问某种服务的,比如在INTERNET中,服务是用端口号来标识。服务器软件启动时将其标识通知传送层实体。 7.3 域名服务 产生原因 32比特的IP地址难于记忆,应该使用符号地址,但是网络本身是使用IP地址的,因此需要一个完成二者之间相互转换的机制。比如用表示41。 当网络规模比较小时,例如ARPANET,每台主机只需查找一个文件(UNIX的host),该文件中列出了主机与IP地址的对应关系。 当网络规模很大时,上述方法就不适用了,因此产生了域名系统DNS(Domain Name System) 7.3 域名服务 DNS概述 域名系统是一个典型的客户/服务器交互系统; 域名系统是一个多层次的、基于域的命名系统,并使用分布式数据库实现这种命名机制; 当应用程序需要进行域名解析时(从符号名到IP地址),它成为域名系统的一个客户。它向本地域名服务器发出请求(调用resolver),请求以UDP包格式发出,域名服务器找到对应的IP地址后,给出响应。当本地域名服务器无法完成域名解析,它临时变成其上级域名服务器的客户,递归解析,直到该域名解析完成。
显示全部
相似文档