250 likes | 540 Vues
Tomasz Mrugalski Gdansk University of Technology, Poland. Dibbler – a portable Dynamic Host Configuration for IPv6 implementation. June 200 5. Agenda. IPv6 autoconfiguration: stateless vs stateful DHCPv6 standarization process Implement ations Dibbler Design goals Features
E N D
Tomasz Mrugalski Gdansk University of Technology, Poland Dibbler – a portable Dynamic Host Configuration for IPv6 implementation 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 • BSD: Kame • Cisco: Prefix Delegation/Relays only • HP-UX: proprietary • NEC: proprietary Dibbler 8
Dibbler :: Design assumptions (1) • Extensive server configuration • Preferences, multiple classes on one interface, address-client reservation, white-list, black-list, numerous optionsetc. • 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) relay server client • 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 update update 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 • 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
Tomasz Mrugalski Gdansk University of Technology, Poland Thank youPlease visit Dibbler homepage:http://klub.com.pl/dhcpv6/