前面的一个实验是在Ipv4路由域上用6to4隧道来连接Ipv6网络,这种方法比配置隧道要方便很多,但是局限性也是很明显的,即必须使用统一的编址:2002:xxxx:xxxx/48。牛人们提出了一个解决方案,就是在Ipv4中设置中继,让同统一编址的与一般的Ipv6网络也可以通信,这就很强大了。但是还是有一个局限性,中继放在哪里呢?如果我在海南,中继路由器放在东北,哪就很要命了。牛人们又想出了一个好办法,就是多放几个中继路由器,各个6to4路由器就近选择中继路由器。这就是任播技术!
任播需要使用一个特殊的地址段,
192.88.99.0/24
,一般我们就把中继的
tunnel
源地址设置为
192
。
88.99.1
就行了。
6to4
路由器正常设置即可,当然要保证
ipv4
路由域的可达性。
另外一个重要的地方就是默认路由和静态路由的使用,这是保证本实验成功的一个关键因素。
下面的实验中,我在
IPV4
路由域用了
OSPF
,在
ipv6
网络分别使用了
OSPF
,
RIP
,
ISIS
来组建。
拓扑如下:
配置步骤如下:
l
首先使
Ipv4
网络畅通。
l
然后是
ipv6
网络畅通
l
然后建立
tunnel
l
建立静态路由和缺省路由
l
静态路由和缺省路由重发布
下面是配置文件。
R1:
ipv6 unicast-routing
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip ospf network point-to-point
!
interface Tunnel0
no ip address
no ip redirects
ipv6 enable
tunnel source Loopback0
tunnel mode ipv6ip 6to4
!
interface Serial1/0
no ip address
ipv6 address 2002:101:101:1::1/64
ipv6 ospf 10 area 0
serial restart-delay 0
!
interface Serial1/1
ip address 12.1.1.1 255.255.255.0
serial restart-delay 0
!
interface Serial1/2
ip address 14.1.1.1 255.255.255.0
serial restart-delay 0
!
router ospf 10
router-id 1.1.1.1
log-adjacency-changes
network 1.1.1.1 0.0.0.0 area 0
network 12.1.1.0 0.0.0.255 area 0
network 14.1.1.0 0.0.0.255 area 0
!
ipv6 route 2002::/16 Tunnel0
ipv6 route ::/0 2002:C058:6301:: #
重点
ipv6 router ospf 10
router-id 1.1.1.1
log-adjacency-changes
default-information originate #也可以redistribute static
!
R2,R3.R4,R5.R6
在附件里。
看看各自的路由表。
R5#sh ipv rou os
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
OE2 ::/0 [110/1], tag 10
via FE80::C200:AFF:FE7C:0, Serial1/0
看看联通性
R5#ping 2001:0202:0202:2::6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:202:202:2::6, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/60/104 ms
R5#ping 2001:0404:0404:2::3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:404:404:2::3, timeout is 2 seconds:
UUUUU
Success rate is 0 percent (0/5)
R5#
发现
ping
不同
R3
上的
loop
口,这是为什么
?
在
R6
上去
ping R5
,也是可以
ping
的通的。
R6#ping 2002:0101:0101:2::5
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2002:101:101:2::5, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/28/36 ms
R6#
Ping
不同的原因是比较合理的,据我试验测试,
R1
选择了一个中继之后,那么他就将一直使用这个中继,如果这个中继到达不了目标网段,那么他也不会智能的递归查询给别的中继,问问看别人知不知道。因为这样会给网络带来很大的开销。比方说我乱发一个流量出去,所有的中继都知道,那么这个流量或者查询将在网络上饶一大圈!
因此,中继路由器必须要知道大部分的网络,不是随随便便一个路由器往网络上一放就冒充中继路由器的。现在在网络上提供中继服务的有美国的微软:
6to4.Ipv6.microsoft.com
,还有
6to4.kfu.com,
荷兰的
6to4.ipng.nl
等几个国家。
那么如何让
R5
可以
ping
同
R3
上的
loop
口?
关闭
R2
连接
R1
的
s1/1
接口,这样到
R2
了就不如到
R4
近了,那么就可以
ping
同
R3
了。
R2(config)#in s1/1
R2(config-if)#shut
R5#ping 2001:0404:0404:2::3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:404:404:2::3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 52/80/100 ms