RFC 3033

The Assignment of the Information Field and Protocol Identifier in the Q.2941 Generic Identifier and Q.2957 User-to-user Signaling for the Internet Protocol

๐Ÿ“… published January 2001, from ietf

RFC 3033 ๐Ÿ’– The Assignment of the Information Field and Protocol Identifier in the Q.2941 Generic Identifier and Q.2957 User-to-user Signaling for the Internet Protocol

okay bestie, the title block first ๐ŸŽ€. This one is by M. Suzuki from NTT, and it's a Standards Track doc, so it's an actual Internet standards-track protocol spec โœจ. It's dated January 2001, and it's part of the Network Working Group stuff. It doesn't obsolete or update any other RFCs, since none are listed in its header ๐Ÿฆ‹.

Status of This Memo

this part is the legal-ish stuff ๐Ÿงš. It says this document specifies an Internet standards track protocol for the Internet community, and it's asking everyone to discuss it and suggest improvements ๐Ÿ’…. If you want to know where this protocol stands in standardization, check the current edition of the "Internet Official Protocol Standards" (STD 1) ๐Ÿ“š. Distribution of this memo is unlimited ๐ŸŒˆ.

Copyright (C) The Internet Society (2001). All Rights Reserved.

Abstract

so the whole point of this doc is to nail down the assignment of the information field and protocol identifier in the Q.2941 Generic Identifier and Q.2957 User-to-user Signaling, for the Internet protocol โœจ.

the assignment in section 4 is built for advanced B-ISDN signaling support of the Internet protocol ๐Ÿ”ฅ. That includes the B-ISDN signaling for the connection that matches up with the session in the Internet protocol, which section 2 explains ๐Ÿ’œ. This spec is basically an indispensable framework for long-lived session and QoS-sensitive session transfers over ATM ๐Ÿ‘‘. it's giving infrastructure โœจ.

1. Purpose of Document โœจ

okay the purpose is the same as the abstract, so we're locked in ๐Ÿ’…. Again: specifying the assignment of the information field and protocol identifier in the Q.2941 Generic Identifier and Q.2957 User-to-user Signaling for the Internet protocol ๐ŸŽ€.

section 4 has the assignment, and it's made for advanced B-ISDN signaling support of the Internet protocol ๐Ÿฆ‹. especially the B-ISDN signaling support for the connection that matches the session in the Internet protocol, which section 2 clarifies ๐Ÿ’–. And honestly? The purpose isn't limited to that. It should also be applicable to other purposes too ๐ŸŒธ.

this spec is an indispensable framework for long-lived session and QoS-sensitive session transfers over ATM ๐Ÿซถ. Note that this doc only specifies the assignment of the information field and protocol identifier, and it may not specify a complete protocol that enables interoperable implementation ๐Ÿ˜ญ. That's because it's out of scope here, and it'll be specified in a separate document ๐Ÿงš.

so the internet is getting obsessed with multimedia, and the IP network mostly does best-effort stuff right now ๐Ÿ’…. Demand for QoS-guaranteed communications is blowing up thanks to voice, audio, and video apps ๐Ÿ”ฅ. And we might also need a mechanism that can move the huge volume of traffic these apps are going to make, efficiently ๐Ÿ’€.

B-ISDN has some major features ๐Ÿ‘‘: high speed, logical multiplexing with the VP/VC, and flexible QoS management per VC โœจ. So using those features to build a multimedia support mechanism in the IP network is super natural ๐Ÿ’–. The flexible QoS management and logical multiplexing in B-ISDN are the expected way to do QoS-guaranteed communications on the Internet ๐Ÿฆ‹. And when a VC is supporting a long-lived session, efficient packet forwarding may be possible thanks to B-ISDN's high speed and logical multiplexing ๐Ÿš€.

this section explains the B-ISDN signaling functions that are required when a VC supports the session, for advanced B-ISDN signaling support of the Internet protocol ๐ŸŽ€.

2.1 Long-lived Session Signaling

here's an example scenario for setting up a VC for a long-lived session, shown in Fig. 2.1 ๐Ÿ“.

         IP Router      ATM SW         ATM SW       IP Router
+----+                        Default VC                        +----+
| WS |   +------+  UNI  +-----+        +-----+  UNI  +------+   | WS |
+--+-+   |   /->|<------+-\-/-+--------+-\-/-+------>|<-\   |   +-+--+
   |.....|__/   |===||==|  X  |========|  X  |==||===|   \__|.....|
         |      |       | / \ |        | / \ |       |      |
         +------+       +-----+        +-----+       +------+

         A. New session initially forwarded over a default VC.
         IP Router      ATM SW         ATM SW       IP Router
+----+                        Default VC                        +----+
| WS |   +------+  UNI  +-----+        +-----+  UNI  +------+   | WS |
+--+-+   |   /->|<------+-\-/-+--------+-\-/-+------>|<-\   |   +-+--+
   |.....|__/   |===||==|  X  |========|  X  |==||===|   \__|.....|
         |      |<------+-/-\-+--------+-/-\-+------>|      |
         +------+       +-----+        +-----+       +------+
                            New VC is set up

