车载以太网第二弹|测试之实锤-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. ...
随机推荐
- 【Java】运行时Java对象在内存中是如何存储的?
翻译自这一篇文章 我们知道函数在内存中实现为一个活动记录的栈.我们也知道Java方法在JVM栈区中实现为一个帧栈而Java对象是在堆区进行分配的. Java对象在堆内存中是怎样的呢?一旦对象保存在内存 ...
- [hdu6598]Harmonious Army
网络流建图,首先将所有价值加起来,用最小割考虑要删掉多少个价值:源点向每一个士兵连流量为x的边,士兵向汇点连流量为y的边,每一对关系间连流量为z的边,考虑有方程x1+y2+z=x2+y1+z=a+c, ...
- [bzoj1222]产品加工
用f[i][j]表示完成前i个任务,在A机器上加工j小时时B机器上最少要工作多小时,转移就分为三种,即$f[i][j]=min(f[i-1][j-t1],f[i-1][j]+t2,f[i-t3]+t3 ...
- javascript-初级-day05js函数传参
JS基础-01 函数传参.参数类型-1 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Conten ...
- P2336 [SCOI2012]喵星球上的点名(SA+莫队)
题面传送门 一道还算有点含金量的 SA 罢-- 首先按照套路我们把读入的所有字符串都粘在一起,中间用分隔符隔开并建出后缀数组出来. 我们考虑对于一个固定的字符串 \(s\),什么样的字符串 \(t\) ...
- DTOJ 3987: 数学课
题目描述 wzy又来上数学课了-- 虽然他很菜,但是数学还是懂一丢丢的.老师出了一道题,给定一个包含$n$个元素的集合$P=1,2,3--n$求有多少集合$A \subseteq P$,满足$x \i ...
- arm三大编译器的不同选择编译
ARM 系列目前支持三大主流的工具链,即ARM RealView (armcc), IAR EWARM (iccarm), and GNU Compiler Collection (gcc). ...
- MybatisPlus的CRUD及拓展
创建一个简单的MybatisPlus项目在上一篇博客:MybatisPlus入门程序 一.CRUD 1. select 1.1 查找全部用户 //查 @Test public void select( ...
- 日常Java 2021/10/19
Java集合框架 Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射. Collection接口又有3种子类型,Li ...
- Vue2全家桶+Element搭建的PC端在线音乐网站
目录 1,前言 2,已有功能 3,使用 4,目录结构 5,页面效果 登录页 首页 排行榜 歌单列表 歌单详情 歌手列表 歌手详情 MV列表 MV详情 搜索页 播放器 1,前言 项目基于Vue2全家桶及 ...