This is "Advanced"?!
The Advanced Settings window is where you really get to see whether UPnP delivers the promised goods in making Internet sharing easy. From what I saw in these two products, UPnP has a long way to go to reach that goal. But let me save the editorial comments for later and focus on what I found.
The Linksys BEFSR41 was loaded with firmware 1.42.6 Mar 11, 2002 and the D-Link DI-804 with firmware V4.67(2001/12/20).
Figures 5 and 6 once again show the D-Link and Linksys "Advanced Settings" windows, and you can see that the two products are very different in what they provide.
Figure 5 - D-Link DI-804
Figure 6- Linksys BEFSR41
The DI-804's screen (cryptically) shows that Windows Messenger had automatically opened two Services (Microsoft's term for ports) and enabled them. I ran a port scan for the listed ports against the 804's WAN port and found, indeed, that the ports were open. When I quit Messenger, the port mappings were not just disabled (which would have been indicated by removing the check marks in the boxes), but removed, i.e. no Services were listed in the Advances Settings window. So that's what NAT Traversal looks like in action!
Figure 7: D-Link Service Setting info
Selecting the first service and clicking "Edit" brought up the window shown above in Figure 7. Note the use of different internal and external port numbers (common for some applications) and the use of the computer's name instead of IP address.
The Linksys results, however, were disappointing. First, the router and Windows Messenger appeared to not pay any attention to each other, with no Messenger related Services appearing (refer to Figure 8 above). Under the same test conditions, the Linksys instead offered a menu of common Internet Services that could be enabled (note that all are disabled by default). But when I enabled the FTP (Port 21) service, then ran a port scan against it (with an FTP server running on the target machine), the port wasn't found to be open! I also tried enabling the HTTP (Port 80) service (again, with a Webserver running on the target machine) with the same result.
Probing further, I edited the FTP service and found that the IP address wasn't even set to the XP computer's IP address! Instead, it was set to 192.168.5.0 (it should have been set to 192.168.5.100 ... at least they got the correct subnet). In all, a very disappointing result for the Linksys.
Updated 9/9/02 A few readers have commented on my criticism of the Linksys' UPnP capabilities, and especially my criticism of its failure to enter a working IP address for the pre-configured Services in the Advanced Services window. Since the original paragraph was unclear on a few points, I hope this update (and the edits I've made to the few paragraphs above, clears things up.
First, the inability of UPnP routers to enter a working IP address for any pre-configured UPnP Services that they offer in the Advanced Settings screen is not unique to the LInksys, but seen on all UPnP routers to date. (The Linksys' failure to produce a working Service (port mapping) via UPnP, is however, a Linksys problem.)
The reason for my criticism is that I think it's reasonable (and logical) that UPnP would default to providing the IP address of the machine that the UPnP Advanced Settings window is opened on, for any of the services that is shows a checkbox for. Why? XP/UPnP goes to all the trouble of offering pre-configured services (ports), and one of UPnP's primary goals is to make it easy for users to get applications working through "Internet Gateway Devices", i.e. routers.
An inexperienced user would reasonably assume that they just need to check a Service box and have the service added for the computer that they have opened the UPnP interface on, since that's the computer that they are probably trying to get to work through their router. Since XP knows the computer's IP address, why require the user to edit the Service, just to get it running? At minimum, the Advanced Settings window should make it obvious that the user not only needs to check the desired service, but also enter the IP address via the Edit button in order to get a working service. Better yet, a Wizard should be invoked to guide the user through the process, or the network could be searched for the service that is being enabled, and the IP address of that computer automatically entered.
Right now, the user is left on their own to figure things out, and I don't think that's acceptable.