Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1142895
  • 博文数量: 168
  • 博客积分: 4445
  • 博客等级: 上校
  • 技术积分: 1307
  • 用 户 组: 普通用户
  • 注册时间: 2005-11-02 14:04
文章分类

全部博文(168)

文章存档

2018年(2)

2017年(5)

2016年(7)

2015年(1)

2014年(8)

2013年(1)

2012年(4)

2011年(54)

2010年(8)

2009年(19)

2008年(18)

2007年(36)

2006年(1)

2005年(4)

分类: 系统运维

2011-07-18 20:52:58

CISCO IPv6学习笔记01
概述
    在我们现有的网络中,几乎所有网络都使用IP协议作为通信的地址协议,我们的网络使用IP来表示地址信息,每一个节点都应该分配一个唯一的地址,才能保证 通信正常。现在正常使用的IP协议为版本4,用32位来表示,地址空间为65536×65536,结果约为42.9亿,需要说明的是,虽然地址共有 42.9亿之多,但并不表示这些地址可以供42.9亿个节点使用,因为我们的地址是分网段的,也就是说即使在一个节点的情况下,分配地址时,也是分配一个 网段而不是一个地址,所以这样就使得版本4的IP地址一下子变得空间陕小,再加了有相当一部分地址是不可用的,那么随着网络的迅速膨胀,IP ver4的地址空间变得几乎快耗尽了。在这样的情况下,出现了一些如VLSM子网技术,NAT网络地址翻译技术,试图来缓和地址空间的快速消耗。与此同 时,人们也开发出了一个地址空间更为庞大的IP协议,这个协议拥有比IP ver4多出数倍的地址空间,来解决网络地址匮乏的问题,这个IP协议就是IP版本6,即IPv6。

IPv6地址格式

    IPv6拥有更为庞大的地址空间,是因为IPv4只是采用32位来表示,而IPv6采用128位来表示,这样大的一个地址空间,几乎可以容纳无数个节点。 正因为IPv6使用了128位来表示地址,在表示和书写上面具有相当的困难,原来的IPv4使用10进制来表示,而IPv6由于地址太长,则采用16进制 来表示,但无论我们如何表示,计算机都是处理二进制。因为10进制表示时,使用0到9共十个数字来表示,而16进制需要在10进制原有的基础上多出6个数 字,即需要多出11,12,13,14,15,这6个数字则采用字母的形式来表示,分别为
A(表示10),B(表示11),C(表示12),D(表示13),E(表示14),F(表示15),这些字母是不区别大小写的。
    但是由于IPv6拥有128位的长度,所以不能直接表示,必须像IPv4那样进行分段表示。IPv6将整个地址分为8段来表示,每段之间用冒号隔开,每段的长度为16位,表示如下:

XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX


    从上面可以看出,IPv6中每一个段是16位,每段共四个X,其中X使用4 bit表示,一个X就表示一个数字或字母,一个完整的地址共128 bit。
    一个X使用4 bit表示,那么XXXX的取值范围就应该从0000 到 FFFF。

IPv6地址表示方法

    对于一个完整的IPv6地址,需要写128位,已经被分成了8段,每段4个字符,也就是说完整地表示一个IPv6地址,需要写32个字母,这是相当长的, 并且容易混淆和出错,所以IPv6在地址的表示方法上,是有讲究的,到目前为止,IPv6地址的表示方法分为三种,分别是:
    1.首选格式
    2.压缩表示
    3.IPv4内嵌在IPv6中

下面分别详细介绍这三种IPv6地址表示方法:


1.首选格式

    首选格式的表示方法其实没有任何讲究,就是将IPv6中的128位,也就是共32个字符完完整整,一个不漏地全写出来,比如下面就是一些IPv6地址的首选格式表示形式:
0000:0000:0000:0000:0000:0000:0000:0000
0000:0000:0000:0000:0000:0000:0000:0001
2001:0410:0000:1234:FB00:1400:5000:45FF
3ffe:0000:0000:0000:1010:2a2a:0000:0001
FE80:0000:0000:0000:0000:0000:0000:0009
FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

    从上面IPv6地址的首选格式表示中可以看出,每一个地址,都将32个字符全部写了出来,即使地址中有许多个0,或者有许多个F,也都一个不漏地写了出来,由此可见,首选格式只需要将地址完整写出即可,没有任何复杂的变化,但是容易出错。



