⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2614.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:
         The attributes associated with a given service.  The values
         that can be assigned to service attributes are defined by the
         service template.

      Scope

         A string used to control the availability of service
         advertisements.  Every SLP Agent is configured with one or more
         scope strings.  Scopes are assigned by site administrators to
         group services for many purposes, but chiefly as a means of
         scalability.  DAs store only services advertised having a scope
         string matching the scopes with which they are configured.

      Naming Authority (NA)

         This is a 'suffix' to the service type string.  It completely
         changes the meaning of the service type.  NAs are used for
         private definitions of well known Service Types and
         experimental Service Type extensions.  The default NA is
         "IANA", which must not be explicitly included.  Service types
         with the IANA naming authority are registered with the Internet
         Assigned Numbers Authority (see [8] for more information on the
         registration procedure).





Kempf & Guttman              Informational                      [Page 6]

RFC 2614                  Service Location API                 June 1999


2. File Formats

   This section describes the configuration and serialized registration
   file formats.  Both files are defined in the UTF-8 character set [3].

   Attribute tags and values in the serialized registration file require
   SLP reserved characters to be escaped.  The SLP reserved characters
   are `(', `)', `,', `\', `!', `<', `=', `>', `~' and control
   characters (characters with UTF codes less than 0x0020 and the
   character 0x007f, which is US-ASCII DEL). The escapes are formed
   exactly as for the wire protocol, i.e.  a backslash followed by two
   hex digits representing the character.  For example, the escape for '
   ,' is '\2c'.  In addition, the characters `\n', `\r', `\t', and `_'
   are prohibited from attribute tags by the SLP wire syntax grammar.
   [7]

   In serialized registration files, escaped strings beginning with
   `\ff`, an encoding for a nonUTF-8 character, are treated as opaques.
   Exactly as in the wire protocol, syntactically correct opaque
   encodings consist of a string beginning with `\ff` and containing
   *only* escaped characters that are transformed to bytes.  Such
   strings are only syntactically correct in the serialized registration
   file as attribute values.  In other cases, whenever an escape is
   encountered and the character is not an SLP reserved character, an
   error is signaled.

   Escaped characters in URLs in serialized registration files use the
   URL escape convention. [2].

   Property names and values in the configuration file have a few
   reserved characters that are involved in file's lexical definition.
   The characters '.'  and '=' are reserved in property names and must
   be escape.  The characters ',', '(', and ')' are reserved in property
   values and must be escaped.  In addition, scope names in the
   net.slp.useScopes property use the SLP wire format escape convention
   for SLP reserved characters.  This simplifies implementation, since
   the same code can be used to unescape scope names as is used in
   processing the serialized registration file or for formatting wire
   messages.

   On platforms that only support US-ASCII and not UTF-8, the upper bit
   of bytes incoming from the configuration and registration files
   determines whether the character is US-ASCII or not US-ASCII.
   According to the standard UTF-8 encoding, the upper bit is zero if
   the character is US-ASCII and one if the character is multibyte and
   thus not US-ASCII. Platforms without intrinsic UTF-8 support are
   required to parse the multibyte character and store it in an
   appropriate internal format.  Support for UTF-8 is required to



Kempf & Guttman              Informational                      [Page 7]

RFC 2614                  Service Location API                 June 1999


   implement the SLP protocol (see [7]), and can therefore be used in
   file processing as well.

   The location and name of the configuration file is system-dependent,
   but implementations of the API are encouraged to locate it together
   with other configuration files and name it consistently.

