计算机网络 第七章应用层

上传人:大米 文档编号:583967521 上传时间:2024-08-30 格式:PPT 页数:65 大小:928.13KB
返回 下载 相关 举报
计算机网络 第七章应用层_第1页
第1页 / 共65页
计算机网络 第七章应用层_第2页
第2页 / 共65页
计算机网络 第七章应用层_第3页
第3页 / 共65页
计算机网络 第七章应用层_第4页
第4页 / 共65页
计算机网络 第七章应用层_第5页
第5页 / 共65页
点击查看更多>>
资源描述

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

1、第七章第七章 应用层应用层应用层概述应用层概述客户客户/服务器模型服务器模型域名服务域名服务简单网络管理协议简单网络管理协议SNMP网络安全网络安全电子邮件电子邮件WWW文件传输协议文件传输协议FTP应用层概述(应用层概述(1)互联网提供一个通用的通信构架,并不指明提供哪些服务,由哪些计互联网提供一个通用的通信构架,并不指明提供哪些服务,由哪些计算机来运行这些服务,如何确定服务的存在,以及如何使用这些服务。算机来运行这些服务,如何确定服务的存在,以及如何使用这些服务。应用层为用户提供高层服务,并决定了用户对底层互联网能力的认知。应用层为用户提供高层服务,并决定了用户对底层互联网能力的认知。应用

2、决定了信息显示的格式以及用户选择和访问信息的机制。最重要应用决定了信息显示的格式以及用户选择和访问信息的机制。最重要的是,应用能定义符号名字来标识互联网上可用的物理资源和抽象资的是,应用能定义符号名字来标识互联网上可用的物理资源和抽象资源。源。比如,应用软件能为计算机和输入输出设备(如打印机)定义名字,比如,应用软件能为计算机和输入输出设备(如打印机)定义名字,也能为抽象的对象(如文件、电子邮件信箱、数据库等)定义名字。也能为抽象的对象(如文件、电子邮件信箱、数据库等)定义名字。符号名字能帮助用户在高层次上区分和定位信息与服务,而不必理解符号名字能帮助用户在高层次上区分和定位信息与服务,而不必

3、理解或记忆底层软件协议所使用的低级地址。或记忆底层软件协议所使用的低级地址。applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical客户客户/服务器模型(服务器模型(1)基本概念基本概念客户客户/服务器模型服务器模型是所有网络应用的是所有网络应用的基础。客户基础。客户/服务服务器分别指参与一次器分别指参与一次通信的两个应用实通信的两个应用实体,客户方主动地体,客户方主动地发起通信请求,服发

4、起通信请求,服务器方被动地等待务器方被动地等待通信的建立。通信的建立。applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical客户客户/服务器模型(服务器模型(2)客户软件客户软件任何一个应用程序当需要进行远程访问时成为客户,这个应用程任何一个应用程序当需要进行远程访问时成为客户,这个应用程序也要完成一些本地的计算;序也要完成一些本地的计算;一般运行于用户的个人计算机上;一般运行于用户的个人计算机上;向服务器主动发起通信请求;向服务器主动发起通信请求;可以访问多个服务器,但一

5、次只能访问一个;可以访问多个服务器,但一次只能访问一个;不需要特殊的硬件和复杂的操作系统。不需要特殊的硬件和复杂的操作系统。服务器软件服务器软件是专用的提供某种服务的特权程序,可以同时处理多个远程客户;是专用的提供某种服务的特权程序,可以同时处理多个远程客户;一般在系统启动时被执行,并连续运行以处理多次会话;一般在系统启动时被执行,并连续运行以处理多次会话;被动的等待远程客户发起通信;被动的等待远程客户发起通信;需要特殊的硬件和复杂的操作系统。需要特殊的硬件和复杂的操作系统。客户客户/服务器模型(服务器模型(3)数据在客户和服务器之间是双向流动的,一般是客户发数据在客户和服务器之间是双向流动的

6、,一般是客户发出请求,服务器给出响应。出请求,服务器给出响应。服务器软件的并发性服务器软件的并发性由于服务器软件要支持多个客户的同时访问,它必须具备并发由于服务器软件要支持多个客户的同时访问,它必须具备并发性。服务器软件为每个新到的客户创建一个进程或线程来处理性。服务器软件为每个新到的客户创建一个进程或线程来处理和这个客户的通信。服务器方传送层实体使用客户的源端口号和这个客户的通信。服务器方传送层实体使用客户的源端口号和服务的端口号来确定正确的服务器软件进程(线程)。和服务的端口号来确定正确的服务器软件进程(线程)。服务器软件的组成服务器软件的组成服务器软件一般分为两部分:一部分用于接受请求并

7、创建新的服务器软件一般分为两部分:一部分用于接受请求并创建新的进程或线程,另一部分用于处理实际的通信过程。进程或线程,另一部分用于处理实际的通信过程。客户客户/服务器模型(服务器模型(4)客户客户/服务器之间使用的传送层协议服务器之间使用的传送层协议可以是基于连接的可以是基于连接的TCP协议,要求建立和释放连接,适用于可协议,要求建立和释放连接,适用于可靠的交互过程;靠的交互过程;也可以是无连接的也可以是无连接的UDP协议,适用于可靠性要求不高的或实时协议,适用于可靠性要求不高的或实时的交互过程;的交互过程;同时使用同时使用TCP和和UDP的服务,有两种服务器软件的实现或服务的服务,有两种服务

8、器软件的实现或服务器软件同时和器软件同时和TCP、UDP协议交互,不对客户做限制。协议交互,不对客户做限制。客户和服务器的交互客户和服务器的交互支持协议:支持协议:在在INTERNET中,客户和服务器的交互通过使用中,客户和服务器的交互通过使用TCP/IP协议栈来完成。因此,客户和服务器所在的机器要求支协议栈来完成。因此,客户和服务器所在的机器要求支持完全的协议栈。客户持完全的协议栈。客户/服务器通过套接字访问传送层服务。服务器通过套接字访问传送层服务。客户客户/服务器模型(服务器模型(5)客户客户/服务器模型(服务器模型(6)客户客户/服务器模型(服务器模型(7)多种服务:多种服务:一台计算

9、机上可以运行多个服务器软件,一台计算机上可以运行多个服务器软件,但是要求计算机有强大的硬件资源(服务器级别的但是要求计算机有强大的硬件资源(服务器级别的计算机)和多任务操作系统(计算机)和多任务操作系统(UNIX和和WIN95/98/2000/NT)。)。服务的标识:服务的标识:客户是通过服务的标识来访问某种服客户是通过服务的标识来访问某种服务的,比如在务的,比如在INTERNET中,服务是用端口号来标中,服务是用端口号来标识,识,UNIX在在/etc/services文件中定义。服务器软文件中定义。服务器软件启动时将其标识通知传送层实体。件启动时将其标识通知传送层实体。客户客户/服务器模型(

10、服务器模型(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)程序。并发性是客户服务器交互模式的基础,因为一个并发服务程序。并发性是客户服务器交互模式的基础

11、,因为一个并发服务器同时为多个客户提供服务,而不要求每个客户等待服务器对前一器同时为多个客户提供服务,而不要求每个客户等待服务器对前一个客户的服务结束。个客户的服务结束。-动态服务器创建:动态服务器创建:大多数并发服务器是动态操作的,服务器在每个大多数并发服务器是动态操作的,服务器在每个请求到来时创建一个新的线程。事实上,请求到来时创建一个新的线程。事实上,服务器程序由两部分组成服务器程序由两部分组成:一部分负责接收请求和生成新线程,另一部分包含处理单个请求的一部分负责接收请求和生成新线程,另一部分包含处理单个请求的代码。当一个并发服务器开始执行时,只有第一部分在运行。当请代码。当一个并发服务

12、器开始执行时,只有第一部分在运行。当请求到达时,主线程创建一个新的服务线程来处理它。处理请求的线求到达时,主线程创建一个新的服务线程来处理它。处理请求的线程运行第二部分代码(即为请求提供服务的部分),然后终止。同程运行第二部分代码(即为请求提供服务的部分),然后终止。同时,主线程保持服务器处于活动状态时,主线程保持服务器处于活动状态在创建处理请求的线程后,在创建处理请求的线程后,主线程继续等待下一个请求到来。主线程继续等待下一个请求到来。客户客户/服务器模型(服务器模型(9)-复杂的客户服务器交互:复杂的客户服务器交互: 客户应用并不限于只能访问一个服务。同一个应用能够先是某个服客户应用并不限

13、于只能访问一个服务。同一个应用能够先是某个服务的客户,以后又成为另一个服务的客户。对每种服务,客户可务的客户,以后又成为另一个服务的客户。对每种服务,客户可与不同的服务器(可能在不同的计算机上)进行通信。与不同的服务器(可能在不同的计算机上)进行通信。 客户应用访问某一服务时并不限于一个服务器。在有些服务中,在客户应用访问某一服务时并不限于一个服务器。在有些服务中,在不同计算机上运行的服务器会提供不同的信息。在另一些服务中,不同计算机上运行的服务器会提供不同的信息。在另一些服务中,所有服务器提供相同的信息。在这些情况下,客户可能通过向多所有服务器提供相同的信息。在这些情况下,客户可能通过向多个

14、服务器发出请求来提高性能个服务器发出请求来提高性能它使用最先应答的服务器所发送它使用最先应答的服务器所发送的信息。的信息。 服务器进行其他客户服务器交互不受限制服务器进行其他客户服务器交互不受限制提供某种服务的服务提供某种服务的服务器能成为另一个服务的客户。器能成为另一个服务的客户。域名服务(域名服务(1)产生原因产生原因32比特的比特的IP地址难于记忆,应该使用符号地址,比如用地址难于记忆,应该使用符号地址,比如用表示表示202.38.64.2。但是,网络本身是使用。但是,网络本身是使用IP地址地址的,因此需要一个完成二者之间相互转换的机制。的,因此需要一个完成二者之间相互转换的机制。当网络

15、规模比较小时,例如当网络规模比较小时,例如ARPANET,每台主机只需查找一个每台主机只需查找一个文件(文件(UNIX的的host),),该文件中列出了主机与该文件中列出了主机与IP地址的对应关系。地址的对应关系。当网络规模很大时,上述方法就不适用了,因此产生了域名系统当网络规模很大时,上述方法就不适用了,因此产生了域名系统DNS(Domain Name System)。)。DNS概述概述域名系统是一个典型的客户域名系统是一个典型的客户/服务器交互系统;服务器交互系统;域名系统是一个多层次的、基于域的命名系统,并使用分布式数域名系统是一个多层次的、基于域的命名系统,并使用分布式数据库实现这种命

16、名机制;据库实现这种命名机制;当应用程序需要进行域名解析时(从符号名到当应用程序需要进行域名解析时(从符号名到IP地址),它成地址),它成为域名系统的一个客户。它向本地域名服务器发出请求(调用为域名系统的一个客户。它向本地域名服务器发出请求(调用resolver),),请求以请求以UDP包格式发出,域名服务器找到对应的包格式发出,域名服务器找到对应的IP地址后,给出响应。当本地域名服务器无法完成域名解析,它地址后,给出响应。当本地域名服务器无法完成域名解析,它临时变成其上级域名服务器的客户,递归解析,直到该域名解临时变成其上级域名服务器的客户,递归解析,直到该域名解析完成。析完成。RFC 10

17、34,1035域名的结构域名的结构INTERNET的顶级域名分为的顶级域名分为组织结构组织结构和和地理结构地理结构两种。每个域两种。每个域对它下面的子域和机器进行管理。对它下面的子域和机器进行管理。DNS中,中,每台计算机的名字是由每台计算机的名字是由“.”所分开的字符数字串所组所分开的字符数字串所组成的。例如成的。例如.域名是大小写无关的,域名是大小写无关的,“edu”和和“EDU”相同。域名最长相同。域名最长255个个字符,每部分最长字符,每部分最长63个字符。个字符。域名服务(域名服务(2)域名服务(域名服务(3)资源记录资源记录在在DNS的数据库中用的数据库中用资源记录资源记录来表示主

18、机和子来表示主机和子域的信息,当应用程序进行域名解析时,得到域的信息,当应用程序进行域名解析时,得到的便是域名所对应的资源记录。的便是域名所对应的资源记录。资源记录是一个五元式资源记录是一个五元式Domain_name Time_to_live Type Class Value域名服务(域名服务(4)域名服务器域名服务器区域划分区域划分DNS将域名空间划分为许多无重叠的区域将域名空间划分为许多无重叠的区域(zone) ,每个区域覆盖了域名空间的一部分并设有域名服每个区域覆盖了域名空间的一部分并设有域名服务器对这个区域的域名进行管理。务器对这个区域的域名进行管理。每个区域有一个主域名服务器和若干

19、个二级域名服每个区域有一个主域名服务器和若干个二级域名服务器,区域的边界划分是人工设置的,比如:务器,区域的边界划分是人工设置的,比如: 可以是三个不同可以是三个不同的区域,可以分别有各自的域名服务器。的区域,可以分别有各自的域名服务器。域名服务(域名服务(5)域名解析域名解析一个区域内机器上的应用程序进行域名解析时,一个区域内机器上的应用程序进行域名解析时,首先向该区域的域名服务器发出解析请求,若查首先向该区域的域名服务器发出解析请求,若查找到,则返回域名对应的资源记录。找到,则返回域名对应的资源记录。若找不到,该域名服务器向所查找域名的顶级域若找不到,该域名服务器向所查找域名的顶级域的域

20、名服务器发出解析请求,的域名服务器发出解析请求,顶级域的域名服务器通过向下的层次查询得到对顶级域的域名服务器通过向下的层次查询得到对应的资源记录,返回给该域名服务器,应的资源记录,返回给该域名服务器,最后资源记录被返回给发起域名解析的机器,并最后资源记录被返回给发起域名解析的机器,并在该区域的域名服务器中做缓存,超时后删除。在该区域的域名服务器中做缓存,超时后删除。Simple DNS examplehost surf.eurecom.fr wants IP address of gaia.cs.umass.edu1. Contacts its local DNS server, dns.eu

21、recom.fr2. dns.eurecom.fr contacts root name server, if necessary3. root name server contacts authoritative name server, dns.umass.edu, if necessary requesting hostsurf.eurecom.frgaia.cs.umass.eduroot name serverauthorititive name serverdns.umass.edulocal name serverdns.eurecom.fr123456DNS exampleRo

22、ot name server:may not know authoratiative name servermay know intermediate name server: who to contact to find authoritative name serverrequesting hostsurf.eurecom.frgaia.cs.umass.eduroot name serverlocal name serverdns.eurecom.fr123456authoritative name serverdns.cs.umass.eduintermediate name serv

23、erdns.umass.edu78DNS: iterated queriesrecursive 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 this server”requesting hostsurf.eurecom.frgaia.cs.umass.eduroot name serverloc

24、al name serverdns.eurecom.fr123456authoritative name serverdns.cs.umass.eduintermediate name serverdns.umass.edu78iterated query简单网络管理协议简单网络管理协议SNMP(1)SNMP(Simple Network Management Protocol)的产生的产生早期网络,如早期网络,如ARPANET,规模很小,可以通过执行规模很小,可以通过执行“PING”命令来发命令来发现网络故障;现网络故障;网络规模变大,需要一个好的工具来管理网络。网络规模变大,需要一个好的工

25、具来管理网络。1990年发布年发布RFC 1157,定义了定义了SNMP v1;SNMP v2,RFC 1441 1452。网络管理的五个基本管理功能:性能管理、故障管理、配置管理、记网络管理的五个基本管理功能:性能管理、故障管理、配置管理、记帐管理和安全管理。帐管理和安全管理。SNMP是基于是基于UDP的的SNMP模型模型SNMP网络管理模型由四种部件组成:网络管理模型由四种部件组成:被管理节点被管理节点运行运行SNMP代理程序(代理程序(SNMP agent),),维护一个本地数据库,描述节点维护一个本地数据库,描述节点的状态和历史,并影响节点的运行。的状态和历史,并影响节点的运行。简单网

26、络管理协议简单网络管理协议SNMP(2)管理工作站管理工作站运行专门的网络管理软件(运行专门的网络管理软件(manager),),使用管理协议与被管使用管理协议与被管理节点上的理节点上的SNMP代理通信,维护管理信息库。代理通信,维护管理信息库。管理信息管理信息每个站点使用一个或多个变量描述自己的状态,每个站点使用一个或多个变量描述自己的状态,这些变量称为这些变量称为“对象对象(objects)”,所有的对象组成管理信息库所有的对象组成管理信息库MIB(Management Information Base)。)。管理协议(管理协议(SNMP)管理协议用于管理工作站查询和修改被管理节点的状态,

27、管理协议用于管理工作站查询和修改被管理节点的状态,被管被管理理节节点可以使用管理协议向管理站点产生点可以使用管理协议向管理站点产生“陷阱陷阱(trap)”报报告。告。简单网络管理协议简单网络管理协议SNMP(3)l抽象语法表示法抽象语法表示法1(ASN.1)定义:定义:抽象语法表示法抽象语法表示法1是一种标准的对象定义语言,它分为是一种标准的对象定义语言,它分为数据描述定义数据描述定义(ISO 8824)和和传输语法定义传输语法定义(ISO 8825)两两部分。部分。ASN.1可以作为可以作为异种异种计算机设备之间计算机设备之间“对象对象”的描述和的描述和传输机制。传输机制。ASN.1的基本数

28、据类型的基本数据类型网络安全(网络安全(1)安全网络和安全策略安全网络和安全策略没有绝对意义上的安全网络(没有绝对意义上的安全网络( secure network)存在存在任何安全系统的第一步就是制定一个合理的安全策略任何安全系统的第一步就是制定一个合理的安全策略(security policy)。)。制定网络安全策略是一件很复杂的事情,其主要复杂性在制定网络安全策略是一件很复杂的事情,其主要复杂性在于网络安全策略必须能够覆盖数据在计算机网络系统中存于网络安全策略必须能够覆盖数据在计算机网络系统中存储、传输和处理等各个环节,否则安全策略就不会有效。储、传输和处理等各个环节,否则安全策略就不会有

29、效。制定网络安全策略的复杂性还体现在对网络系统信息价值制定网络安全策略的复杂性还体现在对网络系统信息价值的评定。很容易理解,任何组织只有正确认识了其数据信的评定。很容易理解,任何组织只有正确认识了其数据信息的价值,才能制定一个合理的安全策略。息的价值,才能制定一个合理的安全策略。网络安全(网络安全(2)安全性指标安全性指标制定安全策略时,往往必须在安全性和实用性之间采取一个折衷的制定安全策略时,往往必须在安全性和实用性之间采取一个折衷的方案,着重保证一些主要的安全性指标,如方案,着重保证一些主要的安全性指标,如数据完整性数据完整性(data integrity),),即数据在传输过程中的完整性

30、,即数据在传输过程中的完整性,也就是数据在发送前和到达后是否完全一样。也就是数据在发送前和到达后是否完全一样。数据可用性数据可用性(data availability),),即在系统故障的情况下数据即在系统故障的情况下数据是否会丢失。是否会丢失。数据保密性数据保密性(data confidentiality and privacy),),即数据是否会即数据是否会被非法窃取。被非法窃取。数据的不可否认性数据的不可否认性,对数据和信息的来源进行验证,以确保数,对数据和信息的来源进行验证,以确保数据由合法的用户发出;防止数据发送方在发出数据后又加以否据由合法的用户发出;防止数据发送方在发出数据后又加

31、以否认;同时防止接收方在收到数据后又否认曾收到过此数据及篡认;同时防止接收方在收到数据后又否认曾收到过此数据及篡改数据。改数据。网络安全(网络安全(3)安全责任和控制安全责任和控制如何正确分配系统的管理权限往往是安全策略成败的关键。如何正确分配系统的管理权限往往是安全策略成败的关键。这个问题通常可以从两方面来考虑:这个问题通常可以从两方面来考虑:帐户帐户(a c c o u n t a b i l i t y)。)。考虑如何规定系统各用户考虑如何规定系统各用户对系统各项信息的访问权限,如何监督用户活动、记录用对系统各项信息的访问权限,如何监督用户活动、记录用户活动情况等。户活动情况等。授权授权

32、(a u t h o r i z a t i o n)。)。对系统内每条信息,考虑对系统内每条信息,考虑如何规定各用户对它的操作权限,如只读、读写以及用户如何规定各用户对它的操作权限,如只读、读写以及用户之间的权限转让等。之间的权限转让等。不管是帐户管理还是授权管理,关键问题是安全责任控制不管是帐户管理还是授权管理,关键问题是安全责任控制一个组织必须像管理有形资产如办公楼、机器设备一样对信一个组织必须像管理有形资产如办公楼、机器设备一样对信息进行管理。息进行管理。网络安全(网络安全(4)完整性机制完整性机制校验和以及校验和以及C R C技术都不能绝对保证数据的完整性,有两个技术都不能绝对保证数

33、据的完整性,有两个原因:原因:如果出现检验值和消息数据同时破坏,且改变后的检验值如果出现检验值和消息数据同时破坏,且改变后的检验值和消息又正巧匹配的情况,系统就无法发现错误(这种情和消息又正巧匹配的情况,系统就无法发现错误(这种情况概率很低,但决不为零);况概率很低,但决不为零);上述技术缺陷,可能为人恶意利用。上述技术缺陷,可能为人恶意利用。现已采用几种机制能够确保受到恶意攻击的消息的完整性。现已采用几种机制能够确保受到恶意攻击的消息的完整性。一般采用的方法是使用攻击者不能攻击或伪造的一般采用的方法是使用攻击者不能攻击或伪造的信息验证码信息验证码(message authentication

34、 code,MAC)技术对传输数据进行技术对传输数据进行编码编码。网络安全(网络安全(5)加密与保密:加密与保密:为了保证有在线窃听的情况下的保密性,必须对数据为了保证有在线窃听的情况下的保密性,必须对数据加密。加密的基本思想是改变信息的排列方式,使得加密。加密的基本思想是改变信息的排列方式,使得只有合法的接收方才能读懂。任何他人即使截取了该只有合法的接收方才能读懂。任何他人即使截取了该加密信息也无法解开。加密信息也无法解开。目前存在几种加密技术目前存在几种加密技术对称加密,双方具有共享的密钥对称加密,双方具有共享的密钥非对称加密,也称为公开密钥加密非对称加密,也称为公开密钥加密网络安全(网络

35、安全(6)对称加密对称加密:消息发送方和消息接收方必须使用相同的密钥,该密消息发送方和消息接收方必须使用相同的密钥,该密钥必须保密。发送方用该密钥对待发消息进行加密,然后将消息钥必须保密。发送方用该密钥对待发消息进行加密,然后将消息传输至接收方,接收方再用相同的密钥对收到的消息进行解密。传输至接收方,接收方再用相同的密钥对收到的消息进行解密。这一过程表示成数学形式如下:消息发送方使用的加密函数这一过程表示成数学形式如下:消息发送方使用的加密函数e n c r y p t有两个参数:密钥有两个参数:密钥K和待加密消息和待加密消息M,加密后的消息为加密后的消息为E。E = encrypt(K, M

36、 )消息接收方使用的解密函数消息接收方使用的解密函数decrypt把这一过程逆过来,就产生了把这一过程逆过来,就产生了原来的消息:原来的消息:M = decrypt(K, E )数学上,数学上,decrypt和和encrypt互为逆函数,有:互为逆函数,有:M = decrypt(K, encrypt(K, M )网络安全(网络安全(7)非对称加密非对称加密:给每个用户分配两把密钥:一个称私有密钥,是:给每个用户分配两把密钥:一个称私有密钥,是保密的;一个称公共密钥,是众所周知的。保密的;一个称公共密钥,是众所周知的。该方法的加密函数必须具备如下数学特性:用公共密钥加密该方法的加密函数必须具备

37、如下数学特性:用公共密钥加密的消息除了使用相应的私有密钥外很难解密;同样,用私有的消息除了使用相应的私有密钥外很难解密;同样,用私有密钥加密的消息除了使用相应的公共密钥外很难解密。密钥加密的消息除了使用相应的公共密钥外很难解密。这种用两把密钥加密和解密的方法表示成数学形式如下:假这种用两把密钥加密和解密的方法表示成数学形式如下:假设设M表示一条消息,表示一条消息, p u b - u l表示用户表示用户1的公共密钥,的公共密钥,p r v - u l表示用户表示用户1的私有密钥,那么有的私有密钥,那么有M = decrypt(pub-ul, encrypt(prv-ul , M)M = dec

38、rypt(prv-ul, encrypt(pub-ul, M)l这种方法是安全的,因为加密和解密的函数具有单向性质。这种方法是安全的,因为加密和解密的函数具有单向性质。也就是说,仅知道了公共密钥并不能伪造由相应私有密钥加密也就是说,仅知道了公共密钥并不能伪造由相应私有密钥加密过的消息。过的消息。l可以证明,公共密钥加密法能够保证保密性。只要消息发送可以证明,公共密钥加密法能够保证保密性。只要消息发送方使用消息接收方的公共密钥来加密待发消息,就只有消息接方使用消息接收方的公共密钥来加密待发消息,就只有消息接收方能够读懂该消息。因为要解密必须要知道接收方的私有密收方能够读懂该消息。因为要解密必须要

39、知道接收方的私有密钥。钥。网络安全(网络安全(8)网络安全(网络安全(9) 数字签名数字签名数字签名是通过一个单向函数对要传送的报文进行处理得到数字签名是通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数的用以认证报文来源并核实报文是否发生变化的一个字母数字串。字串。在电子商务中,传送的文件是通过数字签名证明当事人身份在电子商务中,传送的文件是通过数字签名证明当事人身份与数据真实性的。数据加密是保护数据的最基本方法,但也与数据真实性的。数据加密是保护数据的最基本方法,但也只能防止第三者获得真实数据。数字签名则可以解决否认、只能防止第三者获得真实数据。

40、数字签名则可以解决否认、伪造、篡改及冒充等问题。伪造、篡改及冒充等问题。要求:发送者事后不能否认发送的报文签名、接收者能够核要求:发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户不能冒充另一用户作为发送者或接收者。一用户不能冒充另一用户作为发送者或接收者。数字签名的实现(数字签名的实现(1 1)目前的数字签名是建立在公共密钥体制基础上,它是公用密钥加密目前的数字签名是建立在公共密钥体制

41、基础上,它是公用密钥加密技术的另一类应用。它的主要方式是:技术的另一类应用。它的主要方式是:报文的发送方从报文文本中生成一个报文的发送方从报文文本中生成一个128位的散列值(或报文摘要)。位的散列值(或报文摘要)。发送方用自己的私人密钥对这个散列值进行加密来形成发送方的数发送方用自己的私人密钥对这个散列值进行加密来形成发送方的数字签名。这个数字签名将作为报文的附件和报文一起发送给报文的字签名。这个数字签名将作为报文的附件和报文一起发送给报文的接收方。接收方。报文的接收方首先从接收到的原始报文中计算出报文的接收方首先从接收到的原始报文中计算出128位的散列值位的散列值(或报文摘要),再用发送方的

42、公用密钥来对报文附加的数字签名(或报文摘要),再用发送方的公用密钥来对报文附加的数字签名进行解密。进行解密。如果两个散列值相同、那么接收方就能确认该数字签名是发送方的。如果两个散列值相同、那么接收方就能确认该数字签名是发送方的。通过数字签名能够实现对原始报文的鉴别。通过数字签名能够实现对原始报文的鉴别。数字签名的实现(数字签名的实现(2 2)加入数字签名和验证的文件传输过程如下:加入数字签名和验证的文件传输过程如下: 发送方首先用哈希函数从原文得到数字签名,然后采用发送方首先用哈希函数从原文得到数字签名,然后采用公开密钥体系用发送方的私有密钥对数字签名进行加密,公开密钥体系用发送方的私有密钥对

43、数字签名进行加密,并把加密后的数字签名附加在要发送的原文后面;并把加密后的数字签名附加在要发送的原文后面; 发送一方选择一个秘密密钥对文件进行加密发送一方选择一个秘密密钥对文件进行加密,并把加密后并把加密后的文件通过网络传输到接收方;的文件通过网络传输到接收方; 发送方用接收方的公开密钥对密秘密钥进行加密发送方用接收方的公开密钥对密秘密钥进行加密,并通过并通过网络把加密后的秘密密钥传输到接收方;网络把加密后的秘密密钥传输到接收方; 数字签名的实现(数字签名的实现(4 4)接受方使用自己的私有密钥对密钥信息进行解密,得到秘接受方使用自己的私有密钥对密钥信息进行解密,得到秘密密钥的明文;密密钥的明

44、文; 接收方用秘密密钥对文件进行解密,得到经过加密的数字接收方用秘密密钥对文件进行解密,得到经过加密的数字签名;签名; 接收方用发送方的公开密钥对数字签名进行解密,得到数接收方用发送方的公开密钥对数字签名进行解密,得到数字签名的明文;字签名的明文; 接收方用得到的明文和哈希函数重新计算数字签名,并与接收方用得到的明文和哈希函数重新计算数字签名,并与解密后的数字签名进行对比。如果两个数字签名是相同的,解密后的数字签名进行对比。如果两个数字签名是相同的,说明文件在传输过程中没有被破坏。说明文件在传输过程中没有被破坏。电子邮件(电子邮件(1)相关协议标准相关协议标准1982年年ARPANET提出了提

45、出了RFC821(传输协议)传输协议)RFC822(消息格式)作为电子邮件协议;消息格式)作为电子邮件协议;1984年年CCITT提出了提出了X.400建议,建议,但是没有得到普及。但是没有得到普及。体系结构体系结构用户代理:允许用户阅读和发送用户代理:允许用户阅读和发送电子邮件,一般为用户进程;电子邮件,一般为用户进程;消息传输代理:将消息从源端发消息传输代理:将消息从源端发送至目的端,一般为系统的后台送至目的端,一般为系统的后台进程;进程;简单邮件传输协议简单邮件传输协议SMTP(Simple Mail Transfer Protocol)mailserveruseragentuserag

46、entuseragentmailserveruseragentuseragentmailserveruseragentSMTPSMTPSMTPuser mailboxoutgoing message queue电子邮件(电子邮件(2)电子邮件系统提供的五大基本功能电子邮件系统提供的五大基本功能成文:指创建消息或回答消息的过程;成文:指创建消息或回答消息的过程;传输:指将消息从发送者传出至接收者;传输:指将消息从发送者传出至接收者;报告:将消息的发送情况报告给消息发送者;报告:将消息的发送情况报告给消息发送者;显示:使用相应的工具软件将收到的消息显示给接收者显示:使用相应的工具软件将收到的消息显

47、示给接收者处理:接收者对接收到的消息进行处理,存储处理:接收者对接收到的消息进行处理,存储/丢弃丢弃/转发等等。转发等等。其它高级功能其它高级功能自动转发、自动回复;自动转发、自动回复;mailbox,创建邮箱存储邮件;创建邮箱存储邮件;mailing list;抄送(抄送(cc)、)、高优先级、加密。高优先级、加密。电子邮件(电子邮件(3)电子邮件的组成电子邮件的组成信封:接收方的信息,如名字、地址、邮件的优先级和安全级信封:接收方的信息,如名字、地址、邮件的优先级和安全级别;别;信件内容:由信头和信体组成,信头包含了用户代理所需的控信件内容:由信头和信体组成,信头包含了用户代理所需的控制信

48、息,信体是真正的内容。制信息,信体是真正的内容。用户代理用户代理发送电子邮件发送电子邮件email地址,例如,地址,例如,mailing list,例如,例如,X.400地址,例如,地址,例如,/C=US/SP=MASSACHUSETTS/ L=CAMBRIDGE/PA=360 MEMORIAL DR./CN=KEN SMITH/电子邮件(电子邮件(4)阅读电子邮件阅读电子邮件用户代理在启动时检查用户的用户代理在启动时检查用户的mailbox,通知用户是否有新邮件到通知用户是否有新邮件到来。并摘要性的显示邮件的主题、发送者及其邮件的状态。来。并摘要性的显示邮件的主题、发送者及其邮件的状态。信件

49、格式信件格式RFC822信件包括信封、若干信头域、一个空行和信体。信件包括信封、若干信头域、一个空行和信体。电子邮件的扩展电子邮件的扩展MIME(Multipurpose Internet Mail Extensions),),增加了对图像、增加了对图像、声音、视频、可执行文件等的支持。使用不同的编码方法将信息转声音、视频、可执行文件等的支持。使用不同的编码方法将信息转化为化为ASCII字符流字符流电子邮件(电子邮件(5)消息传送协议消息传送协议INTERNET使用简单邮件传输协议使用简单邮件传输协议SMTP完成电子邮件的交换。完成电子邮件的交换。过程如下过程如下消息传输代理在源端主机和目的主

50、机的消息传输代理在源端主机和目的主机的25号端口之间建立一条号端口之间建立一条TCP连接,使用简单邮件传输协议连接,使用简单邮件传输协议SMTP协议进行通信;协议进行通信;在在TCP连接建立好之后,作为客户的邮件发送方等待作为服务器的连接建立好之后,作为客户的邮件发送方等待作为服务器的邮件接收方首先传输信息;邮件接收方首先传输信息;服务器首先发出准备接受的服务器首先发出准备接受的SMTP消息,客户向服务器发出消息,客户向服务器发出HELO消息,服务器回答以消息,服务器回答以HELO消息,双方进入邮件传输状态;消息,双方进入邮件传输状态;useragentuseragentSMTPPOP3 or

51、IMAP电子邮件(电子邮件(6)邮件传输过程:客户首先发出邮件的发信人地址(邮件传输过程:客户首先发出邮件的发信人地址(MAIL FROM),),然后发出收信人的地址(然后发出收信人的地址(RCPT TO),),服务器服务器确认收信人存在后,发出可以继续发送的指示,客户发送真确认收信人存在后,发出可以继续发送的指示,客户发送真正的消息(正的消息(DATA),),以以.作为结束;作为结束;当客户方邮件发送完之后,服务器开始发送邮件至客户,过当客户方邮件发送完之后,服务器开始发送邮件至客户,过程同上;程同上;两个方向的发送完成之后,释放两个方向的发送完成之后,释放TCP连接(连接(QUIT)。)。

52、注意注意消息以消息以7-比特比特ASCII码为单位码为单位某些特殊字符串(如某些特殊字符串(如CRLF.CRLF)不允许在消息中出现,不允许在消息中出现,需要编码(例如,需要编码(例如,base64)电子邮件(电子邮件(7)其它协议其它协议POP3(Post Office Protocol),),RFC 1939,用户代理和邮箱不在用户代理和邮箱不在同一机器上,用户代理使用此协议将邮箱中的信件取回本地;同一机器上,用户代理使用此协议将邮箱中的信件取回本地;IMAP(Internet Mail Access Protocol),),RFC 1730,收信人使用收信人使用多个用户代理访问同一邮箱,

53、邮件始终保持在邮箱中。多个用户代理访问同一邮箱,邮件始终保持在邮箱中。加密电子邮件协议:加密电子邮件协议:PGP与与PEM协议。协议。try smtp interaction for yourselftelnet servername 25see 220 reply from serverenter HELO, MAIL FROM, RCPT TO, DATA, QUIT commands above lets you send email without using email client (reader)电子邮件(电子邮件(8)Sample smtp interaction S: 220

54、 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: S: 250 alicecrepes.fr. Sender ok C: RCPT TO: S: 250 bobhamburger.edu . Recipient ok C: DATA S: 354 Enter mail, end with . on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message a

55、ccepted for delivery C: QUIT S: 221 hamburger.edu closing connection X.400 MHS Function Model UA - User Agent MTA - Message Transfer Agent MS - Message Store AU - Access Unit PDAU - Physical Delivery Access UnitWWW (1)WWW(World Wide Web)是用于访问遍布于是用于访问遍布于INTERNET上的相互链接在一起的超文本的一种结构框上的相互链接在一起的超文本的一种结构框架

56、。架。历史历史1989年,设计年,设计WWW的思想产生于欧洲核研究中心的思想产生于欧洲核研究中心CERN;1991年,第一个原型年,第一个原型在美国的在美国的Hypertext 91会议上展示;会议上展示;1993年,第一个图形化浏览器,年,第一个图形化浏览器,Mosaic;1994年,年,Andreessen创建创建NETSCAPE公司,开发公司,开发WEB的客户和的客户和服务器软件;服务器软件;同年,同年,CERN和和MIT共同创建共同创建WWW论坛,制定相关的协议标准,论坛,制定相关的协议标准,http:/www.w3.org。WWW (2)l术语术语Web page:lconsists

57、 of “objects”laddressed by a URLMost Web pages consist of:lbase HTML page, andlseveral referenced objects.User agent for Web is called a browser:lMS Internet ExplorerlNetscape NavigatorServer for Web is called Web server:PC runningExplorerServer runningNCSA WebserverMac runningNavigatorhttp requesth

58、ttp requesthttp responsehttp responseWWW (3)用户眼中的用户眼中的WEBWEB是由互相链接在一起的网页构成的,这些网页是由普通文是由互相链接在一起的网页构成的,这些网页是由普通文本、超文本本、超文本Hypertext,以及图表、照片等构成;以及图表、照片等构成;用户通过称为浏览器的软件来观看网页,浏览器取回所请求的用户通过称为浏览器的软件来观看网页,浏览器取回所请求的网页,解释其中所含的文本和格式命令,并正确的显示出来;网页,解释其中所含的文本和格式命令,并正确的显示出来;网页中的文本串若指向其它的网页(此指针称为超级链接网页中的文本串若指向其它的网页

59、(此指针称为超级链接Hyperlink,此文本串称为超文本),会被特别地显示出来(加此文本串称为超文本),会被特别地显示出来(加下划线),用户若选择此超级链接,浏览器会将此超级链接所下划线),用户若选择此超级链接,浏览器会将此超级链接所指的网页取回;指的网页取回;当超文本网页中包含声音、动画等其它媒体时,网页被称为是当超文本网页中包含声音、动画等其它媒体时,网页被称为是超媒体的。浏览器一般通过外挂的帮助程序来显示这些超媒体超媒体的。浏览器一般通过外挂的帮助程序来显示这些超媒体信息。信息。WWW (4)WEB的客户的客户/服务器模型服务器模型在每个在每个WEB服务器上有一个服务进程在服务器上有一

60、个服务进程在TCP的的80端口上监听由端口上监听由浏览器发来的建立连接请求;在连接建立之后,浏览器和服务浏览器发来的建立连接请求;在连接建立之后,浏览器和服务器之间使用超文本传输协议器之间使用超文本传输协议HTTP协议进行信息传输;协议进行信息传输;超级链接是使用超级链接是使用URL(统一资源定位符)来找到目标网页的。统一资源定位符)来找到目标网页的。URL由三部分组成:由三部分组成:协议类型(协议类型(HTTP、FTP、TELNET等);等);网页所在机器的地址(域名或网页所在机器的地址(域名或IP地址);地址);包含网页的文件名称。包含网页的文件名称。浏览器确定浏览器确定URL,通过通过D

61、NS解析解析IP地址,建立地址,建立TCP连接,向服连接,向服务器发出务器发出HTTP的的GET请求取回网页,释放连接,并显示网页中请求取回网页,释放连接,并显示网页中所有的文本。然后,浏览器逐一取回网页中的图象。所有的文本。然后,浏览器逐一取回网页中的图象。WWW (5)超文本传输协议超文本传输协议HTTPHTTP协议由一套从浏览器发往服务器的请求和一套从服务器发协议由一套从浏览器发往服务器的请求和一套从服务器发往浏览器的响应组成。往浏览器的响应组成。请求分为两类请求分为两类简单请求:简单请求:GET网页文件名,服务器回答以网页内容;网页文件名,服务器回答以网页内容;完全请求完全请求:GET

62、网页文件名、协议版本号,服务器回答以使用网页文件名、协议版本号,服务器回答以使用MIME格式编码的网页内容。格式编码的网页内容。http1.0: RFC 1945;http1.1: RFC 2068超文本标记语言超文本标记语言HTMLHTML使用一套标记符号来实现对文本的格式化;使用一套标记符号来实现对文本的格式化;HTML 2.0引入了对表格的支持,允许用户填充信息并将其送回引入了对表格的支持,允许用户填充信息并将其送回服务器。服务器方使用一个服务器。服务器方使用一个CGI程序进行处理。程序进行处理。Suppose user enters URL www.someSchool.edu/som

63、eDepartment/home.index1a. http client initiates TCP connection to http server (process) at www.someSchool.edu. Port 80 is default for http server.2. http client sends http request message (containing URL) into TCP connection socket1b. http server at host www.someSchool.edu waiting for TCP connection

64、 at port 80. “accepts” connection, notifying client3. http server receives request message, forms response message containing requested object (someDepartment/home.index), sends message into sockettime(contains text, references to 10 jpeg images)http example5. http client receives response message c

65、ontaining html file, displays html. Parsing html file, finds 10 referenced jpeg objects6. Steps 1-5 repeated for each of 10 jpeg objects4. http server closes TCP connection. timehttp example (cont.)Non-persistentHTTP/1.0server parses request, responds, and closes TCP connection2 RTTs to fetch each o

66、bjectEach object transfer suffers from slow startPersistentdefault for HTTP/1.1on same TCP connection: server, parses request, responds, parses new request,.Client sends requests for all referenced objects as soon as it receives base HTML.Fewer RTTs and less slow start.But most 1.0 browsers useparal

67、lel TCP connections.Non-persistent and persistent connectionsWWW (6)JAVA产生的原因产生的原因HTML只能处理包含文本、表格和图象的静态页面,以及浏览只能处理包含文本、表格和图象的静态页面,以及浏览器和服务器之间使用器和服务器之间使用CGI的有限交互。利用的有限交互。利用JAVA设计交互式的设计交互式的主页。主页。工作过程工作过程网页可以指向一个网页可以指向一个JAVA的的applet(小应用程序),当浏览器请小应用程序),当浏览器请求时,求时,applet会被下载至浏览器,并被浏览器中所包含的会被下载至浏览器,并被浏览器中

68、所包含的JAVA解释器执行。解释器执行。JAVA系统包含三个部分系统包含三个部分JAVA到字节代码的编译器到字节代码的编译器支持支持applet的浏览器的浏览器字节代码的解释器字节代码的解释器user sets browser: Web accesses via web cacheclient sends all http requests to web cache-if object at web cache, web cache immediately returns object in http response -else requests object from origin ser

69、ver, then returns http response to clientGoal: satisfy client request without involving origin serverclientProxyserverclienthttp requesthttp requesthttp responsehttp responsehttp requesthttp responsehttp requesthttp responseorigin serverorigin serverWeb Caches (proxy server)Assume: cache is “close”

70、to client (e.g., in same network)smaller response time: cache “closer” to clientdecrease traffic to distant servers-link out of institutional/local ISP network often bottleneck originserverspublic Internetinstitutionalnetwork10 Mbps LAN1.5 Mbps access linkinstitutionalcacheWhy Web Caching?文件传输协议文件传输

71、协议FTP(1)transfer file to/from remote hostclient/server modelclient: local side that initiates transfer (either to/from remote)server: remote hostftp: RFC 959ftp server: port 21file transferFTPserverFTPuserinterfaceFTPclientlocal filesystemremote filesystemuser at host文件传输协议文件传输协议FTP(2)ftp client con

72、tacts ftp server at port 21, specifying TCP as transport protocoltwo parallel TCP connections opened:control: exchange commands, responses between client, server.“out of band control”data: file data to/from serverftp server maintains “state”: current directory, earlier authenticationFTPclientFTPserverTCP control connectionport 21TCP data connectionport 20 数据连接可被用于任一方向的数据传输数据连接可被用于任一方向的数据传输 数据连接不需要总存在数据连接不需要总存在

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

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