GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


rfc:ien:ien90

2 May 1979

IEN 90

                                  
                                  
                                  
                                  
                                  
                                  
                       Multiplexing Protocol
                                  
                                  
                                  
                                  
                            Danny Cohen
                                  
                             Jon Postel
                             2 May 1979
                                  
                                  
                                  
                   Information Sciences Institute
                 University of Southern California
                         4676 Admiralty Way
                 Marina del Rey, California  90291
                           (213) 822-1511

IEN-90 D. Cohen

                                                             J. Postel
                                                                   ISI
                                                            2 May 1979
                       Multiplexing Protocol
                       ---------------------

Introduction


This Multiplexing Protocol is defined to allow the combining of transmission units of different higher level protocols in one transmission unit of a lower level protocol. Only messages with the same Internet Protocol (IN) [1] header, with the possible exception of the protocol field may be combined. For example, the msg (H1, B1) and the message (H2, B2), where Hi and Bi are the headers and the bodies of the messages, respectively, may be combined (multiplexed) only if H=H1=H2. The combined messages are either (H, B1, B2) or (H, B2, B1).

Since (H,D1)+(H,D2)=(H,D1+D2) resembles the notion of factoring, we sometime refer to this process as "factoring".

The receiver of this combined message should treat it as if the two original messages, (H,D1), and (H,D2), arrived separately, in either order.

The multiplexing is achieved by combining the individual messages, (H,B1) through (H,Bn), into a single message. This single message has an IN header which is equal to H, but having in the PROTOCOL field the value 18 which is the protocol number of the multiplexing protocol. This IN header is followed by all the message bodies, B1 through Bn. Each message body, Bi, is preceeded by a 4 octet multiplexing link. This link contain the number of the protocol to which this body is addressed. It also contain the total length of this portion (message body), including this multiplexing link. Since this link is not otherwise protected by a checksum, it also includes a checksum field which covers this multiplexing link.

If an error is discovered in a checksum of some multiplexing header, the rest of the message, starting there, is ignored.

If an unknown PROTOCOL field is discovered in any multiplexing header, this section, and only this one, is ignored.

Cohen & Postel [page 1]

                                                            2 May 1979

Multiplexing Protocol IEN-90 Introduction

The demultiplexing routine should be able to handle recursively multiplexed messages. This is to allow higher level protocol to demultiplex their own messages if they can be combined. Since such a multiplexed message may be multiplexed again by the IN level, a multi-level multiplexing results.

This protocol assumes that the Internet Protocol is used as the underlying protocol.

Format


                                  
                0      7 8     15 16            31  
               +--------+--------+----------------+ 
               |        |        |                | 
               |   CS   |Protocol|      Length    | 
               |        |        |                | 
               +--------+--------+----------------+ 
                     Multiplexing Header Format

Fields


CS is a checksum covering only this 32 bit multiplexing header. Until further notice, it is the exclusive OR of the other three octets in this header.

Protocol is the number of the following protocol.

Length is the length in octets of this header and the following protocol block. Hence, it must be at least 4.

[page 2] Cohen & Postel

2 May 1979 IEN-90 Multiplexing Protocol

                                                               Example

Example


                                  
                0              15 16             31  
               +--------+--------+--------+--------+ 
               |   CS   |Protocol|      Length     | 
               +--------+--------+--------+--------+ 
               |  a transmission unit              | 
               |                 of some protocol  | 
               +--------+--------+--------+--------+ 
               |   CS   |Protocol|      Length     | 
               +--------+--------+--------+--------+ 
               |  a transmission unit              | 
               |                 of some protocol  | 
               +--------+--------+--------+--------+ 
               |   CS   |Protocol|      Length     | 
               +--------+--------+--------+--------+ 
               |  a transmission unit              | 
               |                 of some protocol  | 
               +--------+--------+--------+--------+ 
                   Multiplexing Protocol Concept

Cohen & Postel [page 3]

                                                            2 May 1979

Multiplexing Protocol IEN-90 Example

                                  
             0              15 16             31        
            +--------+--------+--------+--------+       
            |   CS   |datagram|     Length = 20 | ----+ 
            +--------+--------+--------+--------+     | 
            | source socket   |   dest. socket  |     | 
            +--------+--------+--------+--------+     | 
            |     length = 8  |     checksum    |     | 
            +--------+--------+--------+--------+     | 
            |                data               |     | 
            +--------+--------+--------+--------+     | 
            |                data               |     | 
            +--------+--------+--------+--------+ <---+ 
            |   CS   |  TCP   |     Length = 32 | ----+ 
            +--------+--------+--------+--------+     | 
            |   source port   | destination port|     | 
            +--------+--------+--------+--------+     | 
            |          sequence number          |     | 
            +--------+--------+--------+--------+     | 
            |       acknowledgment number       |     | 
            +--------+--------+--------+--------+     | 
            |offset    control|      window     |     | 
            +--------+--------+--------+--------+     | 
            |     checksum    |  urgent pointer |     | 
            +--------+--------+--------+--------+     | 
            |                data               |     | 
            +--------+--------+--------+--------+     | 
            |                data               |     | 
            +--------+--------+--------+--------+ <---+ 
            |   CS   |datagram|     Length = 16 | ----+ 
            +--------+--------+--------+--------+     | 
            | source socket   |   dest. socket  |     | 
            +--------+--------+--------+--------+     | 
            |     length = 4  |     checksum    |     | 
            +--------+--------+--------+--------+     | 
            |                data               |     | 
            +--------+--------+--------+--------+ <---+ 
                   Multiplexing Protocol Example

Protocol Application


The major use of this protocol is to allow several transmission units from differing (or the same) higher level protocols to be combined into one transmission unit of a lower level protocol.

[page 4] Cohen & Postel

2 May 1979 IEN-90 Multiplexing Protocol

                                                       Protocol Number

Protocol Number


This is protocol 18 (22 octal) when used in the Internet Protocol. Other protocol numbers are listed in [2].

Notes


- If so desired, one has the option of applying this multiplexing

 protocol recursively.

- The receiving process should never be able to tell if its messages

 were multiplexed  or not.  The multiplexing is totally transparent to
 the higher lever protocols.

- Information from the external header (e.g., the IN header) is

 available to each protocol in the multiplexed message.

Cohen & Postel [page 5]

                                                            2 May 1979

Multiplexing Protocol IEN-90 References

References


[1] Postel, J., "Internet Datagram Protocol – Version 4," IEN-80,

      USC-Information Sciences Institute, February 1979.

[2] Postel, J., "Assigned Numbers," USC-Information Sciences

      Institute, RFC-755, IEN 93, May 1979.

[page 6] Cohen & Postel

/data/webs/external/dokuwiki/data/pages/rfc/ien/ien90.txt · Last modified: 2001/06/25 18:49 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki