计算机网络张长明hdjsjwl@126.comncepubd第6章应用层6.1域名系统DNS6.2文件传送协议6.3远程终端协议TELNET6.4万维网应用进程跨越网络的通信应用层协议的特点每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。应用层的许多协议都是基于客户服务器方式。客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。6.1域名系统DNS6.1.1域名系统概述域名系统DNS是因特网使用的名字系统,用来把便于人们使用的机器名字转换为IP地址。许多应用层软件经常直接使用域名系统DNS(DomainNameSystem),但计算机的用户只是间接而不是直接使用域名系统。因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统DNS。名字到IP地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。6.1.2因特网的域名结构因特网采用了层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。域名的结构由标号序列组成,各标号之间用点隔开:….三级域名.二级域名.顶级域名各标号分别代表不同级别的域名。顶级域名TLD(TopLevelDomain)(1)国家顶级域名nTLD:如.cn表示中国,.us表示美国,.uk表示英国,等等。(2)通用顶级域名gTLD:如.com表示公司和企业,.net表示网络服务机构。(3)基础结构域名(infrastructuredomain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称为反向域名。因特网的域名空间根四级域名mail……bjeducom…cctvibmhp二级域名pkutsinghua…三级域名mail…comnetorgedugovaerocnuk…顶级域名……6.1.3域名服务器一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。DNS服务器的管辖范围是以“区”为单位。区的不同划分方法举例域abc.com区abc.comabcxuvwty(a)区=域(b)区域域abc.com区abc.com区y.abc.comabcxuvwtycomeduorg根comeduorg根树状结构的DNS域名服务器根域名服务器org域名服务器com域名服务器edu域名服务器…y.abc.com域名服务器abc公司有两个权限域名服务器权限域名服务器根域名服务器顶级域名服务器abc.com域名服务器域名服务器有以下四种类型根域名服务器顶级域名服务器权限域名服务器本地域名服务器根域名服务器—最高层次的域名服务器根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。因特网上共有13套不同IP地址的根域名服务器,它们的名字是用一个英文字母命名,从a一直到m(前13个字母)。根域名服务器—最高层次的域名服务器(续)根域名服务器共有13套装置(不是13个机器),这些根域名服务器相应的域名分别是a.rootservers.netb.rootservers.net…m.rootservers.net到2006年底全世界已经安装了一百多个根域名服务器机器,分布在世界各地。目的是为了方便用户,使世界上大部分DNS域名服务器都能就近找到一个根域名服务器。举例:根域名服务器f的地点分布图根域名服务器并不直接把域名直接转换成IP地址。在使用迭代查询时,根域名服务器把下一步应当找的顶级域名服务器的IP地址告诉本地域名服务器。共40个机器顶级域名服务器(即TLD服务器)这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址)。权限域名服务器负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器。本地域名服务器当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。每一个因特网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器。这种域名服务器有时也称为默认域名服务器。提高域名服务器的可靠性DNS域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。当主域名服务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。域名的解析过程主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他域名服务器继续发出查询请求报文。本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。本地域名服务器采用迭代查询顶级域名服务器dns.com权限域名服务dns.abc.com本地域名服务器dns.xyz.com根域名服务器迭代查询y.abc.com的IP地址m.xyz.com递归查询需要查找y.abc.com的IP地址本地域名服务器采用递归查询(比较少用)顶级域名服务器dns.com权限域名服务dns.abc.com本地域名服务器dns.xyz.comm.xyz.com根域名服务器递归查询递归查询y.abc.com的IP地址需要查找y.abc.com的IP地址名字的高速缓存每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。可大大减轻根域名服务器的负荷,使因特网上的DNS查询请求和回答报文的数量大为减少。为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)。当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。6.2FTP协议文件传送协议FTP是因特网上使用得最广泛的文件传送协议,相应因特网标准是RFC959。FTP使用TCP可靠的运输服务。FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。主进程的工作步骤如下打开熟知端口(端口号为21),使客户进程能够连接上。等待客户进程发出连接请求。当有服务请求到达时,启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。两个连接控制连接在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。FTP使用的两个TCP连接控制进程FTP客户端FTP服务器端因特网TCP控制连接TCP数据连接用户界面控制进程数据传送进程数据传送进程两个不同的端口号当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。由于FTP使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。使用两个不同端口号的好处使协议更加简单和更容易实现。在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。6.4万维网万维网概述万维网(WorldWideWeb)并非某种特殊的计算机网络。万维网是一个大规模的、联机式的信息储藏所。万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。这种访问方式称为“链接”。万维网提供分布式服务万维网站点A万维网站点C万维网站点E万维网站点D万维网站点B超媒体与超文本万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。所谓超文本是包含指向其它文档的链接的文本。一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于任何一个接在因特网上的超文本系统中。超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画、视频图像等。万维网的工作方式万维网以客户服务器方式工作。浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,这个计算机称为万维网服务器(Web服务器)。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在一个客户程序主窗口上显示出的万维网文档称为页面(page)。万维网必须解决的问题(1)怎样标志分布在整个因特网上的万维网文档?使用统一资源定位符URL(UniformResourceLocator)来标志万维网上的各种文档。并且每一个文档在整个因特网的范围内具有唯一的标识符URL。URL的一般形式URL的一般形式是:协议://主机:端口/路径ftp——文件传送协议FTPhttp——超文本传送协议HTTPNews——USENET新闻主机是存放资源的主机在因特网中的域名URL的一般形式URL的一般形式是:协议://主机:端口/路径有时可省略URL的一般形式URL的一般形式是:协议://主机:端口/路径万维网必须解决的问题(二)(2)用何协议实现万维网上各种链接?在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议HTTP(HyperTextTransferProtocol)。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。万维网必须解决的问题(三)(3)怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着链接?超文本标记语言HTML使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。万维网必须解决的问题(四)(4)怎样使用户能够很方便地找到所需的信息?为了在万维网上方便地查找信息,用户可使用各种的搜索工具(即搜索引擎)。6.5电子邮件6