计算机与信息工程学院网络工程教研室第六章应用层§6.1应用层概述§6.5文件传输服务§6.4浏览器§6.3万维网§6.2域名系统(DNS)§6.6电子邮件服务§6.7动态主机配置协议计算机与信息工程学院网络工程教研室网络应用是计算机网络存在的理由,若没有网络应用,网络的功能将大大削弱,也失去设计网络应用协议的意义。面对网络上多种多样的应用,有很大一部分是基于TCP/IP协议的应用层协议,在Internet中,几乎所有的应用系统都有相应的应用层协议支持。在网络应用层每个协议都是为了解决相应的应用问题而设计的,而这些问题的解决又往往是通过位于不同主机中的多个进程之间的通信和协同工作来完成的。这些为了解决具体的应用问题而彼此通信的进程就称为“应用进程”。而应用层的具体内容就是规定应用进程在通信时所遵循的协议。§6.1应用层概述计算机与信息工程学院网络工程教研室应用层协议的定义包括如下内容:(1)交换的报文类型,如请求报文和响应报文;(2)各种报文类型的语法,如报文中的各个字段详细描述;(3)字段的语义,即包含在报文中字段含义;(4)进程何时、如何发送报文及对报文进行响应。§6.1.1应用层协议计算机与信息工程学院网络工程教研室目前应用层协议主要有以下几种:(1)域名系统(DomainNameSystem,DNS):用于实现网络用户名到IP地址映射的网络服务。(2)文件传输协议(FileTransferProtocol,FTP):用于实现交互式文件传输功能。(3)简单邮件传送协议(SimpleMailTransferProtocol,SMTP):用于实现电子邮箱传送功能(4)超文本传输协议(HyperTextTransferProtocol,HTTP):用于实现服务。(5)简单网络管理协议(simpleNetworkManagementProtocol,SNMP):用于管理与监视网络设备。(6)远程登录协议(Telnet):用于实现远程登录功能。§6.1.1应用层协议计算机与信息工程学院网络工程教研室§6.1.1应用层协议图6-1参考模型与协议簇关系计算机与信息工程学院网络工程教研室§6.1.2因特网提供的其他服务1、远程登录(Telnet)(1)Telnet服务中采用的协议Telnet服务中采用Telnet协议,Telnet的默认服务端口为TCP23。(2)Telnet的工作过程用户在本地计算机上与远程计算机建立通信连接,将本地计算机输入的字符串直接送到远程计算机上,通过远程计算机的用户和口令认证后,可以实时使用和控制远程计算机的开放资源(3)Telnet的特点①Telnet登录灵活自由。②通信功能强大。③适合协同工作。计算机与信息工程学院网络工程教研室§6.1.2因特网提供的其他服务2、电子公告板系统(BBS)BBS的英文全称是BulletinBoardSystem,翻译为中文就是“电子公告板”。3、博客(BLOG)与网络新应用“博客”(Blog或Weblog)一词源于“WebLog(网络日志)”的缩写,是一种十分简易的个人信息发布方式。微博,即微博客(MicroBlog)的简称,是一个基于用户关系信息分享、传播以及获取平台,用户可以通过WEB、WAP等各种客户端组建个人社区,以140字左右的文字更新信息,并实现即时分享。微信是腾讯公司于2011年1月21日推出的一款通过网络快速发送语音短信、视频、图片和文字,支持多人群聊的手机聊天软件。计算机与信息工程学院网络工程教研室8§6.2域名系统(DNS)定义:DNS(DomainNameSystem)域名系统是一个在TCP/IP网络中将计算机名字和IP地址相互转换的系统,它是由解析器以及域名服务器组成的。域名服务器保存该网络中所有主机的域名和对应IP地址,主要功能将域名转换为IP地址。DNS主要使用UDP协议,DNS服务器之间备份使用TCP,使用的端口号为53。域名服务器的层次结构域名系统的一个主要特点是允许区域自治。域名系统设计中允许每个组织为计算机指派域名或改变这些域名,而不必通知中心机构。计算机与信息工程学院网络工程教研室9§6.2域名系统(DNS)1、域名服务器的基本工作原理域名系统是以一个大型的分布式数据库的方式工作的。大多数具有Internet连接的组织都有一个域名服务器。每个服务器包含连向其他域名服务器的信息,这些服务器形成—个大的协同工作的域名数据库。在用户上网过程中,通过IE浏览器访问网站时,在地址栏输入网址时,实际上就是用户将一个希望转换的域名放在一个DNS请求信息中,并将这个请求发给DNS服务器。DNS服务器从请求中取出域名,将它转换为对应的IP地址,然后在一个应答信息中将结果地址返回给应用请求。计算机与信息工程学院网络工程教研室10§6.2域名系统(DNS)1、域名服务器的基本工作原理域名系统是以一个大型的分布式数据库的方式工作的。大多数具有Internet连接的组织都有一个域名服务器。每个服务器包含连向其他域名服务器的信息,这些服务器形成—个大的协同工作的域名数据库。在用户上网过程中,通过IE浏览器访问网站时,在地址栏输入网址时,实际上就是用户将一个希望转换的域名放在一个DNS请求信息中,并将这个请求发给DNS服务器。DNS服务器从请求中取出域名,将它转换为对应的IP地址,然后在一个应答信息中将结果地址返回给应用请求。计算机与信息工程学院网络工程教研室11§6.2域名系统(DNS)2、域名服务器的层次域名服务器是按层次结构组成的,通过分布在各地的域名服务器来实现域名解析功能。一般来说,每级的域名都有一个相应的域名服务器,可以使整个域名服务器呈现树状结构,但这样会导致域名服务器数量较多,降低了域名系统的效率。因此DNS采用分区的办法来解决这个问题。计算机与信息工程学院网络工程教研室12§6.2域名系统(DNS)3、域名解析过程将域名转换为对应的IP地址的过程称为域名解析(nameresolution)。域名解析与地址解析类似,只不过地址解析是将IP地址转换为对应的MAC地址的过程。(1).迭代查询(2).递归查询计算机与信息工程学院网络工程教研室13§6.3万维网的缩写,又称为万维网,是一个基于超文本(hypertext)方式的信息查询工具,是由欧洲核子物理研究中心(CERN)开发的。1、超文本标记语言2、统一资源定位器3、主页4、客户机和服务器5、超链接和HTML计算机与信息工程学院网络工程教研室14§6.3.1超文本传输协议超文本传输协议(HTTP,HyperTextTransferProtocol)是因特网上应用最为广泛的一种网络传输协议,所有的web页面文件都必须遵守这个标准。HTTP的发展是万维网协会和Internet工作小组合作的结果。1、超文本标记语言HTTP是一个用于客户端和服务器间请求和应答的协议,其操作过程如图计算机与信息工程学院网络工程教研室15§6.3.2HTTP报文格式通过了解HTTP报文结构,可以进一步学习HTTP工作原理。HTTP有两种报文,其结构见上图(b)(1).请求报文:从客户向服务器发送请求报文。(2).响应报文:从服务器到客户的回答。HTTP请求报文和响应报文都是由三个部分组成。(1).开始行(2).首部行(3).实体主体计算机与信息工程学院网络工程教研室16§6.3.3超文本标记语言HTML(HyperTextMark-upLanguage,超文本标记语言)是一种文档结构的标记语言,它使用一些约定的标记对页面上各种信息(包括文字、声音、图形、图像、视频等)、格式以及超链接进行描述。1、HTML标记2、HTML文档的基本结构htmlhead文件标题属性/headbody文件主体/body/html计算机与信息工程学院网络工程教研室17§6.4浏览器上页面内容的客户端软件。上形式多样、内容丰富的信息资源的一种便捷途径。浏览器的结构要比服务器的结构复杂得多。浏览器主要组成部分计算机与信息工程学院网络工程教研室18从上图中可看出,一个浏览器由一组客户、一组解释程序以及管理这些客户和解释程序的控制程序组成。控制程序是其中的核心部件,它解释鼠标的点击和键盘的输入,并调用有关的组件来执行用户相应的操作。HTML解释程序是必不可缺少的,而其他的解释程序则是可选的。输入给HTML解释程序的是符合HTML语法的文档。浏览器的任务不仅是浏览而且还包含一些其他任务,比如有些浏览器还包含一个FTP客户程序,用来获取文件传送服务;还有一些包含一个电子邮件客户程序,用来发送和接收电子邮件。在浏览器中还设有一个缓存,然而使用缓存也带来了一些问题:首先,缓存要占用大量的磁盘空间;其次,浏览器性能的改善只有在用户再次查看缓存中的页面时才有帮助,计算机与信息工程学院网络工程教研室19§6.5文件传输服务文件传输服务又称为FTP服务,是Internet上最早提供的服务功能之一,目前仍广泛使用。6.5.1文件传输的概念文件传输服务是由FTP应用程序提供的。FTP应用程序遵循的TCP/IP协议族中的文件传输协议FTP。FTP提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效口令)。FTP屏蔽各计算机系统的细节,因而适合于异构网络中任意两台计算机之间传输文件。计算机与信息工程学院网络工程教研室206.5.2文件传输服务的工作过程FTP服务采用的是客户/服务器模式。下图给出了文件传输服务的工作原理。计算机与信息工程学院网络工程教研室21(一个FTP服务器进程可同时为多个客户进程提供服务。FTP服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。主进程的工作步骤如下(1).打开FTP端口(端口号通常为21),使客户进程能够连接上该端口。(2).等待客户进程发出连接请求。(3).启动从属进程来处理客户进程发来的请求,从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可以创建其他一些子进程。(4).回到等待状态,继续接受其他客户进程发来的请求,主进程与从属进程的处理并发地进行。计算机与信息工程学院网络工程教研室22FTP的工作情况如下图,图中的椭圆表示在系统中运行的进程,图中的服务器端有两个从属进程:即控制进程和数据传送进程,为简便起见,服务器端的主进程没有画上,在客户端除了控制进程和数据传送进程外,还有一个用户界面进程用来和用户接口进行交互。FTP进程运行过程计算机与信息工程学院网络工程教研室23在进行文件传输时,FTP的客户端和服务器之间要建立两个并行的TCP连接——“控制连接”和“数据连接”,控制连接在整个会话期间一直保持打开,FTP客户所发送的传送请求通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件,实际上传送文件的是“数据这接”。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接进程”,均来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完成后,关闭“数据传送连接”并结束运行。由于FTP使用了一个分离的控制连接,因此FTP控制信息是带外(out-of-band)传送的。目前常用的FTP客户程序通常有3种类型:传统的FTP命令行、浏览器与FTP下载工具。计算机与信息工程学院网络工程教研室246.5.3简单文件传输协议在TCP/IP协议族中还有个简单文件传输协议TFTP(TrivialFileTansferProtocol),它是一个很小且易于实现的文件传输协议。TFTP可以采用客户/服务器方式,也可采用UDP数据报方式,它有自己的差错改正功能。TFTP只支持文件传输而不支持交互,TFTP没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