在了解了 协议的基础内容后,我们来对它的 配置文件的相关内容进行一下了解。首先我们
来了解一下这方面的基础概念。然后再对它的应用进行一下分析。
名称
配置文件
描述
文件包括 的 的配置信息。
文件是一个普通格式的 码文档,它由内置的递归解析器解释。
文件可能会包含许多额外的 和空格、空行,它们的目的是让文件更容易阅读。其中的关键字对
大小写不敏感。注释语句可以放在任何位置(除了引号中)注释语句用开头,这一行结束时注释语句自
然结束。
文件包括一组语句,语句在一对大括号中,包含参数和声明。
参数语句说明如何做一件事(例如,租期是多长时间),或者是否做一件事情。例如,是否为未
知客户提供地址,或者给客户提供哪种参数例如,使用网关 。
声明用来描述网络的拓扑结构、网络上的客户,提供可以为客户端分配的地址,或者对某个客户端组应用
组()参数。在任何组参数中,所有的这些组参数必须比使用这些组参数的语句先出现。
网络声明包含多子网的网络(有些地方译为:超网,但超网太难理解了,这里叫“多子网网络”)和子网的
拓扑声明。对于子网的客户端被动态分配地址,子网声明中必须有一个 声明语句。对于静态分配的
地址,或者是已知客户的安装,每个客户端都必须使用一个 ! 声明语句。如果一个参数应用到一组声
明中,这些声明并不只与某个子网相关,可以定义一个“组参数”。
对每一个要服务的子网,每个 协议的服务器连接的子网,都必须有一个子网声明,用来告诉
如何处理那个子网上的地址。即使一个子网不需要分配任何地址,也需要一个子网声明。
一些物理网络上不只有一个 子网存在,例如,如果一个网络需要一个 " 位的子网,但是当业务发展使
总的节点数超过了 # 台,就需要增加一个 " 位的子网。这时,就增加了一个新的物理网络,这种情况下,
个网络的子网声明必须包含在一个“多子网网络声明(超级作用域)”中。
有些网络的客户端不只有一个子网,可能会为同一子网中一些客户端分配的一些参数与其它的客户端不同。
这样的用户可以使用 ! 语句来定义,一些参数也可以定义在“组参数”语句中,它被这些客户端共同调用。
对于需要根据不同情况获得不同地址的客户端,可能会使用“类声明($!! $%!)”和“条件声明
(%%$ $%!)”语句,这样可以根据客户端发送的信息来决定分配给客户端的参数。
当一个客户端启动时,服务器先查看是否有匹配客户端的 ! 语句,如果没有,再看是否有匹配的“类声
明($!! $%!)”语句,接着查看是否有“池 $&匹配,“子网 ! &匹配和“多子网网络(超级
作用域)! '(&匹配。(根据这些匹配,)将符合这个客户端的参数提供给它。每种参数都不
会被分析第 次,如果它们出现了 次或 次以上,那么会使用那个最精确出现的地方。
首先查找客户端是否有包含固定 地址的 ! 语句,这个地址要在客户端启动的那个子网中,或
者“多子网网络”中,如果没有对应的 ! 语句匹配,那就查找非固定地址的声明。
)
例如:
一个典型的 文件将会象下面这样:
1. globalparameters...
2. subnet204.254.239.0netmask255.255.255.224{