- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 应用层
9.1 应用层基本概念
按照ISO的OSI模型,应用层是最高层,而在TCP/IP模型中应用层同样也处在最高层。随着Internet技术的迅速发展,以TCP/IP模型为代表的应用层协议正在不断丰富和完善。
域名系统(Domain Name System,DNS),用于管理和提供主机或设备的名字与IP地址之间映射关系的服务。
文件传送协议(File Transfer Protocol,FTP),用于在网络中实现交互式的文件传送。
简单邮件传送协议(Simple Mail Transfer Protocol,SMTP),用于在网络中邮件的传输。
远程登录协议(Telnet),用于在网络中实现远程登录。
超文本传送协议(Hyper-text Transfer Protocol,HTTP),用于在Internet中提供WWW服务。
应用层协议可分为三类:
依赖于面向连接的TCP:这一类包括远程登录协议TELNET,电子邮件协议SMTP和文件传输协议FTP等。
依赖于无连接的UDP:这一类包括单纯文件传输协议TFTP,远程过程调用协议RPC等。
既依赖于TCP又依赖于UDP的协议:这一类有域名系统协议DNS等。
客户机/服务器模型
Internet中提供的应用层服务很多都使用了客户机/服务器模型为基础。
客户机/服务器模型是在分布式计算中,一个应用程序被动地等待,而另一个应用程序通过请求启动通信的模式。
客户机(Client)和服务器(Server)分别指两个应用程序。客户机向服务器发出服务请求,服务器做出响应。服务器应处于守候状态,并监测客户机的请求。客户机发出请求,该请求经互联网传送给服务器。一旦服务器接收到这个请求,就可以执行请求指定的任务,并将执行的结果经互联网回送给客户机。
一台主机上通常可以运行多个服务器程序,每个服务器程序需要并发地处理多个客户机的请求,并将处理的结果返回给客户机。
服务器程序通常比较复杂,对主机的硬件资源及软件资源都有一定的要求。
客户机程序由于功能相对较简单,通常不需要特殊的硬件和高级的网络操作系统。
客户机/服务器模型不但很好地解决了互联网应用程序之间的同步问题,而且其非对等相互作用(客户机请求服务,服务器提供服务)的特点很好地适应了互联网资源分配不均的客观事实。
由于一个主机可以运行多个服务器程序,必须提供一套机制让客户机程序无二义性地指明所希望的服务。这种机制要求赋予每个服务一个唯一的标识,同时要求服务器程序和客户机程序都使用这个标识。
当服务器程序开始时,首先在本地主机上注册自己提供服务所使用的标识。在客户机需要使用服务器提供的服务时,则利用服务器使用的标识指定所希望的服务。一旦运行服务器程序的主机接收到一个具有特定标识的服务请求,它就将该请求转交给注册该特定标定标识的服务器程序处理。
在TCP/IP互联网中,服务器程序通常使用TCP协议或UDP协议的端口号作为自己的特定标识。在服务器程序启动时,首先在本地主机注册自己使用的TCP或UDP端口号,这就意味着在声明该端口号已被占用的同时,通知本地主机,如果在该端口上收到信息,则需要将这些信息转交给注册该端口号的服务程序处理。在客户机程序需要访问某个服务时,可以通过与服务器程序使用的TCP端口建立连接或直接向服务器程序使用的UDP端口发送信息来实现。
服务器处理多个并发请求的方案:
重复服务器(Iterative Server)方案:服务器程序中包含一个请求队列,客户机清求到达后,首先进入队列中等待,服务器按照先进先出(First In, First Out)的原则顺序做出响应。重复服务器对系统资源要求不高,但一旦服务器需要较长时间才能完成一个请求,其他请求就需要等待很长时间才能得到响应。重复服务器一般用于处理可在预期时间内处理完的请求,针对于面向无连接的客户机/服务器模型。
并发服务器(Concurrent Server)方案:并发服务器是一个守护进程(Daemon), 在没有请求到达时,它处于等待状态。一旦客户机请求到达,服务器立即为之创建一个子进程,然后回到等待状态,由子进程响应请求。当下一个请求到达时,服务器再为之创建一个新的子进程。并发服务器称为主服务器(Master),子进程称为从服务器(Slave)。并发服务器方案具有实时性和灵活性的特点,但由于创建从服务器会增加系统开销,对主机的软硬件资源要求较高。一般用于处理不能在预期时间内处理完的请求,针对于面向连接的客户机/服务器模型。
9.2.1 域名系统DNS (Domain Name Server)
IP 地址虽然包含网络号和主机号,但难于记忆、无法通过IP地址猜测主机的用途,因此必须用更友好的、便于记忆的名字来代替数字 IP 地址。
主机名字要求全局唯一的,即能在整个I
文档评论(0)