lwresd

しらなかった
windowsみたいなローカルキャッシュな働きするんだね
使えるアプリケーションがどのくらいあるのか気になる

ソースを

#include <lwres/lwres.h>
#include <lwres/netdb.h>
gcc -llwres 。。。

で使えるみたいってのは見つけたので実験

#こんぱいる

% cc -O -pipe -march=pentiumpro -DIPSEC -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -c lwping.c
% cc -O -pipe -march=pentiumpro -DIPSEC -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized  -o lwping lwping.o -lm -llwres -lipsec

% ldd ./lwping
lwping:
        libm.so.3 => /lib/libm.so.3 (0x2807d000)
        liblwres.so.3 => /usr/lib/liblwres.so.3 (0x28099000)
        libipsec.so.1 => /lib/libipsec.so.1 (0x280a9000)
        libc.so.5 => /lib/libc.so.5 (0x280b0000)
        libpthread.so.1 => /usr/lib/libpthread.so.1 (0x2819e000)

% ./lwping www.yahoo.com
lwping: cannot resolve www.yahoo.com: Unknown server error

つかえない→正解

#でーもん起動

% lwresd
	lwresd[5453]: starting BIND 9.3.3
	lwresd[5453]: none:0: open: /etc/namedb/lwresd.conf: file not found
	lwresd[5453]: couldn't add command channel 127.0.0.1#953: address in use
	lwresd[5453]: command channel listening on ::1#953
	lwresd[5453]: lwres listening on 127.0.0.1#921
	lwresd[5453]: running

% time repeat 3 ./lwping -c 1 www.yahoo.com
0.000u 0.009s 0:00.14 0.0%      0+0k 0+0io 0pf+0w
0.000u 0.039s 0:00.43 6.9%      296+2258k 0+0io 0pf+0w

% time repeat 3 /sbin/ping -c 1 www.yahoo.com
0.000u 0.010s 0:00.20 5.0%      20+200k 0+0io 0pf+0w
0.000u 0.044s 0:00.52 7.6%      219+1698k 0+0io 1pf+0w

localhostあては3回

IP localhost.58240 > localhost.921: lwres getaddrsbyname? IPv4 www.yahoo.com
IP localhost.921 > localhost.58240: lwres getaddrsbyname 1/1 www.yahoo-ht3.akadns.net[|lwres]
IP localhost.63487 > localhost.921: lwres getaddrsbyname? IPv4 www.yahoo.com
IP localhost.921 > localhost.63487: lwres getaddrsbyname 1/1 www.yahoo-ht3.akadns.net[|lwres]
IP localhost.51582 > localhost.921: lwres getaddrsbyname? IPv4 www.yahoo.com
IP localhost.921 > localhost.51582: lwres getaddrsbyname 1/1 www.yahoo-ht3.akadns.net[|lwres]

53で出て行くのは1回

IP host.example.jp.59823 > dns6.example.ad.jp.domain: 34835+% [1au] A? www.yahoo-ht3.akadns.net. (53)
 IP dns6.example.ad.jp.domain > host.example.jp.59823: 34835 1/0/1 A[|domain]

ふーん