第1页计算机网络,铁道出版社,第6章应用层计算机专业核心课程第6章应用层第2页计算机网络,铁道出版社,第6章应用层本章学习目标了解C/S模型和P2P模型;掌握DNS的工作原理;了解应用层的常用协议;第3页计算机网络,铁道出版社,第6章应用层6.1网络应用模型◇C/S模型–两层结构–结构简单,充分利用客户机的处理能力,降低了对服务器的要求–安装维护复杂,扩展性差◇P2P模型第4页计算机网络,铁道出版社,第6章应用层第5页计算机网络,铁道出版社,第6章应用层第6页计算机网络,铁道出版社,第6章应用层6.1.2P2P模型◆集中目录式网络模型◆纯P2P网络模型◆混合式网络模型◆结构化网络模型第7页计算机网络,铁道出版社,第6章应用层6.1.2P2P模型集中目录式网络模型◆由一个中心目录服务器负责管理维护网络中共享信息的目录◆用于共享MP3音乐文件的Napster第8页计算机网络,铁道出版社,第6章应用层6.1.2P2P模型纯P2P网络模型◆每个用户随机接入网络,并与自己相邻的一组邻居结点通过端到端连接构成一个逻辑覆盖的网络◆Gnutella第9页计算机网络,铁道出版社,第6章应用层6.1.2P2P模型混合式网络模型◆三类结点:用户结点、搜索结点、索引结点◆采用此结构的P2P软件主要应用于视频点播和直播,如Kademlia、PPTV、SynaCast等第10页计算机网络,铁道出版社,第6章应用层6.1.2P2P模型结构化网络模型◆主要采用分布式哈希表技术◆不需要维护整个网络的信息,只在结点中存储其临近的后继结点信息◆具有分散化、可扩展性、健壮性、高性能等优点第11页计算机网络,铁道出版社,第6章应用层6.2DNS◆DNS——域名系统◆完成域名到IP地址的映射◆Internet中的DNS被设计成为一个联机分布式数据库系统,采用客户服务器方式工作。分布式的机构使DNS具有很强的容错性。◆域名与主机所处的物理位置无关第12页计算机网络,铁道出版社,第6章应用层域名空间◇任何一个连接在因特网上的主机或设备,都有一个唯一的层次结构的名字,即域名◇域名空间中最上层为顶级域名,每个顶级域名又分成若干个子域,每个二级域名又被分成若干个子域,二级域名的子域称为三级域名,依此类推,直到n级域名,所有这些域构成了一个树状的域名空间◇一个完整的域名由若干个分量组成,各分量之间用圆点“.”隔开,其形式如:n级域名.….二级域名.顶级域名第13页计算机网络,铁道出版社,第6章应用层域名空间顶级域名◇通用顶级域名com(公司企业)net(网络服务机构)org(非赢利性组织)edu(教育机构)gov(美国政府部门)mil(美国军事部门firm(公司企业)shop(销售公司和企业)web(万维网活动)arts(文化、娱乐活动)rec(消遣、娱乐活动)info(信息服务)nom(个人)◇国家或地区顶级域名如cn、uk◇国际顶级域名第14页计算机网络,铁道出版社,第6章应用层域名空间第15页计算机网络,铁道出版社,第6章应用层◇域名分两种:网络域名和主机域名网络域名:如hbu.edu.cn,表示一个网络域;主机域名:表示一台具体的主机,如◇在DNS域名空间中,任一域的同级子域都不允许使用相同的域名◇因特网中不存在域名完全相同的两台主机◇域名只是个逻辑概念,并不反映主机所在的物理位置域名空间第16页计算机网络,铁道出版社,第6章应用层用来存在域名和对应IP地址映射库(也称为DNS数据库)◇本地域名服务器(LocalNameSever):在因特网域名空间的任何一个子域都可以拥有一个本地域名服务器,本地域名服务器中通常只保存属于本子域的域名-IP地址对。◇根域名服务器(RootNameSever):当一个本地域名服务器不能基于本地DNS数据库响应某个主机的解析请求查询时,它就以DNS客户的身份向某一根域名服务器查询。◇授权域名服务器(AuthoritativeNameSever):每一个主机都必须在授权域名服务器处登记,通常一个主机的授权域名服务器就是它所在子域的一个本地域名服务器。域名服务器第17页计算机网络,铁道出版社,第6章应用层◇两种解析方法递归解析、迭代解析◇域名高速缓存●每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。●可大大减轻根域名服务器的负荷,使因特网上的DNS查询请求和回答报文的数量大为减少。●为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)。●当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。域名解析第18页计算机网络,铁道出版社,第6章应用层6.3FTP◇文件传送协议FTP(FileTransferProtocol)是因特网上使用得最广泛的文件传送协议。◇FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。◇FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。◇RFC959很早就成为了因特网的正式标准。第19页计算机网络,铁道出版社,第6章应用层FTP的基本工作原理网络环境下复制文件的复杂性:(1)计算机存储数据的格式不同。(2)文件的目录结构和文件命名的规定不同。(3)对于相同的文件存取功能,操作系统使用的命令不同。(4)访问控制方法不同。第20页计算机网络,铁道出版社,第6章应用层FTP的工作过程①服务器进程打开端口21,等待客户机进程发出的连接请求,客户机可以用分配的任意一个本地端口号与服务器进程21端口联系。②客户机请求到来时,服务器主进程启动从属进程来处理客户机进程发来的请求。从属进程对客户机进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。③服务器主进程返回,继续等待接收其他客户机进程发来的请求,服务器主进程与从属进程并行工作。第21页计算机网络,铁道出版社,第6章应用层两个连接◇控制连接在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。◇实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。◇数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。第22页计算机网络,铁道出版社,第6章应用层FTP使用的两个TCP连接控制进程FTP客户端FTP服务器端因特网TCP控制连接TCP数据连接用户界面控制进程数据传送进程数据传送进程第23页计算机网络,铁道出版社,第6章应用层◇当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。◇接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。◇FTP使用两个不同的端口号使得数据连接与控制连接不会发生混乱。两个不同的端口号第24页计算机网络,铁道出版社,第6章应用层FTP的特点◇允许匿名访问◇任意方向文件传输◇允许文件名的通配符扩展◇文件名转换第25页计算机网络,铁道出版社,第6章应用层简单文件传送协议TFTP(TrivialFileTransferProtocol)◇TFTP是一个很小且易于实现的文件传送协议。◇使用客户服务器方式和使用UDP数据报◇TFTP只支持文件传输而不支持交互。◇TFTP没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。第26页计算机网络,铁道出版社,第6章应用层6.4Email◇电子邮件的地址用户名@邮件服务器的域名或IP地址◇用户代理用户与电子邮件系统的接口◇邮件服务器◇邮件传输协议简单邮件传输协议(SimpleMailTransferProtocol,SMTP)。接收电子邮件的邮局协议版本3(POP3)。第27页计算机网络,铁道出版社,第6章应用层第28页计算机网络,铁道出版社,第6章应用层6.5◇万维网是一个大规模的、联机式的信息储藏所。◇万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。◇万维网以客户服务器方式工作。浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。◇客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。◇在一个客户程序主窗口上显示出的万维网文档称为页面(page)。第29页计算机网络,铁道出版社,第6章应用层6.5页计算机网络,铁道出版社,第6章应用层◇统一资源定位符URL是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。◇URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。◇URL的一般形式是:协议://主机名或IP地址:端口号/路径名/文件名ftp——文件传送协议FTPhttp——超文本传送协议HTTPNews——USENET新闻URL第31页计算机网络,铁道出版社,第6章应用层HTTP报文HTTP有两类报文:◇请求报文——从客户向服务器发送请求报文。◇响应报文——从服务器到客户的回答。第32页计算机网络,铁道出版社,第6章应用层HTTP连接非持续连接◇每个TCP连接只传输一个HTTP请求报文和一个HTTP响应报文,◇每个TCP连接在Web服务器返回响应报文后关闭◇因此同一客户端对同一服务器上的访问可能需要建立多次TCP连接。◇HTTP的非持续连接是无连接的、无状态的◇简化了服务器的设计,但加重了服务器的负担持续连接◇HTTP/1.1协议使用持续连接◇指Web服务器在发送响应后一段时间内仍然保持当前TCP连接,使另一端的Web浏览器和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。第33页计算机网络,铁道出版社,第6章应用层持续连接的两种工作方式◇非流水线方式客户在收到前一个响应后才能发出下一个请求。这比非持续连接的两倍RTT的开销节省了建立TCP连接所需的一个RTT时间。但服务器在发送完一个对象后,其TCP连接就处于空闲状态,浪费了服务器资源。◇流水线方式客户在收到HTTP的响应报文之前就能够接着发送新的请求报文。一个接一个的请求报文到达服务器后,服务器就可连续发回响应报文。使用流水线方式时,客户访问所有的对象只需花费一个RTT时间,使TCP连接中的空闲时间减少,提高了下载文档效率。第34页计算机网络,铁道出版社,第6章应用层TELNET◇Telnet是一个简单的远程登录协议◇使用C/S模式◇服务器进程默认的监听端口为23◇工作过程①本地Telnet客户端进程与远程主机上的Tecnet服务器进程建立连接。②将本地终端上输入的用户名和口令及以后输入的任何命令或字符以网络虚拟终端格式传送到远程主机。③将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果。④本地终端对远程主机撤销连接,即撤销一个TCP连接,从而结束Telnet远程登录过程。第35页计算机网络,铁道出版社,第6章应用层内容回顾◇常用的网络应用模型◇域名系统DNS◇FTP◇Email◇◇TELNET