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


  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"同维电子有限公司 "拟 制 人 "时 间 " "测试部 " " " " "阳志明 "2011-2-23 " IPv6 DS-Lite服务器搭建过程 摘要: 本文描述了支持IPv6 DS-Lite服务器的搭建过程。 关键字: DS-Lite Linux 正文: 系统环境准备 1. 因该功能属于比较新的功能,对内核要求的版本比较高,所以我们采用最新的Fedora 14系统进行搭建(Centos5.5以前的版本均不支持该功能),所用服务器软件为aftr -1.1.tar.gz 2. 安装过程不详述,安装的时候,安装必要的开发包即可(建议安装系统的时候,选择用 于软件开发即可) AFTR软件安装 下载aftr- 1.1.tar.gz后今天存放该软件的目录,依次执行如下命令即可安装完成: "# tar zxvf aftr-1.1.tar.gz " "# ./configure " "# make " AFTR配置及启动 直接进入到AFTR的目录中,编辑其配置文件aftr.conf : "#vi aftr.conf " "defmtu 1420 " "defmss on " "deftoobig off " " " "acl6 2111::/16 //需要接入的Ipv6网段,默认是全部拒绝的,如果不添加将 " "无法建立隧道连接 " "address endpoint 2111:123:123:123::1 //隧道端点 " "address icmp 172.24.139.139 " "pool 172.24.139.139 //伪装Ipv4的地址池 " 然后编辑其启动运行的脚本aftr-script "#vi aftr-script " "aftr_start() " "{ " "set -x " " " "ip link set tun0 up " "ip addr add 192.0.0.1 peer 192.0.0.2 dev tun0 " "ip route add 172.24.139.139/32 dev tun0 " "ip -6 addr add fe80::1 dev tun0 " "ip -6 route add 2111:123:123:123::/64 dev tun0 " "arp -i eth0 -s 172.24.139.139 00:00:00:00:00:53 pub " "} " " " "aftr_stop() " "{ " "set -x " " " "ip link set tun0 down " "} " " " "case "$1" in " "start) " "aftr_start " ";; " "stop) " "aftr_stop " ";; " "*) " "echo "Usage: $0 start"stop" " "exit 1 " ";; " "esac " " " "exit 0 " 然后执行如下命令即可启动AFTR: "./aftr -c ./aftr.conf -s ./aftr-script " 环境验证 对于环境的验证,我们可以直接采用Linux原生支持的B4隧道手工建立相应的隧道进 行验证,我们采用的也是Fedora 14系统进行的验证。 配置该Fedora 14系统网卡为纯IPv6的,假设IP为2111:3c:123::aa55/64,网关指向AFTR服务器IPv6地 址,依次执行如下命令,建立B4隧道 "#modprobe lp " "#modprobe ip6_tunnel //加载ip6_tunnel模块 " "#ip -6 tunnel add tun0 mode ipip6 remote 2111:123:123:123::1 local " "2111:3c:123:aa55 dev eth0 //2111:123:123:123::1为AFTR配置文件中endpoint地址" "#ip link set tun0 up " "#ip addr add 192.0.0.2 peer 192.0.0.1 dev tun0 " "#ip route add default via 192.0.0.1 //所有Ipv4的报文均从该隧道出去 " 建立隧道后,在客户机上去ping IPv4的地址,会发现可以ping通,在目的IP机器上抓包,可以看到ping包伪装为172.24 .139.139(aftr服务器配置的地址池中的地址)出去的,如果看到Ping通了,表示服务 器已经搭建OK。 参考文献 1. : ----------------------- IPv6DS-Lite服务器搭建过程全文共3页,当前为第1页。 IPv6DS-Lite服务器搭建过程全
