计算机网络与通信技术 第六章 应用层

上传人:小*** 文档编号:137621198 上传时间:2020-07-10 格式:PPT 页数:63 大小:877KB
返回 下载 相关 举报
计算机网络与通信技术 第六章 应用层_第1页
第1页 / 共63页
计算机网络与通信技术 第六章 应用层_第2页
第2页 / 共63页
计算机网络与通信技术 第六章 应用层_第3页
第3页 / 共63页
计算机网络与通信技术 第六章 应用层_第4页
第4页 / 共63页
计算机网络与通信技术 第六章 应用层_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《计算机网络与通信技术 第六章 应用层》由会员分享,可在线阅读,更多相关《计算机网络与通信技术 第六章 应用层(63页珍藏版)》请在金锄头文库上搜索。

1、应用层,应用层协议的特点 客户/服务器模式 协议栈结构 编程接口 套接字接口 RPC与中间件 网络应用的开发 常用应用 域名、邮件传输、文件传输 WWW(HTTP)与HTML 动态Web文档技术 活动Web文档技术,应用层协议的特点,每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。 应用层的许多协议都是基于客户服务器方式。客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方

2、,服务器是服务提供方。,客户/服务器模式,客户(client)和服务器(server)的术语是指一个通信中所涉及的两个应用。主动启动通信的应用称为客户,而被动等待通信的应用称为服务器。 网络应用使用称为客户服务器模式的通信方式。服务器应用被动地等待通信,而客户应用主动地启动通信。,客户与服务器的特性,客户端软件: 是一个在需要进行远程访问时临时成为客户,同时也做其他的本地计算的应用程序。 直接被用户调用,只为一个会话运行。 在用户的个人计算机上本地运行。 主动地启动与服务器的通信。 能访问所需的多种服务,但在某一时刻只能与一个远程服务器进行主动通信。 不需要特殊的硬件和高级的操作系统。 服务器

3、软件: 是一个用来提供某个服务的有特殊权限的专用程序,可以同时处理多个远程客户请求。 在系统启动时自动调用,不断地为多个会话服务。 在一台共享计算机上运行(即,不是在用户的个人计算机上)。 被动地等待来自远端客户的通信。 接受来自任何客户的通信请求,但只提供一种服务。 需要强大的硬件和高级的操作系统支持。,请求、应答与数据流向,信息在客户与服务器之间沿任一方向或两个方向传递。 一般是客户向服务器发送请求,服务器向客户返回应答。 只要客户与服务器的通信一建立,服务器在没有请求时也可以不断地输出数据。,传输协议与客户服务器交互,客户与服务器的交互直接通过传输协议建立通信并收发信息。,一台计算机上的

4、多种服务,一台服务器类计算机能够同时提供多种服务,每种服务需要一个独立的服务器程序。,标识一个特定服务,传输协议赋给每个服务一个惟一的标识。客户和服务器都使用这个标识;协议软件使用这个标识将收到的请求转向正确的服务器。 在TCP/IP协议的传输层中,这个标识被称为服务的协议端口号。每个服务需要一个唯一的标识号。,并发服务器程序,具有一个以上控制线程的程序称为并发程序。 并发程序通过为一个服务建立多个服务器副本来实现。 并发执行是服务器的基础,因为并发允许多个客户获得同一种服务而不必等待服务器完成对上一个请求的处理。在并发服务器的设计中,主服务器线程为每个客户创建一个新的服务线程。,并发服务器如

5、何确定连接的客户端,传输协议给每个客户也给每个服务赋予一个标识。服务器端的计算机上的协议软件使用客户标识和服务器标识的结合来选择正确的并发服务器的副本。,应用层协议栈,运输层,TCP,UDP,网络层,IP,链路层,MAC,PPP,物理层,双绞线、光纤、无线.,应用层,应用软件,应用层API(Socket、RPC、组件、Web Service),套接字接口,什么是套接字接口 套接字API的用途,套接字API,应用程序通过传输协议进行交互时所用的接口称为应用程序接口。 套接字API是一个工业标准的应用程序接口。 Window上的套接字API版本成为WinSock。 套接字API通过套接字库提供服务

