dibbler contel2005

Document Sample
dibbler contel2005 Powered By Docstoc
					 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, S
     witzerland, 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

      0
          03-11

                  03-12

                          04-01

                                  04-02

                                          04-03

                                                  04-04

                                                          04-05

                                                                  04-06

                                                                          04-07

                                                                                  04-08

                                                                                          04-09

                                                                                                  04-10

                                                                                                          04-11

                                                                                                                  04-12

                                                                                                                          05-01

                                                                                                                                  05-02

                                                                                                                                          05-03

                                                                                                                                                  05-04

                                                                                                                                                          05-05
•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