新的TC8文章中增加了参考的rfc文档的内容,以及在最新的3.0版本是否被删除,这是ICMPv4协议的最后一篇,是目前所有文章中篇幅最长的,求点赞,求转发
ICMPv4_TYPE_01: Send ICMP Destination Unreachable for unknown port
这条case在TC8 3.0版本被删除
目的
当目的主机收到的报文的目的端口没有被打开并监听时,数据报无法传递,此时,目的主机需要回复一条ICMP目的不可达报文,原因是未知端口
测试步骤
- Tester:向DUT发送一条UDP报文,目的端口未知(此端口未打开)
- Tester:监听在网卡上
- DUT:发送ICMP目的不可达报文
- Tester:验证接收到的ICMP目的不可达报文,Code值为3(端口不可达)
期望结果
3, DUT:发送ICMP目的不可达报文 4, Tester:验证接收到的ICMP目的不可达报文,Code值为3(端口不可达)
CANoe TC8
参考
RFC 792 p5 Destination Unreachable Message (MAY)
If, in the destination host, the IP module cannot deliver the datagram because the indicated protocol module or process port is not active, the destination host may send a destination unreachable message to the source host.
如果在目的主机中,IP模块由于指示的协议模块或者进程端口无效而无法传递数据报,目的主机可以向源主机发送目的不可达报文
ICMPv4_TYPE_02: Discard packet with missing fragments
这条case在TC8 3.0版本被删除
目的
如果目的主机在重组时限内没有接收到所有的分片包而无法完成重组,则丢弃接收的分片包
这条case按道理来说,和ICMP协议无关,应该是IP层的内容
其实这条case是为了验证目的主机在重组时间内无法重组分片包时除了丢弃分片包,还应该发送ICMP时间超时报文
测试步骤
- Tester:组装一条ICMP Echo Request消息,分割成两片,向DUT发送第一个分片包(Fragment Offset为0)
- Tester:等待DUT重组时间超时
- Tester:向DUT发送第二个分片包
- Tester:监听在网卡上
- DUT:丢弃分片包,不发送ICMP Echo Response
期望结果
5, DUT:丢弃分片包,不发送ICMP Echo Response
CANoe TC8
由于DUT只收到了ICMP请求报文分片包的一部分,所以能看出DUT并没有回复响应报文,说明DUT把它丢弃了
参考
RFC 792 p7 Time Exceeded Message (MUST)
If a host reassembling a fragmented datagram cannot complete the reassembly due to missing fragments within its time limit it discards the datagram, and it may send a time exceeded message.
如果主机由于在其时限内丢失分片而无法完成分片数据包的重组,则它丢弃该数据报,并且它可能发送ICMP超时消息
很明显,是为了测试ICMP超时消息的
ICMPv4_TYPE_03: Send ICMP Time Exceeded message on fragmentation error
这条case在TC8 3.0版本被删除
目的
如果目的主机在重组时间内无法完成分片包重组,它可能发送ICMP超时消息
测试步骤
- Tester:组装一条ICMP Echo Request消息,分割成两片,向DUT发送第一个分片包(Fragment Offset为0)
- Tester:等待DUT重组时间超时
- Tester:监听在网卡上
- DUT:发送一条ICMP超时消息
- Tester:验证接收到的ICMP超时消息,Code值为1(超出分片包重组时间)
期望结果
5, Tester:验证接收到的ICMP超时消息,Code值为1(超出分片包重组时间)
CANoe TC8
参考
RFC 792 p7 Time Exceeded Message (MAY)
If a host reassembling a fragmented datagram cannot complete the reassembly due to missing fragments within its time limit it discards the datagram, and it may send a time exceeded message.
如果主机由于在其时限内丢失分片而无法完成分片数据包的重组,则它丢弃该数据报,并且它可能发送ICMP超时消息
ICMPv4_TYPE_04: Do no send ICMP Time Exceeded message if missing fragment 0
目的
如果主机接收的是无效分片包,即使超过重组时间,也不会发送ICMP超时消息
什么意思
更多内容,请关注汽车网络诊断通信
|