8.1.1 名字管理

我们通过前面章节的学习知道,通过IP地址,我们可以在Internet上要唯一地标识一台计算机。但是IP地址是一种数字化的表示方式,它并不方便人们的记忆。人们最熟悉的标识方式是通过符号化名字方式来标识一个对象。比如将某台计算机命名为badboy。

但是,要在Internet上用符号化的方式标识一台主机不是容易的事情,因为我们必须要保证每台计算机的名字都各不相同。因此,需要由一个权威的名字管理机构来进行名字的管理,这个机构就是网络信息中心NIC(Network Information Center)。

在最初的方案中,考虑了非等级的名字空间。其优点是简单而短小。但是,这种方案的缺点是不便于管理:

首先,名字冲突的可能性随网络规模的增加而增加;

其次,由于负责名字管理的机构也位于一个网点上,随着网络规模的增加,该网点的负载也会增加;

最后,名字和地址的关联可能随时发生变化,要动态地维护每个网点的名字映射表副本的一致性将会带来很大的开销,并且随网点数量的增加而增加。

由于上述原因,Internet上的名字空间采用了分级的名字管理机制,该机制将名字和地址之间的映射责任分布到Internet上,委托分布的名字空间管理机构管理部分的名字空间。因此,名字空间的划分定义为一种支持高效名字映射并保证名字分配自治控制的方法。

分级命名机制很像一些大组织的管理机制。名字空间在最高层进行划分,由指定的代理负责各分区中的名字。

分级分配名字的语法通常反映了负责分配名字的分级委托管理机构。例如,可以将名字空间描述为如下形式:local.site

此处site是由中心管理机构授权的网点名,local是由site网点控制的名字部分,“.”为分隔符。如果最高管理机构需要增加一个新网点X,则将X添加到有效的网点列表中,并委托网点X的管理机构负责管理所有以“.X”结尾的名字。

在分级名字空间中,管理机构可以在每级进行细分,直到每个分区足够小,以便进行管理。例如,我们可以将上述的名字的网点进行进一步的细分,分作若干个组group,于是可以得到新的名字:local.group.site

需要强调的是,在TCP/IP互联网中,分级的机器名字是根据组织的结构进行分配的,与物理网络互联的结构没有直接的关系。比如,一个建筑物中有唯一一个物理网络,但是分别被不同的管理域的主机使用;也可能一个管理域中的主机分别分布在物理位置不同的网络上。