B. New VC is set up for the long-lived session.
         IP Router      ATM SW         ATM SW       IP Router
+----+                        Default VC                        +----+
| WS |   +------+  UNI  +-----+        +-----+  UNI  +------+   | WS |
+--+-+   |      |<------+-\-/-+--------+-\-/-+------>|      |   +-+--+
   |.....|__    |===||==|  X  |========|  X  |==||===|    __|.....|
         |  \-->|<------+-/-\-+--------+-/-\-+------>|<--/  |
         +------+       +-----+        +-----+       +------+
                                New VC

C. Transfer of the long-lived session to a new VC.

Fig. 2.1: Example scenario for establishing a VC for a long-lived session.

so here's how it goes ๐Ÿงš. First, the session gets multiplexed into the default VC connecting the routers ๐Ÿ’…. Then, if a router detects it's a long-lived session, it sets up a new VC for that session ๐Ÿ‘€. If the new VC gets set up successfully, the long-lived session moves over to it ๐Ÿฆ‹.

in this VC setup procedure, the B-ISDN signaling entity in the called-side router has to detect that the incoming call matches an Internet protocol session, and then tell the IP layer entity about it ๐Ÿ”ฅ. Based on that info, the IP layer entity moves the session to the new VC ๐Ÿ’–.

so to make this signaling procedure work, the B-ISDN signaling must include a session identifier as an information element ๐ŸŽ€. The B-LLI, B-HLI, User-user, and Generic Identifier information elements can all carry this info ๐ŸŒธ. But if you think about what these information elements were originally for, the most appropriate one to use is the Generic Identifier information element ๐Ÿ‘‘ iykyk.

2.2 QoS-sensitive Session Signaling

the big difference between QoS-sensitive session signaling and long-lived session signaling is that the call setup doesn't start because a long-lived session got detected ๐Ÿฆ‹. Instead, the setup protocol, like RSVP, explicitly starts it ๐Ÿ’…. To do QoS-sensitive session signaling with ATM, the ATM network between the routers has to forward not only the session identifier but also the setup protocol ๐Ÿซถ.

there are two ways to forward the setup protocol ๐ŸŒˆ. The first is to multiplex the protocol into a default VC connecting the routers, or to forward it through a particular VC. In this case, the QoS-sensitive session and the ATM VC get set up one after the other ๐Ÿงš. The second way is to forward the setup protocol as an information element in the B-ISDN signaling. In this case, the QoS-sensitive session and the ATM VC get set up at the same time โœจ. The latter way has these advantages over the former one:

  • Easier to implement.
    • Admission control is simplified, because admission control for the IP and ATM layers can be done at the same time ๐Ÿ’–.
    • Watchdog timer processing is simplified, because there's no need to watch the IP layer establishment and the ATM layer establishment one after the other ๐Ÿ™ˆ.
  • If the setup protocol supports negotiation, then an ATM VC whose QoS is based on the result of that negotiation can be established ๐Ÿ”ฅ.

but the latter way, at least, can't support a case where a PVC is used to support a QoS-sensitive session ๐Ÿ˜ญ. So both procedures should be taken into account ๐ŸŽ€.

here's an example message sequence that sets up a QoS-sensitive session and an ATM VC at the same time, shown in Fig. 2.2 ๐Ÿ“.

         IP Router      ATM SW         ATM SW       IP Router
+----+                     B-ISDN Signaling                     +----+
| WS |   +------+  UNI  +-----+ Setup  +-----+  UNI  +------+   | WS |
+--+-+   |   /->|<------+-\-/--Protocol--\-/-+------>|<-\   |   +-+--+
   |.....|__/   |===||==|  X  |========|  X  |==||===|   \__|.....|
         |  \-->|<------+-/-\-+--------+-/-\-+------>|<--/  |
         +------+       +-----+  Data  +-----+       +------+
                                QoS VC
 N-CONNECT |                                              |
---------->|  |             |            |             |  |
           |->|    SETUP    |            |             |  |
           |  |------------>|            |             |  |
           |  |<------------|            |             |  |
           |  |  CALL PROC  |----------->|    SETUP    |  |
           |  |             |            |------------>|  |
           |  |             |            |             |->| N-CONNECT
           |  |             |            |             |  |---------->
           |  |             |            |             |  |<----------
           |  |             |            |    CONN     |<-| N-CONNECT-ACK
           |  |             |            |<------------|  |
           |  |             |            |------------>|  |
           |  |    CONN     |<-----------|  CONN ACK   |->|
           |  |<------------|            |             |  |
           |  |------------>|            |             |  |
           |<-|  CONN ACK   |            |             |  |
<----------|  |             |            |             |  |
 N-CONNECT |                                              |
      -ACK

Fig. 2.2: Example procedure for simultaneous QoS-sensitive session and ATM VC establishment.

