2017-04-21 16 views
0

我正在开发Linux路由器,为链接的节点分配全局IP。我正在测试的节点是Windows PC。 我设法分配全球IP通过发送路由器广告根据rfc4861。如何通过RA(路由器通告)回收(或刷新)IPV6节点的全局地址?

+ --------- + --------------- + ---------- + 07:14:07,632,019 ETHER | 0 | 33 | 33 | 00 | 00 | 00 | 01 | ce | 74 | 19 | 9a | 07 | a2 | 86 | dd | 60 | 00 | 00 | 00 | 00 | 38 | 3a | ff | fe | 80 | 00 | 00 | 00 | 00 | 00 | 00 | CC | 74 | 19 | FF | FE | 94 | 01 | 9C | FF | 02 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 01 | 86 | 00 | A1 | 25 | 40 | 40 | FF | FF | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 03 | 04 | 40 | C0 | FF | FF | FF | FF | FF | FF | FF | FF | 00 | 00 | 00 | 00 | FC | 01 | AB | AB | CD | CD | EF | E0 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 05 | 01 | 00 | 00 | 00 | 00 | 05 | DC |

从路由器(链路本地地址fe80 :: cc74:19ff:fe94:19c)发送此RA后,可以使用全局地址自动配置测试PC fc01:abab:cdcd:efe0:e1fb:2297: 51db:af84和fc01:abab:cdcd:efe0:29e9:52fd:2527:dbca。

以上是背景。

但是,如何在测试PC上回收(或刷新)全球IP?我尝试发送RA(M = 0,O = 0,Router Lifetime = 0),以我对rfc4861的理解,但这不起作用。之后,我仍然可以看到分配的全局IP,通过cmd ipconfig检查。

+0

'fc00 ::/7'中的地址是_not_全局地址。这些是ULA地址,它们在ULA范围的保留部分('fc00 ::/8')中,您不允许使用。您可以在'fd00 ::/8'范围内使用ULA地址,但需要随机选择接下来的40位。 –

+0

嗨,罗恩,谢谢你的回复。对不起,我没有提到,我们使用ROHDE&SCHWAR电话箱来进行测试。所以全局地址是模拟的。 – HonanLi

回答

0

RFC4862可以回答这个问题:

一个RA短“首选生命”(如1秒)可能弃用原有的IPv6地址,但仍然可以算作有效地址。回到当前的问题,由于避免DOS攻击的考虑,地址不容易被“有效生命期”缩短。

如果有人谁确实需要刷新旧的IP,请参见RFC4862 5.5.3:

如果RemainingLifetime小于或等于2小时,忽略了与问候有效生存前缀信息,除非获得该选项的路由器通告已被认证(例如,通过安全邻居发现[RFC3971])。如果路由器通告已通过认证,则相应地址的有效生命周期应设置为接收选项中的有效生命周期。

相关问题