none
动态ARP信息很容易消失怎么办? RRS feed

  • 问题

  •       在电脑上通过软件socket给一个IP发送数据,如果发送太快的话电脑就得不到该IP的ARP信息,也就是说在命令行里通过ARP -A查看不到该IP的ARP信息,发送数据慢的话可以得到,怎么办,如何让软件在发送数据快的时候也可以正常获取到ARP信息?因为如果一直发送数据的话,动态ARP信息会自动消失,软件和某些IP就无法通信了。
    2018年3月13日 8:46

全部回复

  • Hi,

    感谢在MSDN论坛发帖。

    >>在电脑上通过软件socket给一个IP发送数据,如果发送太快的话电脑就得不到该IP的ARP信息,也就是说在命令行里通过ARP -A查看不到该IP的ARP信息,发送数据慢的话可以得到,怎么办,如何让软件在发送数据快的时候也可以正常获取到ARP信息?因为如果一直发送数据的话,动态ARP信息会自动消失,软件和某些IP就无法通信了。

    请问你是调用哪个接口发送的socket数据?又是通过什么方式获取ARP信息的?

    为了将广播的ARP请求帧的数量降到最低,很多TCP / IP协议栈都会包含一个ARP缓存,一个最近解析的IP地址表及其相应的MAC地址表。在发送ARP请求帧之前先检查ARP缓存。每个接口都有自己的ARP缓存。而动态ARP缓存条目具有与其关联的超时值,用于在指定的时间段后移除缓存中的条目。TCP / IP的动态ARP缓存条目在被移除前的最长时间可以为10分钟。

    关于更多ARP消息流程的内容,你可以参考下面的文档。

    https://technet.microsoft.com/en-us/library/cc940010.aspx

    Best Regards,

    Baron Bi


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年3月14日 6:11
  • 用有线网络的网口发送的数据,获取ARP信息是用arp -a命令,从接收方也可以看出来接收方没有收到数据,这都是因为发送方没有ARP信息,也就是MAC地址表里面没有接收方的信息。
    2018年3月14日 6:20
  • >>用有线网络的网口发送的数据,获取ARP信息是用arp -a命令,从接收方也可以看出来接收方没有收到数据,这都是因为发送方没有ARP信息,也就是MAC地址表里面没有接收方的信息。

    你可以参考下面的文档,了解更多关于ARP信息的生命周期。

    http://blog.csdn.net/daxueba/article/details/46738175

    另外该论坛是关于c++代码开发问题,关于你的问题,我建议你到下面的论坛获取更好的帮助。

    https://social.technet.microsoft.com/Forums/en-US/home

    谢谢你的理解与支持。

    Best Regards,

    Baron Bi


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年3月19日 9:11
  • 我怀疑是不是我的发送程序中C++代码的问题,这个和发送程序中的C++代码没有关系吗?
    2018年3月30日 2:23