《计算机网络高级教程》1吴功宜编著“十一五”国家重点图书计算机科学与技术学科前沿丛书计算机科学与技术学科研究生系列教材(中文版)计算机网络高级教程《计算机网络高级教程》2第9章网络应用与应用层协议《计算机网络高级教程》3网络应用系统设计与软件开发方法•根据网络应用系统的服务要求,设计相应的系统结构与工作模式;•根据工作模式选择各层的协议类型;•根据工作模式来设计应用层协议;•软件开发人员在理解协议模型、读懂协议规定的基础上完成编程任务。《计算机网络高级教程》4应用层协议的基本概念《计算机网络高级教程》5主要的应用层协议•域名系统DNS•简单邮件传输协议SMTP•文件传输协议FTP•网络终端协议Telnet•简单网络管理协议SNMP•超文本传输协议HTTP《计算机网络高级教程》6TCP/IP协议栈及之间的关系《计算机网络高级教程》7域名服务DNS《计算机网络高级教程》8域名系统DNS为什么有了IP地址,还需要域名?•IP地址—数字型,难于记忆与理解域名—字符型,直观,便于记忆与理解•IP地址—软件使用的域名—用户使用的•DNS提供一个目录查询服务,可以提供主机名与IP地址之间的映射《计算机网络高级教程》9域名解析与地址解析的区别《计算机网络高级教程》10DNS的四个重要组成元素•域名空间(domainnamespace)—树状结构的命名空间标识Internet中的资源•域名数据库(DNSdatabase)—用资源记录RR标记命名空间每一个结点与叶子,RR构成一个分布式数据库•域名服务器(DNSserver)—服务器维护部分树状结构与相应的资源记录RR•解析器(resolver)—从域名服务器中提取相应的信息作为对客户请求的应答《计算机网络高级教程》11•Internet域名空间的树状结构《计算机网络高级教程》12域名服务器的层次结构域名服务器的基本工作原理•域名系统的一个主要特点是允许区域自治;•域名系统在设计了层次的域名的同时,提出了与其相对应的域名服务器系统;•整个域名系统是以一个大型的分布式数据库的方式工作的;•大多数具有Internet连接的组织都有一个域名服务器,每个服务器包含连向其他域名服务器的信息,这些服务器形成了一个大的协同工作的域名数据库。《计算机网络高级教程》13电子邮件服务E-mail《计算机网络高级教程》14电子邮件服务•电子邮件是ARPRnet上第一个受人瞩目的应用;•在ARPRnet之前,已经有人在单机多用户系统中开发了电子邮件服务;•1972年BBN的RayTomlinson编写了第一个用于网络的分布式E-mail软件;•1973年E-mail流量已经占到ARPRnet的3/4;•目前E-mail仍然是Internet上使用最为频繁的一种服务;•电子邮件系统可以传输各种格式的文本、图像、语音与视频信息。《计算机网络高级教程》15电子邮件系统工作的特征:•客户/服务器结构•信息“推”(pull)的方式《计算机网络高级教程》16在Internet中邮件报文传输过程《计算机网络高级教程》17简单邮件传输协议SMTP•SMTP协议运行在TCP协议之上,使用熟知端口号25;•SMTP使用简单的命令传输邮件;•SMTP规定了14条命令和21种响应信息;•每条命令都是由4个字母组成的;•每一种响应信息一般只有一行信息;•SMTP使用客户/服务器工作模式,发送邮件的SMTP进程是SMTP客户,接收邮件的SMTP进程是SMTP服务器。《计算机网络高级教程》18邮件读取协议POP3和IMAPPOP3•邮局协议POP是一个简单的邮件读取协议;•POP3协议使用客户/服务器的工作方式;•接收邮件的用户主机运行POP客户程序,ISP的邮件服务器则运行POP服务器程序;•POP3协议运行在TCP协议之上,它使用熟知端口号110;•POP3协议规定了15条命令和24种响应信息。《计算机网络高级教程》19IMAP•Internet报文存取协议IMAP与POP3都是按客户/服务器方式工作,但它们有很大的差别;•对于POP3协议,POP3服务器是具有存储转发功能的中间服务器。在邮件交付给用户之后,POP3服务器就不再保存这些邮件;•POP3协议是在脱机状态下运行,而IMAP协议是在联机状态下运行。《计算机网络高级教程》20文件传输服务FTP《计算机网络高级教程》21文件传输的概念•文件传输FTP是Internet最早提供的服务功能之一;•文件传输服务允许用户将文件从一台计算机传输到另一台计算机上,并且能保证传输的可靠性;•用户通过使用FTP服务可以方便地访问许多公司、大学的FTP主机中存储的大量应用程序与文件资源。《计算机网络高级教程》22文件传输的工作过程FTP服务工作模式:客户/服务器《计算机网络高级教程》23匿名FTP服务•匿名FTP服务的实质是:提供服务的机构在它的FTP服务器上建立一个公开账户(一般为anonymous),并赋予该账户访问公共目录的权限,以便提供免费服务;•如果用户要访问这些提供匿名服务的FTP服务器,一般不需要输入用户名与用户密码;•大多数FTP服务都是匿名服务;•为了保证FTP服务器的安全,几乎所有的匿名FTP服务器都只允许用户下载文件,而不允许用户上载文件。《计算机网络高级教程》24Web服务《计算机网络高级教程》25服务的基本概念•又称为万维网,简称为Web,是Internet技术发展中的一个重要的里程碑;•系统的结构采用了客户/服务器模式;•信息资源以web页的形式存储在服务器中,用户通过客户端浏览器程序图、文、声并茂的Web页内容;•通过Web页中的链接,用户可以方便地访问位于其他页,或是其他类型的网络信息资源。《计算机网络高级教程》26为什么Web服务能够产生如此重大的影响?•与传统的读书、读报、收听电台、收看电视的信息获取方式不同,Web服务的用户采取的是“主动”与“交互”的方式去获取信息;•Web用户可以在全世界范围内的Webserver中快速地、方便地查询信息;•Web页内容可用图、文、声并茂的形式提供给用户;•Web向用户提供的是直观、统一的图形用户界面;•Web已经应用到几乎所有的领域。《计算机网络高级教程》27Web在实现过程中必须解决以下几个问题:•如何标识分布在Internet的Web文档?•如何显示不同风格的Web文档?•如何实现链接Web文档?《计算机网络高级教程》28Web服务的核心技术•超文本传输协议HTTP•超文本标记语言HTML•超链接hyperlink《计算机网络高级教程》29Web协议层次《计算机网络高级教程》30超文本传输协议HTTP•HTTP是webbrowser与webserver之间交换HTML文档的通信协议;•HTTP在传输层使用TCP协议;•HTTP是一种面向“事务”的协议,它把一次浏览所需要完成的数据交换作为一个不可分割的整体,要么一次“事务”处理完成,要么一次交换也不进行;•HTTP对每一个事务都是独立地处理;•HTTP为一次“事务”处理建立一个webbrowser与webserver之间的TCP连接,当一次事务结束之后就释放这个连接;•HTTP是一种“无状态”(stateless)协议;•webbrowser与webserver是实现HTTP协议的client/server软件。《计算机网络高级教程》31HTTP请求报文的发送过程与结构《计算机网络高级教程》32HTTP响应报文结构《计算机网络高级教程》33Web浏览器的结构《计算机网络高级教程》34HTTP工作过程《计算机网络高级教程》35网络应用系统设计与开发步骤•网络服务的需求分析•设计系统工作模型•选择各层的协议类型•设计应用层协议•应用软件编程•网络环境运行测试