车载以太网第二弹|测试之实锤-TC8 TCP/IP协议一致性测试实践
前言
车载以太网测试实践系列,我们还分享了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协议一致性测试实践的更多相关文章
- 车载以太网第二弹|测试之实锤 -DoIP测试开发实践
前言 车载以太网测试之实锤系列,之前我们已经从环境设备组成.被测对象组成再到测试过程和测试结果分析,分享了完整的PMA测试 .IOP测试 .TC8中的TCP/IP协议一致性测试 .也分享了1000BA ...
- 车载以太网第二弹|测试之实锤-AVB测试实践
背景 AVB(Audio Video Bridging)音视频桥接,是由IEEE 802.1标准委员会的IEEE AVB任务组制定的一组技术标准,包括精确时钟同步.带宽预留和流量调度等协议规范,用于构 ...
- 车载以太网第二弹|测试之实锤-1000BASE-T1物理层PMA测试实践
背景 100BASE-T1方兴未艾,国内外OEM量产车型纷至沓来:为了满足高带宽的应用场景需求(如图像.雷达等数据传输),1000BASE-T1将至已至,如大众MEB平台采用1000BASE-T1总线 ...
- 车载以太网第二弹|测试之实锤-1000BASE-T1 IOP测试实践
背景 车载以太网通信技术在汽车行业的应用速度远超预期,去年本土OEM已经上市了应用100BASE -T1的车型.今年,应用1000BASE -T1的车型预计也将会量产上市.针对测试而言,带来另外一个难 ...
- 车载以太网第二弹 | 测试之实锤-IOP测试实践
前言 上一期"物理层PMA测试实践",咱们从环境设备组成.被测对象组成再到测试过程和测试结果,将完整的PMA测试过程做了一个经验分享. 由下层开始逐层"披沙沥金" ...
- 车载以太网第二弹 | 测试之实锤-物理层PMA测试实践
前言 本期先从物理层"PMA测试"开始,下图1为"PMA测试"的测试结果汇总图.其中,为了验证以太网通信对线缆的敏感度,特选取两组不同特性线缆进行测试对比,果然 ...
- 以太网接口TCP/IP协议介绍,说的很容易懂了
以太网接口TCP/IP协议介绍,说的很容易懂了 TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列. TCP/IP协议栈(按TCP/IP参考模型划分) 应用层 FTP SMTP HTT ...
- TCP/IP协议的数据传输过程详解——IP与以太网的包收发操作
MTU:一个网络包的最大长度,以太网中一般是1500字节:(含有头部长度,包括IP头部,TCP头部,不包括MAC头部) MSS:除去头部后,一个网络包所能容纳的TCP的数据的最大长度 下图为TCP/I ...
- 结合Wireshark捕获分组深入理解TCP/IP协议之以太网帧
摘要: 本文摘抄并整理了以太网相关理论知识,包括CSMA/CD协议机制及工作.LAN互连,详细分析了Ethernet II帧格式,最后给出Ethernet II帧实例. 一.以太网[1] 1. ...
随机推荐
- PAT A1060——string的常见用法详解
string 常用函数实例 (1)operator += 可以将两个string直接拼接起来 (2)compare operator 可以直接使用==.!=.<.<=.>.>= ...
- [bzoj1079]着色方案
由于最终的染色只与ci为几的个数有关,因此定义状态f[a][b][c][d][e][p]表示有a个ci=1,b个ci=2,--,有e个ci=5,上一次选择了ci=p的.状态的转移:发现p会让p-1少选 ...
- [gym102832J]Abstract Painting
考虑每一个圆即对应于区间$[x_{i}-r_{i},x_{i}+r_{i}]$,可以看作对于每一个区间,要求所有右端点严格比其小的区间不严格包含左端点 用$f_{i}$表示仅考虑右端点不超过$i$的区 ...
- 调试:'Object reference note set to an instance of an object.'
今天调试代码遇到一个奇怪的问题,每次调试到 var files = new List<string>()这一行代码,总是报错:System.NullReferenceException: ...
- Python迭代器生成器与生成式
Python迭代器生成器与生成式 什么是迭代 迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果.每一次对过程的重复称为一次"迭代",而每一次迭代得到的结果会作为下一次迭 ...
- Codeforces 288E - Polo the Penguin and Lucky Numbers(数位 dp+推式子)
题目传送门 似乎我的解法和官方题解不太一样 纪念自己独立做出来的一道难度 2800 的题. 我们记 \(ans(x)\) 为 \([444...44,x]\) 的答案,显然答案为 \(ans(r)-a ...
- DP 优化方法大杂烩 & 做题记录 I.
标 * 的是推荐阅读的部分 / 做的题目. 1. 动态 DP(DDP)算法简介 动态动态规划. 以 P4719 为例讲一讲 ddp: 1.1. 树剖解法 如果没有修改操作,那么可以设计出 DP 方案 ...
- BZOJ 3694&&DTOJ 1972: 最短路
题目描述 给出一个n个点m条边的无向图,n个点的编号从1~n,定义源点为1.定义最短路树如下:从源点1经过边集T到任意一点i有且仅有一条路径,且这条路径是整个图1到i的最短路径,边集T构成最短路树. ...
- Synteny和collinear的区别
在比较基因组学的时候,经常会听到"共线性"这个词,但是与其对应的有两个不同的概念,即 (1) synteny (2) collinear 二者的区别如下图所示: 可以看到,synt ...
- lilo.conf
描述 默认情况下,本文件 ( /etc/lilo.conf ) 由引导管理程序 lilo 读取 (参考 lilo(8)). 它看起来可能象这样: boot = /dev/hda delay = 40 ...