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

📄 rfc2895.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   An extended form of the BNF notation is used to specify the syntax of   the PI language. The rules for this notation are shown below:     *  Literal values are specified in quotes, for example "REFERENCE"     *  Non-terminal items are surrounded by less than (<) and greater        than (>) characters, for example <parmList>     *  Terminal items are specified without surrounding quotes or less        than and greater than characters, for example 'lcname'     *  A vertical bar (|) is used to indicate a choice between items,        for example 'number | hstr'     *  Ellipsis are used to indicate that the previous item may be        repeated one or more times, for example <parm>...     *  Square brackets are used to enclose optional items, for example        [ "," <parm> ]     *  An equals character (=) is used to mean "defined as," for        example '<protoName> = pname'3.2.3.  Grammar for the PI Language   The following are "terminals" of the grammar and are identical to the   same lexical elements from the MIB module language, except for hstr   and pname:       <lc>     = "a" | "b" | "c" | ... | "z"       <uc>     = "A" | "B" | "C" | ... | "Z"       <letter> = <lc> | <uc>       <digit>  = "0" | "1" | ... | "9"       <hdigit> = <digit> | "a" | "A" | "b" | "B" | ... | "f" | "F"Bierman, et al.             Standards Track                    [Page 13]RFC 2895                   RMON PI Reference                 August 2000       <lcname> = <lc> [ <lcrest> ]       <lcrest> = ( <letter> | <digit> | "-" ) [ <lcrest> ]       <pname>  = ( <letter> | <digit> ) [ <pnrest> ]       <pnrest> = ( <letter> | <digit> | "-" | "_" | "*" ) [ <pnrest> ]       <number> = <digit> [ <number> ]  -- to a max dec. value of 4g-1       <hstr>   = "0x" <hrest>          -- to a max dec. value of 4g-1       <hrest>  = <hdigit> [ <hrest> ]       <lf>     = linefeed char       <cr>     = carriage return char       <eoln>   = <cr><lf> | <lf>       <sp>     = " "       <tab>    = "    "       <wspace> = { <sp> | <tab> | <eoln> } [<wspace>]       <string> = """ [ <strest> ] """       <strest> = ( <letter> | <digit> | <wspace> ) [ <strest> ]   The following is the extended BNF notation for the grammar with   starting symbol <piFile>:       -- a file containing one or more Protocol Identifier (PI)       -- definitions       <piFile> = <piDefinition>...       -- a PI definition       <piDefinition> =         <protoName> "PROTOCOL-IDENTIFIER"             [ "VARIANT-OF" <protoName> ]               "PARAMETERS" "{" [ <parmList> ] "}"               "ATTRIBUTES" "{" [ <attrList> ] "}"               "DESCRIPTION" string             [ "CHILDREN" string ]             [ "ADDRESS-FORMAT" string ]             [ "DECODING" string ]             [ "REFERENCE" string ]               "::=" "{" <encapList> "}"       -- a protocol name       <protoName> = pname       -- a list of parameters       <parmList> = <parm> [ "," <parm> ]...Bierman, et al.             Standards Track                    [Page 14]RFC 2895                   RMON PI Reference                 August 2000       -- a parameter       <parm> = lcname [<wspace>] "(" [<wspace>]                 <nonNegNum> [<wspace>] ")" [<wspace>]       -- list of attributes       <attrList> = <attr> [ [<wspace>] "," [<wspace>] <attr> ]...       -- an attribute       <attr> = lcname [<wspace>] "(" [<wspace>]                 <nonNegNum> [<wspace>] ")"       -- a non-negative number       <nonNegNum> = number | hstr       -- list of encapsulation values       <encapList> = <encapValue> [ [<wspace>] ","                       [<wspace>] <encapValue> ]...       -- an encapsulation value       <encapValue> = <baseEncapValue> | <normalEncapValue>       -- base encapsulation value       <baseEncapValue> = <nonNegNum>       -- normal encapsulation value        <normalEncapValue> = <protoName> <wspace> <nonNegNum>       -- comment       <two dashes> <text> <end-of-line>3.2.4.  Mapping of the Protocol Name   The "protoName" value, called the "protocol name" shall be an ASCII   string consisting of one up to 64 characters from the following:        "A" through "Z"        "a" through "z"        "0" through "9"        dash (-)        underbar (_)        asterisk (*)        plus(+)   The first character of the protocol name is limited to one of the   following:        "A" through "Z"        "a" through "z"Bierman, et al.             Standards Track                    [Page 15]RFC 2895                   RMON PI Reference                 August 2000        "0" through "9"   This value SHOULD be the name or acronym identifying the protocol.   Note that case is significant.  The value selected for the protocol   name SHOULD match the "most well-known" name or acronym for the   indicated protocol.  For example, the document indicated by the URL:       ftp://ftp.isi.edu/in-notes/iana/assignments/protocol-numbers   defines IP Protocol field values, so protocol-identifier macros for   children of IP SHOULD be given names consistent with the protocol   names found in this authoritative document.  Likewise, children of   UDP and TCP SHOULD be given names consistent with the port number   name assignments found in:       ftp://ftp.isi.edu/in-notes/iana/assignments/port-numbers   When the "well-known name" contains characters not allowed in   protocol names, they MUST be changed to a dash character ("-") . In   the event that the first character must be changed, the protocol name   is prepended with the letter "p", so the former first letter may be   changed to a dash.   For example, z39.50 becomes z39-50 and 914c/g becomes 914c-g.  The   following protocol names are legal:       ftp, ftp-data, whois++, sql*net, 3com-tsmux, ocs_cmu   Note that it is possible in actual implementation that different   encapsulations of the same protocol (which are represented by   different entries in the protocolDirTable) will be assigned the same   protocol name.  The protocolDirID INDEX value defines a particular   protocol, not the protocol name string.3.2.5.  Mapping of the VARIANT-OF Clause   This clause is present for IANA assigned protocols only.  It   identifies the protocol-identifier macro that most closely represents   this particular protocol, and is known as the "reference protocol".   A protocol-identifier macro MUST exist for the reference protocol.   When this clause is present in a protocol-identifier macro, the macro   is called a 'protocol-variant-identifier'.   Any clause (e.g. CHILDREN, ADDRESS-FORMAT) in the reference   protocol-identifier macro SHOULD NOT be duplicated in the protocol-   variant-identifier macro, if the 'variant' protocols' semantics are   identical for a given clause.Bierman, et al.             Standards Track                    [Page 16]RFC 2895                   RMON PI Reference                 August 2000   Since the PARAMETERS and ATTRIBUTES clauses MUST be present in a   protocol-identifier, an empty 'ParamList' and 'AttrList' (i.e.   "PARAMETERS {}") MUST be present in a protocol-variant-identifier   macro, and the 'ParamList' and 'AttrList' found in the reference   protocol-identifier macro examined instead.   Note that if an 'ianaAssigned' protocol is defined that is not a   variant of any other documented protocol, then the protocol-   identifier macro SHOULD be used instead of the protocol-variant-   identifier version of the macro.3.2.6.  Mapping of the PARAMETERS Clause   The protocolDirParameters object provides an NMS the ability to turn   on and off expensive probe resources. An agent may support a given   parameter all the time, not at all, or subject to current resource   load.   The PARAMETERS clause is a list of bit definitions which can be   directly encoded into the associated ProtocolDirParameters octet in   network byte order. Zero or more bit definitions may be present. Only   bits 0-7 are valid encoding values. This clause defines the entire   BIT set allowed for a given protocol. A conforming agent may choose   to implement a subset of zero or more of these PARAMETERS.   By convention, the following common bit definitions are used by   different protocols.  These bit positions MUST NOT be used for other   parameters. They MUST be reserved if not used by a given protocol.   Bits are encoded in a single octet. Bit 0 is the high order (left-   most) bit in the octet, and bit 7 is the low order (right-most) bit   in the first octet. Reserved bits and unspecified bits in the octet   are set to zero.     Table 3.1  Reserved PARAMETERS Bits     ------------------------------------ Bit Name              Description --------------------------------------------------------------------- 0   countsFragments   higher-layer protocols encapsulated within                       this protocol will be counted correctly even                       if this protocol fragments the upper layers                       into multiple packets. 1   tracksSessions    correctly attributes all packets of a protocol                       which starts sessions on well known ports or                       sockets and then transfers them to dynamically                       assigned ports or sockets thereafter (e.g. TFTP).Bierman, et al.             Standards Track                    [Page 17]RFC 2895                   RMON PI Reference                 August 2000   The PARAMETERS clause MUST be present in all protocol-identifier   macro declarations, but may be equal to zero (empty).3.2.6.1.  Mapping of the 'countsFragments(0)' BIT   This bit indicates whether the probe is correctly attributing all   fragmented packets of the specified protocol, even if individual   frames carrying this protocol cannot be identified as such.  Note   that the probe is not required to actually present any re-assembled   datagrams (for address-analysis, filtering, or any other purpose) to   the NMS.   This bit MUST only be set in a protocolDirParameters octet which   corresponds to a protocol that supports fragmentation and reassembly   in some form. Note that TCP packets are not considered 'fragmented-   streams' and so TCP is not eligible.   This bit MAY be set in more than one protocolDirParameters octet   within a protocolDirTable INDEX, in the event an agent can count   fragments at more than one protocol layer.3.2.6.2.  Mapping of the 'tracksSessions(1)' BIT   The 'tracksSessions(1)' bit indicates whether frames which are part   of remapped sessions (e.g. TFTP download sessions) are correctly   counted by the probe. For such a protocol, the probe must usually   analyze all packets received on the indicated interface, and maintain   some state information, (e.g. the remapped UDP port number for TFTP).   The semantics of the 'tracksSessions' parameter are independent of   the other protocolDirParameters definitions, so this parameter MAY be   combined with any other legal parameter configurations.3.2.7.  Mapping of the ATTRIBUTES Clause   The protocolDirType object provides an NMS with an indication of a   probe's capabilities for decoding a given protocol, or the general   attributes of the particular protocol.   The ATTRIBUTES clause is a list of bit definitions which are encoded   into the associated instance of ProtocolDirType. The BIT definitions   are specified in the SYNTAX clause of the protocolDirType MIB object.Bierman, et al.             Standards Track                    [Page 18]RFC 2895                   RMON PI Reference                 August 2000        Table 3.2  Reserved ATTRIBUTES Bits        ------------------------------------    Bit Name              Description    ---------------------------------------------------------------------    0  hasChildren        indicates that there may be children of                          this protocol defined in the protocolDirTable                          (by either the agent or the manager).    1  addressRecognitionCapable                          indicates that this protocol can be used                          to generate host and matrix table entries.   The ATTRIBUTES clause MUST be present in all protocol-identifier   macro declarations, but MAY be empty.3.2.8.  Mapping of the DESCRIPTION Clause   The DESCRIPTION clause provides a textual description of the protocol   identified by this macro.  Notice that it SHOULD NOT contain details   about items covered by the CHILDREN, ADDRESS-FORMAT, DECODING and   REFERENCE clauses.

⌨️ 快捷键说明

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