Re: [rtcweb] SRTP not mandatory-to-use

Harald Alvestrand <harald@alvestrand.no> Mon, 02 January 2012 12:47 UTC

Return-Path: <harald@alvestrand.no>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2091A21F8E2E for <rtcweb@ietfa.amsl.com>; Mon, 2 Jan 2012 04:47:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -108.091
X-Spam-Level:
X-Spam-Status: No, score=-108.091 tagged_above=-999 required=5 tests=[AWL=0.092, BAYES_40=-0.185, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5aTZPZrVRUoc for <rtcweb@ietfa.amsl.com>; Mon, 2 Jan 2012 04:47:46 -0800 (PST)
Received: from eikenes.alvestrand.no (eikenes.alvestrand.no [158.38.152.233]) by ietfa.amsl.com (Postfix) with ESMTP id B966F21F8E2D for <rtcweb@ietf.org>; Mon, 2 Jan 2012 04:47:45 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by eikenes.alvestrand.no (Postfix) with ESMTP id 8C53339E112 for <rtcweb@ietf.org>; Mon, 2 Jan 2012 13:47:43 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at eikenes.alvestrand.no
Received: from eikenes.alvestrand.no ([127.0.0.1]) by localhost (eikenes.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TiDWVT8jNXXc for <rtcweb@ietf.org>; Mon, 2 Jan 2012 13:47:42 +0100 (CET)
Received: from [192.168.1.16] (162.80-203-220.nextgentel.com [80.203.220.162]) by eikenes.alvestrand.no (Postfix) with ESMTPS id 1126D39E13F for <rtcweb@ietf.org>; Mon, 2 Jan 2012 13:47:42 +0100 (CET)
Message-ID: <4F01A790.4060704@alvestrand.no>
Date: Mon, 02 Jan 2012 13:48:16 +0100
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <CAErhfrwu322=HTS0JZhum9EGfb73KmYS6CU_KMESyzEWhtvg2w@mail.gmail.com> <CABcZeBOeg-O+6===5tk0haxC8nLxUQyEUFRES2FAoFEf00fKng@mail.gmail.com> <CAErhfrxTKdo7Z+61x5ZcDt5ZM7C7ob5LNxMzwng_kk3Uqrp2_Q@mail.gmail.com>
In-Reply-To: <CAErhfrxTKdo7Z+61x5ZcDt5ZM7C7ob5LNxMzwng_kk3Uqrp2_Q@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------030305040300040208020005"
Subject: Re: [rtcweb] SRTP not mandatory-to-use
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Jan 2012 12:47:47 -0000

At the risk of resurrecting a dead horse

On 12/14/2011 03:41 PM, Xavier Marjou wrote:
> Is there any scientific reference comparing the performances (cpu) of
> a SRTP communication vs an RTP communication on a smartphone device,
> or on an interworking network server? The feedback I have is that SRTP
> overhead is significant, at least on interworking network servers
> handling several calls in parallel. One example is
> http://trac.pjsip.org/repos/wiki/PJMEDIA-MIPS  which gives figures,
> perhaps non-optimized, but figures anyway:
>
>
> 00:59:38.531 os_core_unix.c pjlib 0.9.0-trunk for POSIX initialized
> MIPS test, with CPU=180Mhz,  198.0 MIPS
> Clock  Item                                      Time     CPU    MIPS
>   Rate                                           (usec)    (%)
>   8KHz codec encode/decode - L16/8000/1           1704    0.170    0.34
>   8KHz stream TX/RX - G.711                       6786    0.679    1.34
>   8KHz stream TX/RX - G.711 SRTP 32bit           21688    2.169    4.29
>   8KHz stream TX/RX - G.711 SRTP 32bit +auth     33501    3.350    6.63
>   8KHz stream TX/RX - G.711 SRTP 80bit           21725    2.172    4.30
>   8KHz stream TX/RX - G.711 SRTP 80bit +auth     33551    3.355    6.64
Note that the codec used here (G.711) is hardly a complex encoder; it 
can be implemented using a lookup table, which is probably small enough 
to serve out of cache.
The first line seems to have been included by a copy/paste error.

A different cut'n'paste from the same table:

  8KHz codec encode/decode - G.711                2701    0.270    0.53
  8KHz codec encode/decode - GSM                 75750    7.575   15.00
  8KHz codec encode/decode - iLBC              2856203  285.620  565.53
  8KHz codec encode/decode - Speex 8Khz         436162   43.616   86.36
  8KHz codec encode/decode - L16/8000/1           1704    0.170    0.34
  8KHz stream TX/RX - G.711                       6786    0.679    1.34
  8KHz stream TX/RX - G.711 SRTP 32bit           21688    2.169    4.29
  8KHz stream TX/RX - G.711 SRTP 32bit +auth     33501    3.350    6.63
  8KHz stream TX/RX - G.711 SRTP 80bit           21725    2.172    4.30
  8KHz stream TX/RX - G.711 SRTP 80bit +auth     33551    3.355    6.64
  8KHz stream TX/RX - GSM                        82035    8.203   16.24
  8KHz stream TX/RX - GSM SRTP 32bit             90890    9.089   18.00
  8KHz stream TX/RX - GSM SRTP 32bit + auth      99334    9.933   19.67
  8KHz stream TX/RX - GSM SRTP 80bit             90893    9.089   18.00
  8KHz stream TX/RX - GSM SRTP 80bit + auth      99356    9.936   19.67


So if someone wishes to do GSM, the overhead of SRTP is on the order of 
10%; if they do iLBC, the overhead is microscopic. On this particular 
platform and implementation.