BBS水木清华站∶精华区
发信人: chen@cc.nctu.edu.tw (C.S.Chen), 看板: UNIX
标 题: [DNS/bind] Lame Server ? (理论篇 )
发信站: National Chiao-Tung University, Taiwan (Sun Mar 30 20:12:53 1997)
转信站: sobee!netnews.ntu!news.mcu!news.cs.nthu!news.cis.nctu!news-peer.nctu!n
DNS/bind-4.9.x Lame Server 讯息所代表的意义 ( 理论篇 )
===========================================
What is lame server (DNS) ?
有许多管理 DNS 系统的管理者, 常会遇到, 或看到这类的名词.
究竟,
1) 什麽是 Lame Server ? ( "跛脚的" server !)
2) 为什麽会产生 Lame server ?
3) Lame Server 有什麽不良影响 ?
Lame server, 主要的不良影响, 就是造成不必要的 DNS traffic, 浪费 client
program 和居中的 DNS servers 的 CPU cycles, 浪费使用者的时间...
简单地说, 会形成 Lame server 的条件是,
a) NS delegation ( 被授权 )
b) not authoritative. ( 没有该 domain zone 全部的资料 )
* 也就是,
a) 该 host 没有跑 named 程式 (or equivalent DNS server)
b) 该 host 有跑 DNS server 程式, 但是起始设定档
/etc/named.boot (or equivalent)
没有对应的 primary or secondary 设定行.
====================================================================
所谓的 lame server, 就是, 理论上, 一个 domain zone, 由某个 DNS host
参与负责(可能还有其它的负责 host), 但是如果你问它一个理论上, 属於该
domain zone 的问题, 这个 host 却回答不出.
==> 此时, 这个 host 就形成 lame server.
因此, 如果是一个 authoritative server, 底下两类情况, 都要能回答:
(以 NCTU.edu.tw 这个 domain zone 为例 )
a) postive example: (事实存在, authoritative answer )
- netnews.NCTU.edu.tw
cf. non-authoritative, caching answer
通常这一部份, 很容易让人混淆.
- authoritative answer 的 TTL 值, 不会变.
- caching answer 的 TTL 值, 会递减, 一直到零. ( zero) 如再被问到,
会再到 authoritative DNS host 去问一次, 整个 caching cycle 再
重来...
b) negative example (不存在的 domain zone)
- tst.NCTU.edu.tw
只有 authoritative server 才有全部的 domain zone 的 data, 因此才能
判定一个错误, 不存在的 domain name. ( semantic error )
而 caching server 通常只有, 某个 domain zone 的部份 data, 对於
某个看来, 语法正确的的 data, 但却不在 caching 中的资料, 只能假定
它是对的, 只是刚好不在, 必须再到该 authoritative DNS host 去问.
-- 因此, 通常无法判定, 除非对该 entry, 刚好有 negative caching.
====================================================================
如果, 真得要更清楚了解, 为什麽会形成 Lame server 意义. 首先, 必须从 DNS
系统的授权运作了解起.
DNS 是一个分散式的阶层式管理系统, 这个系统运作, 奠基在两个重要观念.
a) domain zone 的授权. ( NS delegation )
b) domain zone 的负责单位 DNS servers, 准备原始资料 ( authoritative data )
举例而言,
-- 最顶层的 root domain name server ( a.root-servers.net 等十来个), 将
tw domain zone 授权给 moevax.edu.tw 等 6 个 DNS server 管理.
==> 因此, Internet 上其它的 DNS servers 要找做 domain name 中最右边,
是 tw 者, 必先 contact 这六者之一.
-- tw domain zone 的管理者, 将 com.tw 授权交由 {aladdin.iii.org.tw} 和
{moevax.edu.tw} 两者管理.
==> 因此, Internet 上其它的 DNS servers 要找做 domain name 中最右边,
是 com.tw 者, 上列的六个 {tw} DNS servers 会告诉它们去问这两个
其中之一.
.....
===============================================================
至於 DNS 系统上 domain zone 的授权 ( NS delegation), 更有两处.
1) parent zone 授权给 child zone 的 DNS servers.
--e.g. EDU.tw 的 NS (moevax.edu.tw) 将 NCTU.EDU.tw 授权给
{ns.NCTU.edu.tw,ns2.NCTU.edu.tw,NCTU.edu.tw} 三个 DNS host 负责.
-- 这□所谓的授权, 就是管理权, 由此转出去, 不再干预.
例如, 目前如果在 moevax.edu.tw 定义 tst.NCTU.edu.tw 是无效的,
(除非将 NCTU.edu.tw 的三组 NS records 取消)
因为 domain zone "NCTU.edu.tw " 的管理权已经, 授权给 ns.NCTU.edu.tw
等三个 DNS hosts.
2) 某个 domain zone 的 primary DNS host, 将该 domain zone 授权给
其它 secondary host.
-- a) EDU.tw :
primary - moevax.edu.tw
secondary - moesun.edu.tw
-- b) NCTU.EDU.tw:
primary - ns.NCTU.edu.tw
secondary - ns2.NCTU.edu.tw, NCTU.edu.tw
=====================================================================
就功能上而言, 某个 domain zone 的 primary/secondary, 从其它站的 DNS
server/client 来看, 完全一样. 都是该 domain zone 的 authoritative server.
那麽一个 domain zone 的 primary/secondary 究竟有何不同 ? 可以分辨的出 ?
a) 一个 domain zone 一定有一个唯一的 primary host. (one and only one)
b) 一个 domain zone 得有一个以上的 secondary host (maybe none)
* 根据 Internet 惯例, 一个 domain zone 应该有一个以上的 secondary
DNS host. 国内, 过去在这一方面, 似乎没有要求. 因此, 许多单位
一个 secondary host 都没有. 这样子, reliability and performance
实在堪虑.
c) 一个 domain zone 的 primary host 负责准备原始资料. 而 secondary
则从 primary, 将该 domain zone 的资料, 全部 mirror 过来.
Note: 关於 primary/secondary host 的说明
========================================================
server A - primary host for domain zone-1, domain zone-2
secondary host for domain zone-3
server B - secondary host for domain zone-1
primary host for domain-3
server C - secondary host for domain zone-2, zone-3
1) A 到 B 取 domain zone-3 的资料,
2) B 到 A 取 domain zone-1
3) C 到 A 取 domain zone-2 的资料, C 到 B 取 domain zone-3 的资料
□ d) 唯一可能分辨的, 理论上只有 该 domain zone 的 SOA 记录.
origin 这一栏, 应该要填该 domain zone 的 primary host.
-- 但是, 如果填错了, 就看不出来了.
Script started on Sun Mar 30 19:17:21 1997
netnews% 21:>nslookup
Default Server: ns.NCTU.edu.tw
Address: 140.113.250.135
> set type=soa
> nctu.edu.tw.
Server: ns.NCTU.edu.tw
Address: 140.113.250.135
nctu.edu.tw
origin = ns.nctu.edu.tw
mail addr = hostmaster.nctu.edu.tw
serial = 1997032700
refresh = 86400 (1 day)
retry = 1800 (30 mins)
expire = 1728000 (20 days)
minimum ttl = 259200 (3 days)
nctu.edu.tw nameserver = ns.nctu.edu.tw
nctu.edu.tw nameserver = ns2.nctu.edu.tw
nctu.edu.tw nameserver = nctu.edu.tw
ns.nctu.edu.tw internet address = 140.113.250.135
ns2.nctu.edu.tw internet address = 140.113.6.2
nctu.edu.tw internet address = 140.113.1.1
> netnews% 22:>exit
exit
script done on Sun Mar 30 19:17:42 1997
--
Joe. C.S.Chen, chen@cc.nctu.edu.tw
******* Knowledge is of two kinds. We know a subject ourselves, ********
or we know where we can find information upon it.
BBS水木清华站∶精华区