Firstly, DNS refers to 'Domain Name Server,' while WINS refers to 'Windows Internet Name Service' – both are used to resolve names, but in a very different way!
To help explain, I'm going to use an example that will ensure you get the right picture on each of these services.
Consider a file server by the name 'Jupiter,' and the following two commands:
- Ping Jupiter.space.net
- Net use * \jupiter mainshare
The two above commands should look familiar. The first one simply sends a ping (icmp echo) packet to our file server, ensuring it's alive, while the second command calls the same server (Jupiter) in order to connect to a shared folder named 'mainshare.'
While both commands are referring to the same name (Jupiter), the difference between them is important.
Ping here uses DNS to resolve Jupiter.space.net to an IP address, e.g 18.104.22.168, while the 'net use' command make use of WINS to resolve the NetBIOS name 'Jupiter' to an IP address.
So you might be wondering why are there two different services essentially performing the same job?
The answer is that each of these services relies on different protocols – they simply work in a very different way.
WINS is an essential part of the Microsoft networking topology. In the older days, you were required to run a WINS server in order to avoid name resolution problems within a Windows network. The NetBIOS (Windows machine names) protocol back then would only work on the NetBEUI transport protocol. If you ever ran Windows 95, you'd remember the NetBEUI protocol was always present in your networking properties, where as TCP/IP was optional.
Today, DNS has replaced WINS, since Microsoft made changes to NetBIOS, allowing it to use the TCP/IP stack to perform its job (NetBIOS over TCP/IP) and most DNS servers are able to handle NetBIOS requests. This is why WINS servers are becoming lesser day by day.
In short, DNS maps TCP/IP host names to IP addresses and WINS maps NetBIOS host names to IP addresses.
This was first published in October 2005