RIP Protocol and Security

RIP

RIP,Routing Information Protocol,路由信息协议,是一种距离矢量路由协议,基于 UDP 传输,端口号 520

适用于小型网络

RIP 报文格式 (v2)

RIP报文格式

RIP 工作过程

1、路由器初始启动,发现直连网段(哪个接口对应哪个地址)

RIP1

2、邻居互相发起请求,交换自己的路由表学习自己不知道的网段

直到收敛:即当所有路由表都包含相同的网络信息且无新信息时
RIP 协议所接收的路由信息都是封装在 UDP 协议的数据包中的,使用 UDP 的 520 号端口接收来自相邻路由器的路由表信息,并对本地的路由表进行相应的修改
Tips:网路在路由器收敛结束之前是无法完成正常工作的

RIP2

3、周期性发送 Response 信息,确保路由的有效性

Metric 度量值

RIP 是以跳数作为 metric 的唯一标准

同一台路由器可能从不同方向学到去往同一方向的路由,此时就会比较 Metric 值,选择最优的路由加入路由表

次优条目会隐藏起来作为备用,在优选路径 Down 掉之后会重新衡量备用 route
当两条 route 的 metric 相等时,会形成负载均衡

RIP 环路问题

RIP 支持水平分割、毒性逆转和触发更新等工作机制防止路由环路

环路产生原因

这和 RIP 检测到拓扑变化并在网络中扩展的过程有关: RIP 将先更新路由表,等待下一个周期在传递更新

拓扑变化

单路径环路产生

1、以线性路由为例:此时网络正常收敛

circle1

2、突然 10.4.0.0 网段发生错误,RTC 路由器检测出来后先更新自己的路由表:将相关路由表项应被删除

circle2

3、随后 RTC 等待下一周期发送路由更新信息,但是此时 RTB 的更新信息先来到,就把正确的信息给覆盖了

RTB 从 RTC 学的能到 10.4.0.0 又反手教给了 RTC

circle3

单路径环路避免

路由毒化

类似触发更新机制,一旦网络拓扑结构发生变化,路由将将失效条目度量值设为无穷大并立即主动通告出去,做到及时更新

水平分割

禁止路由器将从一个接口学习到的路由再从同一个接口广播出去

毒性逆转

指当路由器从一个接口学习到去往某个网络的路由时,它就会从该接口通告一个该网络不可达的路由

实质上就是水平分割的升级版,目的都是为了避免传递错误信息

多路径环路产生

1、正常的收敛状态

正常的收敛状态

2、突然 10.4.0.0 网段发生错误,RTC 置路由表项 10.4.0.0 为无穷大并发送路由更新信息(路由毒化机制):但此时 RTA 也给 RTB 更新,一对比选择了 RTA 的,环路产生

RTA 从 RTC 学的,不会给 RTC 发(水平分割)

网络发生故障

3、随后 RTB 转而又会影响 RTC

RTB 从 RTA 学的,因此可以告诉 RTC,并没有违背水平分割
随后 RTC 又会告诉 RTA,RTA 收到看之间走 RTC 1 步到 10.4.0.0 现在变了啊要走三步,那我得更新;环路至此闭合

多路径环路避免

定义最大值

给这个环路学习定义一个最大值,超过这个值则认定该学习过程为环路,因此不再转发目标 IP 的包

定义最大值

抑制时间

指一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新

此时 RTB 接收到 RTA 和 RTC 关于 10.4.0.0 的消息时会认定 10.4.0.0 为抑制状态,因此忽略 RTA
抑制时间时间内小于 16 的更新将被忽略,因此会设定为 inf;抑制时间后只接手小于 16 的更新

触发更新

不必等到更新周期到来,路由器马上发送路由 10.4.0.0 不可达消息

RIP 版本简介

RIPv1 的缺陷

发送协议报文时不携带掩码,路由交换过程中有时会造成错误;不支持认证;只能以广播方式发布协议报文;

RIPv1 的缺陷

RIPv2

RIPv2 是一种无类别路由协议,报文中携带掩码信息,支持 VLSM(可变长子网掩码)和 CIDR(无类别域间路由);

支持以组播方式发送路由更新报文,组播地址为 224.0.0.9,减少网络与系统资源消耗;

支持对协议报文进行验证,并提供明文验证和 MD5 验证两种方式,增强安全性

总评:RIP 协议简单、便捷,在中小型网络中得到广泛应用

CIDR(略)

无类别域间路由,Classless Inter-Domain Routing,是一个用于给用户分配 IP 地址以及在互联网上有效地路由 IP 数据包的对 IP 地址进行归类的方法

基于可变长子网掩码(VLSM)来进行任意长度的前缀的分配的,将好几个 IP 网络结合在一起,使用一种无类别的域际路由选择算法,使它们合并成一条路由从而较少路由表中的路由条目,减轻 Internet 路由器的负担。

例如:192.168.0.0/24 - 192.168.3.0/24,CIDR 汇总后:192.168.0.0/30

VLSM(略)

可变长子网掩码,把一个标准网络分成几个小型网络(子网)

路由汇总

有类别与无类别路由协议

1、有类的路由协议不会识别子网的信息只能识别出基本的 IPv4 类别划分,无类别路由协议能根据子网掩码的长度来区分网段

正是因为有类的不能识别子网,因此往往要在枢纽路由器进行路由汇总,比如 10.0.0.8/24 与 10.0.9.9/24 都会汇总为 10.0.10.10 因为在A类看来他们都是一样的

2、有类的路由协议只会传送网络前缀(网络地址);无类路由协议传输网络前缀(网络地址)的同时也会传输子网掩码,所以它支持 VLSM(可变长子网掩码)

RIP 安全缺陷

1、使用不可靠的 UDP 报文进行传送,安全性差

2、路由器如果没有使用认证机制,则没有发出更新请求的路由器也能够接收到更新报文

RIP 路由欺骗

攻击者冒充正常路由器向受害路由器发送路由更新请求,更新后实现流量劫持

1、先伪造包冒充 R1 毁掉原有的路径:1.0.0.0/8, Metric 4

2、然后发送优先级更高的虚假路由跟新:1.0.0.0/8, Metric 1

3、完成流量劫持

RIP 路由欺骗

RIP 路由防御

基于 RIPv2 报文验证,将 RIP 报文前 20 个字节作为验证信息:

1、建立邻居的双方必须使用相同的验证方式和口令

2、不直接建立邻居的路由器可以使用不同的验证方式和口令

3、在哪些链路上实施验证、使用哪种验证方式,全由管理员根据需求进行考量和设计

Tips:仅仅采用 MAC 机制并不安全,如上图 攻击者可以劫持 R1 到 R2 的明文信息,而 MAC 只能保证完整性,所以该认证还是能被篡改;只有带密钥加密的 HMAC 才比较安全

报文验证机制