rfc1654.txt

来自「中、英文RFC文档大全打包下载完全版 .」· 文本 代码 · 共 1,534 行 · 第 1/5 页

TXT
1,534
字号
Rekhter & Li                                                   [Page 11]RFC 1654                         BGP-4                         July 1994         attribute is transitive (if set to 1) or non-transitive (if set         to 0).  For well-known attributes, the Transitive bit must be         set to 1.  (See Section 5 for a discussion of transitive         attributes.)         The third high-order bit (bit 2) of the Attribute Flags octet         is the Partial bit.  It defines whether the information         contained in the optional transitive attribute is partial (if         set to 1) or complete (if set to 0).  For well-known attributes         and for optional non-transitive attributes the Partial bit must         be set to 0.         The fourth high-order bit (bit 3) of the Attribute Flags octet         is the Extended Length bit.  It defines whether the Attribute         Length is one octet (if set to 0) or two octets (if set to 1).         Extended Length may be used only if the length of the attribute         value is greater than 255 octets.         The lower-order four bits of the Attribute Flags octet are .         unused. They must be zero (and must be ignored when received).         The Attribute Type Code octet contains the Attribute Type Code.         Currently defined Attribute Type Codes are discussed in Section         5.         If the Extended Length bit of the Attribute Flags octet is set         to 0, the third octet of the Path Attribute contains the length         of the attribute data in octets.         If the Extended Length bit of the Attribute Flags octet is set         to 1, then the third and the fourth octets of the path         attribute contain the length of the attribute data in octets.         The remaining octets of the Path Attribute represent the         attribute value and are interpreted according to the Attribute         Flags and the Attribute Type Code. The supported Attribute Type         Codes, their attribute values and uses are the following:         a)   ORIGIN (Type Code 1):            ORIGIN is a well-known mandatory attribute that defines the            origin of the path information.   The data octet can assume            the following values:Rekhter & Li                                                   [Page 12]RFC 1654                         BGP-4                         July 1994                  Value      Meaning                  0         IGP - Network Layer Reachability Information                               is interior to the originating AS                  1         EGP - Network Layer Reachability Information                               learned via EGP                  2         INCOMPLETE - Network Layer Reachability                               Information learned by some other means            Its usage is defined in 5.1.1         b) AS_PATH (Type Code 2):            AS_PATH is a well-known mandatory attribute that is composed            of a sequence of AS path segments. Each AS path segment is            represented by a triple <path segment type, path segment            length, path segment value>.            The path segment type is a 1-octet long field with the            following values defined:                  Value      Segment Type                  1         AS_SET: unordered set of ASs a route in the                               UPDATE message has traversed                  2         AS_SEQUENCE: ordered set of ASs a route in                               the UPDATE message has traversed            The path segment length is a 1-octet long field containing            the number of ASs in the path segment value field.            The path segment value field contains one or more AS            numbers, each encoded as a 2-octets long field.            Usage of this attribute is defined in 5.1.2.         c)   NEXT_HOP (Type Code 3):            This is a well-known mandatory attribute that defines the IP            address of the border router that should be used as the next            hop to the destinations listed in the Network Layer            Reachability field of the UPDATE message.            Usage of this attribute is defined in 5.1.3.Rekhter & Li                                                   [Page 13]RFC 1654                         BGP-4                         July 1994         d) MULTI_EXIT_DISC (Type Code 4):            This is an optional non-transitive attribute that is a four            octet non-negative integer. The value of this attribute may            be used by a BGP speaker's decision process to discriminate            among multiple exit points to a neighboring autonomous            system.            Its usage is defined in 5.1.4.         e) LOCAL_PREF (Type Code 5):            LOCAL_PREF is a well-known discretionary attribute that is a            four octet non-negative integer. It is used by a BGP speaker            to inform other BGP speakers in its own autonomous system of            the originating speaker's degree of preference for an            advertised route. Usage of this attribute is described in            5.1.5.         f) ATOMIC_AGGREGATE (Type Code 6)            ATOMIC_AGGREGATE is a well-known discretionary attribute of            length 0. It is used by a BGP speaker to inform other BGP            speakers that the local system selected a less specific            route without selecting a more specific route which is            included in it. Usage of this attribute is described in            5.1.6.         g) AGGREGATOR (Type Code 7)            AGGREGATOR is an optional transitive attribute of length 6.            The attribute contains the last AS number that formed the            aggregate route (encoded as 2 octets), followed by the IP            address of the BGP speaker that formed the aggregate route            (encoded as 4 octets).  Usage of this attribute is described            in 5.1.7      Network Layer Reachability Information:         This variable length field contains a list of IP address         prefixes.  The length in octets of the Network Layer         Reachability Information is not encoded explicitly, but can be         calculated as:            UPDATE message Length - 23 - Total Path Attributes Length -            Unfeasible Routes Length         where UPDATE message Length is the value encoded in the fixed-Rekhter & Li                                                   [Page 14]RFC 1654                         BGP-4                         July 1994         size BGP header, Total Path Attribute Length and Unfeasible         Routes Length  are the values encoded in the variable part of         the UPDATE message, and 23 is a combined length of the fixed-         size BGP header, the Total Path Attribute Length field and the         Unfeasible Routes Length field.         Reachability information is encoded as one or more 2-tuples of         the form <length, prefix>, whose fields are described below:                  +---------------------------+                  |   Length (1 octet)        |                  +---------------------------+                  |   Prefix (variable)       |                  +---------------------------+         The use and the meaning of these fields are as follows:         a) Length:            The Length field indicates the length in bits of the IP            address prefix. A length of zero indicates a prefix that            matches all IP addresses (with prefix, itself, of zero            octets).         b) Prefix:            The Prefix field contains IP address prefixes followed by            enough trailing bits to make the end of the field fall on an            octet boundary. Note that the value of the trailing bits is            irrelevant.   The minimum length of the UPDATE message is 23 octets -- 19 octets   for the fixed header + 2 octets for the Unfeasible Routes Length + 2   octets for the Total Path Attribute Length (the value of Unfeasible   Routes Length is 0  and the value of Total Path Attribute Length is   0).   An UPDATE message can advertise at most one route, which may be   described by several path attributes. All path attributes contained   in a given UPDATE messages apply to the destinations carried in the   Network Layer Reachability Information field of the UPDATE message.   An UPDATE message can list multiple routes to be withdrawn from   service.  Each such route is identified by its destination (expressed   as an IP prefix), which unambiguously identifies the route in the   context of the BGP speaker - BGP speaker connection to which it has   been previously been advertised.Rekhter & Li                                                   [Page 15]RFC 1654                         BGP-4                         July 1994   An UPDATE message may advertise only routes to be withdrawn from   service, in which case it will not include path attributes or Network   Layer Reachability Information. Conversely, it may advertise only a   feasible route, in which case the WITHDRAWN ROUTES field need not be   present.4.4 KEEPALIVE Message Format   BGP does not use any transport protocol-based keep-alive mechanism to   determine if peers are reachable.  Instead, KEEPALIVE messages are   exchanged between peers often enough as not to cause the Hold Timer   to expire.  A reasonable maximum time between KEEPALIVE messages   would be one third of the Hold Time interval.  KEEPALIVE messages   MUST NOT be sent more frequently than one per second.  An   implementation MAY adjust the rate at which it sends KEEPALIVE   messages as a function of the Hold Time interval.   If the negotiated Hold Time interval is zero, then periodic KEEPALIVE   messages MUST NOT be sent.   KEEPALIVE message consists of only message header and has a length of   19 octets.4.5 NOTIFICATION Message Format   A NOTIFICATION message is sent when an error condition is detected.   The BGP connection is closed immediately after sending it.   In addition to the fixed-size BGP header, the NOTIFICATION message   contains the following fields:        0                   1                   2                   3        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+       | Error code    | Error subcode |           Data                |       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +       |                                                               |       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      Error Code:         This 1-octet unsigned integer indicates the type of         NOTIFICATION.  The following Error Codes have been defined:Rekhter & Li                                                   [Page 16]RFC 1654                         BGP-4                         July 1994            Error Code       Symbolic Name               Reference              1         Message Header Error             Section 6.1              2         OPEN Message Error               Section 6.2              3         UPDATE Message Error             Section 6.3              4         Hold Timer Expired               Section 6.5              5         Finite State Machine Error       Section 6.6              6         Cease                            Section 6.7      Error subcode:         This 1-octet unsigned integer provides more specific         information about the nature of the reported error.  Each Error

⌨️ 快捷键说明

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