IPv6 link-local 地址的功能和原理

简介:
Technorati 标签:  ipv6, ipv6 link-local address, link local

本地链路地址:link-local address

当在一个节点启用IPV6,启动时节点的每个接口自动生成一个link-local address

其前缀64位为标准指定的,其后64位按EUI-64格式来构造

注意:在本链路上,路由表中看到的下一跳都是对端的Link Local地址,不是公网IP地址

前缀:FE80::/10

范围:只能在本地链路使用,不能在子网间路由

link-local是如何组成的?

关于link-local的组成,我查阅了网上写的一些资料,很多都是一个版本,都没有写前面正数第七位要置反位,字节是FE80+ 后64位为EUI-64,得出来的结果是错误的。下面是我根据一些设备提供商验证出来的,最后在cisco的官网也有相关描述。这里我特意整理一个图例,让大家更好的理解这个link-local是如何组成的.

clip_image002

为何需要link-local?

--在一个接口可以配置很多IPv6地址所以学习路由就有可能出现很多下一跳。

所以出现Link Local地址唯一标识一个节点。在本地链路看到下一跳都是对端的Link Local地址。

在网络重新编址过程中,节点和路由器的Link Local地址不会发生变化,可以很容易地做一个修改,不用担心网络不可达。

R1(config-if)#ipv6 address FE80:0:0:0:0123:0456:0789:0abc link-local 手工指定link-local地址

那么下面我做了一个小实验来验证路由表中是否是吓一跳都是link-local的地址:

拓扑图:(每一个地址都已经标识出来了)

clip_image004

这里每个接口的IP地址和每个接口的link local都已经标识出来了。

然后在R3(最右边的路由器)上面,我配置了两个loopback, 0 and 1.

整个网络用ospf v3进行路由同步。

最后我们来验证前面说的是不是路由表里面每个条目的下一跳都是link-local地址.

在R1上面.

clip_image006

这里可以看到,在R1上面show ip route 2025::1 and 2026::1. 下一跳是R2的f0/0的link local地址。

也就是说这里R2的interface f0/0作为R1到达2025::1和2026::1的唯一吓一跳了。而不是接口的IP 2012::2做为下一跳。

在R2上面:show ip route 2025::1 and show ipv6 route 2026::1可以推测出来,下一条应该是R3的interface f0/0的link-local地址:FE80::C802:11FF:FE2C:0

clip_image008

为方便起见,一般我觉得应该手动配置link-local地址,以免出现地址规划等等一系列问题。

手动配置link-local是为了更好的管理和规划网络.


本文转自 hny2000 51CTO博客,原文链接:http://blog.51cto.com/361531/630193


相关文章
|
9月前
|
网络协议 Go
golang判断ip地址是ipv4还是ipv6
golang判断ip地址是ipv4还是ipv6
|
网络协议 Linux Windows
ipv6地址概述——配置ipv6
5.测试连通性 在c1上ping c2 例如: ping 2000::20c:29ff:fe02:7740,ip地址可以利用ipconfig或者ifconfig(linux)查看到。
136 0
ipv6地址概述——配置ipv6
|
JavaScript
(最方便兼容各种js)拿到路径全部信息(hash,host,hostname,href,origin,pathname,port,protocol)以及跳转路由
(最方便兼容各种js)拿到路径全部信息(hash,host,hostname,href,origin,pathname,port,protocol)以及跳转路由
130 0
(最方便兼容各种js)拿到路径全部信息(hash,host,hostname,href,origin,pathname,port,protocol)以及跳转路由
PHP 获取访问端的IP地址
PHP 获取访问端的IP地址
111 0