Pattern - Dynamic IP Addresses
Features
- Network addresses are dynamically assigned by the infrastructure, either at random or based on the MAC address of the caller.
- The DHCP protocol is used for the client machine to request a new lease of an address.
Advantages
- Allows roaming devices such as laptops to join the network.
- Avoids having to allocate fixed IP addresses to a large set of Virtual Machines which are only deployed intermittently.
- Avoids having to configure individual machines with network settings, including subnet mask, DNS host and router settings.
Disadvantages
- The DHCP server is a Single Point of Failure. Short outages can be handled by having a long lease time.
- If the DHCP server is in the same rack at the rest of the servers, it needs to boot up before them, to handle the 'total power reset' event.
- If the pool of leases is small, and many laptops pass through the area, running out of leases quite likely. Serving up short leases is useful here.
- When a lease is renewed, the IP address of the host may change. Applications need to be able to adapt to this.
- The DNS entry of the application needs to be updated as the IP Address changes.
- Security issues?
SmartFrog support
Like most Java programs, SmartFrog cannot handle changing IP Addresses. A Laptop-friendly Java Runtime is something we can only dream of. What we do try and do is detect network problems through the [-diagnostics] command line option, which does probe the network as part of its health check.
The Dynamic DNS Registration components can be used to give machines with DHCP-assigned IP addresses stable hostnames for others to reach them with.