📄 rfc2614.txt
字号:
RFC 2614 Service Location API June 1999
2.1.5. Network Configuration Properties
The properties in this section allow various network configuration
properties to be set.
net.slp.isBroadcastOnly
A boolean indicating if broadcast should be used instead of
multicast. Like the net.slp.useScopes and net.slp.DAAddresses
properties, this property is "read-only", so attempts to change
it after the configuration file has been read are ignored.
Default is false.
net.slp.passiveDADetection
A boolean indicating whether passive DA detection should be
used. Default is true.
net.slp.multicastTTL
A positive integer less than or equal to 255, giving the
multicast TTL. Default is 255.
net.slp.DAActiveDiscoveryInterval
A 16 bit positive integer giving the number of seconds
between DA active discovery queries. Default is 900 seconds
(15 minutes). This property corresponds to the protocol
specification parameter CONFIG_DA_FIND [7]. If the property is
set to zero, active discovery is turned off. This is useful
when the DAs available are explicitly restricted to those
obtained from DHCP or the net.slp.DAAddresses property.
net.slp.multicastMaximumWait
A 32 bit integer giving the maximum amount of time to perform
multicast, in milliseconds. Default is 15000 ms (15 sec.).
This property corresponds to the CONFIG_MC_MAX parameter in the
protocol specification [7].
net.slp.multicastTimeouts
A value-list of 32 bit integers used as timeouts, in
milliseconds, to implement the multicast convergence
algorithm. Each value specifies the time to wait before
sending the next request, or until nothing new has
been learned from two successive requests. Default
is: 3000,3000,3000,3000,3000. In a fast network the
Kempf & Guttman Informational [Page 12]
RFC 2614 Service Location API June 1999
aggressive values of 1000,1250,1500,2000,4000 allow better
performance. This property corresponds to the CONFIG_MC_RETRY
parameter in the protocol specification [7]. Note that the
net.slp.DADiscoveryTimeouts property must be used for active DA
discovery.
net.slp.DADiscoveryTimeouts
A value-list of 32 bit integers used as timeouts, in
milliseconds, to implement the multicast convergence algorithm
during active DA discovery. Each value specifies the time
to wait before sending the next request, or until nothing
new has been learned from two successive requests. This
property corresponds to the protocol specification parameter
CONFIG_RETRY [7]. Default is: 2000,2000,2000,2000,3000,4000.
net.slp.datagramTimeouts
A value-list of 32 bit integers used as timeouts, in
milliseconds, to implement unicast datagram transmission to
DAs. The nth value gives the time to block waiting for a reply
on the nth try to contact the DA. The sum of these values is
the protocol specification property CONFIG_RETRY_MAX [7].
net.slp.randomWaitBound
A 32 bit integer giving the maximum value for all random
wait parameters, in milliseconds. Default is 1000 (1
sec.). This value corresponds to the protocol specification
parameters CONFIG_START_WAIT, CONFIG_REG_PASSIVE, and
CONFIG_REG_ACTIVE [7].
net.slp.MTU
A 16 bit integer giving the network packet MTU, in bytes.
This is the maximum size of any datagram to send, but the
implementation might receive a larger datagram. The maximum
size includes IP, and UDP or TCP headers. Default is 1400.
net.slp.interfaces
Value-list of strings giving the IP addresses of network
interfaces on which the DA or SA should listen on port 427 for
multicast, unicast UDP, and TCP messages. Default is empty,
i.e. use the default network interface. The grammar for this
property is:
Kempf & Guttman Informational [Page 13]
RFC 2614 Service Location API June 1999
addr-list = hostnumber / hostnumber "," addr-list
hostnumber = 1*3DIGIT 3("." 1*3DIGIT)
An example is:
195.42.42.42,195.42.142.1,195.42.120.1
The example machine has three interfaces on which the DA should
listen.
Note that since this property only takes IP addresses, it will
need to be changed if the network is renumbered.
2.1.6. SA Configuration
This section contains configuration properties for the SA. These
properties are typically set programmatically by the SA, since they
are specific to each SA.
net.slp.SAAttributes
A comma-separated list of parenthesized attribute/value list
pairs that the SA must advertise in SAAdverts. The property
must be in the SLP attribute list wire format, including
escapes for reserved characters. [7]
2.1.7. UA Configuration
This section contains configuration properties for the UA. These
properties can be set either programmatically by the UA or in the
configuration file.
net.slp.locale
A RFC 1766 Language Tag [6] for the language locale. Setting
this property causes the property value to become the default
locale for SLP messages. Default is "en". This property is
also used for SA and DA configuration.
net.slp.maxResults
A 32 bit integer giving the maximum number of results to
accumulate and return for a synchronous request before the
timeout, or the maximum number of results to return through a
callback if the request results are reported asynchronously.
Kempf & Guttman Informational [Page 14]
RFC 2614 Service Location API June 1999
Positive integers and -1 are legal values. If -1, indicates
that all results should be returned. Default value is -1.
DAs and SAs always return all results that match the
request. This configuration value applies only to UAs, that
filter incoming results and only return as many values as
net.slp.maxResults indicates.
net.slp.typeHint
A value-list of service type names. In the absence of any
DAs, UAs perform SA discovery for finding scopes. These SA
discovery requests may contain a request for service types as
an attribute.
The API implementation will use the service type names supplied
by this property to discover only those SAs (and their scopes)
which support the desired service type or types. For example,
if net.slp.typeHint is set to "service:imap,service:pop3" then
SA discovery requests will include the search filter:
(|(service-type=service:imap)(service-type=service:pop3))
The API library can also use unicast to contact the discovered
SAs for subsequent requests for these service types, to
optimize network access.
2.1.8. Security
The property in this section allows security for all agents to be set
on or off. When the property is true, then the agent must include
security information on all SLP messages transacted by that agent.
Since security policy must be set network wide to be effective, a
single property controls security for all agents. Key management and
management of SLP SPI strings [7] are implementation and policy
dependent.
net.slp.securityEnabled
A boolean indicating whether the agent should enable
security for URLs, attribute lists, DAAdverts, and SAAdverts.
Each agent is responsible for interpreting the property
appropriately. Default is false.
Kempf & Guttman Informational [Page 15]
RFC 2614 Service Location API June 1999
2.2. Multihomed Machines
On multihomed machines, the bandwidth and latency characteristics on
different network interfaces may differ considerably, to the point
where different configuration properties are necessary to achieve
optimal performance. The net.slp.interfaces property indicates which
network interfaces are SLP enabled. An API library implementation
may support configuration customization on a per network interface
basis by allowing the interface IP address to be appended to the
property name. In that case, the values of the property are only
used for that particular interface, the generic property (or defaults
if no generic property is set) applies to all others.
For example, if a configuration has the following properties:
net.slp.interfaces=125.196.42.41,125.196.42.42,125.196.42.43
net.slp.multicastTTL.125.196.42.42=1
then the network interface on subnet 42 is restricted to a TTL of 1,
while the interfaces on the other subnets have the default multicast
radius, 255.
The net.slp.interfaces property must only be set if there is no
routing between the interfaces. If the property is set, the DA (if
any) and SAs should advertise with the IP address or host name
appropriate to the interface on the interfaces in the list. If
packets are routed between the interfaces, then the DA and SAs should
only advertise on the default interface. The property should also be
set if broadcast is used rather than multicast on the subnets
connected to the interfaces. Note that even if unicast packets are
not routed between the interfaces, multicast may be routed through
another router. The danger in listening for multicast on multiple
interfaces when multicast packets are routed is that the DA or SA may
receive the same multicast request via more than one interface.
Since the IP address is different on each interface, the DA or SA
cannot identify the request as having already being answered via the
previous responder's list. The requesting agent will end up getting
URLs that refer to the same DA or service but have different
addresses or host names.
2.3. Serialized Registration File
The serialized registration file contains a group of registrations
that a DA or SA server (if one exists) registers when it starts up.
These registrations are primarily for older service programs that do
not internally support SLP and cannot be converted, and for portably
Kempf & Guttman Informational [Page 16]
RFC 2614 Service Location API June 1999
exchanging registrations between SLP implementations. The character
encoding of the registrations is required to be UTF-8.
The syntax of the serialized registration file, in ABNF format [5],
is as follows:
ser-file = reg-list
reg-list = reg / reg reg-list
reg = creg / ser-reg
creg = comment-line ser-reg
comment-line = ( "#" / ";" ) 1*allchar newline
ser-reg = url-props [slist] [attr-list] newline
url-props = surl "," lang "," ltime [ "," type ] newline
surl = ;The registration's URL. See
; [8] for syntax.
lang = 1*8ALPHA [ "-" 1*8ALPHA ]
;RFC 1766 Language Tag see [6].
ltime = 1*5DIGIT
; A positive 16-bit integer
; giving the lifetime
; of the registration.
type = ; The service type name, see [7]
; and [8] for syntax.
slist = "scopes" "=" scope-list newline
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -