前言

车载以太网测试实践系列,我们还分享了PMA测试实践、IOP测试实践 。本期给大家介绍的是TC8中的TCP/IP协议一致性测试(以下简称TCP/IP测试)。

TCP/IP测试-设备环境组成

TTworkbench
TTworkbench是思博伦旗下一款功能强大的测试自动化平台,它能够提供完整特性的集成式测试开发和执行环境(IDE),可进行测试脚本开发、编译,测试参数配置,测试执行,测试监控,生成测试报告。

图1 TTworkbench平台示意

TTsuite
思博伦提供了多种现成可用的货架式测试套装(TTsuite),包括OPEN Alliance SIG一致性测试(TC8),汽车AVB一致性测试,AUTOSAR一致性测试等套装,每个测试套装都包含多种经过验证的测试用例,配合TTworkbench,能够实现车载以太网常见协议的一致性测试的自动化执行。

C50
C50是思博伦推出的一款性能强大的硬件,具有第2至3层流量生成和分析能力,可搭配不同的网卡(100BASE-T1、100BASE-TX等)来满足不同用户的需求。通过网线连接至PC后,可实现TTsuite的远程执行,即测试脚本运行在C50中,PC监控测试过程,收集测试数据,生成测试报告等。

图2 C50实物图

Upper Tester(UT)
Upper Tester(UT)本质上是一个运行在DUT中的应用,用于辅助测试执行。它能够接收Test System发送的指令,来配置被测协议栈(IUT)的参数,或触发被测协议栈产生某种行为。UT支持的指令和格式遵循AUTOSAR体系下的《Testability Protocol and Service Primitives》规范,目前新版的TTsuite已经支持到了1.2.0版本

OEM或供应商可按照规范自行开发和集成UT,也可购买第三方源代码自行集成,或通过第三方服务商来进行开发或集成。目前,北汇信息可提供UT的集成服务。

图3 Upper Tester(UT)工作原理

TCP/IP测试-被测对象组成

DUT
被测设备为实现了TCP/IP协议栈的非AUTOSAR控制器。

调试接口
为了更好地监视测试过程,DUT最好能提供一个调试接口,这样UT可通过这个接口输出一些调试信息,以帮助测试工程师更好地判定问题。这个接口可以是串口、SSH、或TELNET等,具体的类型并不限定。

需要注意的一点是,《Testability Protocol and Service Primitives》目前不支持TC8中的ARP测试,这时候就必须依赖上面提到的调试接口才能进行测试,并需要支持清除ARP动态缓存等配置和功能(详情可面对面沟通)。若提供的是SSH调试接口,可配合TTsuite实现ARP自动化测试,若是其他接口类型,则只能进行半自动化测试。

TCP/IP测试-测试过程

测试准备

  • 连接Test System与DUT
  • 加载对应的TTsuite
  • 配置TTsuite参数,如IP地址,MAC地址等
  • 启动UT

图4 配置测试参数

执行测试

  • 运行测试脚本

图5 测试脚本运行示意图

  • 获得测试数据和测试报告

图6 测试报告示意图

TCP/IP测试-小结

我们经常会听到这样的问题,TCP/IP协议栈已经发展了近30年,想必是十分成熟可靠了,那么为什么还要投入精力去测试呢?

这个问题回答起来很简单,只需要举一个例子即可。

很多车载信息娱乐域的控制器采用了Linux系统,因为它成熟可靠,性能强大,应用资源丰富,且开源免费。但是对于Linux的TCP/IP协议栈,大多参数都采用缺省的配置,这就使有些特性可能不满足车载的应用要求。比如,在缺省情况下,任意目的IP地址的ARP数据包都会被Linux接收,而TC8 要求 DUT 应忽略掉非指向自己的数据包,以提高安全性。

这些细节也是做正向架构设计和参数配置需要约束的,是测试带来的价值之一,尤其是在当前摸石头过河的阶段。深入的测试完全可以“反哺”设计,当然这需要对应用场景和协议本身(缺一不可)有足够的认知。

所以我们想表达的是,TCP/IP更多的是为互联网设计的,它的很多机制只有在海量用户和数据,并且在非常复杂且未知的网络环境下才会起作用,否则可能起到相反的效果。

我们必须意识到,车内的局域网是相对静态的、封闭的、简单的,我们必须做一些针对性的优化,才能达到更好的网络性能和更高的安全性。而TC8的意义,可能就在于此。

图片来源:www.eenewsautomotive.com

