【问题标题】:contiki ipv6 without rpl, neighbor discovery没有 rpl 的 contiki ipv6,邻居发现
【发布时间】:2017-07-11 15:04:07
【问题描述】:

我实际上正在研究 contiki os,我想在不使用 rpl 的情况下建立一个 ipv6 网络。我的问题是如何在我的无线电范围内发现邻居。我正在寻找 6lowpan nd RA/RS/NA/NS 消息,但我不知道如何使其工作。 我希望我的节点从其中一个路由器获取前缀,然后将 udp 数据包发送给我的邻居。

提前致谢。

【问题讨论】:

    标签: c contiki


    【解决方案1】:

    您的项目配置文件中需要以下参数:

    #define NETSTACK_CONF_WITH_IPV6  1
    #define UIP_CONF_IPV6_RPL 0
    

    然后会自动设置参数UIP_CONF_ND6_SEND_RAUIP_CONF_ND6_SEND_NSUIP_CONF_ND6_SEND_NA,以启用ND 协议。

    使用UIP_CONF_ROUTER=0 将设备配置为简单节点以接收RA 消息。默认情况下,每个 Contiki 节点都配置为路由器。

    【讨论】:

    • 感谢您的回复。你知道我怎样才能发现我的邻居吗?
    • 一旦启用 NDP,由于节点接口之间的 NS 和 NA 消息的交换,这些稍后会发现彼此。这是自动完成的。在文件core/net/ipv6/uip-nd6.ccore/net/ipv6/uip-ds6-nbr.c 中启用调试以查看发生了什么。
    • 我已经完成了。我设置了两个路由器,它们正在发送 RA,但它们不响应 RA 消息。为什么会是这个原因?谢谢
    • 只有主机响应 RA 消息。路由器的 RS 输出已禁用:github.com/contiki-os/contiki/blob/…
    • 感谢您的指出。最后一个问题。我正在工作的场景是两个路由器和一个无路由器节点。我设置的无路由器节点 UIP_CONF_ROUTER=0、CONTIKI_WITH_IPV6 = 1 和 CONTIKI_WITH_RPL = 0。我能够发现我的邻居。但是来自 UIP_CONF_ROUTER=1 的路由器节点。我看不到任何路由器邻居。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多