第6章网络服务6.1域名系统DNS6.2文件传送协议6.3远程终端协议TELNET6.4万维网域名系统(DomainNameSystem)概述存在问题:Internet上每一台主机都有一个32位IP地址(二进制)为了便于记忆,又用4组十进制数来表示即便如此,这些数字仍然很难记忆。解决办法:给每台主机起个名字,Internet上称为域名。为什么叫域名?在因特网中的每台主机都归属于一个组织机构,组织机构是分级别和管辖范围的,因此每个主机的名字也就相应的具有一定区域范围,故此称为域名。典型的域名:ned.jsjxy.bistu.edu.cn因特网只能识别IP地址,并不能识别名字!如何实现“按名访问”?建立一套由名字到IP地址之间的转换机制——域名解析。实现域名解析的设备?——域名解析服务器。实现原理:用户输入的域名首先发送给域名服务器(域名服务器中存放着域名与IP地址的对照表),域名服务器收到转换请求后,就查表,找到后,则将对应的IP地址返回给用户。接下来,用户按IP地址访问。举例:域名:cernet.edu.cn(中国教育科研网网控中心)对应IP地址:202.112.0.36含义:cn:代表中国edu:代表教育与科研网,cernet:代表主机名。——典型的层次包容关系。结果:——只要记住cernet.edu.cn这个域名就可以访问相应的主机域名申请过程:向上一级因特网组织或商业域名公司申请域名。审核无重复的名字?提交域名使用费/年在其域名服务器中加入新的域名。大型组织机构(有若干个下级单位,都需要被外界访问)?①每个下级单位有独立的域名;②自建域名服务器,对本机构下所有域名解析。每一级域内可以任意增加子域名因特网的域名空间根四级域名mail……bjeducom…cctvibmhp二级域名pkutsinghua…三级域名mail…comnetorgedugovaerocnuk…顶级域名……6.1.2因特网的域名体系说明:1.域名树最多有128层。2.每个节点的标号由最多包含63个字符的字符串组成,不区分大小写,但一般使用小写字母书写,而不使用大写字母。3.由多个标号组成的完整域名总共不得超过255个字符。4.根的标号规定为空字符串,5.要求每一个结点的子结点都采用不同的标号,以确保标号的唯一性。6.将这些标号自底向上用点(.)连接起来,就构成了因特网中规定的域名。如mail.tsinghua.edu.cn,根域名全球13个,a~m,a.rootserver.net,……m.rootserver.net对应13个不同IP地址的根域名服务器。——123台分布在世界各地的网络服务器,互相镜像。——提供就近查找,加快查询速度。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。根域名服务器并不直接把域名转换成IP地址。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。根域名服务器把下一步应当找的顶级域名服务器的IP地址告诉本地域名服务器。顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。顶级域名分为三大类:通用顶级域名、国家顶级域名和反向顶级域名。(1)通用顶级域名(类属顶级域名)按照组织机构所属的行业类别或性质进行分类:域名含义域名含义域名含义com商业机构aero航空航天企业Jobs人力资源机构edu教育机构biz公司或企业travel旅游行业gov政府机构coop合作团体mobi移动产品与服务类int国际组织info信息服务提供者cat加泰隆人语言与文化mil军事机构museum博物馆net网络服务机构name个人org非赢利组织pro专业人员(2)国家顶级域名按照组织机构所属的国家来分类,由代表国家名字缩写的两个英文字母组成,如:cn代表中国,uk代表英国,jp代表日本。只有美国例外,us可以省略不写。在国家顶级域名下注册的二级域名由各个国家自行确定,不一定一致。例如,日本将其教育和商业机构的二级域名定为ac和co,而不用edu和com。我国将二级域名进一步划分为“类别域名”和“行政区域名”两大类。其中:类别域名共计7个,分别为:ac(科研机构)、com(商业机构)、edu(教育机构)、gov(政府机构)、mil(国防机构)、net(网络服务机构)、org(非赢利组织)。行政区域名共计34个,适用于各省、自治区和直辖市。例如,ln(辽宁省)、js(江苏省)、bj(北京市),等等。我国修订后的域名体系也允许直接在cn顶级域名下注册二级域名。例如:bistu.cn。允许“bistu.中国”汉字域名。我国的域名管理机构为中国互联网信息中心CNNIC。负责cn顶级域名服务器的的管理和维护工作,以及cn域下的二级域名的审批与管理。(3)反向顶级域名用于反向域名解析,即将IP地址解析成域名。反向顶级域名只有一个,为arpa。其二级域名也只有一个,为in-addr。解析方式:在二级域名的前面加上要解析的IP地址:212.64.96.126.in-addr.arpa。6.1.3域名服务器域名的存储:域名空间的信息量庞大,用一台域名服务器来存储和管理,非常低效和不安全,不仅其访问量巨大,而且其服务能力有限,一旦出现故障,全球的域名服务将全部瘫痪。解决的方法:…arpacn服务器com服务器com服务器edu服务器edu服务器jp服务器bistu服务器pku服务器…根域名服务器…ibm服务器hp服务器……将这些信息分布到多台域名服务器上,让每台域名服务器只对域名体系中的一部分进行存储和管理。如图所示:(1)根域名服务器a~m,13个。但仅根域名服务系统f就有40多台服务器,中国的北京、香港和台湾都有其DNS服务器。根域名服务系统采用了任播技术,不同地点的域名服务器采用相同的IP地址,这样域名解析请求可以直接转发给离客户最近的一台根域名服务器。(2)顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当接收到查询请求后,或者给出下一步要查找的、相应的下一级域名服务器的IP地址,或者指向相应的下一级域名服务器,直接到那里去查找。(3)权威域名服务器在域名数据库中为用户对某个域名进行真正的查找,给出相应的IP地址。(4)本地域名服务器属于权威域名服务器。特指工作于用户网络区域的域名解析服务器。6.1.4域名的解析过程DNS提供两种域名解析方式:迭代查询方式,递归查询方式。以在北京大学查询bistu.edu.cn的IP地址为例。1、迭代查询本地域名服务器pku.edu.cn根DNScnDNSedu.cnDNS用户主机①②⑦⑧④③⑤⑥举例:在北京大学查找bistu.edu.cn域名的过程:(1)首先在本地域名服务器中查找,本地域名服务器中没有查到时,本地域名服务器会与根名字服务器联系。(2)根名字知道顶级域名服务器地址,返回一个指针,指向cn顶级域名服务器。(3)本地域名服务器向cn域名服务器发出请求,查找bistu.edu.cn的地址,cn域名服务器返回给本地域名服务器一个指针,指向edu.cn。(4)本地域名服务器向edu.cn域名服务器发出请求,查找bistu.edu.cn的地址,edu.cn域名服务器向本地域名服务器返回一个指针,指向bistu.edu.cn。(5)本地域名服务器向bistu.edu.cn的域名服务器发出请求,查找bistu.edu.cn的地址,最终便找到目标主机的IP地址,并与之连接。(6)依此向下查找,直到找到为止。——每一次域名服务器的查询不是得到如何更靠近答案的信息,就是得到答案本身。2、递归查询本地域名服务器pku.edu.cn根DNScnDNSedu.cnDNS用户主机①②⑦⑧④③⑤⑥3、高速缓存技术基本思想:本地域名服务器可以将每次解析出来的域名和IP地址之间的映射关系在缓存中保留一段时间。每当用户向本地域名服务器发出域名解析请求后,本地域名服务器并不是直接到本地域名数据库中进行查找,而是先在高速缓存中进行查找。①如果找到,则快速返回找到的IP地址;②如果没找到,但是有顶级域名服务器的域名cn和对应的IP地址,那么本地域名服务器就可以不再对根域名服务器进行查询,而可以直接向顶级域名服务器发出查询请求报文。——这样不仅减轻了根域名服务器的负荷,而且还可以减少网络流量。①什么都没找到,到本地域名服务器的域名数据库中去查找,执行如前所述的域名解析过程。主机高速缓存技术主机中保存有解析过的域名与IP地址。一旦有域名请求时,先从主机中进行查询,只有在本机缓存中没有所请求解析的域名时,才请求本地域名服务器进行解析。如何确保高速缓存中内容的正确性?域名服务器定期更新域名与IP之间的映射关系,对于超期的项目,自动将其删除。——确定合适的更新周期很重要。6.1.5提高域名服务器的可靠性DNS域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。当主域名服务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。更改数据只能在主域名服务器中进行,但主域名服务器定期把数据复制到辅助域名服务器中,这样就保证了数据的一致性。6.2远程终端服务TELNET远程登录:将本地的计算机作为一个终端通过网络(因特网)连接到远程计算机,使自己输入的每条命令传递给远程主机,经远程主机处理后,再将输出的结果回显到本地的计算机屏幕上。——可以用本地的计算机操纵远程的计算机。工作方式:客户/服务器方式。在本地系统运行TELNET客户进程,而在远地主机则运行TELNET服务器进程。存在问题:客户端的字符集及命令表达方式与服务器端的字符集及命令表达方式可能不同,服务器端可能无法识别客户端的命令。解决方法:①定义一个网络虚拟终端字符集和该字符集的一个通用接口②Telnet客户进程将来自本地计算机的字符转换成网络虚拟终端(NVT)字符集后发送给Telnet服务器,Telnet服务器将接收到的NVT字符集转换成自身可以接受的形式。③Telnet服务器将执行结果转换成NVT字符集,然后通过网络传送给Telnet客户机,Telnet客户机再将接收到的NVT字符集形式的执行结果转换成Telnet客户机的表示和处理方式。——避免了N对N的多重转换。实现对NVT字符集的访问和相互转换的标准:——Telnet协议Telnet服务器③Telnet服务器字符集⑤NVT字符集Telnet客户机命令行②NVT字符集Telnet协议执行结果转换内存命令解释程序CPU④Telnet服务器字符集转换①客户机字符集转换显示输出⑥客户机字符集转换键盘输入NVT实现原理:①首先在客户端软件和服务器端软件之间建立TCP连接。②客户端软件将用户命令(击键)转换成NVT格式,采用TCP协议进行封装并传输给服务器端软件,服务器端软件负责将其转换为本地系统的格式,进行相应的处理。③服务器本地处理结果同样转换为NVT格式,采用TCP协议进行封装并传输给客户端软件,客户端软件负责将其转换为本地系统的格式。NVT格式采用7位ASCII码形式,高位置1表示控制命令,高位置0表示数据。使用Telnet协议进行远程登录时需要满足以下条件:(1)本地计算机上装有包含Telnet协议的客户端程序;(2)远程计算机上运行Telnet服务器程序;(3)本地计算机必须知道远程计算机的IP地址或域名;(4)必须知道远程登录的账号和密码。Telnet服务器响应过程:Telnet服务器中的主进程始终等待新的请求,并产生从属进程来处理每一个请求。使用的传输层协议:通过TCP协议建立连接,提供可靠通信。连接的端口号:23。6.3文件传送协议6.3.1FTP(FileTransferProtocol)概述什么是FTP为因特网上的客户提供对服务器上共享文件的下载服务