ARP协议原理、ARP缓存表目的,这些在我的文章中已经反复提及过多次了。ARP缓存表里有静态和动态条目两种,静态的是写死的,没有老化时间,不会随着时间的流逝而自动删除。动态条目是缓存的,有老化时间timeout,如果长时间没有刷新,老化时间到了就会自动删除。老化时间是一个测试点,在文章《测试ARP缓存表的动态条目的老化时间的两种方案》中已经详细地阐述。关于动态条目还有一个测试点,就是它的最大缓存数量。如何测试动态条目的最大缓存数量,这是今天我们要讨论的重点!
了解一个功能如何测试前,首先需要了解这个功能的原理和逻辑。协议测试也是一样的,你想测试ARP缓存表的动态条目的最大数量,你是否应该了解动态条目是如何存储的,如果超过了最大数量后存储又会怎样?
假设现在有一个测试需求:IP地址为192.168.1.2/24,验证ARP缓存表动态条目最大数量为10条
为了测试ARP缓存表最多只能存10条动态条目,首先应该存入10条动态条目
主机本身的IP和MAC是无法存入自己的ARP缓存表的!!!
可以看出:动态条目从ARP缓存表的低地址开始存入,也就是从上到下。此时缓存空间已满,如果第11条动态条目需要被存,肯定也是被存入高地址中。但是由于内存空间已满,需要顶替掉某条已存在的条目,怎么办呢?