Author: Codejoker 9/26/2009
DNSMAQS 是一款轻量级的,容易配置的DNS代理和DHCP服务软件,可以为一个小型的网络提供DNS服务(或者DHCP)服务. 本文将介绍如何把它移植到Android平台中.
1. 目的
a. 当实现Multi-PDP的时候, 手机中会存在多个虚拟网络设备(网卡)分别连接不同网络, 而不同的网络可能会有不同的DNS服务器. 因此需要一个单独的DNS代理, 来统一管理DNS查询.
b. 如果用手机做为WiFi的AP, 就需要手机通过DHCP服务来分配IP地址, 网关等网络参数.
c. AT&T测试要求手机提供比较完整的DNS缓存机制, 而Android平台只提供的机制很简单. 具体可以查看代码中的注释:
bionic/libc/netbsd/resolv/res_cache.c
It is only used to cache DNS answers for a maximum of CONFIG_SECONDS seconds
in order to reduce DNS traffic. It is not supposed to be a full DNS cache,
since we plan to implement that in the future in a dedicated process running
on the system.
Note that its design is kept simple very intentionally, i.e.: