忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 2092 | 回复: 6

当对方IPv6是随机生成时,我怎么知道他的请求节点地址? [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00
发表于 2017-04-28 15:02 |显示全部楼层
IPv6中,IP地址有两种生成方式,一种是通过EUI-64生成后64位加上前缀,还有一种是用随机方式生成后64位加上前缀。
但这样就有个问题,由于IPv6中,没有ARP协议,与对方通信需要通过对方的请求节点地址得到对方的MAC,如果对方的IP是通过EUI-64生成的,我知道对方的IP就知道了对方的请求节点地址。但如果对方的IP是用随机方式生成的,我怎么才能知道对方的MAC地址?

论坛徽章:
0
发表于 2017-04-29 14:19 |显示全部楼层
请求节点地址(Solicited-Node Address )是固定的前缀FF02::1:FF00:0/104 加单播IP地址后24bits构成的,知道对方的IP就知道了对方的请求节点地址,跟其地址是如何生成的没有关系

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00
发表于 2017-05-02 10:22 |显示全部楼层
回复 2# zy327708401

通过EUI-64生成的IP后24位是MAC地址的后24位,如果是随机方式生成的IP地址,其后24位就不是MAC地址的后24位了。那怎么才能通过IP地址知道其MAC地址?

论坛徽章:
0
发表于 2017-05-03 07:57 |显示全部楼层
IPv6中有类似ARP的邻居发现协议,通过NS(Neighbor Solicitationh,领居请求)、NA(Neighbor Advertisement,邻居公告)来实现地址解析,百度一下就有了

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00
发表于 2017-05-03 10:11 |显示全部楼层
zy327708401 发表于 2017-05-03 07:57
IPv6中有类似ARP的邻居发现协议,通过NS(Neighbor Solicitationh,领居请求)、NA(Neighbor Advertisemen ...

在ARP中,需要获取本地没有的MAC地址,是通过广播ARP请求来获得想要的MAC的;
在IPv6中,通过邻居发现协议的NS(邻居请求)获取MAC地址时,是通过向请求节点地址发送组播信息获得的,我的问题就是怎么知道这个请求节点地址。

论坛徽章:
0
发表于 2017-05-03 17:48 |显示全部楼层
请求节点地址格式是固定的,前缀FF02::1:FF00:0/104 加IP地址后24bits,知道了IP地址,就知道它的请求节点地址。
比如Node A的Link local address是FE80::AAAA:AA11:2233,
那么Node A的Solicited-Node Address是FF02::1:FF11:2233。
只是取了其地址的后24位的11:2233,在前面加上固定前缀。
不管他的地址FE80::AAAA:AA11:2233是由哪种方式生成。

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00
发表于 2017-05-04 10:34 |显示全部楼层
zy327708401 发表于 2017-05-03 17:48
请求节点地址格式是固定的,前缀FF02::1:FF00:0/104 加IP地址后24bits,知道了IP地址,就知道它的请求节点 ...

是我理解错了。
请求节点地址是在IP地址分配给接口时生成的,只与IP地址有关,与MAC无关。

我之前的错误是认为在用MAC生成IP地址时,同时生成请求节点地址。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP