一.概述<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

* TCP/IP协议栈分为四层:物理接口层、互连层、传输层和应用层。

* 在第一层,使用MAC地址(即:物理地址)来标识主机。

* 在第二层,使用IP地址(即:逻辑地址)来标识主机。

* 在第三层,使用端口号(Port)来标识第四层上的各种服务(如:WWW 服务、FTP服务、SMTP服务等)。

* 在第四层,使用名字(Name)来标识主机。

二.什么是“名字解析”?

* 用户坐在源计算机上,可以使用目标计算机的IP地址来直接访问目标计算机。

* 然而,在Internet上有上千万的主机和数不清的终端。在这种情况下,用户很难记住希望访问的所有计算机的IP地址。因此,直接使用目标计算机的IP地址来访问对方是不现实的。

* 如果为每个主机指定一个面向用户的、友好的、容易记忆的字符串(即:名字),那么用户便可以直接通过计算机的名字来访问对方。例如:用户可以使用[url]http://www.sina.com.cn[/url]来访问对方,这里的“[url]www.sina.com.cn[/url]”就是网络中的一台计算机的名字。

* 用户虽然知道目标计算机的名字,并希望利用目标计算机的名字来访问对方。但是,源计算机上的IP协议不能识别目标计算机的名字,它必须要获得目标计算机的IP地址,然后才能在数据包中封装对方的IP地址并把数据包发送给对方。然而,用户并不知道目标计算机的IP地址,他只知道目标计算机的名字。

* 为了解决上述矛盾,因此在网络中必须设置一种服务(功能),它能够帮助用户把目标计算机的名字翻译(转换)成目标计算机对应的IP地址,并把这个IP地址交给用户所在的源计算机。这样,源计算机便获得了对方的IP地址,然后就可以在数据包中封装目标计算机的IP地址并把数据包发送给对方。

* 所谓“名字解析”,就是指把目标计算机的名字翻译(转换)成目标计算机的IP地址的过程。

* 提供“名字解析”功能的服务,被称作“名字解析服务”。例如,DNS服务和WINS服务就是典型的名字解析服务。

三.计算机名字的类型

    全称域名(Full Qualified Domain NameFQDN

   * Internet上,用于标识网络中的计算机。

   * 由主机名和域名后缀组合而成。例如:“[url]www.sina.com.cn[/url]”的主机名为“www”,域名后缀为“sina.com.cn”。

NetBIOS

   * 由一个不超过15个字符的名称(由管理员手工设定),再加上一个用于标识服务的第16个字符(由系统自动添加)组成。

   * 在安装Windows操作系统的时候,必须由管理员设定。

   * 主要在Windows网络中使用。

四.查看计算机名称

1.查看全称域名(FQDN

  使用“Ipconfig”工具

* 开始→运行→cmd.exeipconfig /all查看“Host name”和“Primary DNS Suffix”项目中的内容。

使用“系统属性”

* 右键单击“我的电脑”→属性→在“计算机名”标题卡中点击“更改”→在“完整的计算机名称”中显示的即为该计算机的全称域名。

2.查看NetBIOS

  使用“Ipconfig”工具

* 开始→运行→cmd.exe→nbtstat –n

使用“系统属性”

* 右键单击“我的电脑”→属性→在“计算机名”标题卡中点击“更改”→点击“其它”→在“NetBIOS计算机”中显示的即为该计算机的NetBIOS名。

五.实现全称域名解析的方法

1DNS缓存

   * 所谓“DNS缓存”,是指计算机内存中的一部分空间,它临时存放了以前解析过的计算机的FQDNIP地址的映射记录。

   工作原理

* 当用户坐在源计算机上试图利用目标计算机的FQDN来访问对方时,需要把目标计算机的FQDN翻译为对应的IP地址。这时,源计算机总是先查询自己的DNS缓存,如果能够在本地的DNS缓存中直接查到目标计算机的IP地址,便直接把该IP地址封装在数据包中,并发送给对方。如果在DNS缓存中查找不到,则会尝试使用其它方法继续进行目标计算机的FQDN的解析。一旦利用其它方法解析到了目标计算机的IP地址,源计算机则会自动把解析到的该计算机的FQDNIP地址的映射记录临时存储在自己的DNS缓存中,供日后使用。

      * 在源计算机进行FQDN解析时,本地的DNS缓存总是首先被使用。只有当本地的DNS缓存无法解析时,才会使用其它方法。

   查看本地的DNS缓存

      * ipconfig /displaydns

   清空本地的DNS缓存

      * ipconfig /flushdns

2HOSTS文件

   * 由于DNS缓存是内存的一部分空间,所以当计算机关机后,DNS缓存中保存的记录会被清除。

   * 如果希望把一些重要的映射记录总是存在于DNS缓存中,那么可以把这些记录存放在本地计算机的特定路径中的HOSTS文件里。

   * HOSTS文件的名称中没有扩展名,它存放在:

%systemroot%\system32\drivers\etc\文件夹中。

   * HOSTS文件是一个文本文件,可以使用文本编辑器(如:记事本)编辑。

   * 计算机在开机时,本地HOSTS文件中的映射记录会自动被加载到DNS缓存中,不能被清除。

   * 如果希望清除某条记录,则可以在HOSTS文件中将其删除即可。

3DNS服务

   * 如果源计算机在本地的DNS缓存中不能成功解析,则可以把名字的解析请求送给提供DNS服务的DNS服务器,由DNS服务器替它进行解析,并把解析的结果交给源计算机。

六.实现NetBIOS名解析的方法

1NetBIOS缓存

   * 所谓“NetBIOS缓存”,是指计算机内存中的一部分空间,它临时存放了以前解析过的计算机的NetBIOS名到IP地址的映射记录。

   工作原理

* 当用户坐在源计算机上试图利用目标计算机的NetBIOS名来访问对方时,需要把目标计算机的NetBIOS名翻译为对应的IP地址。这时,源计算机总是先查询自己的NetBIOS缓存,如果能够在本地的NetBIOS缓存中直接查到目标计算机的IP地址,便直接把该IP地址封装在数据包中,并发送给对方。如果在NetBIOS缓存中查找不到,则会尝试使用其它方法继续进行目标计算机的NetBIOS名的解析。一旦利用其它方法解析到了目标计算机的IP地址,源计算机则会自动把解析到的该计算机的NetBIOS名到IP地址的映射记录临时存储在自己的NetBIOS缓存中,供日后使用。

      * 在源计算机进行NetBIOS名字解析时,本地的NetBIOS缓存总是首先被使用。只有当本地的NetBIOS缓存无法解析时,才会使用其它方法。

   查看本地的NetBIOS缓存

      * nbtstat -c

   清空本地的DNS缓存

      * nbtstat -R

2WINS服务

   * 如果源计算机在本地的NetBIOS缓存中不能成功解析,则可以把名字的解析请求送给提供WINS服务的WINS服务器,由NS服务器替它进行解析,并把解析的结果交给源计算机。

3.本地广播

   * 如果源计算机在本地的NetBIOS缓存中不能成功解析,则可以把名字的解析请求广播出去,如果目标计算机与它在同一个子网中,那么该计算机会把自己的IP地址作为应答交给源计算机。这样,源计算机就通过本地广播的方法解析到了目标计算机的IP地址。

   * 由于广播不能跨过路由器,所以如果目标计算机与源计算机不在同一个局域网中,那么源计算机将无法利用本地广播的方法解析目标计算机的IP地址。

   * 由于DNS缓存是内存的一部分空间,所以当计算机关机后,DNS缓存中保存的记录会被清除。

   * 如果希望把一些重要的映射记录总是存在于DNS缓存中,那么可以把这些记录存放在本地计算机的特定路径中的HOSTS文件里。

4Lmhosts文件

* Lmhosts文件的名称中没有扩展名,它存放在:

%systemroot%\system32\drivers\etc\文件夹中。

   * Lmhosts文件是一个文本文件,可以使用文本编辑器(如:记事本)编辑。

   * 如果在Lmhosts文件中手工添加一些计算机的NetBIOS名到IP地址的映射记录,那么当其它解析方法无效时,源计算机可以通过查询本地的Lmhosts文件,再进行名字解析的尝试。