Dibbler – a portable Dynamic Host Configuration for IPv6 implementation Tomasz Mrugalski Gdansk University of Technology, Poland June 2005 Agenda • • • • IPv6 autoconfiguration: stateless vs stateful DHCPv6 standarization process Implementations Dibbler – Design goals – Features – Areas of development • Q&A 2 IPv6 autoconfiguration (1) • Stateless autoconfiguration – – – – – Link-local addresses Global addresses (Router Advertisements) Lack of per host customisation Does not support any additional parameters Not sufficient for end users (DNS) 3 IPv6 autoconfiguration (2) • Statefull autoconfiguration (DHCPv6) – Additional parameters configuration (e.g. DNS) – Global address assignment – Provides network status for administrators 4 Standarization process (1) • Long standarization process – Largest number of draft revisions (28) in IETF history • Already finished: – RFC3315: DHCPv6 (June 2003) – RFC3319: SIP-related parameters (July 2003) – RFC3633: Prefix delegation parameters (Dec. 2003) – RFC3646: DNS-related parameters (Dec. 2003) – RFC3736: Stateless DHCPv6 (April 2004) – RFC3898: NIS-related parameters (Oct. 2004) – RFC4075: NTP-related parameters (May 2005) – RFC4076: Renumbering in stateless DHCPv6 (May 2005) 5 Standarization process (2) • Work in progress: – – – – Information refreshing (draft 3) FQDN/DNS Updates (draft 2) Service oriented address assignment (draft 1) … 6 Implementations • • • • • • Linux: Sourceforge Windows: none BSD: Kame Cisco: Prefix Delegation/Relays only HP-UX: proprietary NEC: proprietary 7 Implementations • • • • • • Linux: Sourceforge Windows: none Dibbler BSD: Kame Cisco: Prefix Delegation/Relays only HP-UX: proprietary NEC: proprietary 8 Dibbler :: Design assumptions (1) • Extensive server configuration – Preferences, multiple classes on one interface, address-client reservation, white-list, black-list, numerous options etc. • Zero client konfiguration – out-of-the-box (quick install) • Non-mandatory client configuration – For experienced/more demanding users • Portability – 2 layers: logic (C++), low-level functions (C) – Currently: Windows XP/2003, Linux 2.4/2.6 – Porting to other systems requires reimplementation of small number of low level functions 9 Dibbler :: Design assumptions (2) • Clean architecture – Object-oriented – Easily extended • Extensibility – Additonal options – Data is dumped in XML (scripts,stats) • Open source – Free (as in freedom, not as in beer) – Sources available – GNU GPL licence 10 Dibbler :: Features (1) client • • • • • • • server Server discovery Address/addresses grant Address renewal Duplicate Address Detection (DAD) Rapid-commit Unicast communication Options renewal 11 Dibbler :: Features (2) server 1 client server 2 • Multiple server support – Redundancy – Client chooses best server – Retrieving options from multiple servers 12 Dibbler :: Features (3) client relay server • Relay support – Server supports multiple links (local and remote) – Central administration 13 Dibbler :: Features (3) client relay 1 relay 2 server • Cascaded relays support – Up to 32 relays – Great scalability 14 Dibbler :: Features (4) • • • • • • • DNS servers configuration Domain configuration NTP servers configuration Timezone configuration SIP-related parameters configuration NIS, NIS+ parameters configuration Options renewal 15 Dibbler :: Proposed extensions (1) FQDN client server DNS server • Fully Qualified Domain Name – Who should perform DNS Update: Server or Client? – draft-ietf-dhc-dhcpv6-fqdn-02.txt • Missing option: No update – Retrieve full name, do not update DNS (e.g. for logging purposes only) 16 Dibbler :: Proposed extensions (2) thin/embedded client server • Startup: – Download kernel – Start system – Mount remote file system 17 Dibbler :: Status of the project • Increasing feedback – Poland, Germany, Chech Republic, France, Spain, USA, China, Malaysia, Canada, Taiwan, Switzerland, Turkey, India • Users have ported Dibbler to various architectures – x86, x86_64, amd64, Sparc, PowerPC, Alpha – mipsel (embedded system, LinkSys wireless router WRT54) • Over 2 years of development • Team: – 2 people (2003, 3 months) – 1 person (2003-2005) – 2 new people expected in Q4 2005 • No budget 18 Dibbler :: Download count 900 800 700 600 500 400 300 200 100 05-05 05-04 05-03 05-02 05-01 04-12 04-11 04-10 04-09 04-08 04-07 04-06 04-05 04-04 04-03 04-02 04-01 03-12 03-11 0 •Spikes in Nov. 2004, Jan. 2005 and April 2005 - Correlates with 0.3.0, 0.3.1 and 0.4.0 release dates 19 Dibbler :: Areas of development • Support for remaining features – DNS Updates – Authorization – Prefix delegation • New parameter proposal – FQDN/DNS Updates improvement – Boot parameters for embedded devices • Migration from project to product – – – – Extensive documentation Predictable releases Bug tracking system User support • Better test methods – TAHI validation tool – ANVL conformance test environment by IXIA – Interoperability testing 20 Questions 21 Thank you Please visit Dibbler homepage: http://klub.com.pl/dhcpv6/ Tomasz Mrugalski Gdansk University of Technology, Poland
© Copyright 2026 Paperzz