DNS for the Next Generation: BIND 10 Platform

BIND 9 development began in 1998. In that same year, Internet came through a 56k modem, Yahoo! Mail was less than a year old, Google was founded with 18 server computers in a garage, and Internet Explorer overtook Netscape in browser share for the first time. In the last fifteen years, the world has experienced extraordinary technological progress, not the least of which occurred in Internet operations, software engineering, and computer architecture, all in addition to evolving user expectations. Today, BIND 9′s core architecture often encounters requirements that were beyond imagination in 1998. In 2009, after extensive planning, we began developing a solution under the name BIND 10–but somewhere along the way, we realized we were building something far more.

ISC’s Fast Name Platform, or  the BIND 10 Platform, has been built from the ground up with modularity and flexibility in mind. Designed to take advantage of today’s multiprocessor CPUs, the BIND 10 Platform serves as a foundation for self-contained modules, each of which has been built for one purpose. ISC has developed a module that provides BIND authoritative server functionality–currently in production release–with several more on the way, including a DHCP server, a BIND recursive resolver, and a powerful suite of monitoring tools. In addition, each module can be further enhanced with plugins that integrate through the BIND 10 Platform’s API. This customizability provides a degree of flexibility that allows the BIND 10 Platform to adapt to any network environment: if you don’t need an authoritative server, you’re not forced to download that module. The BIND 10 Platform is exactly what you need, wherever you may need it.

What is BIND 10 Platform?

BIND 10 Platform’s architecture was designed to be modular from the beginning, at various levels. The platform level, the Core, provides an abstraction layer into which any number of specialized services, or Modules, can be attached. BIND 10 Platform’s structure provides the stability and flexibility to choose what the system should be running; for example, network and system administrators can now select one or more recursive or authoritative nameserver modules to provide tailored services to their network. The core concentrates on:

Modularity

Utilizing clearly defined points at which to interface with the backbone of critical Infrastructure software, allowing (for instance) the selection of a variety of back-ends for data storage, be it the current in-memory database, a traditional SQL-based server, an embedded database engine or back-ends for specific applications such as a high performance, pre-compiled answer database.

Customizability

The ability to select what is included in a given binary build, e.g. the selection of caching-only or authoritative-only functionality. This enables the generation of lighter-footprint BIND images suitable for embedded or mobile applications.

Clusterization

Run on multiple but related systems simultaneously, using pluggable, open source architecture to enable backbone communications between individual members of the cluster. These coordination services enables a server farm to maintain consistency and coherence.

Customer Workflow Integration

ISC recognizes that flat text configuration and data files, while adequate for most purposes, are not a very flexible way of integrating with the ever more sophisticated back-end systems that customers use for process management. The core platform must provide new forms of interaction with (and interfaces to) monitoring and configuration environments. This ability for workflow integration would enable, for example, closer coupling between BIND and DHCP without the need to combine them into a single service or server.

Resilience

BIND 9, like most services of its era, responds to many errors by logging and exiting. This has the potential to turn minor problems into Denial of Service attacks. We believe that it will usually be possible for BIND 10 to reset itself and continue operation, but it will require both careful design and careful testing to ensure that reset-and-continue is the usual response to attacks.

Runtime Control

BIND 9 reconfigures itself by re-reading its configuration file. Primitive control has been possible with the rndc program. Today’s operational environments require a faster, more interactive, and finer-grained approach to configuration and operational changes. BIND 10 Platform will have much more sophisticated and interactive runtime monitoring and control available through its Configuration Manager module.

Resources and Support

Mailing List

ISC hosts a mailing list dedicated to users using BIND 10 or BIND 10 Platform. You can join the conversation through our list: bind10-users@isc.org

Donate to ISC

ISC developed and maintains BIND 10 Platform. Our ability to maintain this software and be actively involved in furthering core Internet protocols is directly dependent on community subsidy and participation. Please consider supporting us by visiting ISC’s Donations page.