RSVP is the setup protocol being proposed right now, and new setup protocols will probably show up later ๐Ÿ”ฎ. So to keep the discussion general, the setup protocol in this example uses the general connection setup procedure with confirmed service ๐Ÿ’œ.

to make this signaling procedure work, the B-ISDN signaling must include the User-user information element, and that element's capacity has to be sufficient to forward the setup protocol ๐Ÿซถ.


3. Overview of the Generic Identifier and User-to-user Signaling โœจ

3.1 Overview of the Generic Identifier

okay bestie, the Generic Identifier is how end-to-end users pass identifiers to each other across the ATM network ๐Ÿฆ‹ It's defined in Q.2941.1 [3] and Q.2941.2 [4] as an optional information element for the Q.2931 [1] and Q.2971 [2] UNI signaling protocol. The SETUP, ALERTING, CONNECT, RELEASE, RELEASE COMPLETE, ADD PARTY, PARTY ALERTING, ADD PARTY ACK, ADD PARTY REJECT, DROP PARTY, and DROP PARTY ACK messages that go between end-to-end users can carry up to three Generic Identifier information elements ๐Ÿ’… The ATM network passes the Generic Identifier information element along transparently as long as it has no coding rule errors โœจ

Here's the format of the Generic Identifier information element, as specified in Q.2941 ๐ŸŽ€

                              Bits
           8     7     6     5     4     3     2     1    Octets
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |        Information element identifier         |
        |    = Generic identifier transport IE (0x7F)   |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |  1  |   Coding  |    IE instruction field     |
        | Ext |  standard |Flag |Res. |  IE action ind. |  2
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |   Length of contents of information element   |  3-4
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |    Identifier related standard/application    |  5
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier type                |  6
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |               Identifier length               |  7
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier value               |  8-
        =                                               =
        +-----+-----+-----+-----+-----+-----+-----+-----+
        =                                               =
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier type                |
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |               Identifier length               |
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier value               |
        =                                               =
        +-----+-----+-----+-----+-----+-----+-----+-----+

Fig. 3.1: Format of the Generic Identifier information element.

The usage of the first 4 octets of fields is specified in section 4 of the Q.2931 ๐Ÿ“

The Identifier related standard/application field tells you which standard or application is using the identifier ๐Ÿ”ฅ For the Internet protocol, the assignments are below (a leading 0x means hexadecimal):

  • 0x03: IPv4.
  • 0x04: ST2+.
  • 0x05: IPv6.
  • 0x06: MPLS.
Note: DSM-CC, H.310/H.321, MPOA, ATM VCC Trunking, AAL2, and H.323/H.245 are also supported. ๐ŸŒˆ

A transferred identifier is the combination of its Identifier type, length and value fields, and one Generic Identifier information element can hold multiple identifiers ๐Ÿงš

The Identifier type field assignments for the Internet protocol are below (again, a leading 0x means hexadecimal) ๐Ÿ’œ

  • 0x01: Session.
  • 0x02: Resource.
  • 0x10-0xFD: Reserved for IANA assignment.
  • 0xFE: Experiment/Organization specific.

The maximum length of the Generic Identifier information element is 63 octets ๐Ÿ“

See Q.2941.1 and Draft Q.2941.2 for the detailed protocol specifications of the Generic Identifier ๐Ÿซถ

3.2 Overview of the User-to-user Signaling

the User-to-user Signaling lets end-to-end users send information to each other across the ATM network ๐Ÿ’– It's defined in Q.2957 [5, 6] and in Q.2971 annex D [2] as an optional information element for the Q.2931 [1] and Q.2971 [2] UNI signaling protocol. The SETUP, ALERTING, CONNECT, RELEASE, RELEASE COMPLETE, PROGRESS, ADD PARTY, PARTY ALERTING, ADD PARTY ACK, ADD PARTY REJECT, DROP PARTY, and DROP PARTY ACK messages that go between end-to-end users may contain a User-user information element. Same deal as before: the ATM network carries the User-user information element transparently if it has no coding rule errors ๐ŸŒธ

Okay, so from a B-ISDN signaling app point of view, the Generic Identifier and User-to-user Signaling look like they do similar stuff ๐Ÿ™ˆ But their rules for handling exceptions aren't totally the same, because their purposes are different. The Generic Identifier is for moving identifiers between the c-planes, while User-to-user Signaling is for moving user data through the c-planes ๐Ÿ‘‘ Another difference: the latter supports interworking with the user-user information element in Q.931 N-ISDN signaling, but the Generic Identifier does not. Also, the ATM network may check the contents of the Generic Identifier information element, but it does not check the contents of the User-to-user information element ๐Ÿ‘€