IPv4 包头为12字段 (点分十进制) IPv6 包头为8字段 (冒号分16进制) 共8个小节,每小节4个16bit IPV6地址=前缀+接口标识 <为何要部署IPV6> ·IPv4的局限性: 1.地址空间的局限性:IP地址空间的危机由来已久,并正是升级到IPv6的主要动力。 2.安全性:IPv4在网络层没有安全性可言,安全性一直被认为是由网络层以上的层负责。 3.自动配置:对于IPv4节点的配置比较复杂,让很多普通用户无所适从。 4.NAT:破坏了Internet端到端的网络模型。 5.由于IPv4地址分配杂乱无章,没有层次性,网络设备需要维护庞大的路由表项。 6.IPv4包头过于复杂,使得网络节点处理的效率不高。 IPV6的好处: 1、超大的地址空间 2、全球可达性,不需要再用NAT 3、全球重新部署,有规划,易于实现聚合 4、能自动配置,实现即插即用 5、方便的进行重编址 6、包头简单,通过扩展包头技术可实现以后的新技术扩展 (基本包头 + n多个扩展包头) ipv4 路由转发的时候,ip包会改变checksum(校验和) 和TTL(每经过一个路由器TTL值减一) ipv6 只变TTL,没有校验和 CPU现在无法实现128位的转发。 最好只是64位的。 ·Theoretical limit: 4.3 billion (十亿) 43亿 Practical limit : 250 million (百万) 2.5亿 Over 420 million Internet in Y2001 (less than 10% of the worldwide population) 没有广播,组播代替广播。所以没有ARP。 IPv4中的广播(broadcast)可以导致网络性能的下降甚至广播风暴(broadcast storm).在IPv6中,就不存在广播这一概念了,取而代之的是组播(multicast)和任意播(anycast),任意播也称为泛播. IPV6在以太网中的协议ID值是0x86DD <IPV6地址的表示方法> ·IPv4 点分十进制 32bit IPv6 冒号分十六进制 128bit 0000:0000:0000:0000:0000:0000:0000:0000=>:: 0000:0000:0000:0000:0000:0000:0000:0001=>0:0:0:0:0:0:0:1=>::1 2001:0000:0000:1234:0000:0000:0567:00ff=>2001::1234:0:0:567:ff 只能有一个:: fe80:0000:0000:0000:0000:0000:0000:0009=>fe80::9 URL的IPV6地址表示 为了区分IPV6地址中的冒号和端口号前的冒号,要把IPV6地址用[]括起来 www.example.net:8080/index.html https:[2001:410:0:1:250:fcee:e450:33ab]:8443/abc.html IPV6中掩码的表示: 在IPV6中掩码只能使用CIDR表示法 2001:410:0:1::45ff/128 2001:410::1/64 注意:在IPV6中没有广播地址和网络号保留地址 ------------------------------------------------------------------------------------------ <IPV6地址类型> 可分为三大类: 1、单播地址 2、组播地址 3、任意播地址 单播--Unicast : one to one ·单播地址用于一对一的连接 ·IPv6单播地址有以下六种类型:  1-Aggregate Global Unicast Address 2xxx:xxxxx/3 - 3FFF: :FFFF 2001::/16 IPV6因特网地址 2002::/16 6to4过渡地址 2-Link Local Address    FE80::/10 (前10位以FE80开头) 3-Site Local Address (Private) FEC0::/10 4-Unspecified Address   0:0:0:0:0:0:0:0/128 => :
### 回答1: IPv6链路本地地址的作用是在同一链路上的设备之间进行通信,而不需要通过路由器进行转发。它们是自动配置的,不需要DHCP服务器的支持。IPv6链路本地地址的范围是单个链路,因此它们不会被路由器转发到其他网络。这使得它们非常适合用于本地网络设备之间的通信,例如打印机、路由器、交换机等。 ### 回答2: IPv6是下一代互联网协议,相比IPv4有更多的地址空间和更好的性能。IPv6中有一个特殊的地址类型叫做link-local地址,它的作用如下: 1.局域网内部通信:link-local地址是在局域网内使用的地址类型,它用于整个局域网内的通信。在IPv6网络中,每个设备都必须有一个唯一的link-local地址,以便在局域网内进行通信。这种地址是不可路由的,也就是说不能用于跨越多个网络进行通信。 2.无需配置地址link-local地址不需要进行配置,因为它是设备自己生成的,所以可以减少网络管理员的工作量。当设备连接到一个新的局域网上时,它会自动分配一个link-local地址。 3.快速解决故障:如果网络出现故障,比如说某个路由器、交换机、网卡出现了问题,那么通过link-local地址可以快速地进行故障排除和解决。设备可以使用link-local地址进行相互通信,从而快速确定故障的位置和原因。 4.安全传输数据:link-local地址仅能在本地链路上使用,所有在链路之外的地址无法使用这种地址进行通信,因此link-local地址提供了一种基本的安全保障机制。在网络协议中,link-local地址是具有优先级最高的地址类型,有些网络设备会默认使用link-local地址,以确保数据安全传输。 总之,link-local地址IPv6中非常重要的地址类型,它既可以用于局域网内的通信,又可以提供安全保障机制,减少网络管理员的工作量,方便故障排查,因此,网络工程师和管理员都应该了解link-local地址的作用和使用方法。 ### 回答3: IPv6链路本地地址IPv6 Link-Local Address)是IPv6地址的一种类型,用于在同一链路内的设备之间进行通信。这种类型的地址的前缀为fe80::/10,是一种自动分配的地址,这意味着它们可以在不依赖任何路由器或DHCP服务器的情况下由网络接口自动配置。 链路本地地址一般只在同一个链路内的设备之间使用,不会被路由到其他链路或互联网上,因此它们提供了一种在局域网内进行通信的简便方式。在IPv6网络中,当两个设备需要直接通信时,它们可以使用各自的链路本地地址。 除了在同一个链路内的设备之间通信外,链路本地地址还有其他用途。比如,在IPv6网络中对于某些网络协议,例如路由发现协议(Router Discovery Protocol)和邻居发现协议(Neighbor Discovery Protocol),链路本地地址是必须的。这些协议是IPv6网络中必需的,因为它们允许网络设备自动地发现彼此并建立通信。 总的来说,IPv6链路本地地址提供了一种便捷的方式,让同一个局域网内的设备之间进行通信,同时还是一些IPv6网络协议所必需的。它们不仅可以方便设备的管理,而且可以减少网络的负载,优化设备之间的通信。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值