2.压缩格式

    从前面一个IPv6地址表示方法首选格式表示方法中可以看出,一个完整的IPv6地址中,会经常性的出现许多个0,而我们知道,许多时候,0是毫无意义 的,0表示没有,写出来,也表示没有,不写,也同样表示没有,那么我们就考虑能否将不影响地址结果的0给省略不写,这样就可以大大节省时间,也方便人们阅 读和书写,这样的将地址省略0的表示方法,称为压缩格式。
    而压缩格式的表示中,分三种情况,下面来分别介绍三种压缩格式:

第一种情况:

    在IPv6中,地址分为8个段来表示,每个段共4个字符,但是一个完整的IPv6地址会经常碰到整个段4个字符全部都为0,所以我们将整个段4个字符全部 都为0的使用双冒号::来表示,如果连续多个段全都为0,那么也可以同样将多个段都使用 双冒号::来表示,如果是多个段,并不需要将双冒号写多次,只需要写一次即可,比如一个地址8个段,其中有三个段全都为0,那么我们就将这全为0的三个段 共48位用::来表示,再将其它5个段照常写出即可,当计算机读到这样一个不足128位的地址时,比128位少了多少位,就在::的地方补上多少个0,比 如上面的::代替为48位,那么计算机就会在这个地址的::位置补上48位的0,这样就正确地将地址还原回去了。
    下面来看一些整个段4个字符都为0的IPv6地址使用压缩格式来表示:
例1:
压缩前:
0000:0000:0000:0000:0000:0000:0000:0000  
压缩后:
::
说明:可以看出,由于这个地址的8个段全部都为0,所以只用::就将整个地址表示出来,当计算机拿到这个压缩后的地址时,发现比正常的128位少了128位,那么就会在::的地方补上128个0,结果为:
0000:0000:0000:0000:0000:0000:0000:0000  
可以看出,计算机还原的地址就是压缩之前的真实地址。

例2:

压缩前:
0000:0000:0000:0000:0000:0000:0000:0001
压缩后:
::0001
说明:可以看出,压缩后的地址比正常的128位少了112位,计算机就会在::的地方补上112个0,结果为:
0000:0000:0000:0000:0000:0000:0000:0001
可以看出,计算机还原的地址就是压缩之前的真实地址。

例3:

压缩前:
2001:0410:0000: 0000:FB00:1400:5000:45FF
压缩后:
2001:0410 :: FB00:1400:5000:45FF
说明:可以看出,压缩后的地址比正常的128位少了32位,计算机就会在::的地方补上32个0,结果为:
2001:0410:0000: 0000:FB00:1400:5000:45FF
可以看出,计算机还原的地址就是压缩之前的真实地址。

例4:

压缩前:
3ffe:0000:0000:0000:1010:2a2a:0000:0001
压缩后:
3ffe::1010:2a2a::0001
说明:当计算机拿到这个压缩后的地址,发现比正常的128位少了64位,计算机就会试图在::的地方补上少了的64个0,但是我们可以看到,压缩后的地址有两个::,而计算机要补上64个0,所以这时补出来的结果很可能是以下几种:
3ffe:0000:1010:2a2a: 0000:0000:0000:0001

3ffe:0000:00001010:2a2a::0000:0000:0001

3ffe:0000:0000:0000:1010:2a2a:0000:0001
    从结果中可以发现,当一个IPv6地址被压缩后,如果计算机出现两个或多个::的时候,计算机在将地址还原时,就可能出现多种情况,这将导致计算机还原后的地址不是压缩之前的地址,将导致地址错误,最终通信失败。
    所以,在压缩IPv6地址时,一个地址中只能出现一个::。


第二种情况:

    在压缩格式的第一种情况的表示中,是在地址中整个段4个字符都为0时,才将其压缩为::来表示,但是在使用第一种情况压缩之后,我们仍然可以看见地址中还 存在许多毫无意义的0,比如0001,0410。我们知道,0001中,虽然前面有三个0,但是如果我们将前面的0全部省略掉,写为1,结果是等于 0001的,而0410也是一样,我们将前面的0省略掉,写成410,也同样等于0410的,所以我们在省略数字前面的0时,是不影响结果的,那么这个时 候,表示IPv6地址时,允许将一个段中前导部分的0省略不写,因为不影响结果。但是需要注意的是,如果0不是前导0,比如2001,我们就不能省略0写 成21,因为21不等于2001,所以在中间的0不能省略,只能省略最前面的0。下面来看一些省略前导0的地址表示形式:
