Dibbler – a portable Dynamic Host Configuration for IPv6 implementation Tomasz Mrugalski Gdansk...

22
Dibbler – a portable Dynamic Host Configuration for IPv6 implementation Tomasz Mrugalski Gdansk University of Technology, Poland June 2005
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    228
  • download

    0

Transcript of Dibbler – a portable Dynamic Host Configuration for IPv6 implementation Tomasz Mrugalski Gdansk...

Dibbler – a portable Dynamic Host Configuration for IPv6 implementation

Tomasz MrugalskiGdansk University of Technology, Poland

June 2005

2

Agenda

• IPv6 autoconfiguration: stateless vs stateful• DHCPv6 standarization process• Implementations• Dibbler

– Design goals– Features– Areas of development

• Q&A

3

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)

4

IPv6 autoconfiguration (2)

• Statefull autoconfiguration (DHCPv6)– Additional parameters configuration (e.g. DNS) – Global address assignment– Provides network status for administrators

5

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)

6

Standarization process (2)

• Work in progress:– Information refreshing (draft 3)

– FQDN/DNS Updates (draft 2)

– Service oriented address assignment (draft 1)

– …

7

Implementations

• Linux: Sourceforge• Windows: none• BSD: Kame• Cisco: Prefix Delegation/Relays only• HP-UX: proprietary• NEC: proprietary

8

Implementations

• Linux: Sourceforge• Windows: none• BSD: Kame• Cisco: Prefix Delegation/Relays only• HP-UX: proprietary• NEC: proprietary

Dibbler

9

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

10

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

11

Dibbler :: Features (1)

client server

• Server discovery• Address/addresses grant• Address renewal• Duplicate Address Detection (DAD)• Rapid-commit• Unicast communication• Options renewal

12

Dibbler :: Features (2)

client

server 1

• Multiple server support– Redundancy– Client chooses best server– Retrieving options from multiple servers

server 2

13

Dibbler :: Features (3)

client serverrelay

• Relay support– Server supports multiple links (local and remote)– Central administration

14

Dibbler :: Features (3)

client serverrelay 1 relay 2

• Cascaded relays support– Up to 32 relays– Great scalability

15

Dibbler :: Features (4)

• DNS servers configuration• Domain configuration• NTP servers configuration• Timezone configuration• SIP-related parameters configuration• NIS, NIS+ parameters configuration• Options renewal

16

Dibbler :: Proposed extensions (1)

clientserver

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

FQDN

DNS server

update update

17

Dibbler :: Proposed extensions (2)

thin/embedded client server

• Startup:– Download kernel– Start system– Mount remote file system

18

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

19

Dibbler :: Download count

0

100

200

300

400

500

600

700

800

900

03-1

1

03-1

2

04-0

1

04-0

2

04-0

3

04-0

4

04-0

5

04-0

6

04-0

7

04-0

8

04-0

9

04-1

0

04-1

1

04-1

2

05-0

1

05-0

2

05-0

3

05-0

4

05-0

5

•Spikes in Nov. 2004, Jan. 2005 and April 2005- Correlates with 0.3.0, 0.3.1 and 0.4.0 release dates

20

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

21

Questions

Thank you

Please visit Dibbler homepage:http://klub.com.pl/dhcpv6/

Tomasz MrugalskiGdansk University of Technology, Poland