DHCPv6 Teoria i praktyka

Download Report

Transcript DHCPv6 Teoria i praktyka

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