例1:
压缩前:
0000:0000:0000:0000:0000:0000:0000:0000
压缩后:
0:0:0:0:0:0:0:0
从结果中可以看出,计算机根本就不需要对这样的地址还原,压缩后的结果和压缩前的结果是相等的。

例2:

压缩前:
0000:0000:0000:0000:0000:0000:0000:0001
压缩后:
0:0:0:0:0:0:0:1
    从结果中可以看出,计算机根本就不需要对这样的地址还原,压缩后的结果和压缩前的结果是相等的。

例3:

压缩前:
2001:0410:0000:1234:FB00:1400:5000:45FF
压缩后:
2001:410:0:1234:FB00:1400:5000:45FF
    从结果中可以看出,计算机根本就不需要对这样的地址还原,压缩后的结果和压缩前的结果是相等的。

第三种情况:

    在前面两种IPv6地址的压缩表示方法中,第一种是在整段4个字符全为0时,才将其压缩后写为::,而第二种是将无意义的0省略不写,可以发现两种方法都 能节省时间,方便阅读。第三种压缩方法就是结合前两种方法,既将整段4个字符全为0的部分写成::,也将无意义的0省略不写,结果就可以出现以下一些最方 便的表示方法:
例1:
压缩前:
0000:0000:0000:0000:0000:0000:0000:0001
压缩后:
:: 1
    可以看到,结合了两种压缩格式的方法,但为简便。

例2:

压缩前:
2001:0410:0000:0000:FB00:1400:5000:45FF
压缩后:
2001:410:: FB00:1400:5000:45FF
    可以看到,结合了两种压缩格式的方法,但为简便。


3.IPv4内嵌在IPv6中

    在网络还没有全部从IPv4过渡到IPv6时,就可能出现某些设备即连接了IPv4网络,又连接了IPv6网络,对于这样的情况,就需要一个地址即可以表示IPv4地址,又可以表示IPv6地址。
    因为一个IPv4地址为32位,一个IPv6地址为128位,要让一个IPv4地址表示为IPv6地址,明显已经少了96位,那么就将一个正常的IPv4 地址通过增加96位,结果变成128位,来与IPv6通信。在表示时,是在IPv4原有地址的基础上,增加96个0,结果变成128位,增加的96个0再 结合原有的IPv4地址,表示方法为
0:0:0:0:0:0:A.B.C.D 或者::A.B.C.D.,如下:
0000: 0000: 0000: 0000: 0000:0000:A.B.C.D
                  9 6 个0              32位                  
例:
IPv4地址为  138.1.1.1
表示IPv6地址为0:0:0:0:0:0:138.1.1.1

注:IPv6中没有广播地址,IPv6不建议划子网,如果需要划子网,网络位请不要低于48位。


IPv6地址类型

    在IPv4地址中,地址分许多类型,比如代表节点自己的127.0.0.0/8,私有地址段,组播地址段,广播地址,以及一些不可用的地址。在IPv6 中,同样地址也像IPv4那样分了许多类型,我们需要了解的有3种类型,为Unicast(单播),Anycast(任意播)和Multicast(组 播),下面分别来详细介绍这几种地址类型。

Unicast(单播)

    即使是在IPv4中,单播地址的类型也分好多种,就是我们常用的也分私有,公有,还有回环地址,在IPv6中,单播地址也分好几种,我们需要知道的 有:Link-Local  Address(链路本地地址),Unique Local Address (本地站点地址),Aggregatable Global Address(可聚合全球),回环地址。
    下面详细介绍几种单播地址:

Link-Local  Address(链路本地地址)

