Loading...
墨滴

jasonj333

2021/06/30  阅读:27  主题:红绯

ARP_23-31

TC8的一致性测试内容是对以太网协议细节的测试,了解TC8测试case,能够加深对以太网协议的细节的掌握

ARP_23: ARP request reception (Hardware Address Length correct)

目的

Tester发送一条Hardware Length/Size字段设置为以太网地址长度的ARP请求(当然其他字段都正确),期望DUT回复一个ARP响应

对于以太网来说,ARP请求或响应的Hardware Length/Size字段值为6

测试步骤

  • DUT清除ARP动态缓存表
  • Tester发送一条ARP请求给DUT,其中Hardware Length/Size字段设置为ETHERNET_ADDR_LEN,也就是6
  • Tester在网卡上监听
  • DUT发送ARP响应

期望结果

DUT发送ARP响应

CANoe TC8

ARP_24: ARP request reception (Hardware Address Length wrong)

目的

Tester发送一条Hardware Length/Size字段设置为未知硬件长度的ARP请求(当然其他字段都正确),期望DUT不回复ARP响应

这里就很明显,不设置为6就可以了

测试步骤

  • DUT清除ARP动态缓存表
  • Tester发送一条ARP请求给DUT,其中Hardware Length/Size字段设置为UNKNOWN_HW_ADDR_LEN,不为6即可
  • Tester在网卡上监听
  • DUT不发送ARP响应

期望结果

DUT不发送ARP响应

CANoe TC8

ARP_25: ARP request response (Hardware Address Length wrong)

目的

Tester发送一条Hardware Length/Size字段设置为未知硬件长度的ARP响应(当然其他字段都正确)给DUT,然后让DUT发送一条ICMP Echo Request报文,期望DUT会先发送一条ARP请求

这条case的目的其实是为了验证如果Hardware Length字段不正确,那么接收方不会把ARP响应报文里的源ip和源mac保存在自己的ARP缓存表内

测试步骤

  • DUT清除ARP动态缓存表
  • Tester发送一条ARP响应给DUT,其中Hardware Length/Size字段设置为UNKNOWN_HW_ADDR_LEN,不为6即可
  • Tester等待一段时间,以便DUT的ARP缓存表刷新
  • Tester发送指令让DUT发送一条ICMP Echo Request报文
  • Tester在网卡上监听
  • DUT发送ARP请求

期望结果

DUT发送ARP请求

CANoe TC8

可以看出这是一条广播ARP响应报文

ARP_26: ARP request reception (Protocol Type correct)

目的

Tester发送一条Protocol Type字段设置为IP类型的ARP请求(当然其他字段都正确),期望DUT回复一个ARP响应

对于以太网来说,ARP请求或响应的Protocol Type字段值为0x0800

测试步骤

  • DUT清除ARP动态缓存表
  • Tester发送一条ARP请求给DUT,其中Protocol Type字段设置为ARP_PROTOCOL_IP,也就是0x0800
  • Tester在网卡上监听
  • DUT发送ARP响应

期望结果

DUT发送ARP响应

CANoe TC8

ARP_27: ARP request reception (Protocol Type wrong)

目的

Tester发送一条Protocol Type字段设置为未知协议类型值的ARP请求(当然其他字段都正确),期望DUT不回复ARP响应

只要不设置为0x0800即可

测试步骤

  • DUT清除ARP动态缓存表
  • Tester发送一条ARP请求给DUT,其中Protocol Type字段设置为ARP_PROTOCOL_UNKNOWN,比如说0xFFFF
  • Tester在网卡上监听
  • DUT不发送ARP响应

期望结果

DUT不发送ARP响应

CANoe TC8

ARP_28: ARP response reception (Protocol Type wrong)

目的

Tester发送一条Protocol Type字段设置为未知协议类型值的ARP响应(当然其他字段都正确)给DUT,然后让DUT发送一条ICMP Echo Request报文,期望DUT会先发送一条ARP请求

这条case的目的其实是为了验证如果Protocol Type字段不正确,那么接收方不会把ARP响应报文里的源ip和源mac保存在自己的ARP缓存表内

测试步骤

  • DUT清除ARP动态缓存表
  • Tester发送一条ARP响应给DUT,其中Protocol Type字段设置为ARP_PROTOCOL_UNKNOWN,不为0x0800即可
  • Tester等待一段时间,以便DUT的ARP缓存表刷新
  • Tester发送指令让DUT发送一条ICMP Echo Request报文
  • Tester在网卡上监听
  • DUT发送ARP请求

期望结果

DUT发送ARP请求

CANoe TC8

ARP_29: ARP request reception (Protocol Address Length correct)

目的

Tester发送一条Protocol Length/Size字段设置为IP地址长度的ARP请求(当然其他字段都正确),期望DUT回复ARP响应

对于以太网来说,ARP请求或响应的Protocol Length/Size字段值为4

测试步骤

  • DUT清除ARP动态缓存表
  • Tester发送一条ARP请求给DUT,其中Protocol Length/Size字段设置为IP_ADDR_LEN,也就是4
  • Tester在网卡上监听
  • DUT发送ARP响应

期望结果

DUT发送ARP响应

CANoe TC8

ARP_30: ARP request reception (Protocol Address Length wrong)

目的

Tester发送一条Protocol Length/Size字段设置为未知协议地址长度的ARP请求(当然其他字段都正确),期望DUT不回复ARP响应

只要不设置为4即可

测试步骤

  • DUT清除ARP动态缓存表
  • Tester发送一条ARP请求给DUT,其中Protocol Length/Size字段设置为UNKNOWN_PROTOCOL_ADDR_LEN,不是4即可
  • Tester在网卡上监听
  • DUT不发送ARP响应

期望结果

DUT不发送ARP响应

CANoe TC8

ARP_31: ARP response reception (Protocol Address Length wrong)

目的

Tester发送一条Protocol Length/Size字段设置为未知协议地址长度的ARP响应(当然其他字段都正确)给DUT,然后让DUT发送一条ICMP Echo Request报文,期望DUT会先发送一条ARP请求

这条case的目的其实是为了验证如果Protocol Length/Size字段不正确,那么接收方不会把ARP响应报文里的源ip和源mac保存在自己的ARP缓存表内

测试步骤

  • DUT清除ARP动态缓存表
  • Tester发送一条ARP响应给DUT,其中Protocol Length/Size字段设置为UNKNOWN_PROTOCOL_ADDR_LEN,不为4即可
  • Tester等待一段时间,以便DUT的ARP缓存表刷新
  • Tester发送指令让DUT发送一条ICMP Echo Request报文
  • Tester在网卡上监听
  • DUT发送ARP请求

期望结果

DUT发送ARP请求

CANoe TC8


jasonj333

2021/06/30  阅读:27  主题:红绯

作者介绍

jasonj333