RE: [rohc] RE: [Sipping] SIGCOMP and large binary content SIP messages

zhigang.c.liu@nokia.com Thu, 03 April 2003 00:30 UTC

Received: from www1.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id TAA18785 for <rohc-archive@odin.ietf.org>; Wed, 2 Apr 2003 19:30:43 -0500 (EST)
Received: (from mailnull@localhost) by www1.ietf.org (8.11.6/8.11.6) id h330WhF05054 for rohc-archive@odin.ietf.org; Wed, 2 Apr 2003 19:32:43 -0500
Received: from ietf.org (odin.ietf.org [132.151.1.176]) by www1.ietf.org (8.11.6/8.11.6) with ESMTP id h330WhK05050 for <rohc-web-archive@optimus.ietf.org>; Wed, 2 Apr 2003 19:32:43 -0500
Received: from www1.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id TAA18778 for <rohc-web-archive@ietf.org>; Wed, 2 Apr 2003 19:30:11 -0500 (EST)
Received: from www1.ietf.org (localhost.localdomain [127.0.0.1]) by www1.ietf.org (8.11.6/8.11.6) with ESMTP id h330WTK05016; Wed, 2 Apr 2003 19:32:29 -0500
Received: from ietf.org (odin.ietf.org [132.151.1.176]) by www1.ietf.org (8.11.6/8.11.6) with ESMTP id h330VrK04960 for <rohc@optimus.ietf.org>; Wed, 2 Apr 2003 19:31:53 -0500
Received: from mgw-dax1.ext.nokia.com (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id TAA18730 for <rohc@ietf.org>; Wed, 2 Apr 2003 19:29:21 -0500 (EST)
From: zhigang.c.liu@nokia.com
Received: from davir01nok.americas.nokia.com (davir01nok.americas.nokia.com [172.18.242.84]) by mgw-dax1.ext.nokia.com (Switch-2.2.6/Switch-2.2.0) with ESMTP id h330VtZ24745 for <rohc@ietf.org>; Wed, 2 Apr 2003 18:31:55 -0600 (CST)
Received: from daebh002.NOE.Nokia.com (unverified) by davir01nok.americas.nokia.com (Content Technologies SMTPRS 4.2.5) with ESMTP id <T615c0eea26ac12f254079@davir01nok.americas.nokia.com>; Wed, 2 Apr 2003 18:31:49 -0600
Received: from daebe005.NOE.Nokia.com ([172.18.242.203]) by daebh002.NOE.Nokia.com with Microsoft SMTPSVC(5.0.2195.6139); Wed, 2 Apr 2003 18:31:48 -0600
X-MimeOLE: Produced By Microsoft Exchange V6.0.6375.0
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Subject: RE: [rohc] RE: [Sipping] SIGCOMP and large binary content SIP messages
Date: Wed, 02 Apr 2003 18:31:48 -0600
Message-ID: <DE0842B293FC4847992F9EDF8D72E1ED24A847@daebe005.americas.nokia.com>
Thread-Topic: [rohc] RE: [Sipping] SIGCOMP and large binary content SIP messages
Thread-Index: AcL1P5Qe4IYqmFSNTYKHaQBBY4H64AEJxsMg
To: cabo@tzi.org, rohc@ietf.org
X-OriginalArrivalTime: 03 Apr 2003 00:31:48.0965 (UTC) FILETIME=[6A013150:01C2F978]
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by www1.ietf.org id h330VsK04962
Sender: rohc-admin@ietf.org
Errors-To: rohc-admin@ietf.org
X-BeenThere: rohc@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rohc>, <mailto:rohc-request@ietf.org?subject=unsubscribe>
List-Id: Robust Header Compression <rohc.ietf.org>
List-Post: <mailto:rohc@ietf.org>
List-Help: <mailto:rohc-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rohc>, <mailto:rohc-request@ietf.org?subject=subscribe>
Content-Transfer-Encoding: 8bit
Content-Transfer-Encoding: 8bit

Carsten and all,

The reason I raised the "binary multiplexing", as you found out, 
is the following text in RFC 3320. I took the sentence literally, 
i.e., uncompressed application messages and SigComp messages can 
be transmitted on the same (destination UDP or TCP) port, one 
followed by another. If that understanding is incorrect, I'm wondering
what else it means or is intended to mean.

  "... for applications which use this 
  encoding (or ASCII encoding) it is possible to multiplex uncompressed
  application messages and SigComp messages on the same port."

In addition, the above text works - in my mind - at least for case
00, 01, and 10 listed below. Note I assume we are talking about application
messages that start with UTF-8 encoding (my interpretation of "use" in
above text). Also, I try to visualize the issue in two dimensions: encoding
of application messages and transport below SigComp.

					message-based	stream-based
					transport		transport
					(e.g. UDP)		(e.g. TCP)

  contain no binary data	case 00		case 01

  contain binary data		case 10		case 11

Here is why/how I see it works for case 00-10:

- For case 00 and 10, RFC 3320 says "In case of a message-based
transport such as UDP, a SigComp message corresponds to exactly one 
datagram." So, it is trivial for the receiver to tell if a UDP packet
carries uncompressed message or sigcomp message by inspecting 
the first byte.

- For case 01, the receiver can detect the beginning of a SigComp
message by bit pattern "11111" and the end by END-MESSAGE instruction.
Of course, the SigComp message delimiter also works for this purpose. 

As to case 11, I think we can also make it work, if sigcomp receiver
can detect the end of an uncompressed message. Obviously, that means 
the receiver needs to have some knowledge about the application 
message format. This is why I separate case 11 from the rest (which
are application independent). 

Now come to the question if the multiplexing is necessary. I think it
is useful in cases where a sigcomp sender does not want to compress 
every application message even though the other end has indicated its 
support of sigcomp. The reason could be CPU load of the compressor, 
message uncompressible, etc.

I could be wrong by thinking the multiplexing works. But if it indeed
works, the next question is whether RFC 3320 already covers some of 
this or we add extension to RFC 3320.

BR,
Zhigang


> -----Original Message-----
> From: ext Carsten Bormann [mailto:cabo@tzi.org]
> Sent: March 28, 2003 9:24 AM
> To: rohc@ietf.org
> Cc: Carsten Bormann
> Subject: Re: [rohc] RE: [Sipping] SIGCOMP and large binary content SIP
> messages
> 
> 
> ROHCers,
> 
> in San Francisco, I promised to come back to the "binary multiplexing"
> issue after the IETF.
> 
> It has taken me a while to even understand what is being talked about:
> There is an assumption in this whole thread that I don't know where it
> came from.
> 
> We designed SigComp messages so that they always start with a byte
> that cannot be used as a coding symbol in UTF-8 (see
> draft-yergeau-rfc2279bis-04.txt for the updated version of RFC2279
> that defines the contemporary version of UTF-8).  The assumption was
> that most signalling protocols would use UTF-8 headers, so this would
> allow some self-describing-ness of SigComp messages.
> 
> RFC3320 says:
> 
>     All SigComp messages contain a prefix (the five 
> most-significant bits
>     of the first byte are set to one) that does not occur in UTF-8
>     encoded text messages [RFC-2279], so for applications 
> which use this
>     encoding (or ASCII encoding) it is possible to multiplex 
> uncompressed
>     application messages and SigComp messages on the same port.
>     Applications can still reserve a new port specifically for SigComp
>     however (e.g., as part of the discovery mechanism).
> 
> I now see that this might be phrased a bit misleading
> ("multiplexing").  But clearly, the scheme discussed is about using
> the same port for two different *transports*: the raw transport and
> the SigComp-compressed transport.  Nowhere does it say that you would
> multiplex messages from these two *on the same connection*.  I don't
> believe this is possible or even necessary.
> 
> Record Marking (4.2.2) is used to delimit SigComp messages on stream
> transports (TCP, TLS).  The assumption, of course, is that the
> connection carrying these messages already has been disambiguated to
> run SigComp instead of the raw transport protocol.
> 
> This is the end of my main argument for this message.  If you disagree
> with it, please discuss it and not the interesting speculation below.
> 
> <div class="speculation">
> 
> It is somewhat conceivable to occasionally intersperse uncompressed
> messages in the SigComp record marking transport, but it remains clear
> that the record marking layer is in effect at all times:
> 
>     For a stream-based transport, the dispatcher delimits messages by
>     parsing the compressed data stream for instances of 0xFF 
> and taking
>     the following actions:
> 
> So, we are talking about a situation where the data flows to a SigComp
> dispatcher, not to an entity that still needs to find out whether we
> are running SigComp or not.
> 
> Could SigComp record marking be used to carry both compressed and
> uncompressed messages on one connection?  (Remember that this is not
> part of the standard, but of course could be part of an extension to
> RFC 3320.)
> 
> In principle, yes, but there is a problem (see below).  In any case,
> though, Content-Length headers or any other application message
> delimiting protocol would not enter the picture at all -- the SigComp
> record marking layer remains in effect throughout a SigComp
> connection.
> 
> Now the problem: If you don't have any other way to find out (e.g.,
> different port numbers for compressed and uncompressed), it becomes
> hard to decide whether such a compressed/uncompressed multiplexed
> stream is SigComp or not.  If it starts with a non-UTF-8 coding
> symbol, you know it's SigComp.  But if the first message you want to
> send on the connection happens to be uncompressed, you need another
> way of indicating that a SigComp transport is being used.  Of course,
> you could simply send 0xFFFF and trust that the receiver will discard
> empty messages.  So to make this multiplexing business work, you will
> have to add a mandate that says empty messages (or at least one 0xFFFF
> at the beginning of the connection) are discarded.
> 
> Of course, none of this applys to any hypothetical SigComp application
> that does not use UTF-8 headers in their messages -- the multiplexing
> would not work this way at all, period.  So you would devise another
> way of multiplexing, which I'm too lazy to do right now.
> 
> </div>
> 
> Oh, and we still have to do the work on the SIP binding for SigComp,
> which is completely unrelated to this whole thread.  There is no known
> problem with SigComp-compressing large binary layloads in SIP messages
> (except, maybe, that there won't be very good compression schemes for
> data that already have been compressed).
> 
> Gruesse, Carsten
> 
> _______________________________________________
> Rohc mailing list
> Rohc@ietf.org
> https://www1.ietf.org/mailman/listinfo/rohc
> 
_______________________________________________
Rohc mailing list
Rohc@ietf.org
https://www1.ietf.org/mailman/listinfo/rohc