Accommodating Different Network Media, Topologies, or Configurations
This section describes possible scenarios in which you can change the following properties
to tune SLP performance.
Table 9-3 SLP Performance Properties
Property |
Description |
net.slp.DAAttributes |
The minimum refresh interval that a DA accepts for
advertisements. |
net.slp.multicastTTL |
The time-to-live value that is specified for multicast packets. |
net.slp.MTU |
The byte size set for
network packets. The size includes IP and TCP or UDP headers. |
net.slp.isBroadcastOnly |
The Boolean that
is set to indicate if broadcast should be used for DA and non-DA-based
service discovery. |
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 11, 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.
- Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
To configure a role with the Primary Administrator profile, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Stop slpd and all SLP activity on the host.
# svcadm disable network/slp
- Back up the default /etc/inet/slp.conf file before you change the configuration settings.
- 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)
- Save your changes and close the file.
- Restart slpd to activate your changes.
# svcadm enable network/slp
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.
- Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
To configure a role with the Primary Administrator profile, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Stop slpd and all SLP activity on the host.
# svcadm disable network/slp
- Back up the default /etc/inet/slp.conf file before you change the configuration settings.
- 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.
- Save your changes and close the file.
- Restart slpd to activate your changes.
# svcadm enable network/slp
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.
- Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
To configure a role with the Primary Administrator profile, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Stop slpd and all SLP activity on the host.
# svcadm disable network/slp
- Back up the default /etc/inet/slp.conf file before you change the configuration settings.
- 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
- Save your changes and close the file.
- Restart slpd to activate your changes.
# svcadm enable network/slp
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.
- Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
To configure a role with the Primary Administrator profile, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Stop slpd and all SLP activity on the host.
# svcadm disable network/slp
- Back up the default /etc/inet/slp.conf file before you change the configuration settings.
- Change the net.slp.isBroadcastOnly property in the slpd.conf file to True:
net.slp.isBroadcastOnly=True
- Save your changes and close the file.
- Restart slpd to activate your changes.
# svcadm enable network/slp