为什么IPv6自动获取的地址,网关指向链路本地地址?

IPv6自动获取地址的方式

IPv6有两种自动获取地址的方式,分为有状态和无状态两种方式

  1. 无状态:通过NDP协议的RA报文获取地址前缀后由自动生成地址
  2. 有状态:通过DHCPv6获取地址

实验过程

查看自己网卡自动获取的IPv6地址会发现,网关地址是一个链路本地地址。并非类似于IPv4,使用上级路由器的接口地址作为网关。

经过抓包,可以看到PC与路由器的通信是直接发往对端的链路本地地址。在光猫是桥接模式直接使用电脑进行拨号的情况下,用自己的真机网卡 tracert 也可以看到第一跳IPv6地址与自身网卡获取到的地址并不是相同网段。好奇心驱使下做了下面的实验。
实验拓扑

根据上面的拓扑并在配置好路由的基础上,路由器 R1 的 Ethernet0/0/0 接口我并没有配置IPv6地址,仅配置自动生成链路本地地址,因此需要配置指向PC1链路本地地址的路由。

ipv6 route-static 2002:: 64 Ethernet0/0/0 FE80::5689:98FF:FED6:3F3A

可以看到PC1通过DHCPv6协议获取到IPv6地址后,其网关地址也是个链路本地地址。

最下方 Tracert 结果也表明通过链路本地地址仍能够正常通信,Tracert 的结果正常情况下,第一跳路由应该是网关入接口的IPv6地址,这里为了测试所以没有配置IPv6地址,可以看到路由器R1的链路本地地址也不作为一跳,而是以路由器R1的出接口 Ethernet0/0/0 的IPv6地址作为了第一跳。
在这里插入图片描述

通过NDP协议获取地址网关同样是链路本地地址在此就略过了。

猜想

网关指向了链路本地地址,是因为IPv6特性所致。IPv6地址由网络前缀与接口ID组成,而接口ID大多是自动生成的。最终生成的地址存在不确定性,不便于手工指定。IPv6直接通过链路本地地址作为默认网关进行通信的方式,也体现IPv6即插即用的特性。

至于 tracert 结果的第一跳IPv6地址与网卡获取到的地址并不是相同网段,是由于运营商侧与实验中相同,入接口实际并没有对应IPv6地址,而是通过系统自动生成的UNR路由指向了用户。具体可参考unr路由产生场景这篇文章。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值