Here's the format of the User-user information element ๐Ÿฆ‹

                              Bits
           8     7     6     5     4     3     2     1    Octets
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |        Information element identifier         |
        |    = User-user information element (0x7E)     |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |  1  |   Coding  |    IE instruction field     |
        | Ext |  standard |Flag |Res. |  IE action ind. |  2
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |   Length of contents of information element   |  3-4
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |             Protocol discriminator            |  5
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |               User information                |  6-
        =                                               =
        |                                               |
        +-----+-----+-----+-----+-----+-----+-----+-----+

Fig. 3.2: Format of the User-user information element.

The usage of the first 4 octets of fields is specified in section 4 of the Q.2931 โœจ

The Protocol discriminator field tells you which upper layer protocol is using the user-user information ๐ŸŽ€

The User information field holds the user-user information being transferred ๐Ÿ’…

The maximum length of the User-user information element is 133 octets ๐Ÿ“

See Q.2957, Draft Q.2957 amendment 1, and Q.2971 annex D for the detailed protocol specifications of the User-to-user Signaling ๐Ÿซถ

4. Information Field and Protocol Identifier Assignment โœจ

4.1 Assignment in the Generic Identifier Information Element

4.1.1 Use of Generic Identifier

the information field and protocol identifier assignment principle for the Internet protocol in the Generic Identifier information element is shown below ๐Ÿงš

                              Bits
           8     7     6     5     4     3     2     1    Octets
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |        Information element identifier         |
        |    = Generic identifier transport IE (0x7F)   |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |  1  |   Coding  |    IE instruction field     |
        | Ext |  standard |Flag |Res. |  IE action ind. |  2
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |   Length of contents of information element   |  3-4
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |    Identifier related standard/application    |
        |          = IPv4, ST2+, IPv6, or MPLS          |  5
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier type                |
        |       = Session, Resource, or Experiment   |  6
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |               Identifier length               |  7
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier value               |  8-
        =                                               =
        +-----+-----+-----+-----+-----+-----+-----+-----+
        =                                               =
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier type                |
        |       = Session, Resource, or Experiment   |
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |               Identifier length               |
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier value               |
        =                                               =
        +-----+-----+-----+-----+-----+-----+-----+-----+

Fig. 4.1: Principle of assignment in the Generic Identifier information element.

The Identifier related standard/application field is the IPv4, ST2+, IPv6, or MPLS ๐ŸŒŸ

The Identifier type field is the Session, Resource, or Experiment/Organization specific ๐Ÿ’œ

The Identifier value field is assigned to Internet protocol related information, identified by the Identifier related standard/application field and the Identifier type field. The following identifiers are specified ๐Ÿฆ‹

                                 Std./app.               Id type

 IPv4 session identifier         IPv4                    Session

 IPv6 session identifier         IPv6                    Session

 MPLS VCID                       MPLS                    Resource

 Exp./Org. specific              IPv4/ST2+/IPv6/MPLS     Experiment

As described in section 3.1, the B-ISDN signaling message passed between end-to-end users may contain up to three Generic Identifier information elements, and these elements may contain multiple identifiers ๐Ÿ“ This document does not specify the order of identifiers when multiple identifiers appear in a signaling message ๐Ÿ™ˆ

This document also does not specify the semantics when multiple identifiers with the same Identifier type appear in a signaling message, or when a signaling message contains a Generic Identifier information element that has no identifiers ๐Ÿคทโ€โ™€๏ธ

When a B-ISDN signaling message containing a Generic Identifier information element enters an ATM network that does not support the Generic Identifier, the network clears the call, discards the information element, or discards the signaling message. (See sections 4.5.1 and 5.6.8.1 of Q.2931 and section 9.3 of Q.2941.1 for details.) ๐Ÿ˜ฌ

To make Generic Identifier information element transfer reliable ๐Ÿซถ, when the calling party sends a SETUP or ADD PARTY message with up to three Generic Identifier information elements, the CONNECT or ADD PARTY ACK message returned by the called party must contain at least one Generic Identifier information element. The called party may not respond with the same identifiers it received from the calling party. The calling party should confirm that the response message contains at least one Generic Identifier information element. This rule enables identifier negotiation, but this document does not specify the detailed procedure for that negotiation ๐ŸŒˆ

4.1.2 IPv4 session identifier โœจ

okay so this one is for the IPv4 session identifier ๐ŸŒธ It only shows up when the Identifier related standard/application field in the Generic Identifier information element is IPv4 AND the Identifier type field is Session. Then the identifier is the IPv4 session identifier, and its layout is in Fig. 4.2 ๐Ÿ’…

                              Bits                         Octet
           8     7     6     5     4     3     2     1     length
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier type                |
        |                = Session (0x01)               |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |               Identifier length               |
        |               = 13 octets (0x0D)              |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |              Source IPv4 address              |  4
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |           Destination IPv4 address            |  4
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                   Protocol                    |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                  Source Port                  |  2
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Destination Port               |  2
        +-----+-----+-----+-----+-----+-----+-----+-----+

Fig. 4.2: IPv4 session identifier.

The Identifier type field is the Session (0x01) ๐Ÿฆ‹

The Identifier length is 13 octets ๐Ÿงš

