What is the difference between DHCP and DNS? How do they work together when a user connects to the internet?