Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
20.  Administering SLP (Tasks) Accommodating Different Network Media, Topologies, or Configurations  Previous   Contents   Next 
   
 

Reducing SA Reregistrations

SAs periodically need to refresh their service advertisements before lifetimes expire. If a DA is handling an extremely heavy load from many UAs and SAs, frequent refreshes can cause the DA to become overloaded. If the DA becomes overloaded, UA requests start to time out and are then dropped. UA request timeouts have many possible causes. Before you assume that DA overload is the problem, use a snoop trace to check the lifetimes of service advertisements that are registered with a service registration. If the lifetimes are short and reregistrations are occurring often, the timeouts are probably the result of frequent reregistrations.


Note - A service registration is a reregistration if the FRESH flag is not set. See Chapter 22, SLP (Reference) for more information on service registration messages.


How to Reduce SA Reregistrations

Use the following procedure to increase the minimum refresh interval for SAs to reduce reregistrations.

  1. Become superuser.

  2. Stop slpd and all SLP activity on the host.

    # /etc/init.d/slpd stop
  3. Back up the default /etc/inet/slp.conf file before you change the configuration settings.

  4. Increase the value of the min-refresh-interval attribute of the net.slp.DAAttributes property.

    The default minimum reregistration period is zero. The zero default allows SAs to reregister at any point. In the following example, the interval is increased to 3600 seconds (one hour).

    net.slp.DAAttributes(min-refresh-interval=3600)
  5. Save your changes and close the file.

  6. Restart slpd to activate your changes.

    # /etc/init.d/slpd start

Configuring the Multicast Time-to-Live Property

The multicast time-to-live property (net.slp.multicastTTL) determines the range over which a multicast packet is propagated on your intranet. The multicast TTL is configured by setting the net.slp.multicastTTL property to an integer between 1 and 255. The default value of the multicast TTL is 255, which means, theoretically, that the packet routing is unrestricted. However, a TTL of 255 causes a multicast packet to penetrate the intranet to the border routers on the edge of your administrative domain. Correct configuration of multicast on border routers is required to prevent multicast packets from leaking into the Internet's multicast backbone, or to your ISP.

Multicast TTL scoping is similar to standard IP TTL, with the exception that a TTL comparison is made. Each interface on a router that is multicast enabled is assigned a TTL value. When a multicast packet arrives, the router compares the TTL of the packet with the TTL of the interface. If the TTL of the packet is greater than or equal to the TTL of the interface, the packet TTL is reduced by one, as with the standard IP TTL. If the TTL becomes zero, the packet is discarded. When you use TTL scoping for SLP multicasting, your routers must be properly configured to limit packets to a particular subsection of your intranet.

How to Configure the Multicast Time-to-Live Property

Use the following procedure to reset the net.slp.multicastTTL property.

  1. Become superuser.

  2. Stop slpd and all SLP activity on the host.

    # /etc/init.d/slpd stop
  3. Back up the default /etc/inet/slp.conf file before you change the configuration settings.

  4. Change the net.slp.multicastTTL property in the slpd.conf file:
    net.slp.multicastTTL=value

    value

    A positive integer less than or equal to 255 that defines the multicast TTL


    Note - You can reduce the range of multicast propagation by reducing the TTL value. If the TTL value is 1, then the packet is restricted to the subnet. If the value is 32, the packet is restricted to the site. Unfortunately, the term site is not defined by RFC 1075, where multicast TTLs are discussed. Values above 32 refer to theoretical routing on the Internet and should not be used. Values below 32 can be used to restrict multicast to a set of accessible subnets, if the routers are properly configured with TTLs.


  5. Save your changes and close the file.

  6. Restart slpd to activate your changes.

    # /etc/init.d/slpd start

Configuring the Packet Size

The default packet size for SLP is 1400 bytes. The size should be sufficient for most local area networks. For wireless networks or wide area networks, you can reduce the packet size to avoid message fragmentation and reduce network traffic. For local area networks that have larger packets, increasing the packet size can improve performance. You can determine whether the packet size needs to be reduced by checking the minimum packet size for your network. If the network medium has a smaller packet size, you can reduce the net.slp.MTU value accordingly.

