Back To Basics: The WINS Proxy Agent
There seems to be an abundance of proxies and agents floating around the Windows 2000 scene. There's the DHCP Relay Agent and the SNMP Agent. And there's Proxy Server, DNS Proxy, and WINS Proxy. If you've found yourself getting a little mixed up, there's a good reason why! Here's well try to shed some light on the WINS Proxy Agent.There seems to be an abundance of proxies and agents floating around the Windows 2000 scene. Theres the DHCP Relay Agent and the SNMP Agent. And theres Proxy Server, DNS Proxy, and WINS Proxy. If youve found yourself getting a little mixed up, theres a good reason why! Heres well try to shed some light on the WINS Proxy Agent.
If you studied the TCP/IP material for the Windows NT 4.0 MCSE TCP/IP exam, you might remember running into the WINS Proxy Agent. The WINS Proxy Agent didn't get much attention, and typically, the courses covering Windows NT 4.0 TCP/IP didn't spend more than a few minutes on the subject. This is probably why I find that many MCSEs don't have a good handle on the subject. There's no better time than the present to get a good understanding of the WINS Proxy Agent, because you're sure to see it in your Windows 2000 MCSE Certification Exams.
When To Use a WINS Proxy Agent
When would you want to use a WINS Proxy Agent? You would use a WINS Proxy Agent if you have non-WINS Clients on a segment which need to resolve NetBIOS names of computers on remote segments.
For example, look at my work of art:
In this scenario, we have two physical segments separated by a router. On one of the segments there is a WINS Server, and on the other segment is a non-WINS client. Let's assume that this is a UNIX based network client that is running a NetBIOS dependent application.
Non-WINS Clients Do Not Communicate with WINS Servers
Since the non-WINS client is running a NetBIOS application, that client software must be able to resolve NetBIOS names to IP addresses. If the non-WINS client wants to resolve the NetBIOS Name to an IP address of a computer on its own segment, it can use NetBIOS broadcasts to accomplish this. However, what happens when the non-WINS client tries to resolve a NetBIOS name of a computer on the other segment?
Since it's good policy to not pass NetBIOS broadcast messages across a router, the non-WINS client will not be able to use broadcast messages to resolve the NetBIOS Name of the remote client. And since the non-WINS client can't query a WINS Server, it won't be able to use WINS either.
How the WINS Proxy Agent Solves the Problem
However, we can solve the problem by using a WINS Proxy Agent. You can configure any Windows based computer to be a WINS Proxy Agent. The WINS Proxy Agent will listen to the NetBIOS Name Query broadcast issued by the non-WINS Client, and it will forward this request to the WINS Server. The WINS Server will answer the WINS Proxy Agent's query, and the WINS Proxy Agent place the answer in its NetBIOS Remote Name Cache, and then return the result to the non-WINS client that issued the query.
They key is to remember that the WINS Proxy Agent is a WINS client itself. Because the WINS Proxy Agent is a WINS client, it can issue a directed datagram to the WINS Server and therefore it is not dependent on broadcast messages to resolve NetBIOS names. How does the WINS Proxy Agent know what WINS Server to query? It knows because when you made the machine a WINS client, you configured it with the IP address of a WINS Server!
Oddities and Ends
One last thing to remember: The non-WINS client does not register itself in the WINS database, not even through the WINS Proxy Agent. The Windows 2000 Resource Kit says that the WINS Proxy Agent will forward the NetBIOS Name Registration Request to the WINS Server, and that if the WINS Server returns a Negative Name Registration Response back to the WINS Proxy Agent, then the WINS Proxy Agent may send the Negative Name Registration Response to the non-WINS client. What may means is not clear. However, the non-WINS client isn't likely to care, since its not running a Microsoft TCP/IP stack that's going to respect the WINS Server's Negative Name Registration Response anyhow.
For More Information
For more information on the WINS Proxy client, be sure to check out our MCSE Emergency Room over at syngress.com in the near future.
Our Troubleshooting Windows 2000 TCP/IP book covers WINS Proxy Agents and all sorts of sticky issues related to non-WINS clients.
Check out the Microsoft online Windows 2000 Help for some more good info.