6、。,实现套接字API的过程,Socket过程 Close过程 Bind过程 Listen过程 Accept过程 Connect过程 Send、Sendto与Sendmsg过程 Recv、Recvfrom与Recvmsg过程,套接字调用顺序,WinSock示例,VB示例,RPC与中间件,如何令客户机/服务器软件的开发更为简单,客户和服务器的编程,编写客户/服务器程序涉及诸多的底层细节,而且客户/服务器软件具有相同的基本结构模式,所以程序员可以利用工具自动生成大部分的代码。这些工具使得到的程序更为有效且正确。,面向过程的编程思想起源,大多数的程序员都以过程调用作为结构模块。当程序员构造一个大型程序

7、时,他们先把程序划分成几个主要部分。划分所采用的最常见的程序语言特性是过程,程序员将每个主要部分和一个过程相关联。 RPC思想源于此。,远程过程调用模式,研究者试图使客户/服务器编程和传统的编程尽量接近,但是,为传统的程序设计语言不允许过程调用从一台计算机的程序跨越网络调用另一台计算机上的程序,程序员可以利用过程调用抽象来构造客户/服务器软件。,RPC模式,RPC允许客户端的过程通过网络调用服务器端的过程。也就是说,这样的调用产生时,控制线程从客户端通过网络传递到服务器端。当调用返回时,控制线程又从服务器端传回到客户端。,通信桩程序,为了实现这种交互每部分程序都需要附加的软件。客户端的附加软件

8、负责处理通过网络发送消息并等待响应,而服务器端的附加软件负责处理接收消息,调用指定的过程并返回响应消息。技术上讲,附加的软件被称为通信桩程序或代理。,外部数据表示,因为计算机系统并不都使用相同的内部数据表示方法,并且客户和服务器可能运行在两种不同的计算机上,远程过程调用技术必须解决从一种数据表示到另一种数据表示的转化问题。一种广泛采用的方法是定义标准的外部表示,这要求双方都进行数据的外部表示和内部表示之间相互转化。,中间件和面向对象的中间件,现在有很多商业工具可以帮助程序员采用上述模式构造客户/服务器程序。因为它们提供的软件介于传统的应用程序和网络软件之间,这些工具通常称为中间件。 中间件技术

9、 COM/DCOM/COM+ .net Framework Corba J2EE Web Service,网络应用开发,应用层协议设计 体系、功能、通信协议、其它(如安全策略、数据库等) 运输层设计 协议、端口 网络层设计 IP API选择 Socket、中间件技术 设计与开发,应用通信协议,由开发者设计制订,用于定义客户机与服务器之间交互数据的类型与格式,每一种类型代表一种功能。 通信协议的设计应涵盖所有应用功能的需求并体现差异化,同时需要考虑应用的出错处理。,通信协议示例身份证号码转换(1),设计一个实现15-18、18-15位转换的客户机服务器程序的通信协议 系统设计: 运输层:TCP,

10、端口号:7890 服务器:监听7890端口,接收客户机连接,审核客户机发来的功能码及身份证号码,并对符合要求的身份证号码进行相应的转换 客户机:连接服务器,发送欲转换的身份证号码 功能设计:比较简单,只有两个功能 15to18:15位身份证转换为18位 18to15:18位身份证转换为15位,通信协议示例身份证号码转换(2),协议的消息格式 客户机服务器 指令码(2字节)+数据(20字节) 有两个指令,0001H表示将15位转换为18位,0002H表示将18位转换为15位 服务器客户机 响应码(2字节)+数据(20字节) 有5个响应码,8001H/8002H分别对应正确查询0001H/0002

11、H的结果(转换结果在数据字段中),8010H表示指令码错误,8020H表示身份证号码长度不正确,8030H表示身份证号码无效。,域名、邮件传输、文件传输应用,域名 邮件传输 文件传输,域名系统,DNS 域名的必要性 域名服务(域名IP地址) 域名结构 域名体系组成 域名解析 Hosts文件用途,邮件传输,邮件地址 电子邮件报文格式 邮件传输SMTP 邮件接受POP3 电子邮件服务器与邮箱,电子邮箱与地址,一个电子邮箱包括一个被动存储区。 电子邮箱是私有的邮件软件可以往任一邮箱中加一条信息,而只有所有者才能检查或删除该信息。 格式:mailboxcomputer(计算机名或邮件网关名称) 每个电