车载以太网第二弹|测试之实锤-TC8 TCP/IP协议一致性测试实践的更多相关文章

  1. 车载以太网第二弹|测试之实锤 -DoIP测试开发实践

    前言 车载以太网测试之实锤系列,之前我们已经从环境设备组成.被测对象组成再到测试过程和测试结果分析,分享了完整的PMA测试 .IOP测试 .TC8中的TCP/IP协议一致性测试 .也分享了1000BA ...

  2. 车载以太网第二弹|测试之实锤-AVB测试实践

    背景 AVB(Audio Video Bridging)音视频桥接,是由IEEE 802.1标准委员会的IEEE AVB任务组制定的一组技术标准,包括精确时钟同步.带宽预留和流量调度等协议规范,用于构 ...

  3. 车载以太网第二弹|测试之实锤-1000BASE-T1物理层PMA测试实践

    背景 100BASE-T1方兴未艾,国内外OEM量产车型纷至沓来:为了满足高带宽的应用场景需求(如图像.雷达等数据传输),1000BASE-T1将至已至,如大众MEB平台采用1000BASE-T1总线 ...

  4. 车载以太网第二弹|测试之实锤-1000BASE-T1 IOP测试实践

    背景 车载以太网通信技术在汽车行业的应用速度远超预期,去年本土OEM已经上市了应用100BASE -T1的车型.今年,应用1000BASE -T1的车型预计也将会量产上市.针对测试而言,带来另外一个难 ...

  5. 车载以太网第二弹 | 测试之实锤-IOP测试实践

    前言 上一期"物理层PMA测试实践",咱们从环境设备组成.被测对象组成再到测试过程和测试结果,将完整的PMA测试过程做了一个经验分享. 由下层开始逐层"披沙沥金" ...

  6. 车载以太网第二弹 | 测试之实锤-物理层PMA测试实践

    前言 本期先从物理层"PMA测试"开始,下图1为"PMA测试"的测试结果汇总图.其中,为了验证以太网通信对线缆的敏感度,特选取两组不同特性线缆进行测试对比,果然 ...

  7. 以太网接口TCP/IP协议介绍,说的很容易懂了

      以太网接口TCP/IP协议介绍,说的很容易懂了  TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列. TCP/IP协议栈(按TCP/IP参考模型划分) 应用层 FTP SMTP HTT ...

  8. TCP/IP协议的数据传输过程详解——IP与以太网的包收发操作

    MTU:一个网络包的最大长度,以太网中一般是1500字节:(含有头部长度,包括IP头部,TCP头部,不包括MAC头部) MSS:除去头部后,一个网络包所能容纳的TCP的数据的最大长度 下图为TCP/I ...

  9. 结合Wireshark捕获分组深入理解TCP/IP协议之以太网帧

    摘要:     本文摘抄并整理了以太网相关理论知识,包括CSMA/CD协议机制及工作.LAN互连,详细分析了Ethernet II帧格式,最后给出Ethernet II帧实例. 一.以太网[1] 1. ...

随机推荐

  1. SQL中单引号和双引号

    比如说: String sql = "select * from clients where logname='" + name + "'and password='&q ...

  2. MySQL配置参数innodb_flush_log_at_trx_commit

    innodb_flush_log_at_trx_commit 此参数有3个值可设置:0.1.2 0表示每秒刷写一次日志到硬盘,极端情况下MySQL或操作系统挂了最多丢1秒的数据更新 1表示每次事务提交 ...

  3. [spojQTREE5]Query on a tree V

    合理的正解大概是动态点分治,这里给出其实现 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define N 100005 4 st ...

  4. [bzoj5340]假面

    修改:维护g[i][j]表示第i个数为j的概率,从前往后转移 转移方程:g[id][i]=g[id][i-1]*p+g[id][i]*(1-p),初始g[i][a[i]]=1 询问:对于每一个人i,输 ...

  5. [atARC111F]Do you like query problems

    (以下修改指1和2类操作,询问指3类操作,操作指修改或询问) 注意到总方案数确定,那么不妨求出答案的期望,再乘上方案数即为答案 (这里从期望的角度考虑只是为了描述方便,并没有太大的实际意义) 设$E( ...

  6. 【Linux】(1)安装

    VMware虚拟机安装Linux,IP地址显示为127.0.0.1的解决方案 ① 打开该虚拟机,点击导航栏"虚拟机(M)",选择"设置(S)..." ② 将&q ...

  7. vue 数据单项绑定

    提供get方法,修改数据不改原来数据,进行单向绑定,还可以做数据缓存,减少服务器压力. 提供单独的set方法.

  8. ES6学习 第五章 正则的扩展

    前言 本章介绍正则的扩展.有些不常用的知识了解即可. 本章原文链接:正则的扩展 RegExp 构造函数 从 ES6 开始,如果RegExp构造函数第一个参数是一个正则对象,并且第二个标志存在且为标志参 ...

  9. Codeforces 1067D - Computer Game(矩阵快速幂+斜率优化)

    Codeforces 题面传送门 & 洛谷题面传送门 好题. 首先显然我们如果在某一次游戏中升级,那么在接下来的游戏中我们一定会一直打 \(b_jp_j\) 最大的游戏 \(j\),因为这样得 ...

  10. 洛谷 P3714 - [BJOI2017]树的难题(点分治)

    洛谷题面传送门 咦?鸽子 tzc 竟然来补题解了?incredible( 首先看到这样类似于路径统计的问题我们可以非常自然地想到点分治.每次我们找出每个连通块的重心 \(x\) 然后以 \(x\) 为 ...