IEN 52 D. Cohen Notebook Section 2.3.3.18 USC-ISI 11 August 1978 Some Thoughts About the Multiplexing Issue in Networks ------------------------------------------------------ For several years we have enjoyed the beauty and the structure offered by the modular approach to protocols. This approach leads to the separation of communication layers (headers, etc) according to their originating and receiving agencies (processes, protocols etc). It is very unfortunate that an undesired by-product of this approach is the failure to merge communication units (messages) which have a great deal of common communication attributes, even when they have some small differences. A case in point is the inability to introduce multiplexing arbitrarily into the protocol-tree stucture. It is intuitive that it is very desirable to be able to merge TELNET messages between the same source/destination hosts pair, especially when a small number of characters are communicated in each message. Similarly, NCP and TCP messages which are addressed to the same destination host, could be merged even though they are between different protocols. The same approach applies on ALL levels. It is important to be able to use this kind of multiplexing in order to share (and therefore save) headers, or parts of headers, and in order to save switching time. Consider a simple example, voice communication, using NVP through TCP (just for the example), and internetting through the SATNet. The voice data rate is R, and a message is sent every T time. The amount of voice data in each message is RxT, added to that is the NVP header of length Lv, the TCP header of length Lt, the IN header of length Li, and the HOST/SIMP header of length Ls. Hence, the communication efficiency is: R x T eff = --------------------------- R x T + Lv + Lt + Li + Ls Cohen [Page 1] IEN 52 11 August 1978 Multiplexing Assume the following numbers: R = 2,400 bps T = 200 milliseconds, for interactive communication RxT = 480 bits, for a packet of voice data Lv = 48 bits, including local-extension, time-stamp, parcels count and silence indication. Lt = 160 bits, including the PORT. Li = 160 bits, (without the optional OPTIONS field) Ls = 96 bits, according to PSPWN-100 For these numbers the efficiency is: 480 480 eff = --------------------------- = ----- = 50.8% 480 + 48 + 160 + 160 + 96 944 If N voice communications between different "extensions" in the same hosts pair are multiplexed, then the efficiency (again, at the interface, not in the communication media) is: R x T eff = --------------------------------- R x T + Lv + (Lt + Li + Ls) / N Which for N=2 is 65.2% and for N=3 is 72.0%. It is obvious that the efficiency increases with N, and that in this case its limit is 90.9%. This is, obviously, the efficiency over the HOST/SIMP interface. The more important is the efficiency over the communication media, which is lower than that, due to the SIMP-to-SIMP communication overhead. Another, more familiar, example is sending a single character over the ARPANET. In this case the payload is 8 bits, which are preceeded by 40 bit NCP header and the 96 bit HOST/IMP header. This results in eff=8/(8+40+96)=5.5% over the interface, and even lower over the 50kbps lines. Just think what is the efficiency of sending a single character, or even a few, over the SATNet... The numbers cannot be very encouraging... Next Subject: Multi-address --------------------------- For certain applications there is a case for multi-address, namely, asking the communication system to deliver the same message-body to several addresses. Mailing-lists and conferences are just two examples. Cohen [Page 2] IEN 52 11 August 1978 Multiplexing The multi-address issue is the dual of the multiplexing which was discussed earlier. Multi-address is one message-body with several message-headers, whereas the previous muliplexing is one message-header with several message-bodies. Multi-address is: = + Multiplexing is: = + Let's be (sort of) formal ------------------------- (1) Protocol nesting is: ::= ::= "type" "addr" ::= "data" ! (2) Multiplexing is: ::= ::= "type" "addr" ::= "data" ! ::= ! (3) Multi-addressing is: ::= ::= "type" "addr" ! "addr" ::= "data" (4) Obviously the most general system is: ::= ::= "type" "addr" ! "addr" ::= "data" ! ::= ! Please consider (4) as a proposal. Cohen [Page 3] IEN 52 11 August 1978 Multiplexing The point is twofold: (1) Save overhead to reduce the number of BITs. (2) Save overhead to reduce the number of PACKETs. 3Mbit/sec at 500 bits/packet is 6,000 packets/sec. Today's gateways can handle 6 packets/sec, with the hope to double it by next year..... The factor of 1,000 between these two numbers should serve as a warning light. Cohen [Page 4]