TLV Codes-Draft

Draft Codes for a simple inter-domain BB specification

Author: Rüdiger Geib
Version 2
 

Scope

This document determines which of the TLVs, parameters and parameter values of the QBone Bandwidth Broker Architecure [QBBA] are required to initially implement the simple inter domain Bandwidth Broker protocol defibed by [QBBA]. This document therefore must not be seen as a stand alone document. It should become part of a detailed specification for a simple inter domain bandwidth broker protocol (abbreviated SIBBS).
The terms MUST, SHOULD, MAY and so on are used as specified by [RFC2119]. This reference is used as most BB specifiers are aqainted with the IETF terminology.
 

Introduction

The QBone Bandwidth Broker Architecture [QBBA] contains the layout of a simple inter domain bandwidth broker protocol. This document is intended to determine TLV codes, to clarify the protocol requirements and to reduce the options of [QBBA]. Codes and parameter settings for TLVs recommended by [QBBA] will be specified. Further, it will be specified which TLVs and parameters must, should or may be supported. by doing this, the number of options introduced by [QBBA] will be reduced to the minimum required to provide a reliable and simple Inter Domain Resource reservation and administration protocol. The remainder of this document specifies the TLVs for a simple inter domain BB protocol as mentioned above. The coding rules applied below were stolen from different RFCs and Internet drafts.

General Coding rules

Octets in a TLV are numbered starting from 0, in increasing order. Bits in an octet are numbered from 0 to 7, where bit 0 is the most significant bit and is pictured on the left. When consecutive octets are used to represent a number, the lower octet number has the most significant value.
 

Simple Inter-Domain Bandwidth Broker Specification (SIBBS) PDUs

Each SIBBS PDU is an SIBBS header followed by one or more SIBBS messages. The SIBBS PDU header is shown in figure 1:

    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    |                                               |
   +-+-+-+-+-+-+-+-+         Sender ID                             |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                                                               +
   |                     Sender Signature                          |
   +                                                               +
   |                                                               |
   +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               |          PDU length           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
                                             Figure 1: SIBBS PDU header

Version
One octet unsigned integer containing the version number of the protocol.  This version of the specification specifies SIBBS protocol version 1.

Sender ID
Seven octet ASCII string identifying the DS domain that sent the PDU.

Sender Signature
TBD octet string providing the public key of the sending DS domain.

PDU Length
Two octet integer specifying the total length of this PDU in octets, excluding the Version, Sender ID, Sender Signature and PDU Length fields. The maximum PDU Length is 64 kbytes.
 

IDBB messages

All inter domain bandwidth broker messages have format shown in figure

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |U| Message Type|              Message Length                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                                                               +
   |                     Mandatory Parameters                      |
   +                                                               +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                                                               +
   |                     Optional Parameters                       |
   +                                                               +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Figure: Inter domain bandwidth broker message format

U bit
Unknown message bit. Upon receipt of an unknown message, if U is clear (=0), a notification is returned to the message originator; if U is set (=1), the unknown message is silently ignored. The sections following that define messages specify a value for the U- bit.

Message Type
Identifies the type of message

Message Length
Specifies the cumulative length in octets of the Message ID, Mandatory Parameters, and Optional Parameters. The maximum message length is 64 kbytes.

Mandatory Parameters
Variable length set of required message parameters.  Some messages have no required parameters.

For messages that have required parameters, the required parameters MUST appear in the order specified by the individual message specifications in the sections that follow.

Optional Parameters
Variable length set of optional message parameters.  Many messages have no optional parameters. For messages that have optional parameters, the optional parameters may appear in any order.
 

TLV specification

All SIBBS-parameters are encoded as Type-Length-Value fields. All SIBBS TLVs are encoded as follows in figure 2:

                                          No. of Octets
          +---+---+-------------------+
          | U | F |     TYPE          |      1
          +---+---+-------------------+
          |          LENGTH           |      1
          +---------------------------+
          |           VALUE           |    LENGTH
          +---------------------------+

                      Figure 2 - Encoding of SIBBS TLVs

U bit
Unknown TLV bit.  Upon receipt of an unknown TLV, if U is clear (=0), a notification must be returned to the message originator and the entire message must be ignored; if U is set (=1), the unknown TLV is silently ignored and the rest of the message is processed as if the unknown TLV did not exist. The sections following that define TLVs specify a value for the U-bit.

F bit
Forward unknown TLV bit.  This bit applies only when the U bit is set and the inter domain bandwidth broker message containing the unknown TLV is to be forwarded.  If F is clear (=0), the unknown TLV is not forwarded with the containing message; if F is set (=1), the unknown TLV is  forwarded with the containing message. The sections following that define TLVs specify a value for the F-bit.

In general, an inter domain bandwidth broker message may contain multiple variable length fields. Except where explicitly stated otherwise, these variable length fields may occur in any order.
 

References


[QBBA]            "QBone Bandwidth Broker Architecture", work in progress.

[RFC2119]       "Key words for use in RFCs to indicate requirement levels", IETF RFC2119, March 1997.