2.1. Configuration File Format

   The configuration file format consists of a newline delimited list of
   zero or more property definitions.  Each property definition
   corresponds to a particular configurable SLP, network, or other
   parameter in one or more of the three SLP agents.  The file format
   grammar in ABNF [5] syntax is:

      config-file   =  line-list
      line-list     =  line / line line-list
      line          =  property-line / comment-line
      comment-line  =  ( "#" / ";" ) 1*allchar newline
      property-line =  property newline
      property      =  tag "=" value-list
      tag           =  prop / prop "." tag
      prop          =  1*tagchar
      value-list    =  value / value "," value-list
      value         =  int / bool /
                       "(" value-list ")" / string
      int           =  1*DIGIT
      bool          =  "true" / "false" / "TRUE" / "FALSE"
      newline       =  CR / ( CRLF )
      string        =  1*stringchar
      tagchar       =  DIGIT / ALPHA / tother / escape
      tother        =  %x21-%x2d / %x2f /
                       %x3a / %x3c-%x40 /
                       %x5b-%x60 / %7b-%7e
                       ; i.e., all characters except `.',
                       ; and `='.
      stringchar    =  DIGIT / ALPHA / sother / escape
      sother        =  %x21-%x29 / %x2a-%x2b /
                       %x2d-%x2f / %x3a-%x40 /
                       %x5b-%x60 / %7b-%7e
                       ; i.e., all characters except `,'
      allchar       =  DIGIT / ALPHA / HTAB / SP
      escape        =  "\" HEXDIG HEXDIG
                       ; Used for reserved characters

   With the exception of net.slp.useScopes, net.slp.DAAddresses, and
   net.slp.isBroadcastOnly, all other properties can be changed through
   property accessors in the C and Java APIs.  The property accessors



Kempf & Guttman              Informational                      [Page 8]

RFC 2614                  Service Location API                 June 1999


   only change the property values in the running agent program and do
   not affect the values in the configuration file.  The
   net.slp.useScopes and net.slp.DAAddresses properties are read-only
   because they control the agent's view of the scopes and DAs and are
   therefore critical to the function of the API scope discovery
   algorithm.  Attempts to modify them are unlikely to yield productive
   results, and could harm the ability of the agent to find scopes and
   use DAs.  The net.slp.isBroadcastOnly property is read-only because
   the API library needs to configure networking upon start up and
   changing this property might invalidate the configuration.  Whether
   the local network uses broadcast or multicast is not likely to change
   during the course of the program's execution.

   The properties break down into the following subsections describes an
   area and its properties.

2.1.1. DA configuration

   Important configuration properties for DAs are included in this
   section.  These are:

      net.slp.isDA

         A boolean indicating if the SLP server is to act as a DA. If
         false, not run as a DA. Default is false.

      net.slp.DAHeartBeat

         A 32 bit integer giving the number of seconds for the
         DA heartbeat.  Default is 3 hours (10800 seconds).  This
         property corresponds to the protocol specification parameter
         CONFIG_DA_BEAT [7].  Ignored if isDA is false.

      net.slp.DAAttributes

         A comma-separated list of parenthesized attribute/value list
         pairs that the DA must advertise in DAAdverts.  The property
         must be in the SLP attribute list wire format, including
         escapes for reserved characters. [7]

2.1.2. Static Scope Configuration

   These properties allow various aspects of scope handling to be
   configured.







Kempf & Guttman              Informational                      [Page 9]

RFC 2614                  Service Location API                 June 1999


      net.slp.useScopes

         A value-list of strings indicating the only scopes a UA or SA
         is allowed to use when making requests or registering, or the
         scopes a DA must support.  If not present for the DA and SA,
         then in the absence of scope information from DHCP, the default
         scope "DEFAULT" is used.  If not present for the UA, and there
         is no scope information available from DHCP, then the user
         scoping model is in force.  Active and passive DA discovery
         or SA discovery are used for scope discovery, and the scope
         "DEFAULT" is used if no other information is available.  If a
         DA or SA gets another scope in a request, a SCOPE_NOT_SUPPORTED
         error should be returned, unless the request was multicast, in
         which case it should be dropped.  If a DA gets another scope in
         a registration, a SCOPE_NOT_SUPPORTED error must be returned.
         Unlike other properties, this property is "read-only", so
         attempts to change it after the configuration file has been
         read are ignored.  See Section 3.12 for the algorithm the API
         uses in determining what scope information to present.

      net.slp.DAAddresses

         A value-list of IP addresses or DNS resolvable host names
         giving the SLPv2 DAs to use for statically configured UAs and
         SAs.  Ignored by DAs (unless the DA is also an SA server).
         Default is none.  Unlike other properties, this property is
         "read-only", so attempts to change it after the configuration
         file has been read are ignored.

         The following grammar describes the property:


               addr-list     =  addr / addr "," addr-list
               addr          =  fqdn / hostnumber
               fqdn          =  ALPHA / ALPHA *[ anum / "-" ] anum
               anum          =  ALPHA / DIGIT
               hostnumber    =  1*3DIGIT 3("." 1*3DIGIT)


         An example is:


                sawah,mandi,sambal


         IP addresses can be used instead of host names in networks
         where DNS is not deployed, but network administrators are
         reminded that using IP addresses will complicate machine



Kempf & Guttman              Informational                     [Page 10]

RFC 2614                  Service Location API                 June 1999


         renumbering, since the SLP configuration property files
         in statically configured networks will have to be changed.
         Similarly, if host names are used, implementors must be careful
         that a name service is available before SLP starts, in other
         words, SLP cannot be used to find the name service.

2.1.3. Tracing and Logging

   This section allows tracing and logging information to be printed by
   the various agents.

      net.slp.traceDATraffic

         A boolean controlling printing of messages about traffic with
         DAs.  Default is false.

      net.slp.traceMsg

         A boolean controlling printing of details on SLP messages.
         The fields in all incoming messages and outgoing replies are
         printed.  Default is false.

      net.slp.traceDrop

         A boolean controlling printing details when a SLP message is
         dropped for any reason.  Default is false.

      net.slp.traceReg

         A boolean controlling dumps of all registered services upon
         registration and deregistration.  If true, the contents
         of the DA or SA server are dumped after a registration or
         deregistration occurs.  Default is false.

2.1.4. Serialized Proxy Registrations

   These properties control the reading and writing of serialized
   registrations.

      net.slp.serializedRegURL

         A string containing a URL pointing to a document containing
         serialized registrations that should be processed when the DA
         or SA server starts up.  Default is none.







Kempf & Guttman              Informational                     [Page 11]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -