100 likes | 210 Views
CMPT 471 Networking II. DHCP Failover and multiple servers. Server responsibilities. To provide dynamic IP address allocation a DHCP server needs to Maintain a database of IP addresses Know the dynamic state of each IP address in the database
E N D
CMPT 471Networking II DHCP Failover and multiple servers
Server responsibilities • To provide dynamic IP address allocation a DHCP server needs to • Maintain a database of IP addresses • Know the dynamic state of each IP address in the database • When multiple servers share responsibility for the same pool of IP addresses they must maintain synchronization of the information in this database. This is necessary to prevent multiple allocations of the same IP address by different servers
Failover Protocol • Governs communications between two or more DHCP servers serving the same network • Provides a mechanism for one DHCP server to act as a primary server, and another as a backup server • The primary provides all DHCP service unless the contact between the primary and secondary fails then the secondary provides service • Provides a mechanism for load balancing between servers • Communications occur through a TCP connection between the DHCP servers
Failure modes: multiple servers • One server may fail due to a hardware or software problem • The network segment containing one server mail fail • The network between the two servers or between two network segments may fail • THE DHCP SERVER CANNOT DISTINGUISH BETWEEN THESE TYPES OF FAILURE • When contact fails each server functions as if the other servers might still be running • The system must be stable if the server the cannot be contacted is still running, and if it is not running
Bases of database synchronization • Each server tries to keep the others up to date BUT • It is not required that the database be completely up to date for DHCP to function correctly • An address can be served before one peer informs the other it has been served SO updates are called “Lazy updates”
Communications • Any failover peer can initiate connections to other peers (so connections can be initiated as soon as a new peer starts, regardless of which order primary and secondary start). • Primary DHCP server sends Connect message as soon as the connection is established. When the secondary’s ack is received the connection is established • When a lease is granted a message is sent to all failover peers, when it is acked the sender knows the peers know about the new lease • During periods of inactivity Contact messages are sent.
Principles of address allocation • All DCHP servers must follow the same principles so that multiple servers do not allocate the same address to different machines • The available addresses for each network segment are divided into free addresses (for allocation by the primary server) and backup addresses (for allocation by the secondary server) • An address that has been assigned to one client cannot be assigned to another unless all severs have agreed that the original client is no longer using it • A lease for a particular address can be extended only for a limited time beyond the time known by other servers ( time is called the maximum client lease time or MCLT) (Usually < 1hr).
Address allocation: MCLT • The MCLT is the time a lease for a particular address can be extended, beyond the time known by other servers It is usually < 1hr • A lease can be repeatedly renewed extending its expiry time by the MCLT. • Repeatedly renewing the lease is not efficient • When a the renewal timer expires the client will request a renewal. The server will • Check the desired lease time against the MCLT and choose the shortest (probably the MCLT) and offer a least of shortest of the two times • The server will contact the other dhcp failover server/s
Address allocation: MCLT • All the servers will agree that the lease may be renewed, the expiry time of the agreed upon will be the lease time plus the MCLT from the original request time • At half the MCLT the lease given by the server before agreement will expire • The request for renewal will ask for a lease with the originally requested lease time • Since the expiry of the requested lease is at or before the agreed expiry time the DHCP server will give the lease • Agreement between the servers must be obtained for each lease renewal (it applies only the present renewal, not to future renewals)
Bases of database synchronization • Each server tries to keep the others up to date BUT • It is not required that the database be completely up to date for DHCP to function correctly SO updates are called “Lazy updates” • NOTE that a three way handshake for committing data to remote databases imposes an unacceptable delay, since the handshake must complete before the address is offered