A system, method and computer program product is provided for caching
domain name system (DNS) information on a network gateway. In particular,
a network gateway that interfaces one or more customer premises equipment
(CPE) devices to an IP network maintains a centralized on-board cache for
storing domain names and corresponding IP addresses. The domain names and
IP addresses in the cache are used by the network gateway to resolve DNS
queries generated by application programs running on the CPE devices in a
manner that is transparent to the CPE devices and that does not expend
CPE resources. The cache may be initially loaded by an attached CPE or an
external network entity and is continuously populated with information
extracted from DNS messages exchanged between a CPE device and the
external IP network.