Blog entries for "BIND 10"

BIND 10 & DHCP

BIND 10

BIND 10 is the next generation version of BIND, ISC's DNS server. We have a long list of ways that we wanted to improve on BIND 9, including scalability, reliability, modularity, extensibility, and usability. The project to build BIND 10 has been active for the past 2 years, and now has a usable (though not yet production ready) server.

ISC DHCP

DNS forwarders

Recently, at a BIND 10 Face to face meeting, we scheduled a short slot of time to discuss the features of a DNS forwarder. As part of the development process of the BIND 10 recursive resolver, we initially implemented a basic forwarder. As we added actual recursive resolver features, the original 'forwarding' mode was left in, and got some of the features that were added for the 'resolving' mode, mostly on an ad-hoc basis.

Why SQLite3?

There have been some questions about why BIND 10's first milestone release only supports SQLite3 for storing zone information. I hope I can answer some of the questions by explaining how and why we came to this decision.

Part of the decision was a simple matter of time. We knew we would only have resources to implement a single data store. We ended up implementing two, but one is a trivial one: authors.bind and other static zone content.

That explains why we chose to implement only one, but why was it SQLite3?

BIND 10: The First Year

We have nearly reached the end of the first year of the BIND 10 project. To celebrate this, we are releasing the first version of BIND 10.

BIND 10 and Unit Testing

The past few months, the BIND 10 developers have been using a test-driven development model. As classes and functions are coded, corresponding unit tests are also coded to help verify the routines do what is expected -- with good or bad input providing correct results. Sometimes the unit tests are written before the new code or the tests are written soon after.

BIND 10 Face to Face Meeting

During the last week of October, the BIND 10 team got together in ISC's offices to work in the same room for an entire week.  Besides a lot of discussions where we could make use of the high bandwidth of having everybody together in the same room, there were coding sessions. The goal for the week: get something running.  What exactly hadn't been specified in advance yet, and that was the topic of the first discussion.

Software Robustness and BIND 10

Introduction

We have been discussing exceptions on the BIND 10 developers mailing list. Exceptions are a technique used by most modern programming languages that allow you to alter the normal flow of programs in unusual cases.

My hope is that exceptions can be part of a larger strategy for increasing the robustness of BIND 10. I gave a talk about this at the T-DOSE conference in Eindhoven, the Netherlands, recently -- this post is a summary of those ideas.

BIND 10 The Story So Far...

BIND 10 is, briefly, a re-design and re-write of BIND 9. BIND 9 is itself a re-design and re-write of BIND 8. BIND 9 is by far the most widely used DNS server on the Internet (one estimate is something like 80% of DNS servers). For ISC, and I think for the DNS community, BIND 10 is going to be a Big Deal.