即使网络再大,每两点之间,都有链路相连,在一个节点将数据包发给下一个节点时,必须在数据包中封装三层IP地址,再封装下一节点的二层链路地址(如以太 网中的MAC地址),才能将数据包发给下一节点,并且只有当封装的二层链路地址确实为下一节点的真实链路地址时,对方才能接收,这就是普通二层链路地址的 功能,这样的地址在一条链路的范围内明确了每个节点,并且这样的地址是不能被路由的。
    而在IPv6网络中,两个IPv6的节点通过链路相连,必须在这条链路之间为各自确立一个Link-Local  Address(即链路本地地址),在 一条链路上,IPv6节点能够确定对方节点的身份,能够将数据包发向对方节点,必须知道对方节点的链路本地地址,如果不知道,将是不能通信的,所以一条链 路中的IPv6节点要通信,必须拥有链路本地地址,并且这个链路本地地址只在一条链路中有效,也不能被路由,而不同链路的链路本地地址是可以重复的。
    因为在链路上没有链路本地地址的情况下,IPv6是不能通信的,所以每个节点必须拥有一个链路本地地址,当一个节点上正常启动了IPv6之后,链路本地地址是不需要人工干预,会自己生成的,但也可以自己手工配置链路本地地址。
自动生成的链路本地地址,有默认的特殊格式,是以FE80::/10 (1111 1110 10)打头,再加54个0,还差64位,这后面的64位,再使用EUI-64来填充,表示如下:

 

EUI-64结构
一个链路本地地址的后64位使用EUI-64来填充,EUI-64其实就是接口的MAC地址,而MAC地址共长度为48位,要填充64位的EUI-64, 还少16位。一个完整的EUI-64是将MAC地址的48位平均分成两部分,前面24位,后面24位,然后在中间补上FFFE(16位),如一个MAC地 址为00:12:33:5C:82:E1,将其变为EUI-64的结果如下表示:

只有以太网链路才会有MAC地址,而串行链路是没有MAC地址的,当一个接口上启用IPv6之后,此接口会自动产生一个链路本地地址,而链路本地地址需要 借用接口上的MAC地址才能产生,这在有MAC地址的以太网接口上可以轻松实现,但是当一个没有MAC地址的串行接口上开启IPv6之后,由于自己没有 MAC地址,所以不能产生EUI-64,也就无法完成链路本地地址。在这种情况下,所有没有MAC地址的接口,如串行接口,在开启IPv6后,需要产生 EUI-64时,统统借用设备上第一个以太网插槽的第一个接口,也可以理解为没有MAC地址的接口,统统使用设备上MAC地址池中的第一个地址,比如设备 上为接口s2/3开启IPv6之后,就很有可能借用F0/0或G0/0接口的MAC地址。

EUI-64不仅在产生链路本地地址时可以使用,在正常配置IPv6地址时,同样可以使用EUI-64来填充后64位。
 
本地站点地址
    本地站点地址是单播中一种受限制的地址,只在一个站点内使用,不会默认启用,这个地址不能在公网上路由,只能在一个指定的范围内路由,需要手工配置。 IPv6中的本地站点地址类似IPv4中私有地址,如10.0.0.0/8   172.16.0.0/12   192.168.0.0/16。
    得不到合法IPv6地址的机构可配置本地站点地址,表示方法为:
FC00::/7 + 41bit子网标识 +16bit链路标识+ EUI-64

可聚合全球单播地址

    可聚合全球单播地址相当于IPv4的公网地址,可以被路由的,可以正常使用的地址,但网络位最少为48位。可聚合全球单播地址的范围是
2000:0000:0000:0000:0000:0000:0000:0000

3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
    以上面可以看出,可聚合全球单播地址也就是2和3打头的地址,因为IPv6使用16进制来表示,一个字符的取值范围从0到F共16个,而可聚合全球单播地 址地址占了2和3两个,由此说明,可聚合全球单播地址占IPv6总地址空间的8分之1,也就是说,所有IPv6地址中,只有8分之1是可以给网络正常使用 的。

回环地址

回环地址表示节点自身,类似IPv4的127.0.0.0/8
回环地址表示为
0000:0000:0000:0000:0000:0000:0000:0001
0:0:0:0:0:0:0:1
::1

任意播地址

    任意播地址表示一组接口,当一个发向某个任意播地址的数据包,只被最近的接口收到,这个地址是由路由协议定义的,不能手工配置,但是我们无法看到一个地址 就能区别出到底是单播地址还是任意播地址,因为任意播地址的表示格式和单播地址是一样的,也就是说任意播地址就是用普通的单播地址来表示的。任意播地址只 能出现在路由器上,并且不能作为数据包的源地址来使用。

组播

组播地址就是一个目标为组播地址的数据包将被多个节点收到,地址以FF00::/8 (1111 1111)打头,.表示为
FF00:0000:0000:0000:0000:0000:0000:0000/8
FF00:0:0:0:0:0:0:0/8
FF00::/8
详细的IPv6多播知识将在后面的IPv6 Multicast部分介绍。

配置IPv6地址


1.激活IPv6功能

默认情况下,Cisco设备的IPv6流量转发功能是关闭的,需要使用IPv6,必须先开启IPv6流量转发功能。
(1)开启IPv6流量转发功能
r1(config)#ipv6 unicast-routing
2.配置正常的IPv6地址
(1)在接口下配置正常IPv6地址
r1(config)#int f0/0
r1(config-if)#ipv6 address 2011:1:2:3:1:1:1:1/64
说明:配置的地址前64位为网络地址,即2011:1:2:3;后64位为主机位,即1:1:1:1。
(2)查看接口的IPv6地址
r1#show ipv6 interface brief f0/0
FastEthernet0/0            [up/up]
    FE80::C200:EFF:FEB0:0
    2011:1:2:3:1:1:1:1
r1# r1#
说明:可以看到接口F0/0已经接受我们配置的地址2011:1:2:3:1:1:1:1。

3.使用EUI-64格式配置静态地址:

(1)配置包含EUI-64的IPv6地址
r1(config)#int f0/1
r1(config-if)#ipv6 address 2022:2:2:22::/64 eui-64
(2)查看接口的IPv6地址
r1#show interfaces f0/0
FastEthernet0/0 is up, line protocol is up
  Hardware is Gt96k FE, address is c000.0eb0.0000 (bia c000.0eb0.0000)

r1#show ipv6 interface brief f0/1

FastEthernet0/1            [up/up]
    FE80::C200:EFF:FEB0:1
    2022:2:2:22:C200:EFF:FEB0:1
r1#
说明:可以看到,F0/1成功使用接口上的MAC地址为EUI-64来填充后64位。

4.仅启用接口IPv6功能

说明:一个接口上可以仅启用IPv6功能,而不配置IPv6地址
(1)启用接口IPv6功能
r1(config)#int s1/0
r1(config-if)#ipv6 enable
(2)查看接口IPv6状态
r1#show ipv6 interface brief serial 1/0
Serial1/0                  [up/up]
    FE80::C200:EFF:FEB0:0
r1#
可以看到,接口S1/0可以只开启IPv6功能而不配地址,但开了IPv6功能的接口也会自动产生一个链路本地地址。

5.配置无编号地址

    当地址紧缺时,可以配置一个接口使用另外一个接口的地址,这样的地址称为无编号地址,即unnumbered地址,当从无编号接口产生数据包时,该接口使用借用的那个接口的地址作为源地址,配置这样的地址,需要允许双方不同网段协议的配合。
(1)为接口配置无编号地址
r1(config)#int s1/1
r1(config-if)#ipv6 unnumbered f0/0
(2)查看接口IPv6地址情况。
r1#show ipv6 interface brief serial 1/1
Serial1/1                  [up/up]
    FE80::C200:EFF:FEB0:0
    unnumbered (FastEthernet0/0)
r1#
说明:可以看到结果显示为接口S1/1借用F0/0的地址。

IPv6静态路由

在IPv6中,静态路由的写法分三种,分别为:
1.直连静态路由(Directly Attached Static Routes)
写法为只指定路由的出口,目标网络被认为是和此接口直连的,但此方法在接口为多路访问时,会有问题。
例配:
ipv6 route 2022:2:2:22::/64 s1/1   
说明:到达目标网络2022:2:2:22::/64 的数据包从接口s1/1发出去。
 
2.递归静态路由(Recursive Static Routes )
写法为只指定路由的下一跳地址,此方法在任何网络环境中可行。
例配:
r1(config)#ipv6 route 2022:2:2:22::/64 2012:1:1:11::2   
说明:到达目标网络2022:2:2:22::/64 的数据包发给下一跳地址2012:1:1:11::2。
 
3.完全静态路由(Fully Specified Static Routes)
写法为同时指定出口和下一跳地址,只有当出口为多路访问时,并且确实需要明确指定下一跳时,才需要写完全静态路由,下一跳必须是和出口同网段的。
例配:
r1(config)#ipv6 route 2022:2:2:22::/64 f0/0 2012:1:1:11::2   
说明:到达目标网络2022:2:2:22::/64 的数据包从接口F0/0发出去,并且交给下一跳地址2012:1:1:11::2。

IPv6静态路由配置实验


说明:配置静态路由,使双方都能ping通互相loopback接口的网段。

由于是多路访问接口,所以省去配置直连静态路由的方法。
1.网络初始配置:
(1)R1初始配置:
r1(config)#ipv6 unicast-routing
r1(config)#int f0/0
r1(config-if)#ipv address 2012:1:1:11::1/64

r1(config)#int loopback 0

r1(config-if)#ipv6 address 2011:1:1:11::1/64
r1(config-if)#
(2)R2初始配置:
r2(config)#ipv unicast-routing
r2(config)#int f0/0
r2(config-if)#ipv address 2012:1:1:11::2/64

r2(config)#int loopback 0

r2(config-if)#ipv6 address 2022:2:2:22::2/64
r2(config-if)#
 
2.在R1上配置递归静态路由
(1)配置递归静态路由
r1(config)#ipv6 route 2022:2:2:22::/64 2012:1:1:11::2   
说明:到达目标网络2022:2:2:22::/64 的数据包发给下一跳地址2012:1:1:11::2。
(2)检查静态路由
r1#show ipv6 route static
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
       D - EIGRP, EX - EIGRP external
S   2022:2:2:22::/64 [1/0]
     via 2012:1:1:11::2
r1#
说明:从结果中看出,手工配置的递归静态路由已生效。

(3)测试连通性

r1#ping 2022:2:2:22::2   

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2022:2:2:22::2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/48/140 ms
r1#
说明:由于正确配置静态路由,R1到R2的loopback接口的网段通信正常。

3.在R2上配置完全静态路由

(1)配置完全静态路由
r2(config)#ipv6 route 2011:1:1:11::/64 f0/0 2012:1:1:11::1
说明:到达目标网络2011:1:1:11::/64  的数据包从接口F0/0发出去,并且交给下一跳地址2012:1:1:11::1。
(2)检查静态路由
r2#show ipv6 route static
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
       D - EIGRP, EX - EIGRP external
S   2011:1:1:11::/64 [1/0]
     via 2012:1:1:11::1, FastEthernet0/0
r2#
说明:从结果中看出,手工配置的完全静态路由已生效。
(3)测试连通性
r2#ping 2011:1:1:11::1   

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2011:1:1:11::1, timeout is 2 seconds:
!!!!
*Mar  1 00:36:50.387: %CDP-4-DUPLEX_MISMATCH: duplex mismatch discovered on FastEthernet0/0 (not full duplex), with Router FastEthernet0/2 (full duplex).!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/92/156 ms
r2#
说明:由于正确配置静态路由,R2到R1的loopback接口的网段通信正常。
IPv6 RIP (RIPng)
IPv6的RIP,所有路由规则与IPv4 RIPv2基本相同,不同之处是IPv4 RIPv2使用UDP 端口520,而RIPng使用UDP端口521,IPv4 RIPv2数据包更新使用地址224.0.0.9,而RIPng使用更新地址为FF02::9。
    在配置RIPng时,方法不同于IPv4 RIP,RIPng是采用先配置进程,然后需要让哪些接口运行在RIPng下,就必须到相应的接口下明确指定,并不像IPv4 RIP那样在进程下通过network来发布。

配置RIPng


1.初始配置

(1)R1初始配置:
r1(config)#ipv6 unicast-routing

r1(config)#int f0/0

r1(config-if)#ipv6 address 2012:1:1:11::1/64
 
r1(config)#int loopback 1
r1(config-if)#ipv6 address 3001:1:1:11::1/64

r1(config)#int loopback 2

r1(config-if)#ipv6 address 3002:1:1:11::1/64

r1(config)#int loopback 3

r1(config-if)#ipv6 address 3003:1:1:11::1/64

(2)R2初始配置:

r2(config)#ipv6 unicast-routing