12、子邮箱有一个唯一的地址,它分为两个部分:第一部分标识用户的邮箱,第二部分标识邮箱所在的计算机。发送方的电子邮件软件使用第二部分来选择目的地,接收方的电子邮件软件使用第一部分来选择指定邮箱。,电子邮件信息格式,信息由ASCII文本组成,包括两个部分: Header+Body,头部关键字,多用途互联网邮件扩充(MIME),允许用电子邮件传送任意的数据(如二进制程序或图片)。 需要将二进制数据转换为文本传输。 MIME并不指定一种二进制数据的编码标准,而是允许发送方和接收方选择方便的编码方法。在。,电子邮件与应用程序,可以设置一个电子邮件的地址对应一个程序而不是磁盘上的一个邮箱。 利用应用程序收发邮

13、件实现新的交互模式。,邮件传输,用户在写信息或读接收到的信息时与电子邮件接口程序进行交互。 邮件传送( mail transfer)程序负责将一个信息发送给一台远程计算机的细节。当用户写好要发送的信息时,电子邮件接口将该信息置于一个队列中由邮件传送程序处理。,简单邮件传输协议SMTP,当邮件传送程序与远程服务器通信时,它构造了一个TCP连接并在此上面进行通信。一旦连接存在,这两个程序就遵循简单邮件传输协议SMTP,它允许发送方说明自己,指定接收方,以及传送电子邮件信息。 对一台计算机上的多个接收者仅建立一个连接。,邮件分发器、邮件列表,邮件分发器使得一大组人能够通过电子邮件进行通信而发送方不需

14、清楚地指明所有接收方。向一个组发送邮件时,信息被发往列表的地址。分发器接收信息并将它的副本转发给列表中的每个成员。要想接收到发往该组的邮件,就必须请求在列表中加上自己的电子邮件地址。,邮件网关,邮件网关或邮件中继是一台用来完成转发电子邮件任务的计算机。在邮件网关内部,分发器程序接收发给邮件列表的信息,并将副本转发给列表中的每个接收方。,邮箱访问POP3,文件传输,FTP 客户机/服务器模式,文件传输协议FTP,因特网中最流行的文件传输服务使用文件传输协议(FTP)。 FTP是一个通用的协议,它能够在计算机之间对任意文件进行复制。 FTP被设计成既可以使用交互方式也可以使用批处理方式。,FTP命

15、令,连接、授权与文件权限,FTP在文件传输前要求在用户与远程计算机之间建立一个控制连接。为了获得授权,用户必须提供登录名和口令。控制连接一直保持到用户决定关闭连接为止。 为了允许任何用户都可以访问文件,在许多站点按惯例建立了一个只用于FTP的特殊计算机帐户。该帐户的登录名为anonymous,允许任意用户最小权限地访问文件。,任意方向文件传输,FTP允许文件可以沿任意方向传输。 上行:put,mput 下行:get,mget,常用命令,文件名通配符:* 文件改名:rename Open/Close Pwd Ls Cd Lcd Bin/Asc Put,Mput,Get,Mget,实例,ftp ,

16、其它文件传输协议,TFTP-使用UDP NFS-允许应用程序打开一个远程文件,在文件中移动到一个指定位置,并且在该位置开始读写数据。,WWW页面与浏览,HTML与HTTP HTML格式 重要标签 实例,HTML格式与表示,HTML格式标签实例, ,客户/服务器交互,Web浏览采用客户/服务器模式。当给定了一个文档的URL,浏览器变成一个客户,与位于URL指定的计算机上的服务器进行通讯来请求文档。然后浏览器向用户显示文档。 同其他网络应用在客户和服务器之间维持一个已建立的连接不一样, Web浏览器和服务器之间的连接只维持一小段时间。,Web文档传输与HTTP,当浏览器与Web服务器交互时,有两个程序遵循超文本传输协议HTTP)。原则上,HTTP是直接的:它允许浏览器请求一个指定的项,然后服务器返回该项。为了确保浏览器与服务器能够明确地相互操作, HTTP定义了浏览器发送到服务器的请求格式与服务器返回的应答格式。,浏览器结构,浏览器中的其它技术,可选客户 缓存,动态Web文档技术,CGI ISAPI ASP JSP,动态Web文档原理,服务器解析技术,CGI,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号