OK, let's start over.
DNS maps domain names to IP numbers.
When you type "www.sitename.com" into a browser, your operating system sends a request to the DNS server that it is configured to use. This configuration can be done manually (when you set the IP address of your machine), or automatically (through DHCP, if your address comes from that.)
If you query a DNS server and that server knows the answer, it provides it.
If it does not know, that server goes to the root for the root domain -- .com in this case -- and asks for the identity of the authoritative DNS server for the domain you're seeking. Note that it does NOT ask for the IP address of www.sitename.com. It asks: "Who can answer this question correctly?"
In this case, the .com root server would direct queries to ns1.yoursite.com, because that's what is in your official registration data.
So the DNS server that you queried then asks ns1.sitename.com for the information.
If ns1.sitename.com isn't running a DNS server, the process immediately breaks down and nothing further happens.
If it is running such a server, that server provides the answer, which typically will be cached by the intermediate DNS server to accelerate performance the next time around.
When you register a domain name you have to point it at a real, working, DNS host that will store your domain's name-to-address mapping records. If you don't, your domain is nonfunctional.
You may be able to run a DNS server under Windows XP. I have no idea how to do it.
DNS servers are standard with all Unix-based systems, including Linux.
Most people would use an external service that specializes in providing DNS. MyDNS.com and EasyDNS.com are two that come to mind; both have nice Web-based interfaces for updating your DNS records.