Connected: An Internet Encyclopedia
RFC 1771 - 4.2 OPEN Message Format

Top: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 1771
Up: 4. Message Formats
Prev: 4.1 Message Header Format
Next: 4.3 UPDATE Message Format

### 4.2 OPEN Message Format

After a transport protocol connection is established, the first message sent by each side is an OPEN message. If the OPEN message is acceptable, a KEEPALIVE message confirming the OPEN is sent back. Once the OPEN is confirmed, UPDATE, KEEPALIVE, and NOTIFICATION messages may be exchanged.

In addition to the fixed-size BGP header, the OPEN 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
           +-+-+-+-+-+-+-+-+
           |    Version    |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |     My Autonomous System      |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |           Hold Time           |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |                         BGP Identifier                        |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           | Opt Parm Len  |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |                                                               |
           |                       Optional Parameters                     |
           |                                                               |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Version:

             This 1-octet unsigned integer indicates the protocol version
             number of the message.  The current BGP version number is 4.

          My Autonomous System:

             This 2-octet unsigned integer indicates the Autonomous System
             number of the sender.
          Hold Time:

             This 2-octet unsigned integer indicates the number of seconds
             that the sender proposes for the value of the Hold Timer.  Upon
             receipt of an OPEN message, a BGP speaker MUST calculate the
             value of the Hold Timer by using the smaller of its configured
             Hold Time and the Hold Time received in the OPEN message.  The
             Hold Time MUST be either zero or at least three seconds.  An
             implementation may reject connections on the basis of the Hold
             Time.  The calculated value indicates the maximum number of
             seconds that may elapse between the receipt of successive
             KEEPALIVE, and/or UPDATE messages by the sender.

          BGP Identifier:

             This 4-octet unsigned integer indicates the BGP Identifier of
             the sender. A given BGP speaker sets the value of its BGP
             Identifier to an IP address assigned to that BGP speaker.  The
             value of the BGP Identifier is determined on startup and is the
             same for every local interface and every BGP peer.

          Optional Parameters Length:

             This 1-octet unsigned integer indicates the total length of the
             Optional Parameters field in octets. If the value of this field
             is zero, no Optional Parameters are present.

          Optional Parameters:

             This field may contain a list of optional parameters, where
             each parameter is encoded as a <Parameter Type, Parameter
             Length, Parameter Value> triplet.

              0                   1
              0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...
             |  Parm. Type   | Parm. Length  |  Parameter Value (variable)
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...

             Parameter Type is a one octet field that unambiguously
             identifies individual parameters. Parameter Length is a one
             octet field that contains the length of the Parameter Value
             field in octets.  Parameter Value is a variable length field
             that is interpreted according to the value of the Parameter
             Type field.

             This document defines the following Optional Parameters:

             a) Authentication Information (Parameter Type 1):

                This optional parameter may be used to authenticate a BGP
                peer. The Parameter Value field contains a 1-octet
                Authentication Code followed by a variable length
                Authentication Data.

                    0 1 2 3 4 5 6 7 8
                    +-+-+-+-+-+-+-+-+
                    |  Auth. Code   |
                    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                    |                                                     |
                    |              Authentication Data                    |
                    |                                                     |
                    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Authentication Code:

                      This 1-octet unsigned integer indicates the
                      authentication mechanism being used.  Whenever an
                      authentication mechanism is specified for use within
                      BGP, three things must be included in the
                      specification:

                      - the value of the Authentication Code which indicates
                      use of the mechanism,
                      - the form and meaning of the Authentication Data, and
                      - the algorithm for computing values of Marker fields.

                      Note that a separate authentication mechanism may be
                      used in establishing the transport level connection.

                   Authentication Data:

                      The form and meaning of this field is a variable-
                      length field depend on the Authentication Code.

             The minimum length of the OPEN message is 29 octets (including
             message header).

Next: 4.3 UPDATE Message Format

Connected: An Internet Encyclopedia
RFC 1771 - 4.2 OPEN Message Format