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成长之路 --- 梅利