目的
确保当IPv4数据包的IP首部中的Version字段值有效时,DUT能够接收
IP层头部的Version字段,用来指示网络层头部的格式,如果是4,表示网络层首部是IPv4首部,如果是6,表示网络层首部是IPv6首部
测试步骤
- Tester:发送一条ICMPv4 Echo Request报文,IP首部中的Version字段值为4
- DUT:发送一条ICMPv4 Echo Reply
期望结果
2, DUT:发送一条ICMPv4 Echo Reply
2.0和3.0期望结果的描述有点出入,本质是一样的,这里采用了3.0的描述
CANoe TC8
参考
Derived from RFC791, section 3.1, RFC1122, section 3.2.1.1
The Version field indicates the format of the internet header. This document describes version 4.
Version字段指示网络层首部的格式,在RFC 791中,这个Version值为4
因为RFC 791是描述IPv4的,那么Version肯定是4
A datagram whose version number is not 4 MUST be silently discarded.
Version不是4的数据报必须被安静地丢弃
也就是说,主机接收到报文,通过二层的Type,发现报文数据要交给IPv4程序处理,但是IPv4程序发现Version却不是4,那么就会默默地丢弃,且不会发送ICMP报文报错
IPv4_VERSION_03: Ensure that the DUT generates a IPv4 Packet with a valid Version 4目的
确保DUT生成的IPv4报文的Version字段有效
也就是Version字段值要为4
测试步骤
- Tester:发送一条ICMPv4 Echo Request
- DUT:发送一条ICMPv4 Echo Reply报文,其中Version字段为4
步骤2在TC8 2.0版本描述错误,“2. DUT: Does not send an ICMPv4 Echo Reply containing a valid version 4”,所以这里用的是3.0的
期望结果
2, DUT:发送一条ICMPv4 Echo Reply报文,其中Version字段为4
2.0和3.0的期望结果描述有所出入,不过本质是一样的,这里用的是3.0的描述
CANoe TC8
参考
Derived from RFC791, section 3.1, RFC1122, section 3.2.1.1
和上面的case参考内容相同,这里就不再赘述
IPv4_VERSION_04: IP Version validation目的
为了验证Version版本号,当报文的版本号不是4时,需要安静地丢弃
这里的安静,应该是除了丢弃,主机不会有其他的行为,比如说发ICMP消息报错
测试步骤
- Tester:发送一条ICMPv4 Echo Request报文,其中IP首部中的Version值不是4
- Tester:监听在网卡上
- DUT:丢弃ICMPv4 Echo Request,不发送ICMPv4 Echo Reply
期望结果
3, DUT:丢弃ICMPv4 Echo Request,不发送ICMPv4 Echo Reply
CANoe TC8
参考
Derived from RFC 791 s3.1 p11 Internet Header Format (Version), RFC 1122 s3.2.1.1 p29 Version Number: RFC-791 Section 3.1 (MUST)
这里参考的内容也和上面一样的,不再赘述