梅利333

从无到有,自有至精

导航

IPV6——5 RIPng

RIPng

实际封装在UDP 520中,是一个4层协议

三层的变化,对于一个四层的协议, 影响大吗?

OSI七层,每一层相互独立,对上层协议无影响

但是还有关联,每一层对上层所承载的协议会进行标识 只是一个字段

 

 

而RIP 中,三层原来是IPV4,现在是IPV6,要不要做很大的改变?

对本自的RIP 协议无影响

Ipv6中,next header,来标识上层协议

 

其中路由协议的运行,路由协议收敛都一样的

 

能否也用UDP520端口?

肯定不行,无法区分,udp520,就是ipv4 的rip

不能使用相同的端口号

所以新的UDP 端口号为 521,

用端口号区分不同的协议,

 

RIP ng 总结

0    ripng是距离矢量路由协议

1    UDP 报文默认是521,(IPV4是520

2    RIPng与ripv2使用相同的计时器,30s,180,240

3    Ripng使用组播的形式收发请求和响应 ff02::9

4    RIPng 使用hop 做为路由度量值(0-15)

5    组播地址是ff02::9

6    没有认证机制,是由IPV6集成了认证功能

7    不支持自动汇总,因为ipv6已经没有了ABC主类的概念,最主要的是没有广播了

8    RIPng支持接口下的手动汇总

9    Request 报文 ,和response 报文 ,响应request ,周期更新,触发更新

(仅仅只有解发更新的协议只有eigrp ,bgp)

10  RIPng重分布时,需要包含直连的参数,include-connected,否则直连是不会被重分布进去的,IPV4的重分布是有区别的。

 

配置实例

 

 

 

 1 三台设备上分别配置 loopback接口,物理接口不配置global地址,但是开启IPV6

2 分别运行RIPng

3 三台路由器分别运行RIPng

4 查看ripng路由,测试环回口之间的连通性

5 在R1上开启debug ipv rip ,观察ripng的水平分割

6 开启ripng的毒性反转,观察现象

7 配置 ripng的汇总,在R2上把R3的128位路由汇总成64位的

8  R1上写一条指向NULL 0 的静态路由,然后重分布进RIPng
9 R3上下发一条默认路由(接口下配置)

10 查看ripng 的默认计时器,

11  修改默认的端口号,和组播地址port 521, mulcast-group ff02::9

 

配置部份:

R1(config)#inter lo 1

R1(config-if)#ipv add 1011::1/128

R1(config-if)#inter f0/0

R1(config-if)#ipv6 enable    //物理接口开启IPV6

R1(config-if)#no shu   //不配置IP地址,但是要开启接口

 

R2(config)#interface lo 1

R2(config-if)#ipv add 2011::1/128

R2(config-if)#inter range f0/0 - 1

R2(config-if-range)#ipv en

R2(config-if-range)#no shu

 

R3(config)#inter lo 1

R3(config-if)#ipv add 3011::1/128

R3(config-if)#inter f0/0

R3(config-if)#ipv en

R3(config-if)#no shu

 

此时查看接口IP

 

 

 

 R1上可以看到,物理接口只有link local地址,并没有配置 全局的global地址

需求1 结束

  

需求2 运行ripng

R1(config)#ipv unicast-routing    //开启IPV6的功能

R1(config)#ipv router rip aa   //ipv6 rip 是开启rip进程

R1(config-rtr)#exit

R1(config)#inter range f0/0 , lo 1   //要在接口下宣告

R1(config-if-range)#ipv6 rip aa enable  //调用前面的aa

 

R2(config)#ipv unicast-routing 

R2(config)#ipv router rip bb    //名字只是本地有效,两边可以不一样

R2(config-rtr)#exit

R2(config)#inter range f0/0 - 1 , lo 1

R2(config-if-range)#ipv rip bb enable

 

R3(config)#ipv unicast-routing

R3(config)#ipv router rip cc

R3(config-rtr)#exit

R3(config)#inter range lo 1 , f0/0

R3(config-if-range)#ipv rip cc enable

全网配置 RIPNG

 

需求2 3完成

 4 查看ripng路由,测试环回口之间的连通性

 

 

 

 

 

 

 

 如果你还在若有所思的看着,说明你的脑筋还在转,

为什么这里只能看到两条?而看不到三条?

R2和R3直连的网段为什么不被传到这里?

那是因为fe80的地址是不可能被 传递过来的

测试连通性

 

 

通过 traceroute消息可以看出,路由经过了r2的loopback接口,然后到达R3的loopback接口,(此时的环回口IP,也被称为global地址,全局地址,因为是我们手动配置的)

而此时如果我将R1的global地址down 掉会发生什么 呢?

试一下

看到不通了,但是我不知道为啥我的效果不是N,而是……

为什么会这样?

这要考虑ping 的时候现在用的是哪 个地址进行的,

是FE80 地址,请问这个地址可以跨越链路进行传递吗?

不行吧,只能在两台设备之间的链路上传递,跨了设备 就不好使了。

所以,肯定是不行的,

 

那也就得出以下结论,

当设备与设备之间使用fe80端口互联,建立邻居,系统也会使用可用的global地址进行通信,(不是以默认的接口IP出去,按ipv6 的global)

而如果存在多个global地址的话,会按照loopback接口的顺序而定。如loo 0 , 1 , 2 ,3 这样的顺序

 

6 开启ripng的毒性反转,观察现象

也是用于防环的一种技术,水平分割和毒性反转 两个只能用一个

毒性反转什么意思呢?

水平分割:从这个接口学习到的路由,不会再发送出去

毒性反转:当我从这个接口收到的路由,再从这个接口发出去时,会打上16跳

Config

Ipv router  rip aa

Split-horizon     //水平分割

Poison-reverse   //毒性反转

  

7 配置 ripng的汇总,在R2上把R3的128位路由汇总成64位的

这个肯定是手动汇总的,因为IPV6没有自动汇总了

在哪里做?

要对谁做汇总,就要在和它相连的接口上做,注意是接口上做

R2(config)#inter f0/0

R2(config-if)#ipv rip bb summary-address 3011::1/64

 然后在R1上查看,请问有几条路由?

 

 

 可以看到原有的两条还都 在,但是多了一条汇总的条目

但应该是两条,

有了汇总之后,肯定 将明细就不显示 了

 

 

 按原理就应该是这个样子的,(太慢了)

汇总后只剩下一条/64的,原来的/128的被隐藏了。

8  R1上写一条指向NULL 0 的静态路由,然后重分布进RIPng

R1(config)#ipv route ::/0 nul 0

R1(config)#ipv router rip aa

R1(config-rtr)#redistribute static //这里不加metric 也OK,

在R2和R3上查看效果

 

 

 

 在这里的下一跳地址是R1的接口link local地址

 

 

 

在R3上看到的是R2的接口link local 地址

 

引入null 0 有什么作用呢?

黑洞路由嘛 ~


9 R3上下发一条默认路由(接口下配置)

接口下配置

Inter f0/0

Ipv6 rip cc default-information originate,

此时并不需要一定存在真实的默认路由

 10 查看ripng 的默认计时器,

 

12  修改默认的端口号,和组播地址port 521, mulcast-group ff02::9

R1(config)#ipv router rip aa

R1(config-rtr)#port 555 multicast-group ff02::99

 

 

 

 

------------------------------

CCIE成长之路 --- 梅利

 

posted on 2020-09-01 09:59  梅利333  阅读(603)  评论(0编辑  收藏  举报