The Source IPv4 address, Destination IPv4 address, Protocol, Source Port, and Destination Port [7, 9, 10] are assigned in that order to the Identifier value field. So it's the exact order, bestie, no shuffling ๐Ÿ’–

Note: This specific session identifier is intended for use only with the explicit reservation. If wild card associations are needed at a later date, another identifier type will be used. ๐Ÿ™ˆ This one is the vibe check: it's for explicit reservations only, and if wildcards ever become a thing, a different identifier type takes over ๐Ÿ’€

4.1.3 IPv6 session identifier ๐ŸŒˆ

Same energy, but now it's the IPv6 version! If the Identifier related standard/application field is IPv6 and the Identifier type field is Session, the identifier is the IPv6 session identifier ๐Ÿ‘‘ Check out the layout in Fig. 4.3.

                              Bits                         Octet
           8     7     6     5     4     3     2     1     length
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier type                |
        |                = Session (0x01)               |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |               Identifier length               |
        |               = 37 octets (0x25)              |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |              Source IPv6 address              |  16
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |           Destination IPv6 address            |  16
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                   Protocol                    |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                  Source Port                  |  2
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Destination Port               |  2
        +-----+-----+-----+-----+-----+-----+-----+-----+

Fig. 4.3: IPv6 session identifier.

The Identifier type field is the Session (0x01).

The Identifier length is 37 octets.

The Source IPv6 address, Destination IPv6 address, Protocol, Source Port, and Destination Port [8, 9, 10] are assigned in that order to the Identifier value field ๐ŸŽ€

Note: This specific session identifier is intended for use only with the explicit reservation. If wild card associations are needed at a later date, another identifier type will be used. ๐Ÿซถ Same rule as the IPv4 one, so don't forget it!

4.1.4 MPLS VCID ๐Ÿ“

Okay now we're switching to MPLS! If the Identifier related standard/application field is MPLS and the Identifier type field is Resource, the identifier is the MPLS VCID โœจ The format is in Fig. 4.4.

                                 Bits                         Octet
              8     7     6     5     4     3     2     1     length
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |                Identifier type                |
           |               = Resource (0x02)               |  1
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |               Identifier length               |
           |               = 4 octets (0x04)               |  1
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |                   MPLS VCID                   |  4
           +-----+-----+-----+-----+-----+-----+-----+-----+

Fig. 4.4: MPLS VCID.

The Identifier type field is the Resource (0x02).

The Identifier length is 4 octets.

The MPLS VCID [13] is assigned to the Identifier value field ๐ŸŒธ

4.1.5 Experiment/Organization specific ๐Ÿงช

This one is for the experimental and org-specific stuff ๐Ÿซง If the Identifier related standard/application field is IPv4, ST2+, IPv6, or MPLS, and the Identifier type field is Experiment/Organization specific, the identifier is the Experiment/Organization specific identifier. The layout is in Fig. 4.5.

                              Bits                         Octet
           8     7     6     5     4     3     2     1     length
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier type                |
        |   =  Experiment/Organization specific (0xFE)  |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |               Identifier length               |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |    Organizationally unique identifier (OUI)   |  3
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |     Experiment/Organization specific info.    |
        =                                               =
        |                                               |
        +-----+-----+-----+-----+-----+-----+-----+-----+

Fig. 4.5: Experiment/Organization specific.

The Identifier type field is the Experiment/Organization specific (0xFE).

The first 3 octets in the Identifier value field must contain the Organizationally unique identifier (OUI) (as specified in IEEE 802-1990; section 5.1). โœจ That OUI is the ID card for the whole thing, so it has to be there ๐Ÿชช


4.2 Assignment in the User-user Information Element ๐Ÿ’Œ

4.2.1 Use of User-to-user Signaling ๐Ÿซถ

Okay this is the big one for the User-user information element ๐Ÿ‘‘ The information field and protocol identifier assignment principle for the Internet protocol is shown in Fig. 4.6.

                              Bits
           8     7     6     5     4     3     2     1    Octets
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |        Information element identifier         |
        |    = User-user information element (0x7E)     |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |  1  |   Coding  |    IE instruction field     |
        | Ext |  standard |Flag |Res. |  IE action ind. |  2
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |   Length of contents of information element   |  3-4
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |             Protocol discriminator            |
        |     = Internet protocol/application (0x06)    |  5
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |    Internet protocol/application identifier   |  6
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |   Internet protocol/application related info. |  7-
        =                                               =
        |                                               |
        +-----+-----+-----+-----+-----+-----+-----+-----+

Fig. 4.6: Principle of assignment in the User-user information element.

The Protocol discriminator field is the Internet protocol/application (0x06). In this case, the first 1 octet in the User information field is the Internet protocol/application identifier field.

Assignment of the Internet protocol/application identifier field goes like this. A leading 0x means hexadecimal ๐Ÿง 

  0x00: Reserved.

  0x01: Reserved for ST2+.

  0x02: RSVP message.

  0x03-0xFD: Reserved for IANA assignment.

  0xFE: Experiment/Organization specific.

  0xFF: Reserved.