You can increase the packet size if your network medium has larger packets. However, unless the service advertisements from SAs or queries from UAs frequently overflow the default packet size, you should not have to change the net.slp.MTU value. You can use snoop to determine whether UA requests often overflow the default packet size and roll over to use TCP rather than UDP.

The net.slp.MTU property measures the complete IP packet size, including the link layer header, the IP header, the UDP or TCP header, and the SLP message.

How to Configure the Packet Size

Use the following procedure to change the default packet size by adjusting the net.slp.MTU property.

  1. Become superuser.

  2. Stop slpd and all SLP activity on the host.

    # /etc/init.d/slpd stop
  3. Back up the default /etc/inet/slp.conf file before you change the configuration settings.

  4. Change the net.slp.MTU property in the slpd.conf file:
    net.slp.MTU=value

    value

     

    A 16-bit integer that specifies the network packet size, in bytes

    Default Value=1400

    Range of Values=128-8192

  5. Save your changes and close the file.

  6. Restart slpd to activate your changes.

    # /etc/init.d/slpd start

Configuring Broadcast-Only Routing

SLP is designed to use multicast for service discovery in the absence of DAs and for DA discovery. If your network does not deploy multicast routing, you can configure SLP to use broadcast by setting the net.slp.isBroadcastOnly property to True.

Unlike multicast, broadcast packets do not propagate across subnets by default. For this reason, service discovery without DAs in a non-multicast network works only on a single subnet. In addition, special considerations are required when deploying DAs and scopes on networks in which broadcast is used. A DA on a multihomed host can bridge service discovery between multiple subnets with multicast disabled. See "DA Placement and Scope Name Assignment" for more information on deploying DAs on multihomed hosts.

How to Configure Broadcast-Only Routing

Use the following procedure to change net.slp.isBroadcastOnly property to True.

  1. Become superuser.

  2. Stop slpd and all SLP activity on the host.

    # /etc/init.d/slpd stop
  3. Back up the default /etc/inet/slp.conf file before you change the configuration settings.

  4. Change the net.slp.isBroadcastOnly property in the slpd.conf file to True:
    net.slp.isBroadcastOnly=True

  5. Save your changes and close the file.

  6. Restart slpd to activate your changes.

    # /etc/init.d/slpd start

Modifying Timeouts on SLP Discovery Requests

Two situations might require that you change the timeouts for SLP discovery requests:

  • If the SLP agents are separated by multiple subnets, dial-up lines, or other WANs, the network latency can be high enough that the default timeouts are insufficient for a request or registration to be completed. Conversely, if your network is low latency, you can improve performance by decreasing the timeouts.

  • If the network is subject to heavy traffic or a high collision rates, the maximum period that SAs and UAs need to wait before sending a message might be insufficient to assure collision-free transactions.

Changing Default Timeouts

High network latency can cause UAs and SAs to time out before a response returns for requests and registrations. Latency can be a problem if a UA is separated from an SA, or if both a UA and an SA are separated from a DA--either by multiple subnets, a dial-up line, or a WAN. You can determine if latency is a problem by checking whether SLP requests are failing because of timeouts on UA and SA requests and registrations. You can also use the ping command to measure the actual latency.

The following table lists configuration properties that control timeouts. You can use the procedures in this section to modify these properties.

Table 20-4 Time-out Properties

Property

Description

net.slp.multicastTimeouts

net.slp.DADiscoveryTimeouts

net.slp.datagramTimeouts

The properties that control timeouts for repeated multicast and unicast UDP message transmissions before the transmission is abandoned.

net.slp.multicastMaximumWait

The property that controls the maximum amount of time a multicast message is transmitted before it is abandoned.

net.slp.datagramTimeouts

The upper bound of a DA timeout that is specified by the sum of values that are listed for this property. A UDP datagram is repeatedly sent to a DA until a response is received or the time-out bound is reached.

If frequent timeouts are occurring during multicast service discovery or DA discovery, increase the net.slp.multicastMaximumWait property from the default value of 15000 milliseconds (15 seconds). Increasing the maximum wait period allows more time for requests on high latency networks to be completed. After you change the net.slp.multicastMaximumWait, you should also modify the net.slp.multicastTimeouts and net.slp.DADiscoveryTimeouts. The sum of the timeout values for these properties equals the net.slp.multicastMaximumWait value.

 
 
 
  Previous   Contents   Next