Populating and Clearing Network Addresses
Novell Cool Solutions: Feature
Digg This -
Posted: 3 Nov 2004
Populating and Clearing the NetWork Address Attribute
Here's a recent discussion about the Network Address attribute that offers some helpful information and advice.
When a user logs into our tree, we can see the "network address" attribute of his user object being populated with the IP address of his workstation. If he logs off, it's cleared. If his computer crashes or he otherwise loses his connection to the tree, the IP address attribute appears to be cleared after 5 minutes or so.
Yes, this is pretty much what is supposed to happen. The "clear after N minutes" is the Watchdog feature kicking off the connection as being no longer valid. Essentially, the server that is acting as the monitor server for the connection pings the workstation occasionally to see if it's still there, and if it doesn't respond, it clears the connection. Clearing the connection involves removing the associated Network Address from the User object, as well as cleaning up the server's connection table for the abandoned connection.
Besides when the user logs in, when is the "network address" attribute updated or populated?
You'll have to dig out a packet sniffer if you want to see this in detail. From what I recall, the Network Address is populated (by the server) when the client makes the "start monitored connection" call to it. This puts the client into the server's monitored connections list (for Watchdog). The monitored connections list is stored in memory, but it's also stored in the system partition of the eDirectory database on the server, as values of the multivalued monitoredConnections attribute of the [Pseudo Server] object. You can see the list itself via DSBrowse if you do a search for [pseudo server] and look at its attributes.
If a wireless laptop switches vLans and obtains a new IP address, this doesn't appear to be reflected in eDirectory unless they log off or log on again. Is that normal?
Good question. NCP is, fundamentally, a connection-based protocol. IP, obviously, is not. NCP has its origins in the IPX world, where the workstation connection address couldn't really ever change during the lifetime of the connection. With NetWare 5, NCP was ported to run over IP. I think what it should do is that the change of IP address should be reflected in the following things happening ...
First, since the monitor server is looking at a specific address in its table, it should eventually see (via Watchdog) that the address is no longer in use or is invalid, and should clean up the connection that went with it. This would remove the Network Address from the User object associated with that connection.
Second, the client, when it sees a new IP address, should be calling the "start monitored connection" code again to establish a new monitor for this new address. This could be handled by the same server or a different one. Any server with a writable replica of the User object can act as the monitor (I'm not sure about read-only replicas).
Note that switching VLANs is just one possible way this could happen. I'm pretty sure that a DHCP server could issue a different address to the workstation, too, which would cause the same problem. Or, a user could simply hard-code the workstation's IP address and change it on the fly without logout or reboot.
It's also possible that the Client isn't aware that the IP address changed. That could be interesting ...
If a user puts a laptop into standby mode, the "network address" attribute is cleared after about five minutes. Coming out of standby, the Netware client automatically reconnects them to mapped drives, but their "network address" attribute is not re-populated. Is this normal?
Standby or power off basically turns off the machine so it stops responding. Eventually, Watchdog will kick off this connection.
After the machine comes back, it should call the code to start the monitor connection again, which should establish a new monitor and a new (possibly the same) Network Address. It's possible that it's not doing that, as the Client may or may not be aware that the machine "went to sleep" for a while and that the monitored connection that it thinks was established has been torn down.
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com