The field that follows the Internet protocol/application identifier field is assigned to Internet protocol/application related information that is identified by the Internet protocol/application identifier field ๐Ÿ’…

When a B-ISDN signaling message containing a User-user information element enters an ATM network that does not support the User-to-user Signaling, the network clears the call, discards the information element, or discards the signaling message. (See sections 4.5.1 and 5.6.8.1 of Q.2931, section 1.9 of Q.2957, and Q.2971 annex D for details.) ๐Ÿ˜ญ Yikes, so an ATM network without support has a few options and none of them are chill.

To enable reliable User-user information element transfer, when the calling party sends a SETUP or ADD PARTY message with a User-user information element, the CONNECT or ADD PARTY ACK message returned by the called party must contain a User-user information element. The called party may not respond with the same user information received from the calling party. The calling party should confirm that the response message contains a User-user information element. This rule enables negotiation; this document does not specify the detailed procedure of this negotiation. ๐Ÿค So basically there's a little handshake happening, but the details of how it works are left out of this doc ๐Ÿ™ˆ

4.2.2 RSVP message ๐ŸŒŠ

The format of the RSVP message is shown in Fig. 4.7 ๐Ÿฆ‹

                                 Bits
              8     7     6     5     4     3     2     1    Octets
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |        Information element identifier         |
           |    = User-user information element (0x7E)     |  1
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |  1  |   Coding  |    IE instruction field     |
           | Ext |  standard |Flag |Res. |  IE action ind. |  2
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |   Length of contents of information element   |  3-4
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |             Protocol discriminator            |
           |     = Internet protocol/application (0x06)    |  5
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |    Internet protocol/application identifier   |
           |              = RSVP message (0x02)            |  6
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |                  RSVP message                 |  7-
           =                                               =
           |                                               |
           +-----+-----+-----+-----+-----+-----+-----+-----+

Fig. 4.7: RSVP message.

The Internet protocol/application identifier field is the RSVP message (0x02).

The RSVP message [12] is assigned to the Internet protocol/application related information field. The SETUP message may contain the RSVP Resv message. The CONNECT message may contain the RSVP ResvConf message. The RELEASE message may contain the RSVP ResvErr or ResvTear message. ๐ŸŽ€

4.2.3 Experiment/Organization specific โœจ

Okay bestie, here's how the Experiment/Organization specific layout is laid out ๐ŸŽ€ See Fig. 4.8 below:

                                 Bits
              8     7     6     5     4     3     2     1    Octets
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |        Information element identifier         |
           |    = User-user information element (0x7E)     |  1
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |  1  |   Coding  |    IE instruction field     |
           | Ext |  standard |Flag |Res. |  IE action ind. |  2
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |   Length of contents of information element   |  3-4
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |             Protocol discriminator            |
           |     = Internet protocol/application (0x06)    |  5
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |    Internet protocol/application identifier   |
           |  =  Experiment/Organization specific (0xFE)   |  6
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |    Organizationally unique identifier (OUI)   |  7-9
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |     Experiment/Organization specific info.    |  10-
           =                                               =
           |                                               |
           +-----+-----+-----+-----+-----+-----+-----+-----+

      Fig. 4.8: Experiment/Organization specific.

The Internet protocol/application identifier field is Experiment/Organization specific (0xFE) ๐Ÿ’…

The first 3 octets in the Internet protocol/application related information field must contain the Organizationally unique identifier (OUI) (as specified in IEEE 802-1990; section 5.1). So the OUI goes right at the front of that field, no cap ๐Ÿซถ

5. Open Issues

Okay, so there are still a couple of open issues in this doc ๐Ÿ‘€ that are still a work in progress ๐Ÿฆ‹

  • Generic Identifier support for session aggregation.

Session aggregation support may be needed in a backbone environment. A wild card style aggregated session identifier may be feasible ๐ŸŒˆ But before anyone specifies Generic Identifier support for it, the session aggregation model in ATM VCs should be clarified ๐Ÿงš

  • Generic Identifier support for the IPv6 flow label and traffic classes.

The IPv6 flow label and traffic classes support may be needed in future ๐Ÿ”ฎ However, right now their semantics are not clear ๐Ÿ’€

6. IANA Considerations

Here's the IANA part, and it's giving very specific ๐Ÿ“‹ When the Identifier related standard/application field in the Q.2941.2 Generic Identifier information element is the IPv4, ST2+, IPv6, or MPLS, numbers between 0x10-0xFD in the Identifier type field are reserved for IANA assignment. (See section 3.1.) Following the policies outlined in [14], these numbers are allocated through an IETF Consensus action ๐ŸŽ€

When the Protocol discriminator field in the Q.2957 User-user information element is the Internet protocol/application, numbers between 0x03-0xFD in the Internet protocol/application identifier field are reserved for IANA assignment. (See section 4.2.1.) Following the policies outlined in [14], these numbers are allocated through an IETF Consensus action too ๐Ÿ’–

