IPv4_VERSION_01: Ensure that the DUT accepts an IPv4 Packet with a valid Version 4

目的

确保当IPv4数据包的IP首部中的Version字段值有效时,DUT能够接收

IP层头部的Version字段,用来指示网络层头部的格式,如果是4,表示网络层首部是IPv4首部,如果是6,表示网络层首部是IPv6首部

测试步骤

  1. Tester:发送一条ICMPv4 Echo Request报文,IP首部中的Version字段值为4
  2. DUT:发送一条ICMPv4 Echo Reply

期望结果

2, DUT:发送一条ICMPv4 Echo Reply

2.0和3.0期望结果的描述有点出入,本质是一样的,这里采用了3.0的描述

CANoe TC8

TC8:IPv4_VERSION_01-04_字段

参考

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

测试步骤

  1. Tester:发送一条ICMPv4 Echo Request
  2. 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

TC8:IPv4_VERSION_01-04_网络_02

参考

Derived from RFC791, section 3.1, RFC1122, section 3.2.1.1

和上面的case参考内容相同,这里就不再赘述

IPv4_VERSION_04: IP Version validation

目的

为了验证Version版本号,当报文的版本号不是4时,需要安静地丢弃

这里的安静,应该是除了丢弃,主机不会有其他的行为,比如说发ICMP消息报错

测试步骤

  1. Tester:发送一条ICMPv4 Echo Request报文,其中IP首部中的Version值不是4
  2. Tester:监听在网卡上
  3. 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)

这里参考的内容也和上面一样的,不再赘述