Designing a DHCPv6 server and client on Linux - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Designing a DHCPv6 server and client on Linux

Description:

Framework for passing configuration information to hosts on a TCP/IP network. ... Clients can co-exist. DHCP also captures the behavior of BOOTP relay agents. ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 22
Provided by: foss
Category:

less

Transcript and Presenter's Notes

Title: Designing a DHCPv6 server and client on Linux


1
Designing a DHCPv6 server and client on Linux
  • Mehnaz Farooqui
  • Nikhil U Moorthy
  • Swaroop Krishnamurthy

2
Presentation Overview
  • Evolution of the protocol
  • DHCPv4
  • Transition to DHCPv6
  • DHCPv6
  • Current Implementation of DHCPv6
  • Limitation and Future enhancements

3
Evolution of DHCP
  • Framework for passing configuration information
    to hosts on a TCP/IP network.
  • Evolved from BOOTP and RARP (networks that had
    diskless nodes).
  • Era of centralized computing.
  • Proliferation of distributed computing (DC)
    required a protocol like DHCP.
  • Addresses the resource boot strap needs of such a
    DC environment (requiring centralized resource
    management).

4
RARP
Network 1
Network 2
5
BOOTP
Network 1
Network 2
6
Introduction to DHCPv4
  • Framework for passing configuration information
    to hosts on an IPv4 network.
  • Backward compatibility with BOOTP.
  • Automatic allocation of reusable network
    addresses and additional configuration options.
  • Reduces the cost of ownership by centralizing the
    management of network resources.
  • 3 kinds of agents involved
  • DHCP client
  • DHCP server
  • DHCP relay agent

7
DHCPv4 BOOTP similarities
  • Message format is the same
  • Clients can co-exist.
  • DHCP also captures the behavior of BOOTP relay
    agents.
  • Clients use retransmission similar strategies.

8
DHCPv4 BOOTP differences
9
DHCPv4 Client/Server interaction
10
DHCPv6 The Need
  • IPv4 is the currently used version of the
    Internet Protocol.
  • IPv4 has become a victim of its own popularity
    it is running out of addresses.
  • IPv6 has been designed and being deployed to
    counter this and other issues.
  • Need to extend the functionality of DHCP to IPv6
    based networks too. Hence DHCPv6 is being
    developed.

11
DHCPv6
  • Enables servers to pass configuration parameters
    to IPv6 nodes.
  • Automatic allocation of reusable network
    addresses and additional configuration
    flexibility.
  • Compatible with
  • IPv6 stateless address auto configuration.
  • Statically configured nodes.
  • Non-participating nodes
  • Existing protocol implementations.
  • Superset of DHCPv4.
  • Benefits from the additional features of IPv6.
  • Freedom from the constraints of backward
    compatibility with BOOTP.

12
DHCPv6 Extensibility
  • Easily extensible in order to carry new
    configuration parameters through the addition of
    new DHCPv6 "options" defined to carry this
    information.

13
DHCPv6 Terminology
  • IA (Identity Association)
  • DUID (DHCP Unique Identifier)
  • Binding
  • Lease

14
DHCPv6 Security
  • DHCP Threat Model
  • Threat to DHCP clients
  • Rogue server
  • Denial of Service attack
  • Accidentally configured server
  • Threat to DHCP servers
  • Theft of service
  • Denial of Service attack
  • Summary of DHCP authentication
  • Authentication option
  • Replay Detection method
  • Delayed Authentication protocol

15
DHCPv6 Implementation
  • Both the server and client code have been written
    in C language.
  • Compilation of the packages can be done using any
    C compiler like gcc.
  • Linux was chosen as the platform for 2 reasons
  • No implementation of DHCPv6 was present for this
    platform.
  • The extensive documentation and open source
    nature of Linux.

16
Software Design Issues
  • Server
  • Binding structure
  • Allocation policy
  • Persistence of bindings
  • Periodic removal of expired nodes
  • Client
  • Selection of best server
  • Binding structure
  • Timer implementation A Threaded approach
  • Lookup table of transaction id and thread wait
    conditions

17
DHCPv6 Server Design
18
DHCPv6 Client Design
19
Limitations
  • Relay agent has not been implemented.
  • Security model of DHCPv6 has not been
    implemented.
  • All the message types and option types mentioned
    in the draft have not been incorporated into the
    project.
  • Server and client can be deployed only on Linux
    based platforms.
  • Does not work on diskless nodes due to presence
    of configuration files.
  • Dependency on other packages like ifconfig.

20
Improvements
  • Implement the relay agent so as to allow the
    server and client to run on separate subnets.
  • Implementing the basic security features.
  • Cover all the message types and option types in
    future versions.
  • Implementing a DHCPv6 server in Java to counter
    deployment and portability issues.
  • Eliminate dependencies on other packages.

21
Thank You
Write a Comment
User Comments (0)
About PowerShow.com