中文网站
  Advanced Search
Read the latest Blogs from IT professionals in the field. Read and write community created documents. Need IT help? Ask our staff. Connect with your peers. Check our Tech Shop for posters, books and software tools. Home

5.3.7 The 'Trick or Treat' DNS-ALG

The 'Trick or Treat' DNS-ALG called 'totd' is a lightweight DNS proxy (not a full DNS server); it does not recursively resolve queries itself. It is lightweight in that it consists of less than 5000 lines of C code. It has been downloaded over a 100 times per month from its main ftp server alone (it is also distributed with various open source operating systems) for several years now, so we believe that it is in fairly widespread use. We have received just a few bug reports from users and believe we fixed these bugs in the latest version while adding little new code. We believe therefore that the totd code is fairly well tested and quite stable.

The "totd" DNS-ALG has been developed as part of the 6NET project in order to be used in conjunction with transition mechanisms that require or benefit from special support from DNS. In addition, it has been used to test DNS-related ideas proposed in the IPv6 working groups of the IETF, and act as proof-of-concept implementation for these. Such proof-of-concept code is not compiled in by default in the latest version of the totd proxy. Here, we describe the stable core functionality of totd that is related to IPv6 transitioning.

The "totd" DNS-ALG is a proxy that forwards queries to one or more real nameservers that will recursively resolve queries. Such nameservers are called forwarders in totd terminology. If there are multiple forwarders specified, it will try them in the order listed. As a proxy, totd sits between client resolvers and real forwarder nameservers and as such receives requests from clients which totd normally forwards to a real nameserver to resolve. When it subsequently receives a response from the nameserver it simply forwards it back to the client. Such DNS proxy functionality with transport support for both IPv4 and IPv6 is already quite useful. However, the main reason for totd’s existence is its ability to perform translation tricks on the DNS queries and responses that it forwards.