Internet Initiative Japan Inc. · TSE:3774
Internet Initiative Japan — Internet Systems Consortium — Technical Presentation (December 2012)
25 slides from Internet Initiative Japan's technical presentation, Dec 19, 2012
Slide 1: BIND 10: To Beta… and Beyond!
BIND 10: To Beta… and Beyond! Larissa Shapiro Shane Kerr Internet Systems Consortium December 19, 2012 Copyright (c) 2012 Internet Systems Consortium www.isc.org 1
Slide 2: Agenda
Agenda • Logistics • Introduction: why BIND 10? • What is awesome about BIND 10 • What is in the beta? • What to keep in mind when considering an upgrade • Future of BIND 9 and BIND 9 to BIND 10 • How do I get started? • Additional resources and upcoming events • Q&A Copyright (c) 2012 Internet Syst
Slide 3: Logistics
Logistics • Webinar will run for 1 hour. • All participants are automatically muted upon entry. • Today’s webinar is being recorded and will be posted on http://www.isc.org/webinars within 3 business days. • Questions about logistics or webinar content? Type them into the Q&A area for the host or pr
Slide 4: Why BIND 10?
Why BIND 10? • BIND 9 is more than 10 years old • The computing world has changed – Multi-core machines, massive RAM, … • The networking world has changed – Fiber everywhere, mobile devices, … • DNS software “marketplace” has evolved – Special-purpose servers, new ideas • An architecture for the nex
Slide 5: What Makes BIND 10 Special?
What Makes BIND 10 Special? • Customizable – Both “out of the box” and bespoke – Full run-time control (no restarts) • Scalable • Reliable – Well-tested – Resilient to failures and software errors • Re-usable – Well-defined APIs and libraries Copyright (c) 2012 Internet Systems Consortium www.isc.or
Slide 6: Cool BIND 10 Technologies
Cool BIND 10 Technologies • Cooperating processes – Helps customization, scaling, … • Generic data sources – SQLite and in-memory now, more later – In-memory slightly faster, much more compact than BIND 9 • Full run-time configuration – New modules can use easily – RESTful HTTP/SSL interface • Best
Slide 7: Current Status 1/2
Current Status 1/2 • Working DNS server – In-production AS112 server – Several small production users • DNS libraries for C++ or Python – Same as used by BIND 10 itself • Beta release THURSDAY – Production-ready for authoritative Copyright (c) 2012 Internet Systems Consortium www.isc.org 7
Slide 8: Current Status 2/2
Current Status 2/2 • Resolver work resuming this winter – Performance – Query traceability – Performance – DNSSEC validation – Performance • Tentative plans (subject to change): http://bind10.isc.org/wiki/ResolverPlan2013 Copyright (c) 2012 Internet Systems Consortium www.isc.org 8
Slide 9: What Is In the Beta?
What Is In the Beta? • Base BIND 10 – boss / msgq / cfgmgr – bindctl / cmdctl – stats – isc-sysinfo • Authoritative server – DNSSEC support (NSEC, NSEC3) – AXFR/IXFR as master and/or slave – DDNS • DNS Libraries Copyright (c) 2012 Internet Systems Consortium www.isc.org 9
Slide 10: Installing the Beta
Installing the Beta • Installing BIND 10 Beta is non-trivial – Relatively high number of dependencies - Python 3, Boost, Botan, ... – Working to get these as OS packages • System specific install guides • http://bind10.isc.org/wiki/SystemSpecificNotes • Don't bang your head against a wall! – Try BIN
Slide 11: Using the Beta
Using the Beta • By default no DNS service started – Admin choice what to run – You'll probably want the auth module! • By default auth module uses SQLite – Reasonable if you have 10's or 100's q/sec – Nice if you have 1000's of zones – Can load from zone files using b10-loadzone Copyright (c) 2012
Slide 12: Using the Beta
Using the Beta • In-memory data source available – Can load from zone file or SQLite – Slightly faster than BIND 9 – Uses much less memory (single core) • Can run as a master – Requires auth too (full auth for now) – Supports AXFR, IXFR, TSIG – Sends NOTIFY – Only from SQLite for now Copyright (c) 2
Slide 13: Using the Beta
Using the Beta • Can run as a slave – Supports AXFR, IXFR, TSIG – Default AXFR, can configure IXFR • Supports Dynamic DNS (DDNS) – Separate module – Only on SQLite for now • Fun stuff to try – Changing logging configuration – Looking at stats with a browser – Killing a BIND 10 process Copyright (c)
Slide 14: BIND 10 and Quality Assurance
BIND 10 and Quality Assurance Code review policy for all committed changes http://bind10.isc.org/wiki/CodeReviewProcedure Use various static code analysis • cppcheck • Full warnings treated as errors for gcc, Clang, Sunstudio • Clang static analysis • Working with Coverity to get BIND 10 project che
Slide 15: BIND 10 and Quality Assurance
BIND 10 and Quality Assurance Test-Driven Development (TDD) • High percentage of unit test coverage • > 90% of Python and >85% of C++ http://bind10.isc.org/wiki/TestCodeCoverage • System tests also used • Lettuce test framework (similar to Ruby Cucumber) • Coverage not as comprehensive, but being ex
Slide 16: Things to Keep in Mind when Migrating
Things to Keep in Mind when Migrating • BIND 10 is beta! – Probability of bugs – Things may be weird... let us know • BIND 9 to BIND 10 migration manual – Will be automated in the future • Tons of missing BIND 9 features • DNSSEC (re-)signing missing – Also inline signing Copyright (c) 2012 Internet
Slide 17: BIND and DHCP
BIND 10 and DHCP • ISC DHCP is being re-implemented using BIND 10’s architectural platform • Modular dhcp server client and relay • First class IPv6 support • high performance • “hooks” mechanism built in from the beginning • Additional goal of embedded-friendly dhcp versions Copyright (c) 2012 Inte
Slide 18: DHCP Schedule
DHCP Schedule • First year of work completed with skeleton server • Aggressive 2012 schedule to try to get a production ready server within a year Code will be ready for general use and a public beta in summer 2013. Project details, code, tickets and more at: bind10.isc.org Copyright (c) 2012 Intern
Slide 19: BIND 9 – 10 Co-existence
BIND 9 – 10 Co-existence • Period of multiple options • Two substantially different architectures • Transitional tools planned • No official BIND 9 EoL date yet • Modular development model may allow innovation in BIND10 modules to be shared with BIND9 deployment for a time Copyright (c) 2012 Interne
Slide 20: And, What About BIND 9.9?
And, What About BIND 9.9? 〉 Released February 2012 • Current version 9.9.2 • 9.9.2 in September (stabilizing update) • 9.9.3 performance improvements (January 2013) • 9.9.4 (Q2 2013) designated ESV 〉 For current status of all versions see isc.org/software/bind/versions 20 Copyright (c) 2012 Internet
Slide 21: Future of BIND 9 and ISC DHCP?
Future of BIND 9 and ISC DHCP? • BIND 9.10 is scheduled for next summer • After that, feature development focus is moving to BIND 10 for both BIND and ISC DHCP in 2013 • That said, there is no current planned EoL date for these projects. Copyright (c) 2012 Internet Systems Consortium www.isc.org 21
Slide 22: A word about support
A word about support • Once BIND 10 is production ready, ISC support customers may use their ISC BIND support queue (and eventually, DHCP queue) for questions regarding BIND 10 exactly as they do now for BIND 9. Until that time, best effort support will be provided with the help of the dev team. Cop
Slide 23: Further Education and Resources
Further Education and Resources • isc.org/support/training – all new BIND 10 Trainings in 2013 – isc.org/ - 10% discount coupon following this session • isc.org/bind10 – please complete the impressions survey! • bind10.isc.org – extensive technical documentation, place to file bugs Copyright (c) 201
Slide 24: Questions
Questions Copyright (c) 2012 Internet Systems Consortium www.isc.org 24
Slide 25: Thank you for your time
Thank you for your time [email protected] @larissashapiro [email protected] http://www.isc.org/bind10 http://bind10.isc.org @ISCdotORG Copyright (c) 2012 Internet Systems Consortium www.isc.org 25
Internet Systems Consortium — Technical Presentation (December 2012) on 6ix