设为首页收藏本站language 语言切换
查看: 2179|回复: 10
收起左侧

[已解决] 关于6to4的一道题

[复制链接]
发表于 2014-3-17 14:44:31 | 显示全部楼层 |阅读模式
1.jpg
2.jpg

问题一:Tunnel 0的地址格式是不是这样的:
             前48位——2002:loopback0的IPv4地址
             后64位——EUI-64(借用Etherner0/1的MAC地址来生成)

问题二:关于ipv6 unnumbered的用法
ipv6 unnumbered interface-type interface-number
解释一:让本接口使用另一个接口的MAC地址生成源地址
解释二:让本接口的源地址设置为另一个接口的IPV6地址

到底哪个解释是正确的?
 楼主| 发表于 2014-3-17 15:21:56 | 显示全部楼层
有人帮忙回答下吗?
沙发 2014-3-17 15:21:56 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-3-18 09:38:25 | 显示全部楼层
tunnel0有俩地址,一个是链路本地地址,这个地址是fe80::/64前缀和它借用的接口的mac地址根据eui-64生成的,借用地址主要是借用接口配置的单播地址,tunnel接口因为本身没有没有mac地址,所以本地链路层地址也是使用被借用接口地址。另一个是使接口路由转发功能啥的生效的单播地址,这个地址是ipv6 unnumbered的主要目的,使用的是被借用接口的单播地址。这种借用接口地址的功能不能在使用多路广播的网络上使用,比如使用arp协议的以太网接口不能借用其他接口地址,原因可能是会造成地址解析混乱啥的,ipv4只有在封装ppp协议的接口上才能借用其他接口地址,ipv6在以太网接口上也能借用,ipv6使用的是多播邻居发现协议解析链路层地址。这种不使用广播的协议还有个有意思的特征,就是直连接口不在一个子网内也能通信,ipv4里封装ppp协议的俩直连接口即使不在一个子网内,也能通信,而且接口上默认启用peer neighbor-route,生成一个条到对端接口的路由,禁用peer neighbor-route手工设置到对方接口的静态路由指向本地接口,效果也一样,ipv6同样也是可以实现两不在一子网内的直连接口通信。
板凳 2014-3-18 09:38:25 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-20 16:21:25 | 显示全部楼层
mobaia 发表于 2014-3-18 09:38
tunnel0有俩地址,一个是链路本地地址,这个地址是fe80::/64前缀和它借用的接口的mac地址根据eui-64生成的 ...


按你的意思,以上图的配置为例,

tunnel0的链路本地地址:FE80: + EUI-64(其中MAC来源于E0/1)
tunnel0的全局聚合地址:2002: loopback0的IPv4: + EUI-64(其中MAC来源于E0/1)

我理解可对?

帮人帮到底,请再回复下吧
地板 2014-3-20 16:21:25 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-3-20 20:19:17 | 显示全部楼层
llhawk 发表于 2014-3-20 16:21
按你的意思,以上图的配置为例,

tunnel0的链路本地地址:FE80: + EUI-64(其中MAC来源于E0/1)

tunnel0的单播地址就是E0/1上配的地址,这个地址题目上配的是2002+looback0的32位ipv地址+0001+eui-64(E0/1MAC)
5# 2014-3-20 20:19:17 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-21 13:24:37 | 显示全部楼层
mobaia 发表于 2014-3-20 20:19
tunnel0的单播地址就是E0/1上配的地址,这个地址题目上配的是2002+looback0的32位ipv地址+0001+eui-64(E ...


那简单说
ipv6 unnumbered后面的接口主要是为tunnel的EUI提供MAC(tunnel的链路或全局单播都使用同一个EUI)

tunnel source后面的接口主要是为tunnel的全局单播地址提供2002后面的32位

ok?
6# 2014-3-21 13:24:37 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-3-21 14:44:56 | 显示全部楼层
端口启用ipv6后,本地链路地址是肯定要fe80+eui-64生成的,tunnel loopback 这些接口本身没有mac地址,生成的时候要借用其他接口的逻辑地址,我刚实验了下,创建了几个lbackoop接口,这些接口的本地链路地址都一样,都是根据第一块板的第一个接口的mac地址生成。真机上不知道啥情况。

tunnel接口需要单播地址仅仅是为了启用三层路由转发功能,你也可以不借用e0/1的地址,随便配个ipv6全局单播地址。

tunnel source后面的接口的地址,是下联的ipv6孤岛使用6to4必须要有的一个公网ipv4地址,ipv6孤岛里的地址全都是前48位为2002+looback地址的6to4特殊ipv6地址。

这样的ipv6网络,可以和任何一个需要通信的同样配置了6to4的对端ipv网络,自动创建隧道,而不需要指定对端destination。普通的隧道都是需要先手工指定destination创建隧道。
7# 2014-3-21 14:44:56 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-21 15:26:52 | 显示全部楼层
mobaia 发表于 2014-3-21 14:44
端口启用ipv6后,本地链路地址是肯定要fe80+eui-64生成的,tunnel loopback 这些接口本身没有mac地址,生成 ...

我觉得tunnel的全局单播IPV6不能随便配的

正因为不用指定destination,中间那32位IPV4必须要用tunnel source指定的IPV4
8# 2014-3-21 15:26:52 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-3-21 15:35:48 | 显示全部楼层
我说的是tunnel的地址可以随便配,不是tunnel source那个接口的地址可以随便配,也不是e0/1的地址可以随便配好吗
9# 2014-3-21 15:35:48 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-21 15:58:15 | 显示全部楼层
我的意思是:
tunnel 0这个虚拟口的IPV6地址
一定要跟
tunnel source命令指定的接口(可以是物理口,也可以是环回口)IPV4地址形成映射
把这个接口的IPV4拿出来,去做IPV6的/48前缀
这是6to4成功的关键啊
10# 2014-3-21 15:58:15 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-3-21 16:27:18 | 显示全部楼层
本帖最后由 mobaia 于 2014-3-21 16:28 编辑

不是这样的啊,tunnel自己的地址和隧道没有关系,隧道的源地址是tunnel source的地址,目标地址是对端可到达的公网地址。封装的目的地址是下一跳指到tunnel接口的对端不能直接公网路由的地址(私网或被ipv隔开的ipv6地址),源地址是就是 自己内网不能直接公网路由的地址(私网或被ipv隔开的ipv6地址),差不多所有的隧道都是这么个模式。、
11# 2014-3-21 16:27:18 回复 收起回复
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-30 00:54 , Processed in 0.082754 second(s), 26 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表