Since DNS uses UDP instead of TCP, if a packet is lost, there is no automatic recovery. Does this cause a problem?
Yes, when DNS packets are lost, or a DNS server is unable to respond, this can cause problems with applications. DNS handles the resolution of host names to IP addresses. Without this information, an application cannot initiate a connection with the appropriate host on the network or Internet. For example, when you a type in www.yahoo.com into a web browser, then DNS resolves the address to 126.96.36.199, and the browser attempts an http connection to this IP address. When you see problems with DNS, you see the browser "wait" for a response; or, in the case of Explorer, it will eventually come back and tell you it couldn't find a particular domain.
There are a couple of ways to minimize the impact of a DNS problem. First is to configure your computer to use multiple DNS servers. In this case, if the primary DNS server fails, the backup servers will be used to try to resolve the data. On a Windows machine, this can be configured within the Internet Protocol (TCP/IP) Properties window associated with a given Network Connection, such as the example below:
A second, but not very graceful, way around this with critical applications is to not use hostnames at all, but to use the fixed IP address in the configuration. This circumvents the DNS process completely. Unfortunately, this is not very scalable and does not allow for graceful IP address changes.