7. Security Considerations

Okay, this part is serious bestie, so read it carefully ๐Ÿšจ This document specifies the information field and protocol identifier assignment in the Q.2941 Generic Identifier and Q.2957 User-to-user Signaling for the Internet protocol, so these do not weaken the security of the B-ISDN signaling ๐Ÿ”

In a called party of the B-ISDN signaling, if the incoming SETUP message contains the calling party number, and if it is verified and passed by the ATM network or it is provided by the network, then it is feasible to use the calling party number for part of the calling party authentication to strengthen security ๐Ÿ›ก๏ธ

Appendix. Information Field and Protocol Identifier Assignment for ST2+

This appendix is the ST2+ version of the info field and protocol identifier assignment, for both the Generic Identifier and User-to-user Signaling โœจ Note that this appendix is NOT part of the standard, so keep that in mind ๐Ÿ™ˆ

A.1 ST2+ session identifier

If the Identifier related standard/application field in the Generic Identifier information element is the ST2+, and the Identifier type field in the identifier is the Session, then the identifier is the ST2+ session identifier ๐Ÿฆ‹ The format of the ST2+ session identifier is shown in Fig. A.1:

                              Bits                         Octet
           8     7     6     5     4     3     2     1     length
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Identifier type                |
        |                = Session (0x01)               |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |               Identifier length               |
        |               = 6 octets (0x06)               |  1
        +-----+-----+-----+-----+-----+-----+-----+-----+
        |                Stream ID (SID)                |  6
        +-----+-----+-----+-----+-----+-----+-----+-----+

      Fig. A.1: ST2+ session identifier.

The Identifier type field is the Session (0x01) ๐Ÿ’œ

The Identifier length is 6 octets ๐Ÿ“

The Stream ID (SID) [11] is assigned to the Identifier value field โœจ

A.2 ST2+ SCMP

Here's how the User-user information element looks for the ST2+ SCMP, per Fig. A.2 ๐Ÿงš

                                 Bits
              8     7     6     5     4     3     2     1    Octets
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |        Information element identifier         |
           |    = User-user information element (0x7E)     |  1
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |  1  |   Coding  |    IE instruction field     |
           | Ext |  standard |Flag |Res. |  IE action ind. |  2
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |   Length of contents of information element   |  3-4
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |             Protocol discriminator            |
           |     = Internet protocol/application (0x06)    |  5
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |    Internet protocol/application identifier   |
           |               = ST2+ SCMP (0x01)              |  6
           +-----+-----+-----+-----+-----+-----+-----+-----+
           |                   ST2+ SCMP                   |  7-
           =                                               =
           |                                               |
           +-----+-----+-----+-----+-----+-----+-----+-----+

      Fig. A.2: ST2+ SCMP.

The Internet protocol/application identifier field is the ST2+ SCMP (0x01) ๐Ÿ‘‘

The ST2+ SCMP [11] is assigned to the Internet protocol/application related information field. The SETUP and ADD PARTY messages may contain the ST2+ SCMP CONNECT message. The CONNECT and ADD PARTY ACK messages may contain the ST2+ SCMP ACCEPT message. The RELEASE and DROP PARTY messages may contain the ST2+ SCMP DISCONNECT message. The RELEASE, RELEASE COMPLETE, ADD PARTY REJECT, and DROP PARTY messages may contain the ST2+ SCMP REFUSE message ๐ŸŒธ

References

[1] ITU-T, "Broadband Integrated Services Digital Network (B-ISDN)-Digital Subscriber Signaling System No. 2 (DSS 2)-User-Network Interface (UNI) Layer 3 Specification for Basic Call/Connection Control," ITU-T Recommendation Q.2931, September 1995.

[2] ITU-T, "Broadband Integrated Services Digital Network (B-ISDN)-Digital Subscriber Signaling System No. 2 (DSS 2)-User-Network Interface Layer 3 Specification for Point-to-Multipoint Call/Connection Control," ITU-T Recommendation Q.2971, October 1995.

[3] ITU-T, "Broadband Integrated Services Digital Network (B-ISDN) Digital Subscriber Signaling System No. 2 (DSS 2): Generic Identifier Transport," ITU-T New Recommendation Q.2941.1, September 1997.

[4] ITU-T, "Broadband Integrated Services Digital Network (B-ISDN) Digital Subscriber Signaling System No. 2 (DSS 2): Generic Identifier Transport Extensions," ITU-T New Recommendation Q.2941.2, December 1999.

[5] ITU-T, "Stage 3 Description for Additional Information Transfer Supplementary Service Using B-ISDN Digital Subscriber Signaling System No. 2 (DSS 2)-Basic Call Clause 1-User-to-User Signalling (UUS)," ITU-T Recommendation Q.2957, February 1995.

