|
arm板可以ping6通pc机,pc机ping6不通arm板
[复制链接]
arm,pc机上都装了linux,已加载ipv6模块。
arm,pc都开好机后,如果pc机先ping6 arm,不通;arm ping6 pc机,通的;arm ping6 pc机,然后再执行pc机 ping6 arm,通,但是隔上几分钟又ping6不通了。
为什么?
好好分析了下,找到一些问题,server端先发起的ping6(或udp、tcp),server的邻居表中没有arm ipv6地址与mac地址的映射关系,因此会先发送邻居请求,neighbor solicitation,按理说,arm应该会回应邻居公告,neighbor advertisement,报告自己的mac地址。但是我的arm板并没有进行这一步,目前观察到的是,邻居请求包并没有进入到arm的网卡驱动接收程序中,原因没有查明。
若arm发起ping6,同样的过程,pc server能够正确发出邻居公告,并且会将arm的mac地址与v6地址映射关系加入邻居表中,此时这一映射关系在邻居表中的状态为REACHABLE。因此,若此时server ping6 arm,不要再查发邻居请求,直接从邻居表中找映射关系,完成v6通信。邻居表项有存活期,很短的时间内,状态由变为STALE,再过一段时间这一表项会被删除。对应的观察到的现象就是,过一段时间再由server ping6 arm,又不通了。
大家遇到过这类问题吗?
|
|