1、第九章 应用层协议1、 客户 /服务器模型2、 域名服务 DNS 3、 文件传送协议4、 远程登录 TELNET5、 电子邮件6、 万维网 WWW7、 简单网络管理协议 SNMP8、 DHCP本章讨论的主要内容:应用层的特点和相关的概念l 应用进程: 为了解决具体的应用问题而彼此通信的进程。l 应用层特点 规定应用进程在通信时所遵循的协议。 可扩展性。应用进程之间通信时所使用的协议有一部分是标准化的应用层协议。还有一些为了满足特定的应用需求而制定的非标准化协议。 TCP/IP体系采用了 客户服务器模式 使两个应用进程能够进行通信。 客户 (client)和 服务器 (server)都是通信中所
2、涉及的两个应用进程。当 A进程需要 B进程的服务时就主动呼叫 B进程,在这种情况下, A是客户而 B是服务器。也许在下一次通信中, B需要 A的服务,此时, B就是客户而 A就是服务器。因此,在 主要的特征就是 :客户是主叫方,服务器是被叫方。一、 客户 /服务器模型( 1)l 基本概念 客户 /服务器模型是所有网络应用的基础。客户 /服务器分别指参与一次通信的两个应用实体,客户方主动地发起通信请求,服务器方被动地等待通信的建立。 ”l 客户软件 任何一个应用程序当需要进行远程访问时变为客户,这个应用程序也要完成一些本地的计算; 由用户直接调用,一个客户完成一次会话过程; 一般运行于用户的个人
3、机上; 向服务器主动发起通信请求; 可以访问多个服务器,但一次只能访问一个; 不需要特殊的硬件和复杂的操作系统。一、客户 /服务器模型( 2)l 服务器软件 是专用的提供某种服务的特权程序,可以同时处理多个远程客户; 在系统启动时被执行,并连续运行以处理多次会话; 一般运行在共享的计算机系统上; 被动的等待远程客户发起通信; 需要特殊的硬件和复杂的操作系统。l 数据在客户和服务器之间是双向流动的,一般是客户发出请求,服务器给出响应。一、客户 /服务器模型( 3)l 服务器软件的并发性 由于服务器软件要支持多个客户的同时访问,它必须具备并发性。服务器软件为每个新到的客户创建一个进程或线程来处理和
4、这个客户的通信。服务器方传送层实体使用客户的源端口号和服务的端口号来确定正确的服务器软件进程(线程)。l 服务器软件的组成 服务器软件一般分为两部分:一部分用于接受请求并创建新的进程或线程,另一部分用于处理实际的通信过程。l 客户 /服务器之间使用的传送层协议 可以是基于连接的 TCP协议,要求建立和释放连接,适用于可靠的交互过程; 也可以是无连接的 UDP协议,适用于可靠性要求不高的或实时的交互过程; 同时使用 TCP和 UDP的服务,有两种服务器软件的实现或服务器同时和 TCP和 UDP协议交互,不对客户做限制。l 客户和服务器的交互 支持协议:在 INTERNET中,客户和服务器的交互通
5、过使用TCP/IP协议栈来完成。因此,客户和服务器所在的机器要求支持完全的协议栈。客户 /服务器通过套接字访问传送层服务。一、客户 /服务器模型( 4) 多种服务:一台计算机上可以运行多个服务器软件,但是要求计算机有强大的硬件资源(服务器级别的计算机)和多任务操作系统( UNIX和 WIN95)。 服务的标识:客户是通过服务的标识来访问某种服务的,比如在 INTERNET中,服务是用套接字地址来标识, UNIX在/etc/services文件中定义。服务器软件启动时将其标识通知传送层实体。一、客户 /服务器模型( 5)二、 域名服务( 1)l 产生原因 32比特的 IP地址难于记忆,应该使用符
6、号地址,比如用表示 166.111.69.241。但是,网络本身是使用 IP地址的,因此需要一个完成二者之间相互转换的机制。 当网络规模比较小时,例如 ARPANET, 每台主机只需查找一个文件,该文件中列出了主机与 IP地址的对应关系。 当网络规模很大时,上述方法就不适用了,因此产生了域名系统 DNS( Domain Name System)。l DNS概述 域名系统是一个典型的客户 /服务器交互系统; 域名系统是一个多层次的、基于域的命名系统,并使用分布式数据库实现这种命名机制;二、域名服务( 2) 当应用程序需要进行域名解析时(从符号名到 IP地址),它称为域名系统的一个客户。它向本地域名服务器发出请求(调用resolver), 请求以 UDP包格式发出,域名服务器找到对应的IP地址后,给出响应。当本地域名服务器无法完成域名解析,它临时变成其上级域名服务器的客户,递归解析,直到该域名解析完成。 RFC 1034, 1035l 域名的结构 INTERNET的顶级域名(见图)。分为组织结构和地理结构两种。每个域对它下面的子域和机器进行管理。DNS中, 每台计算机的名字是由 “.”所分开的字符数字串所组成的。例如 . 域名是大小写无关的, “edu”和 “EDU”相同。域名最长 255个字符,每部分最长 63个字符。域名的结构