您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 09第九章应用层协议
2003年5月第1页第九章应用层协议1、客户/服务器模型2、域名服务DNS3、文件传送协议4、远程登录TELNET5、电子邮件6、万维网、简单网络管理协议SNMP8、DHCP本章讨论的主要内容:2003年5月第2页应用层的特点和相关的概念应用进程:为了解决具体的应用问题而彼此通信的进程。应用层特点–规定应用进程在通信时所遵循的协议。–可扩展性。应用进程之间通信时所使用的协议有一部分是标准化的应用层协议。还有一些为了满足特定的应用需求而制定的非标准化协议。–TCP/IP体系采用了客户服务器模式使两个应用进程能够进行通信。–客户(client)和服务器(server)都是通信中所涉及的两个应用进程。当A进程需要B进程的服务时就主动呼叫B进程,在这种情况下,A是客户而B是服务器。也许在下一次通信中,B需要A的服务,此时,B就是客户而A就是服务器。因此,在主要的特征就是:客户是主叫方,服务器是被叫方。2003年5月第3页一、客户/服务器模型(1)基本概念–客户/服务器模型是所有网络应用的基础。客户/服务器分别指参与一次通信的两个应用实体,客户方主动地发起通信请求,服务器方被动地等待通信的建立。”客户软件–任何一个应用程序当需要进行远程访问时变为客户,这个应用程序也要完成一些本地的计算;–由用户直接调用,一个客户完成一次会话过程;–一般运行于用户的个人机上;–向服务器主动发起通信请求;–可以访问多个服务器,但一次只能访问一个;–不需要特殊的硬件和复杂的操作系统。2003年5月第4页一、客户/服务器模型(2)服务器软件–是专用的提供某种服务的特权程序,可以同时处理多个远程客户;–在系统启动时被执行,并连续运行以处理多次会话;–一般运行在共享的计算机系统上;–被动的等待远程客户发起通信;–需要特殊的硬件和复杂的操作系统。数据在客户和服务器之间是双向流动的,一般是客户发出请求,服务器给出响应。2003年5月第5页一、客户/服务器模型(3)服务器软件的并发性–由于服务器软件要支持多个客户的同时访问,它必须具备并发性。服务器软件为每个新到的客户创建一个进程或线程来处理和这个客户的通信。服务器方传送层实体使用客户的源端口号和服务的端口号来确定正确的服务器软件进程(线程)。服务器软件的组成–服务器软件一般分为两部分:一部分用于接受请求并创建新的进程或线程,另一部分用于处理实际的通信过程。2003年5月第6页客户/服务器之间使用的传送层协议–可以是基于连接的TCP协议,要求建立和释放连接,适用于可靠的交互过程;–也可以是无连接的UDP协议,适用于可靠性要求不高的或实时的交互过程;–同时使用TCP和UDP的服务,有两种服务器软件的实现或服务器同时和TCP和UDP协议交互,不对客户做限制。客户和服务器的交互–支持协议:在INTERNET中,客户和服务器的交互通过使用TCP/IP协议栈来完成。因此,客户和服务器所在的机器要求支持完全的协议栈。客户/服务器通过套接字访问传送层服务。一、客户/服务器模型(4)2003年5月第7页–多种服务:一台计算机上可以运行多个服务器软件,但是要求计算机有强大的硬件资源(服务器级别的计算机)和多任务操作系统(UNIX和WIN95)。–服务的标识:客户是通过服务的标识来访问某种服务的,比如在INTERNET中,服务是用套接字地址来标识,UNIX在/etc/services文件中定义。服务器软件启动时将其标识通知传送层实体。一、客户/服务器模型(5)2003年5月第8页二、域名服务(1)产生原因–32比特的IP地址难于记忆,应该使用符号地址,比如用netlab.cs.tsinghua.edu.cn表示166.111.69.241。但是,网络本身是使用IP地址的,因此需要一个完成二者之间相互转换的机制。–当网络规模比较小时,例如ARPANET,每台主机只需查找一个文件,该文件中列出了主机与IP地址的对应关系。–当网络规模很大时,上述方法就不适用了,因此产生了域名系统DNS(DomainNameSystem)。DNS概述–域名系统是一个典型的客户/服务器交互系统;–域名系统是一个多层次的、基于域的命名系统,并使用分布式数据库实现这种命名机制;2003年5月第9页二、域名服务(2)–当应用程序需要进行域名解析时(从符号名到IP地址),它称为域名系统的一个客户。它向本地域名服务器发出请求(调用resolver),请求以UDP包格式发出,域名服务器找到对应的IP地址后,给出响应。当本地域名服务器无法完成域名解析,它临时变成其上级域名服务器的客户,递归解析,直到该域名解析完成。–RFC1034,1035域名的结构–INTERNET的顶级域名(见图)。分为组织结构和地理结构两种。每个域对它下面的子域和机器进行管理。DNS中,每台计算机的名字是由“.”所分开的字符数字串所组成的。例如–域名是大小写无关的,“edu”和“EDU”相同。域名最长255个字符,每部分最长63个字符。域名的结构2003年5月第11页二、域名服务(3)资源记录–在DNS的数据库中用资源记录来表示主机和子域的信息,当应用程序进行域名解析时,得到的便是域名所对应的资源记录。域名服务器–区域划分DNS将域名空间划分为许多无重叠的区域(zone),每个区域覆盖了域名空间的一部分并设有域名服务器对这个区域的域名进行管理。每个区域有一个主域名服务器和若干个备份域名服务器,区域的边界划分是人工设置的,比如:edu.cncuit.edu.cnxsc.cuit.edu.cn是三个不同的区域,分别有各自的域名服务器。因特网的名字空间是按照机构的隶属关系来划分的,与物理网络无关,与IP地址中的“子网”也无关。2003年5月第12页二、域名服务(4)域名解析一个区域内的机器上的应用程序进行域名解析时,首先向该区域的域名服务器发出解析请求,若查找到,则返回域名对应的资源记录。若找不到,该域名服务器向所查找域名的顶级域的域名服务器发出解析请求,顶级域的域名服务器通过向下的层次查询得到对应的资源记录,返回给该域名服务器,最后资源记录被返回给发起域名解析的机器,并在该区域的域名服务器中做缓存。递归查询和递归与迭代结合查询(P221)2003年5月第13页二、域名服务(5)最早的顶级域名新增的通用顶级域名表2003年5月第14页三、文件传送协议三个主要的协议•文件传送协议FTP(FileTransferProtocol)•简单文件传送协议TFTP(TrivialFileTransferProtocol)•网络文件系统NFS(NetworkFileSystem)2003年5月第15页文件传送协议(FTP)文件传送协议FTP是Internet上使用得最广泛的文件传送协议。FTP的主要目的是:文件从一个主机传送到另一个主机,而其他的应用像网络文件系统(NetworkFileSystem,NFS)是用来存取远程文件中的数据的。FTP尽管有很多严格的规定。但它支持许多不同的文件类型和文件组织形式。终端用户调用一个前端应用连到远程系统,在FTP命令的提示下,就可以进行不同的操作。2003年5月第16页FTP所提供的服务2003年5月第17页FTP的工作原理FTP跟一般的应用有点不同。它在远程和本地机器之间使用了两个TCP连接。•一个连接用来传送命令和控制信息,这个连接在用户运行FTP命令时就被建立,使用服务器上的保留端口21。•一个连接用来处理文件传送时的数据流,第二个连接被建立,在服务器上,端口20总是用于数据传送。•P2222003年5月第18页简单文件传送协议TFTP(1)TFTP的原理–TFTP的工作很像停止等待协议。发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。发完数据后在规定时间内收不到确认就要重发数据PDU。发送确认的一方若在规定时间内收不到下一个文件块,也要重发确认PDU。这样就可保证文件的传送不致因某一个数据报的丢失而告失败。2003年5月第19页简单文件传送协议TFTP的优点是:–第一,TFTP可用于UDP环境。–第二,TFTP代码所占的内存较小。简单文件传送协议TFTP的主要特点是:–每次传送的数据PDU中有512字节的数据,但最后一次可不足512字节;–数据PDU也称为文件块,每个块按序编号,从1开始。–支持ASCII码或二进制传送。–可对文件进行读或写。–使用很简单的首部。简单文件传送协议TFTP(2)2003年5月第20页网络文件系统NFS1、网络文件系统NFS的主要特点NFS允许应用进程打开一个远地文件,并能够在该文件的某一个特定的位置上开始读写数据。2、远程过程调用RPCNFS由三个独立的部分组成。•NFS协议本身•通用的远程过程调用RPC•通用的外部数据表示XDR2003年5月第21页RPC的组成任何RPC系统都有一些主要的操作元素,包括:–客户主应用程序–协议语言(ProtocolLanguage)–协议编译器(ProtocolCompiler)–客户存根(stub)过程–服务器(存根)程序–服务器过程–数据表示标准–目录服务2003年5月第22页RPC的操作过程同其他的TCP/IP应用一样,RPC也应用了客户/服务器模型。这里的系统之间的连接是应用到应用的。尽管消息是从客户送到服务器的,但实际上是发送请求调用一个过程,RPC服务器实际上是一个“应用服务器”。2003年5月第23页外部数据表示XDR外部数据表示XDR为编程人员提供了一种在异构机器间传递数据的方式,而不再要求编程人员编写用于转换数据表示的程序。XDR通过定义一种与机器无关的表示来解决数据表示的问题。在某个计算机中的一个进程可调用XDR过程,把数据的本地表示转换为与本机器无关的表示。当数据传送到另一台机器后,接收程序就调用XDR过程把这个与机器无关的表示再转换为本结点上的本地表示。XDR的主要优点是它把许多数据转换任务自动化。2003年5月第24页四、远程登录TELNETTELNET工作原理TELNET是一个以连机方式访问网际网上资源的通用工具。它通过一个协商过程来支持不同的物理终端类型,从而提供了极大的灵活性。–用户首先登录远程主机。–然后,在本地键入TELNET命令,后面跟上指定远程主机的参数。–再将域名转换成IP地址后,本地主机就通过系统保留的端口号23同远程TELNET服务器建立了一个TCP连接,同时一个shell应用程序被创建以支持终端用户。–最后,数据可以通过网络在两个系统之间传输,在这一点上,远程应用在用户看来就象在本地一样。2003年5月第25页一个典型的TELNET会话在一个连接中,有三个主要的数据流向:–本地终端和TELNET客户软件之间的数据流–两个主机之间的TCP连接;–远程主机中,TELNET服务器到外壳应用程序之间。通过将终端映射为一个逻辑(或虚拟)设备,就可以采用一致的标准,从而使用不同的终端类型进行客户到服务器间的数据交换。2003年5月第26页网络虚拟终端(NVT)网络虚拟终端(NetworkVirtualTerminal)是一种虚拟的终端设备。本地终端数据在送到远程服务器之前,必须被映射(转换到)NVT。在服务器端,服务器再将NVT序列转化为本地格式传给应用程序。NVT被想象为一个输出设备,采用8比特字节数据,由7位数据加上一位标志位组成。当标志位为1时,表示这个字节是NVT命令,否则,表示这个字节为数据。NVT在通信时,NVT命令在两个方向上互相发送,针对不同的选项,要用到两个基本的协商模式:–Will和Willnot(通告)–Do和Donot(请求或指示)“Will”的意思是“你是否同意我…”,“Willnot”的意思是“你是否不同意我…”,“Do”的意思是“我同意你…”,“Donot”的意思是“我不同意你…”。2003年5月第27页五、电子邮件(1)相关协议标准–1982年ARPANET提出了RFC821(传输协议)RFC82
本文标题:09第九章应用层协议
链接地址:https://www.777doc.com/doc-3120970 .html