首页 > 解决方案 > 验证 IPv6 地址是 C 中的子网路由器任播地址

问题描述

RFC 4291指定子网路由器任播地址。

2.6.1。所需任播地址

子网路由器任播地址是预定义的。其格式为
如下:

| n 位 | 128-n 位 |
+------------------------------------------------+ ----------------+
| 子网前缀 | 00000000000000 |
+------------------------------------------------+ ----------------+

任播地址中的“子网前缀”是
标识特定链接。这个任播地址在语法上是
与链路上接口的单播地址相同
接口标识符设置为零。

例子:。fd42:6356:abfe:1549:: fd36:773e:6b4c:47cb::

如何在 C 代码中验证某个地址是 Subnet-Router 任播地址?

顺便说一句,我需要知道前缀,因此这些示例期望它是“默认”64 位,但没有默认前缀,对吧?( https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684009 , https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1609898 , https:// /source.isc.org/cgi-bin/gitweb.cgi?p=dhcp.git;a=commitdiff;h=140612c8cb51825fdf9e5723afb78c997117ab2c;hp=c2e5ee2882d6d9dba5e7227d432552a3ab75b9e2)。

标签: cnetwork-programmingipv6

解决方案


推荐阅读