Impact of partitioning

Although partitioning is a solution to many network problems, it's not entirely transparent. When you partition a network, you must think about the effect of partitioning on NIS, and the locations of diskless nodes and their boot servers.

NIS in a partitioned network

NIS is a point-to-point protocol once a server binding has been established. However, when ypbind searches for a server, it broadcasts an RPC request. Switches and bridges do not affect ypbind, because switches and bridges forward broadcast packets to the other physical network. Routers don't forward broadcast packets to other IP networks, so you must make configuration exceptions if you have NIS clients but no NIS server on one side of a router.It is not uncommon to attach multiple clients to a hub, and multiple hubs to a switch. Each switch branch acts as its own segment in the same way that bridges create separate "collision domains." Unequal distribution of NIS servers on opposite sides of a switch branch (or bridge) can lead to server victimization. The typical bridge adds a small delay to the transit time of each packet, so ypbind requests will almost always be answered by a server on the client's side of the switch branch or bridge. The relative delays in NIS server response time are shown in Figure 17-2. Figure 17-2

Figure 17-2. Bridge effects on NIS

If there is only one server on bridge network A, but several on bridge network B, then the "A" network server handles all NIS requests on its network segment until it becomes so heavily loaded that servers on the "B" network reply to ypbind faster, including the bridge-related packet delay. An equitable distribution of NIS servers across switch branch (or bridge) boundaries eliminates this excessive loading problem.Routers and gateways present a more serious problem for NIS. NIS servers and clients must be on the same IP network because a router or gateway will not forward the client's ypbind broadcast outside the local IP network. If there are no NIS servers on the "inside" of a router, use ypinit at configuration time as discussed in "Setting initial client bindings".

Effects on diskless nodes

Diskless nodes should be kept on the same logical network as their servers unless tight constraints require their separation. If a router is placed between a diskless client and its server, every disk operation on the client, including swap device operations, has to go through the router. The volume of traffic generated by a diskless client is usually much larger -- sometimes twice as much -- than that of an NFS client getting user files from a server, so it greatly reduces the load on the router if clients and servers are kept on the same side of the router.[53]
[53]Although not directly related to network topology, one of the best things you can do for your diskless clients is to load them with an adequate amount of memory so that they can perform aggressive caching and reduce the number of round trips to the server.
Booting a client through a router is less than ideal, since the diskless client's root and swap partition traffic unnecessarily load the packet forwarding bandwidth of the router. However, if necessary, a diskless client can be booted through a router as follows: