Manages DHCP connections
Defines for DHCP Packets
Encode and Decode DHCP data
Handles the UDP connection
Handles bringing an interface up and down