域名系统DNS(Domain Name System)是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。
【为什么要用DNS?】用户与互联网上的某台主机通信时,必须要知道对方的IP地址。然而用户很难记住32位的二进制主机地址,所以使用域名系统能把互联网上的主机名字转换为IP地址。
【为什么机器在处理IP数据报的时候要使用IP而不直接使用域名呢?】这是因为IP地址的长度是固定的32位(如果是IPV6,则是128位),而域名的长度并不是固定的,机器处理起来比较困难。
互联网的域名系统DNS被设计成为一个联机分布式数据库,并采用客户服务器方式。
互联网的域名结构互联网采用层次树状结构的命名方法,采用这种命名方法,任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(Domain Name)。“域”是名字空间中一个可被管理的划分,还可以划分子域。
DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母;级别低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。各域名由上一级的域名管理。
互联网的名字空间是按照机构的组织来划分的,与物理的网络无关,与IP地址中的“子网”也没有关系。
域名服务器一个域名服务器所负责的(或有权限的)范围叫做区(zone),一个区中的所有节点必须是可以联通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。总之,DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区是DNS服务器实际管辖的范围。区可能等于或小于域,但一定不能大于域。
根据域名服务器所起的作用,可以把域名服务器划分为四种不同的类型:根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器。
1.根域名服务器最高层次的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。根域名服务器是最重要的域名服务器,因为不管是哪一个本地域名服务器,若要对互联网上任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器。
根域名服务器采用任播技术,因此当DNS客户向某个根域名服务器的IP地址发出查询报文时,互联网上的路由器就能找到离这个DNS客户最近的一个根域名服务器。
2.顶级域名服务器负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器.
3.本地域名服务器首先说明:本地域名服务器并不属于域名服务器层次结构,但它对域名系统非常重要。
当一台主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。本地域名服务器离用户较近,一般不超过几个路由器的距离。当所要查询的主机也属于同一个本地ISP时,该本地域名服务器就能将所查询的主机名转换为它的IP地址,而不需要再去询问其他的域名服务器。
域名解析过程中,递归查询和迭代查询的区别:
递归查询:主机向本地域名服务器的查询一般都是采用递归查询。所谓递归查询就是:如果主机所要询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文,而不是让该主机自己进行下一步的查询。
迭代查询:本地域名服务器向根域名服务器的查询通常采用的是迭代查询。当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应当指向哪一个域名服务器进行查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应当向哪一个权限域名服务器进行查询,本地域名服务器就这样进行迭代查询。
当然,本地域名服务器也可以采用递归查询,这取决于最初的查询请求报文的设置是要求哪一种查询方式。
高速缓存
为了提高DNS查询效率,并减轻域名服务器的负荷和较少互联网上的DNS查询报文数量,在域名服务器中广泛使用高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。当然需要设置计时器,超时删除,再重新获取。
主机中也有高速缓存。许多主机在启动时,从本地域名服务器下载名字和地址的全部数据库,维护存放自己最近使用的域名的高速缓存,并且只在从缓存中找不到名字时才使用域名服务器。
2、文件传送协议述FTP概述文件传输协议FTP(File Transfer Protocol)是互联网上使用得最广泛得文件传送协议。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
下面介绍基于TCP的FTP和基于UDP的简单文件传输协议TFTP,它们都是文件共享协议中的一大类,即复制整个文件,其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回原节点。
FTP的基本工作原理文件传输协议FTP只提供文件传送的一些基本服务,它使用TCP可靠的运输服务。FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
主进程的工作步骤如下:
1、打开21端口,使客户进程能够连接上;2、等待客户进程发出连接请求;3、启动从属进程处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可以创建其他一些子线程;4、回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发进行的
在进行文件传输的时候,FTP的客户和服务器之间要建立两个并行的TCP连接:“控制连接”和“数据连接”。控制连接在整个会话期间一直保持打开,FTP客户所发出的传送请求,通过控制连接发送给服务端的控制进程,但控制连接并不用来传送文件。实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP客户发来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务端的数据传送进程。
当客户端进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的数值端口21,同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传输连接。接着,服务器进程用自己传送数据的熟知端口20与客户进程所提供的端口号建立数据传送连接。由于FTP使用了两个不同的端口号,所以数据连接与控制链接而不会发生混乱。
简单文件传输协议TFTP简单文件传输协议TFTP(Trivial File Transfer Protocol)是一个很小且容易实现的文件传送协议。
TFTP使用UDP数据报,因此TFTP需要有自己的差错改正措施。TFTP只支持文件传输而不支持交互,也不对用户身份进行鉴别。
TFTP的主要优点:1、TFTP可用于UDP环境。例如:当需要将程序或者文件同时向许多机器下载时就往往需要使用TFTP;
2、TFTP代码所占内存比较小。
TFTP的主要特点:1、每次传送的数据报文中有512字节的数据,但最后一次可不足512字节;
2、数据报文按序编号,从1开始;
3、支持ASCII码或二进制传送;
4、可对文件进行读或写;
5、使用简单的首部。
3、远程终端协议TELNETTELNET是一个简单的远程终端协议。用户用TELNET就可以在其所在地登陆(TCP连接注册)到远地的另一台主机上,能够实现远程控制。TELNET又称为终端仿真协议。
TELNET也使用客户服务器模式。在本地系统运行TELNET客户进程,而在远地主机上运行TELNET服务器进程。和FTP的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。
TELNET定义了数据和命令应怎样通过互联网,这些定义就是所谓的网络虚拟终端NVT(Network Virtual Terminal)。
客户软件把用户的击键和命令转换成NVT格式,并送交服务器。服务器软件把收到的数据和命令从NVT格式转换成远地系统所需的格式。向用户返回数据时,服务器把远地系统的格式转换为NVT格式,本地客户再从NVT格式转换到本地系统所需的格式。
TELNET的选项协商(Option Negotiation)使TELNET客户和TELNET服务器可商定使用更多的终端功能,协商的双方是平等的。
作者:赫凯
,