IEN-72
                         Multiplexing Protocol
                           Jonathan B. Postel
                            23 January 1979
                     Information Sciences Institute
                   University of Southern California
                           4676 Admiralty Way
                   Marina del Rey, California  90291
                             (213) 822-1511
IEN-72                                                         J. Postel
                                                                     ISI
                                                         23 January 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 in packet-switched computer
communication  in the environment  of an interconnected  set of computer
networks.   This protocol assumes that the Internet Protocol [1] is used
as the underlying protocol.
Format
                  0              15 16            31
                 +--------+--------+----------------+
                 !        !        !                !
                 !  Zero  !Protocol!      Length    !
                 !        !        !                !
                 +--------+--------+----------------+
                       Multiplexing Header Format
Fields
Zero is always zero.
Protocol is the number of the following lower level protocol.
Length is the length in octets of the following protocol block.
Postel                                                          [page 1]
                                                         23 January 1979
Multiplexing Protocol                                             IEN-72
Example
Example
                  0              15 16             31
                 +--------+--------+--------+--------+
                 !  Zero  !Protocol!      Length     !
                 +--------+--------+--------+--------+
                 !  a transmission unit              !
                 !                 of some protocol  !
                 +--------+--------+--------+--------+
                 !  Zero  !Protocol!      Length     !
                 +--------+--------+--------+--------+
                 !  a transmission unit              !
                 !                 of some protocol  !
                 +--------+--------+--------+--------+
                 !  Zero  !Protocol!      Length     !
                 +--------+--------+--------+--------+
                 !  a transmission unit              !
                 !                 of some protocol  !
                 +--------+--------+--------+--------+
                     Multiplexing Protocol Concept
[page 2]                                                          Postel
23 January 1979
IEN-72                                             Multiplexing Protocol
                                                                 Example
               0              15 16             31
              +--------+--------+--------+--------+
              !  Zero  !datagram!     Length = 16 ! ----+
              +--------+--------+--------+--------+     !
              ! source socket   !   dest. socket  !     !
              +--------+--------+--------+--------+     !
              !     length = 8  !     checksum    !     !
              +--------+--------+--------+--------+     !
              !                data               !     !
              +--------+--------+--------+--------+     !
              !                data               !     !
              +--------+--------+--------+--------+ <---+
              !  Zero  !  TCP   !     Length = 28 ! ----+
              +--------+--------+--------+--------+     !
              !   source port   ! destination port!     !
              +--------+--------+--------+--------+     !
              !          sequence number          !     !
              +--------+--------+--------+--------+     !
              !       acknowledgment number       !     !
              +--------+--------+--------+--------+     !
              !offset    control!      window     !     !
              +--------+--------+--------+--------+     !
              !     checksum    !  urgent pointer !     !
              +--------+--------+--------+--------+     !
              !                data               !     !
              +--------+--------+--------+--------+     !
              !                data               !     !
              +--------+--------+--------+--------+ <---+
              !  Zero  !datagram!     Length = 12 ! ----+
              +--------+--------+--------+--------+     !
              ! 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.
Postel                                                          [page 3]
                                                         23 January 1979
Multiplexing Protocol                                             IEN-72
Protocol Number
Protocol Number
This is protocol  18 (22 octal)  when used  in  the  Internet  Protocol.
Other protocol numbers are listed in [2].
[page 4]                                                          Postel
23 January 1979
IEN-72                                             Multiplexing Protocol
                                                              References
References
[1]     Postel,  J., "Internetwork Protocol Specification -- Version 4,"
        IEN-54, USC-Information Sciences Institute, September 1978.
[2]     Postel,   J.,   "Assigned   Numbers,"  USC-Information  Sciences
        Institute, RFC-750, NIC-45500, September 1978.
Postel                                                          [page 5]