r2(config)#int f0/0

r2(config-if)#ipv6 address 2012:1:1:11::2/64

r2(config)#int loopback 0

r2(config-if)#ipv6 address 2022:2:2:22::2/64


2.启动RIPng进程

说明:Cisco IOS最多同时支持4个RIPng进程,不同进程使用不同名字来区分,并且进程名为本地有效。
(1)在R1上启动RIPng进程
r1(config)#ipv6 router rip ccie
r1(config-rtr)#exit
(2)在R2上启动RIPng进程
r2(config)#ipv6 router rip ccie
r2(config-rtr)#exi
3.配置RIPng接口
(1)将R1上的接口放进RIPng进程
r1(config)#int f0/0
r1(config-if)#ipv6 rip ccie enable

r1(config)#int loopback 1

r1(config-if)#ipv6 rip ccie enable
(2)将R2上的接口放进RIPng进程
r2(config)#int f0/0
r2(config-if)#ipv6 rip ccie enable

r2(config)#int loopback 0

r2(config-if)#ipv6 rip ccie enable
4.查看RIPng路由
(1)查看R1的RIPng路由
r1#show ipv6 route rip
IPv6 Routing Table - 11 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
       D - EIGRP, EX - EIGRP external
R   2022:2:2:22::/64 [120/2]
     via FE80::C200:DFF:FEC4:0, FastEthernet0/0
r1#
说明:由于RIPng配置正确,成功收到对方路由条目,并且可以看出,动态路由学习到的IPv6路由条目,下一跳地址均为对端的链路本地地址。
(2)查看R2的RIPng路由
r2#show ipv6 route rip
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
       D - EIGRP, EX - EIGRP external
R   3001:1:1:11::/64 [120/2]
     via FE80::C200:BFF:FE48:0, FastEthernet0/0
r2#
说明:由于RIPng配置正确,成功收到对方路由条目。

5.测试连通性

说明:因为动态路由学习到的IPv6路由条目,下一跳地址均为对端的链路本地地址,所以如果到对端的链路本地地址不通,那么到对端IPv6网络也不会通。
(1)测试R1到对端链路本地地址的连通性
r1#ping FE80::C200:DFF:FEC4:0
Output Interface: FastEthernet0/0           
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::C200:DFF:FEC4:0, timeout is 2 seconds:
Packet sent with a source address of FE80::C200:DFF:FEC4:0
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/70/184 ms
r1#
说明:到对端链路本地地址的通信正常。
(2)测试R1到对端IPv6网络的连通性
r1#ping 2022:2:2:22::2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2022:2:2:22::2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/75/240 ms
r1
说明:由于到对端链路本地地址的通信正常,所以到对端IPv6网络的通信也正常。
(3)测试R2到对端IPv6网络的连通性
r2#ping 3001:1:1:11::1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 3001:1:1:11::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/84/248 ms
r2#
说明:到对端IPv6网络的通信也正常。
6.重分布IPv6网段
说明:将R1上的剩余网段重分布进RIPng
(1)在R1上配置重分布剩余网段进RIPng
r1(config)#route-map con permit 10
r1(config-route-map)#match interface loopback 2
r1(config-route-map)#exit
r1(config)#route-map con permit 20   
r1(config-route-map)#match interface loopback 3
r1(config-route-map)#exit

r1(config)#ipv6 router rip ccie

r1(config-rtr)#redistribute connected route-map con
r1(config-rtr)#
(2)在R2上查看重分布进RIPng的剩余网段
r2#show ipv6 route rip
IPv6 Routing Table - 9 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
       D - EIGRP, EX - EIGRP external
R   3001:1:1:11::/64 [120/2]
     via FE80::C200:BFF:FE48:0, FastEthernet0/0
R   3002:1:1:11::/64 [120/2]
     via FE80::C200:BFF:FE48:0, FastEthernet0/0
R   3003:1:1:11::/64 [120/2]
     via FE80::C200:BFF:FE48:0, FastEthernet0/0
r2#
说明:可以看到,R1上的剩余网段成功被重分布进RIPng。
7.过滤IPv6路由
说明:在R2上过滤掉IPv6路由,只留想要的网段,使用distribute-list过滤
(1)配置只留3002:1:1:11::/64网段
阅读(2167) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~