计算机网络 第七章应用层.ppt
《计算机网络 第七章应用层.ppt》由会员分享,可在线阅读,更多相关《计算机网络 第七章应用层.ppt(65页珍藏版)》请在三一办公上搜索。
1、第七章 应用层,应用层概述客户/服务器模型域名服务简单网络管理协议SNMP网络安全电子邮件WWW文件传输协议FTP,应用层概述(1),互联网提供一个通用的通信构架,并不指明提供哪些服务,由哪些计算机来运行这些服务,如何确定服务的存在,以及如何使用这些服务。应用层为用户提供高层服务,并决定了用户对底层互联网能力的认知。应用决定了信息显示的格式以及用户选择和访问信息的机制。最重要的是,应用能定义符号名字来标识互联网上可用的物理资源和抽象资源。比如,应用软件能为计算机和输入输出设备(如打印机)定义名字,也能为抽象的对象(如文件、电子邮件信箱、数据库等)定义名字。符号名字能帮助用户在高层次上区分和定位
2、信息与服务,而不必理解或记忆底层软件协议所使用的低级地址。,客户/服务器模型(1),基本概念客户/服务器模型是所有网络应用的基础。客户/服务器分别指参与一次通信的两个应用实体,客户方主动地发起通信请求,服务器方被动地等待通信的建立。,客户/服务器模型(2),客户软件任何一个应用程序当需要进行远程访问时成为客户,这个应用程序也要完成一些本地的计算;一般运行于用户的个人计算机上;向服务器主动发起通信请求;可以访问多个服务器,但一次只能访问一个;不需要特殊的硬件和复杂的操作系统。服务器软件是专用的提供某种服务的特权程序,可以同时处理多个远程客户;一般在系统启动时被执行,并连续运行以处理多次会话;被动
3、的等待远程客户发起通信;需要特殊的硬件和复杂的操作系统。,客户/服务器模型(3),数据在客户和服务器之间是双向流动的,一般是客户发出请求,服务器给出响应。服务器软件的并发性由于服务器软件要支持多个客户的同时访问,它必须具备并发性。服务器软件为每个新到的客户创建一个进程或线程来处理和这个客户的通信。服务器方传送层实体使用客户的源端口号和服务的端口号来确定正确的服务器软件进程(线程)。服务器软件的组成服务器软件一般分为两部分:一部分用于接受请求并创建新的进程或线程,另一部分用于处理实际的通信过程。,客户/服务器模型(4),客户/服务器之间使用的传送层协议可以是基于连接的TCP协议,要求建立和释放连
4、接,适用于可靠的交互过程;也可以是无连接的UDP协议,适用于可靠性要求不高的或实时的交互过程;同时使用TCP和UDP的服务,有两种服务器软件的实现或服务器软件同时和TCP、UDP协议交互,不对客户做限制。客户和服务器的交互支持协议:在INTERNET中,客户和服务器的交互通过使用TCP/IP协议栈来完成。因此,客户和服务器所在的机器要求支持完全的协议栈。客户/服务器通过套接字访问传送层服务。,客户/服务器模型(5),客户/服务器模型(6),客户/服务器模型(7),多种服务:一台计算机上可以运行多个服务器软件,但是要求计算机有强大的硬件资源(服务器级别的计算机)和多任务操作系统(UNIX和WIN
5、95/98/2000/NT)。服务的标识:客户是通过服务的标识来访问某种服务的,比如在INTERNET中,服务是用端口号来标识,UNIX在/etc/services文件中定义。服务器软件启动时将其标识通知传送层实体。,客户/服务器模型(8),为一个服务建立多个服务器副本:一套计算机系统如果允许同时运行多个应用程序,则称它支持并发(c o n c u r r e n c y),而具有一个以上控制线程(有些系统使用术语进程(p r o c e s s)或任务(t a s k)来表示控制线程)的程序称为并发(c o n c u r r e n t)程序。并发性是客户服务器交互模式的基础,因为一个并发
6、服务器同时为多个客户提供服务,而不要求每个客户等待服务器对前一个客户的服务结束。动态服务器创建:大多数并发服务器是动态操作的,服务器在每个请求到来时创建一个新的线程。事实上,服务器程序由两部分组成:一部分负责接收请求和生成新线程,另一部分包含处理单个请求的代码。当一个并发服务器开始执行时,只有第一部分在运行。当请求到达时,主线程创建一个新的服务线程来处理它。处理请求的线程运行第二部分代码(即为请求提供服务的部分),然后终止。同时,主线程保持服务器处于活动状态在创建处理请求的线程后,主线程继续等待下一个请求到来。,客户/服务器模型(9),复杂的客户服务器交互:客户应用并不限于只能访问一个服务。同
7、一个应用能够先是某个服务的客户,以后又成为另一个服务的客户。对每种服务,客户可与不同的服务器(可能在不同的计算机上)进行通信。客户应用访问某一服务时并不限于一个服务器。在有些服务中,在不同计算机上运行的服务器会提供不同的信息。在另一些服务中,所有服务器提供相同的信息。在这些情况下,客户可能通过向多个服务器发出请求来提高性能它使用最先应答的服务器所发送的信息。服务器进行其他客户服务器交互不受限制提供某种服务的服务器能成为另一个服务的客户。,域名服务(1),产生原因32比特的IP地址难于记忆,应该使用符号地址,比如用表示202.38.64.2。但是,网络本身是使用IP地址的,因此需要一个完成二者之
8、间相互转换的机制。当网络规模比较小时,例如ARPANET,每台主机只需查找一个文件(UNIX的host),该文件中列出了主机与IP地址的对应关系。当网络规模很大时,上述方法就不适用了,因此产生了域名系统DNS(Domain Name System)。DNS概述域名系统是一个典型的客户/服务器交互系统;域名系统是一个多层次的、基于域的命名系统,并使用分布式数据库实现这种命名机制;,当应用程序需要进行域名解析时(从符号名到IP地址),它成为域名系统的一个客户。它向本地域名服务器发出请求(调用resolver),请求以UDP包格式发出,域名服务器找到对应的IP地址后,给出响应。当本地域名服务器无法完
9、成域名解析,它临时变成其上级域名服务器的客户,递归解析,直到该域名解析完成。RFC 1034,1035域名的结构INTERNET的顶级域名分为组织结构和地理结构两种。每个域对它下面的子域和机器进行管理。DNS中,每台计算机的名字是由“.”所分开的字符数字串所组成的。例如.域名是大小写无关的,“edu”和“EDU”相同。域名最长255个字符,每部分最长63个字符。,域名服务(2),域名服务(3),资源记录在DNS的数据库中用资源记录来表示主机和子域的信息,当应用程序进行域名解析时,得到的便是域名所对应的资源记录。资源记录是一个五元式,Domain_name Time_to_live Type C
10、lass Value,域名服务(4),域名服务器区域划分DNS将域名空间划分为许多无重叠的区域(zone),每个区域覆盖了域名空间的一部分并设有域名服务器对这个区域的域名进行管理。每个区域有一个主域名服务器和若干个二级域名服务器,区域的边界划分是人工设置的,比如:可以是三个不同的区域,可以分别有各自的域名服务器。,域名服务(5),域名解析一个区域内机器上的应用程序进行域名解析时,首先向该区域的域名服务器发出解析请求,若查找到,则返回域名对应的资源记录。若找不到,该域名服务器向所查找域名的顶级域的域名服务器发出解析请求,顶级域的域名服务器通过向下的层次查询得到对应的资源记录,返回给该域名服务器,
11、最后资源记录被返回给发起域名解析的机器,并在该区域的域名服务器中做缓存,超时后删除。,Simple DNS example,host surf.eurecom.fr wants IP address of gaia.cs.umass.edu1.Contacts its local DNS server,dns.eurecom.fr2.dns.eurecom.fr contacts root name server,if necessary3.root name server contacts authoritative name server,dns.umass.edu,if necessar
12、y,requesting hostsurf.eurecom.fr,gaia.cs.umass.edu,root name server,authorititive name serverdns.umass.edu,1,2,3,4,5,6,DNS example,Root name server:may not know authoratiative name servermay know intermediate name server:who to contact to find authoritative name server,requesting hostsurf.eurecom.fr
13、,gaia.cs.umass.edu,root name server,1,2,3,4,5,6,authoritative name serverdns.cs.umass.edu,7,8,DNS:iterated queries,recursive query:puts burden of name resolution on contacted name serverheavy load?iterated query:contacted server replies with name of server to contact“I dont know this name,but ask th
14、is server”,requesting hostsurf.eurecom.fr,gaia.cs.umass.edu,root name server,1,2,3,4,5,6,authoritative name serverdns.cs.umass.edu,7,8,iterated query,简单网络管理协议SNMP(1),SNMP(Simple Network Management Protocol)的产生早期网络,如ARPANET,规模很小,可以通过执行“PING”命令来发现网络故障;网络规模变大,需要一个好的工具来管理网络。1990年发布RFC 1157,定义了SNMP v1;SN
15、MP v2,RFC 1441 1452。网络管理的五个基本管理功能:性能管理、故障管理、配置管理、记帐管理和安全管理。SNMP是基于UDP的SNMP模型SNMP网络管理模型由四种部件组成:被管理节点运行SNMP代理程序(SNMP agent),维护一个本地数据库,描述节点的状态和历史,并影响节点的运行。,简单网络管理协议SNMP(2),管理工作站运行专门的网络管理软件(manager),使用管理协议与被管理节点上的SNMP代理通信,维护管理信息库。管理信息每个站点使用一个或多个变量描述自己的状态,这些变量称为“对象(objects)”,所有的对象组成管理信息库MIB(Management In
16、formation Base)。管理协议(SNMP)管理协议用于管理工作站查询和修改被管理节点的状态,被管理节点可以使用管理协议向管理站点产生“陷阱(trap)”报告。,简单网络管理协议SNMP(3),抽象语法表示法1(ASN.1)定义:抽象语法表示法1是一种标准的对象定义语言,它分为数据描述定义(ISO 8824)和传输语法定义(ISO 8825)两部分。ASN.1可以作为异种计算机设备之间“对象”的描述和传输机制。ASN.1的基本数据类型,网络安全(1),安全网络和安全策略没有绝对意义上的安全网络(secure network)存在任何安全系统的第一步就是制定一个合理的安全策略(secur
17、ity policy)。制定网络安全策略是一件很复杂的事情,其主要复杂性在于网络安全策略必须能够覆盖数据在计算机网络系统中存储、传输和处理等各个环节,否则安全策略就不会有效。制定网络安全策略的复杂性还体现在对网络系统信息价值的评定。很容易理解,任何组织只有正确认识了其数据信息的价值,才能制定一个合理的安全策略。,网络安全(2),安全性指标制定安全策略时,往往必须在安全性和实用性之间采取一个折衷的方案,着重保证一些主要的安全性指标,如数据完整性(data integrity),即数据在传输过程中的完整性,也就是数据在发送前和到达后是否完全一样。数据可用性(data availability),即
18、在系统故障的情况下数据是否会丢失。数据保密性(data confidentiality and privacy),即数据是否会被非法窃取。数据的不可否认性,对数据和信息的来源进行验证,以确保数据由合法的用户发出;防止数据发送方在发出数据后又加以否认;同时防止接收方在收到数据后又否认曾收到过此数据及篡改数据。,网络安全(3),安全责任和控制如何正确分配系统的管理权限往往是安全策略成败的关键。这个问题通常可以从两方面来考虑:帐户(a c c o u n t a b i l i t y)。考虑如何规定系统各用户对系统各项信息的访问权限,如何监督用户活动、记录用户活动情况等。授权(a u t h o
19、r i z a t i o n)。对系统内每条信息,考虑如何规定各用户对它的操作权限,如只读、读写以及用户之间的权限转让等。不管是帐户管理还是授权管理,关键问题是安全责任控制一个组织必须像管理有形资产如办公楼、机器设备一样对信息进行管理。,网络安全(4),完整性机制校验和以及C R C技术都不能绝对保证数据的完整性,有两个原因:如果出现检验值和消息数据同时破坏,且改变后的检验值和消息又正巧匹配的情况,系统就无法发现错误(这种情况概率很低,但决不为零);上述技术缺陷,可能为人恶意利用。现已采用几种机制能够确保受到恶意攻击的消息的完整性。一般采用的方法是使用攻击者不能攻击或伪造的信息验证码(mes
20、sage authentication code,MAC)技术对传输数据进行编码。,网络安全(5),加密与保密:为了保证有在线窃听的情况下的保密性,必须对数据加密。加密的基本思想是改变信息的排列方式,使得只有合法的接收方才能读懂。任何他人即使截取了该加密信息也无法解开。目前存在几种加密技术对称加密,双方具有共享的密钥非对称加密,也称为公开密钥加密,网络安全(6),对称加密:消息发送方和消息接收方必须使用相同的密钥,该密钥必须保密。发送方用该密钥对待发消息进行加密,然后将消息传输至接收方,接收方再用相同的密钥对收到的消息进行解密。这一过程表示成数学形式如下:消息发送方使用的加密函数e n c r
21、 y p t有两个参数:密钥K和待加密消息M,加密后的消息为E。E=encrypt(K,M)消息接收方使用的解密函数decrypt把这一过程逆过来,就产生了原来的消息:M=decrypt(K,E)数学上,decrypt和encrypt互为逆函数,有:M=decrypt(K,encrypt(K,M),网络安全(7),非对称加密:给每个用户分配两把密钥:一个称私有密钥,是保密的;一个称公共密钥,是众所周知的。该方法的加密函数必须具备如下数学特性:用公共密钥加密的消息除了使用相应的私有密钥外很难解密;同样,用私有密钥加密的消息除了使用相应的公共密钥外很难解密。这种用两把密钥加密和解密的方法表示成数学
22、形式如下:假设M表示一条消息,p u b-u l表示用户1的公共密钥,p r v-u l表示用户1的私有密钥,那么有M=decrypt(pub-ul,encrypt(prv-ul,M)M=decrypt(prv-ul,encrypt(pub-ul,M),这种方法是安全的,因为加密和解密的函数具有单向性质。也就是说,仅知道了公共密钥并不能伪造由相应私有密钥加密过的消息。可以证明,公共密钥加密法能够保证保密性。只要消息发送方使用消息接收方的公共密钥来加密待发消息,就只有消息接收方能够读懂该消息。因为要解密必须要知道接收方的私有密钥。,网络安全(8),网络安全(9)数字签名,数字签名是通过一个单向函
23、数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。在电子商务中,传送的文件是通过数字签名证明当事人身份与数据真实性的。数据加密是保护数据的最基本方法,但也只能防止第三者获得真实数据。数字签名则可以解决否认、伪造、篡改及冒充等问题。要求:发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户不能冒充另一用户作为发送者或接收者。,数字签名的实现(1),目前的数字签名是建立在公共密钥体制基础上,它是公用密钥加密技术的另一类应用。它的主要方式是:报文的发送方从报文文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 第七章应用层 第七 应用

链接地址:https://www.31ppt.com/p-4528766.html