[6] ITU-T, "Stage 3 Description for Additional Information Transfer Supplementary Service Using B-ISDN Digital Subscriber Signaling System No. 2 (DSS 2)-Basic Call Clause 1-User-to-User Signalling (UUS)," ITU-T Recommendation Q.2957 Amendment 1, December 1999.

[7] Postel, J., Ed., "Internet Protocol", STD 5, RFC 791, September 1981.

[8] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998.

[9] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August 1980.

[10] Postel, J., Ed., "Transmission Control Protocol", STD 7, RFC 793, September 1981.

[11] Delgrossi, L. and L. Berger, Ed., "Internet Stream Protocol Version 2 (ST2) Protocol Specification - Version ST2+", RFC 1819, August 1995.

[12] Braden, R., Ed., "Resource ReSerVation Protocol (RSVP) - Version 1 Functional Specification", RFC 2205, September 1997.

[13] Nagami, K., Demizu, N., Esaki, H., Katsube, Y. and P. Doolan, "VCID Notification over ATM link for LDP", RFC 3038, January 2001.

[14] Narten, T., and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

[15] P. Newman, T. Lyon, and G. Minshall, "Flow Labelled IP: A Connectionless Approach to ATM," Proc. IEEE Infocom, March 1996.

[16] S. Damaskos and A. Gavras, "Connection Oriented Protocols over ATM: A case study," Proc. SPIE, Vol. 2188, pp.226-278, February 1994.

[17] ITU-T, "Integrated Services Digital Network (ISDN) Overall Network Aspects and Functions ISDN Protocol Reference Model," ITU-T Recommendation I.320, November 1993.

[18] ITU-T, "Digital Subscriber Signaling System No. 1 (DSS 1) Specification of a Synchronization and Coordination Function for the Provision of the OSI Connection-mode Network Service in an ISDN Environment," ITU-T Recommendation Q.923, February 1995.

Acknowledgments

First up, a big thank you to Kenichi Kitami of the NTT Information Sharing Lab. Group, who is also the chair of ITU-T SG11 WP1, plus Shinichi Kuribayashi of the NTT Information Sharing Platform Labs., Hiroshi Yao and Takumi Ohba of the NTT Network Service Systems Labs., and Noriyuki Takahashi of the NTT Information Sharing Platform Labs., for their valuable comments and discussions ๐Ÿซถ

And a huge shoutout to the active members of IETF, ITU-T, and ATM Forum, especially Joel Halpern of Newbridge Networks, Andrew Malis of Ascend Communications, George Swallow and Bruce Davie of Cisco Systems, Rao Cherukuri of IBM, Rajiv Kapoor of AT&T, Greg Ratta of Lucent, Kaoru Kenyoshi of NEC, Hiroto Uno of Hitachi, Hiroshi Esaki and Kenichi Nagami of Toshiba, and Noritoshi Demizu of NAIST, for their valuable comments and suggestions ๐ŸŒˆ

Also, this spec is based on various discussions during the ST2+ over ATM project at the NTT Multimedia Joint Project with NACSIS. Thank you to Professor Shoichiro Asano of the National Center for Science Information Systems for his invaluable advice in this area ๐Ÿ’…โœจ

Author's Address โœจ

Okay bestie, this is where you find the human behind the spec. Muneyoshi Suzuki at NTT Information Sharing Platform Laboratories ๐Ÿฆ‹ Here's how to reach them:

Muneyoshi Suzuki
NTT Information Sharing Platform Laboratories
3-9-11, Midori-cho
Musashino-shi, Tokyo 180-8585, Japan

Phone: +81-422-59-2119
Fax:   +81-422-37-7691
EMail: suzuki.muneyoshi@lab.ntt.co.jp

Copyright (C) The Internet Society (2001). All Rights Reserved. ๐Ÿ’œ

Okay, the legal stuff, but make it cute. You're allowed to copy this document and hand it out to people, and you can make derivative works that comment on or explain it or help people implement it, and you can publish and distribute those too, in whole or in part, with no restrictions of any kind. The one catch is that the copyright notice and this paragraph have to stay on every copy and every derivative work. ๐ŸŽ€

The document itself can't be modified in any way, though. That means no removing the copyright notice or the references to the Internet Society or other Internet organizations. The only exceptions are when you need it to develop Internet standards, in which case you have to follow the copyright procedures in the Internet Standards process, or when you need to translate it into languages other than English. ๐ŸŒธ

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. ๐Ÿซถ That means they're forever, no take-backs.

This document and the information in it are provided on an "AS IS" basis, and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED. That includes, but isn't limited to, any warranty that using the information here won't infringe any rights, and any implied warranties of merchantability or fitness for a particular purpose. ๐Ÿ’€ So nobody's promising it'll be perfect, periodt.

Acknowledgement

Funding for the RFC Editor function is currently provided by the Internet Society. ๐ŸŒˆ Thank you to the Internet Society for keeping the lights on for the RFC Editor! ๐Ÿ‘‘

๐Ÿ“ฆ where this page comes from