Condividi tramite


Windows Vista Networking Goodies, Part 2: Device & Service Discovery

In my first post of this series, I talked about Windows Connect Now (WCN) and how easy it is in Windows Vista to discover, configure, and securely connect devices to a wireless network. In this post, I’ll talk about how to discover PCs, devices, and services that are available on the network. In Windows XP, if you wanted to find other PCs (and a limited number of devices) on your network, you went to Network Neighborhood. This interface basically listed all network PCs and, if you enabled Universal Plug-n-Play (UPnP), a small subset of UPnP capable devices such as your router. It’s never a wonderful day in the neighborhood though because the best you can do here is see other networked PCs and browse their file shares. While UPnP eventually provided more service descriptions, those capabilities were not finalized until well after XP shipped, and were almost always disabled by default in devices such as routers and APs. Network Neighborhood doesn’t provide any clear indication of what you can do with a particular PC or device, so we did a bunch of work in Vista to improve.

Windows Vista drastically improves this story by supporting a new concept called function discovery. In Vista’s Network Explorer (the replacement to XP’s Network Neighborhood), devices are discovered using function discovery. Function discovery can find devices using much more efficient, diverse and robust protocols than were available in XP’s Network Neighborhood. These protocols include NetBios, UPnP/SSDP, and Web Services Discovery (WSD). Further, additional providers can be added via a flexible function discovery platform, which means software developers can plug their own discovery methods in for a consistent user experience through the Network Explorer. So how does this relate to Network Neighborhood? In Vista, you can access the Network Explorer by clicking Start\Network. The value of improved function discovery is experienced here. PCs, devices, and their respective services are displayed here in all their glory. In addition to the out-of-box high-resolution icons Vista provides for various device classes, Windows shell extensions can be defined (by the device maker, not the end user) for custom icons and actions (when you right-click or double-click the device). And, network connected devices requiring a device driver can be installed directly from the Network Explorer following a simple plug and play process (the same experience as installing a directly attached peripheral).

In the above snapshot of my Network folder, you’ll see PCs, a network projector, a media sharing service (pictures, music, video), and an un-configured device. In my next post, I’ll talk about IP as just another bus via the PnP-X framework, and how the experience of discovery, installation, and use of network devices is the same as directly attached peripherals. Stay tuned.

-- Gabe Frost

Comments

  • Anonymous
    February 02, 2007
    How does security fit in?  If NetBIOS is disabled, what will be discovered and how?

  • Anonymous
    February 18, 2007
    I'm sure some will find this feature useful, but I see it causing more problems than solutions.  For starters, scanning a network for available services (especially web services) is hacker 101.  In addition, all I need is to make it easier for a bored midnight-shift worker to start exploring and find things they aren't suppose to see (even if the owner didn't secure it).  I hope that this feature can be disabled via group policy.

  • Anonymous
    February 18, 2007
    The comment has been removed

  • Anonymous
    February 19, 2007
    The comment has been removed

  • Anonymous
    January 02, 2008
    How about if Network Explorer miss catigorizes a device and attempts to do the wrong thing with the device. Case in point: I've got a Network Attached Storage (NAS) device with several Network file shares. This device also has it's own webpage for configuration of the device. The device does appear in the Network Explorer but when the user double clicks on the this device they are always taken to the devices admin login webpage not to the list of file shares. What can I do correct this behavior? FYI the device in question is a ReadyNAS NV from Infrant (aka Logitech) Thanks I'm not an expert in this area, but I'll take an educated guess. The device you are mentioning supports UPNP AV Streaming, it is likely that there is some base UPNP profile that Network Explorer is seeing and using to create a default entry that points back to the configuration page for the device. So it's not a misclassification, so much as a default experience. Infrant/Logitech and other device manufactors can do all sorts of extenions to the Network Explorer entry to improve that experience via the Rally technologies if they wished. -- Ari

  • Anonymous
    February 18, 2008
    What is the Group Policy that can turn on network discovery? In the imaging process (Microsoft deployment workbench) is there a command I can run to turn it on as an alternative to a GP?

  • Anonymous
    March 08, 2008
    Gabe - I am an instructor at Washtenaw Community College and am trying to incorporate Server 2008 into my classes.  As your January 2007 article points out, Vista's "Networks" supported by default a number of Discovery methods, WSD, NetBIOS, etc. when clicking Networks, as your picture showed in your article, however it seems that Server 2008 only supports WSD by Default - how can I add NetBIOS to the Discovery Methods used by Server 2008 when clicking "Networks"??  This is essential for me to use the operating system in my classes.   My e-mail is:  reichert@wccnet.edu I really would appreciate any help I could get on this.

  • Anonymous
    March 19, 2008
    I do not like this new network neighborhood replacement one little bit, for a couple specific reasons. In large corporate environments, the network discovery can take several minutes to populate all the computers on the network.  Now, if this was a one-time or once in a while event, it wouldn't be a big deal, but the cached list of discovered devices gets cleared out every minute or so.  So if you closed the network list and reopen it, it will have to rediscover everything again.  That is absolutely ridiculous.  There should be some sort of way to retain the cache and only update it like once a day (should be a setting in group policy for this).  And there could be an option to force a refresh to see new devices, if necessary. The problem this is going to cause is that you can no longer just browse to Entire Network > YourDomain > ComputerName, which in XP comes up instantly.  There are people at my company that use that constantly (why they don't just go to \computernameshare is beyond me, but I'm not a 40-year-old programmer set in his ways), and if we try to give them a system that requires a complete rediscovery of all networked computers everytime they try to browse the network, they're going to freak out. I'm all for new discovery methods, but there was nothing wrong with the old style of network browsing, and simply throwing it away is going to cause much more trouble than it's worth.  I hope somebody at Microsoft gets smart and figures out how to fix this, because they have horribly, horribly broken corporate network browsing with this design.

  • Anonymous
    November 19, 2008
    Should Core Networking be enabled as an exception in Windows Firewall and if so, why? The default seems to be that it is enabled as an exception and I am worried that it leaves a port open for hackers to exploit? Each exception is involved with some bit of functionality that you will lose if they are turned off. For example there is an exception for DHCP, which if it wasn't allowed would prevent my work computer from getting an IP Address. Many of the exceptions are scoped down in accrodance with the ; requiring a certain protocol, or who is allowed to listen on the port or where the packet appears to be from. Personally I trust the default OS configuration and make sure that I set interfaces (home/work/public) correctly. (Public reduces down the number of listening ports open) -- Ari