|
Before the Internet. Before there was an Internet, before there was a Domain Name System, before there was Nominum, computers that were connected to ARPAnet – the Internet’s precursor – found each other by looking up entries in a file called “hosts.txt”. Whenever a new computer was connected to the network, its name and IP address had to be added to the master copy of this “hosts” file, which was then downloaded by each administrator of a computer on the network. Distributing updated “hosts” files ran into scalability problems by the time there were a few hundred computers on the Internet. At the University of Southern California’s Information Sciences Institute, Paul Mockapetris had just finished designing and implementing the SMTP protocol for email, which allowed email to be sent between different kinds of computers. Paul and Jon Postel saw the need for a globally distributed database of human-readable names and IP addresses. Paul thought this database should hold email addresses as well, so he decided it had to scale up to handle much larger problems than keeping track of the few hundred computers that made up the early Internet. The origins of DNS Paul Mockapetris invented the Domain Name System in 1983. He designed the architecture that is still in use today, wrote the specifications, and coded the first implementation, called “Jeeves”, which ran on the TOPS-20 operating system. The first DNS lookups ever occurred in 1983. Paul also coordinated the three original “root servers” at ISI and SRI for all Internet names. Today the Internet’s root servers are operated by a dozen independent organizations. Nominum provides operational consulting assistance to two of the root server operators. After the formal creation of the Internet Engineering Task Force (IETF) in 1986, DNS became one of the original Internet Standards. Paul chaired several IETF working groups, for both DNS and non-DNS standards, and was Chair of the IETF as a whole from 1994 to 1996. Today, Paul Mockapetris is Chief Scientist for Nominum, driving the future of IP addressing. The beginnings of BIND At the same time that Paul Mockapetris was inventing DNS, at UC Berkeley a team of graduate students led by Bill Joy was developing a version of UNIX for VAX computers. Berkeley UNIX was designed to work with IP networks from the start. When they learned about DNS, the Berkeley group knew they needed it. Four graduate students wrote a UNIX implementation of DNS called BIND, for Berkeley Internet Domain system. When Berkeley UNIX became the basis of UNIX products from Sun Microsystems, Digital Equipment Corporation, IBM, and other system vendors, BIND version 4 became the ubiquitous version of DNS enabling the early growth of the Internet. By the mid 90s, the on-going maintenance of BIND (up to BIND version 8 by then) had become difficult to manage. A DEC employee named Paul Vixie volunteered to help. Paul formed the Internet Software Consortium (ISC), funded with grants and donations from UUNET and the UNIX system vendors, to ensure future development of open source distributions of BIND and DHCP. Later, Paul Vixie helped Nominum get started. The dawn of DHCP In the late 80s, Sun developed diskless UNIX workstations, and invented a protocol to allow a computer to get all of the information it needed to start up, or “boot”, from a central database. The protocol was called BOOTP. Problems with BOOTP were almost immediately apparent, although it is still in use. In 1989, Ralph Droms wrote the specifications for a replacement for BOOTP, called the Dynamic Host Configuration Protocol – DHCP. DHCP allows a computer to get a wide range of configuration information from a central database, radically simplifying the administrative effort to install a computer on a network. Ted Lemon coded the first widely used implementation of DHCP. With Ralph Droms, Ted co-authored The DHCP Handbook, the definitive source for information about DHCP. Today, Ted Lemon works at Nominum as a principal software architect. Nominum believes that DNS and DHCP are two sides of the same coin, two facets of IP address infrastructure, and DNS and DHCP servers should be designed to work together. Needed – a new BIND The ISC asked David Conrad to oversee the development of a completely new version of BIND – BIND version 9. BIND 8 had fallen behind the standardization progress of the IETF, particularly in the area of security, and was also suffering from poor reliability, due to constant maintenance by many people. David was a good choice to organize this effort, as he had previously founded APNIC. APNIC is the organization responsible for allocating IP addresses for the Asia Pacific region, in the same way that RIPE-NCC allocates IP addresses for Europe and Northern Africa, and ARIN allocates them for North America, parts of the Caribbean, and Southern Africa, and LACNIC allocates them for South America and parts of the Caribbean. All IP addresses in the universe are given out by either APNIC, RIPE-NCC, ARIN or LACNIC. Incidentally, David Conrad is also a member of the ARIN Board. Nominum’s early days David Conrad founded Nominum in 1999 to develop BIND 9 and a new version of open source DHCP, under contract to the ISC, and to provide commercial-grade support for these open source implementations. Today, David is Chief Technology Officer for Nominum. BIND 9 was developed according to the latest IETF standards and the engineering specifications set by ISC. Nominum completed the development of BIND 9 and ISC DHCP 3, and delivered them to ISC for distribution to the Internet community. The company organized itself to sell training, consulting, and commercial-grade support on these open source implementations, as other open source software companies have done. Another source of revenue for Nominum was providing custom software development for improved DNS security to the US Department of Defense. Nominum’s corporate consulting customers regularly asked for functionality that was not in BIND or ISC DHCP, and that would require architectural changes to add to those implementations. The world’s largest enterprises demanded new levels of reliability, security, and scalability from their DNS and DHCP servers. They also taught Nominum which advanced features were needed to apply IP address technology to new uses – uses that expanded the range of data to be stored in DNS and DHCP databases. GNS – Nominum’s DNS hosting solution In 2000, Nominum became a managed service provider by offering a DNS hosting service, called Global Name Service (GNS). Ironically, Nominum discovered that BIND was not the best implementation of DNS for a large-volume service provider. The Nominum team saw the inherent performance and availability limitations of the BIND architecture, and developed a completely new implementation of DNS, not based on BIND, and dedicated solely to being an authoritative name server. The GNS service, and the affiliated Secondary.com web site, hosted thousands of customers, including top-level domains such as .info, Ireland (.ie), Norway (.no), Luxembourg (.lu), and the special in-addr.arpa domain. In its lifetime, GNS served over 50 billion queries, and delivered 100% DNS uptime over a 12-month period. Many service providers strive to provide 99.999% uptime (“five nines”), which allows them 5 minutes of downtime per year. GNS had zero seconds of downtime in a year. Nominum re-invents itself In 2002, Nominum changed its business model. Responsibility for maintaining BIND 9 and ISC DHCP reverted completely to ISC, although Nominum continues to provide updates to these open source implementations as appropriate. The company exited the managed service provider market, selling the GNS hosting customer base to UltraDNS. Chris Risley, Nominum’s CEO, said “This sale follows a strategic decision by Nominum to exit the outsourced management business and concentrate on developing a new generation of enterprise software products for DNS and DHCP. The sale enables Nominum to focus on delivering our best-in-class technology for IP address infrastructure in the form of commercially-licensed software.” The dedicated authoritative name server that had powered GNS became Nominum’s Foundation ANS commercial product. To complement this dedicated authoritative name server, Nominum wrote a dedicated caching name server, not based on BIND, called Foundation CNS. Foundation CNS is the fastest caching name server available. Nominum also developed Foundation Dynamic Configuration Server (DCS), a carrier-class server for DHCP. Foundation DCS scales up to millions of “leases” (as concurrent users are called in the DHCP specification), and can re-start in a few seconds, no matter how many leases are in the database. For broadband and wireless service providers, and for enterprises with industrial IP networks, fast re-start times can make the difference between profit and loss. Nominum has also developed the Nominum DNS Response Validator (DRV), which protects applications that use DNS from serious security vulnerabilities recently announced by CERT. Nominum’s future Nominum has an unmatched technical heritage. The people who pioneered DNS and DHCP have joined together to take IP address infrastructure software to a new level. Nominum is driving the future of IP addressing. |