Re: [dtn] DTN BPv7 test bundles and CRCs

"Burleigh, Scott C (312B)" <scott.c.burleigh@jpl.nasa.gov> Thu, 28 March 2019 14:53 UTC

Return-Path: <scott.c.burleigh@jpl.nasa.gov>
X-Original-To: dtn@ietfa.amsl.com
Delivered-To: dtn@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ED939120482 for <dtn@ietfa.amsl.com>; Thu, 28 Mar 2019 07:53:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=jpl.nasa.gov
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7DiZVKhBVqdD for <dtn@ietfa.amsl.com>; Thu, 28 Mar 2019 07:53:15 -0700 (PDT)
Received: from ppa01.jpl.nasa.gov (ppa01.jpl.nasa.gov [128.149.137.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 36B4C12042D for <dtn@ietf.org>; Thu, 28 Mar 2019 07:53:15 -0700 (PDT)
Received: from pps.filterd (ppa01.jpl.nasa.gov [127.0.0.1]) by ppa01.jpl.nasa.gov (8.16.0.27/8.16.0.27) with SMTP id x2SEe9Bx078100; Thu, 28 Mar 2019 07:53:14 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jpl.nasa.gov; h=from : to : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=JPL1810; bh=2mJSOYySDHAqv8fC94dfU5uV1R3kuijvhSjJ6EeEByk=; b=rU+F1GwY6nVx6xg3KDpl8nRusX35N+OX70PfQppLfe7ChJ4Btv5rq4xNaBuLX49Jd074 k8+CkJkYRd0KU4+faHHmCaF0QIpvilcp7GAOjfZsSwZmE2aCSxF0Z6WtZbgOeV4J7ErQ qMK8cmNxRbPLPNMDgWx6SEXpPvSRqFRTKj9jUw9/ZiuanteBcxxnXGmuPGZFj199/iFk j2cLEw14YolOPGCEadJEGcJ7dyiK700DF3fF3KJxbNKXx1DtcCSTmfdhiz6HYmP++3Mq +c2Nn6hvO6BrQh0GRaOVvhwhA/I48YHGr4atU8PI+QtcjFlKCKFn/vyEuQgW7uZScE1V dg==
Received: from mail.jpl.nasa.gov (altphysenclup01.jpl.nasa.gov [128.149.137.52]) by ppa01.jpl.nasa.gov with ESMTP id 2rgq1n1ewq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 28 Mar 2019 07:53:14 -0700
Received: from mail.jpl.nasa.gov (ap-embx16-sp60.jpl.nasa.gov [128.149.137.141]) by smtp.jpl.nasa.gov (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id x2SErDTK014214 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128 bits) verified OK); Thu, 28 Mar 2019 07:53:13 -0700
Received: from ap-embx16-sp10.RES.AD.JPL (2002:8095:8953::8095:8953) by ap-embx16-sp60.RES.AD.JPL (2002:8095:898d::8095:898d) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1531.3; Thu, 28 Mar 2019 07:53:12 -0700
Received: from ap-embx16-sp10.RES.AD.JPL ([fe80::4:f430:47b5:767b]) by ap-embx16-sp10.RES.AD.JPL ([fe80::4:f430:47b5:767b%17]) with mapi id 15.01.1531.008; Thu, 28 Mar 2019 07:53:13 -0700
From: "Burleigh, Scott C (312B)" <scott.c.burleigh@jpl.nasa.gov>
To: Brian Sipos <BSipos@rkf-eng.com>, "dtn@ietf.org" <dtn@ietf.org>
Thread-Topic: DTN BPv7 test bundles and CRCs
Thread-Index: AQHU4MX70KrTQEdcJ06prCxjO0TiXaYc8wVngAQ2//A=
Date: Thu, 28 Mar 2019 14:53:13 +0000
Message-ID: <4258b6c570f9490bba0a514bdf4cb56d@jpl.nasa.gov>
References: <CY4PR1301MB2039A571321298DB5E470C959F420@CY4PR1301MB2039.namprd13.prod.outlook.com> <CY4PR1301MB2039483EFF873C2823A966159F5E0@CY4PR1301MB2039.namprd13.prod.outlook.com>
In-Reply-To: <CY4PR1301MB2039483EFF873C2823A966159F5E0@CY4PR1301MB2039.namprd13.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [207.151.104.72]
Content-Type: multipart/alternative; boundary="_000_4258b6c570f9490bba0a514bdf4cb56djplnasagov_"
MIME-Version: 1.0
X-Source-IP: ap-embx16-sp60.jpl.nasa.gov [128.149.137.141]
X-Source-Sender: scott.c.burleigh@jpl.nasa.gov
X-AUTH: Authorized
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-03-28_08:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1903280100
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/lAGHjQIPhTdzg0eY5bMVz3rfsjA>
Subject: Re: [dtn] DTN BPv7 test bundles and CRCs
X-BeenThere: dtn@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Delay Tolerant Networking \(DTN\) discussion list at the IETF." <dtn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dtn>, <mailto:dtn-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dtn/>
List-Post: <mailto:dtn@ietf.org>
List-Help: <mailto:dtn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dtn>, <mailto:dtn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 Mar 2019 14:53:20 -0000

Thanks, Brian - I've revised the [CRC] reference and have added a reference to Appendix A.4 of RFC 7143 for the CRC examples.

Scott

From: Brian Sipos <BSipos@rkf-eng.com>
Sent: Thursday, March 28, 2019 5:44 AM
To: dtn@ietf.org; Burleigh, Scott C (312B) <scott.c.burleigh@jpl.nasa.gov>
Subject: [EXTERNAL] Re: DTN BPv7 test bundles and CRCs

All,
Thank you for the pointers to other implementations. I was able to reconcile the CRCs listed in the BPv7 spec with the 16-bit CRC listed at [1] and the 32-bit CRC listed at [2], both of these references have "check" results for test input.

To Scott B.,
I think the current citation in [3] is not accurate, the ITU-T V.42 spec is *not* the same as the CRC-32C identified in BPv7. I would suggest citing the same reference as was done in [4] and it would be extremely helpful to have CRC examples as are included in [5].
I was being very careful to cross-check my CRC use, but a naive implementation which only checks bundles generated by itself could easily use the wrong CRC parameterization and end up not being interoperable and not know it.

Thanks,
Brian S.

[1]: http://reveng.sourceforge.net/crc-catalogue/16.htm#crc.cat.crc-16-ibm-sdlc
[2]: http://reveng.sourceforge.net/crc-catalogue/17plus.htm#crc.cat.crc-32-castagnoli
[3]: https://tools.ietf.org/html/draft-ietf-dtn-bpbis-12#ref-CRC
[4]: https://tools.ietf.org/html/rfc7143#ref-Castagnoli93
[5]: https://tools.ietf.org/html/rfc7143#appendix-A.4


________________________________
From: dtn <dtn-bounces@ietf.org<mailto:dtn-bounces@ietf.org>> on behalf of Brian Sipos <BSipos@rkf-eng.com<mailto:BSipos@rkf-eng.com>>
Sent: Friday, March 22, 2019 11:45
To: dtn@ietf.org<mailto:dtn@ietf.org>
Subject: [dtn] DTN BPv7 test bundles and CRCs

To anyone who has been prototyping Bundle Protocol version 7 (BPbis) agents,
I'm spending a little time on a Wireshark dissector to examine and troubleshoot bundles and the only trouble I've run into is in verifying the CRCs. The BPbis spec is not very helpful in determining exactly what CRC implementation to use only because the ITU specification itself doesn't provide CRC test vectors.

I'm doing prototyping in Python and dissecting in C language, so there is even a disparity between what CRC algorithms are available and how well they are documented. This seems like such an easy use/build decision to use COTS CRC function but I'm struggling to find implementations to match what BPbis requires.

I think there would be a lot of value to have some test/representative bundles in an appendix which include blocks with different CRC types and different block sizes. Some CRC implementations pad out octet-sequences to a multiple of the CRC size and some apparently do something else. The problem is in the CRC implementations not being very clear about their parameters but having a few encoded test bundles to work with would go a long way to ensuring compatibility of implementations.

Thanks for any advice,
Brian S.