【重识云原生】第四章云网络4.3.3节——RIP协议

 《重识云原生系列》专题索引:

  1. 第一章——不谋全局不足以谋一域
  2. 第二章计算第1节——计算虚拟化技术总述
  3. 第二章计算第2节——主流虚拟化技术之VMare ESXi
  4. 第二章计算第3节——主流虚拟化技术之Xen
  5. 第二章计算第4节——主流虚拟化技术之KVM
  6. 第二章计算第5节——商用云主机方案
  7. 第二章计算第6节——裸金属方案
  8. 第三章云存储第1节——分布式云存储总述
  9. 第三章云存储第2节——SPDK方案综述
  10. 第三章云存储第3节——Ceph统一存储方案
  11. 第三章云存储第4节——OpenStack Swift 对象存储方案
  12. 第三章云存储第5节——商用分布式云存储方案
  13. 第四章云网络第一节——云网络技术发展简述
  14. 第四章云网络4.2节——相关基础知识准备
  15. 第四章云网络4.3节——重要网络协议
  16. 第四章云网络4.3.1节——路由技术简述
  17. 第四章云网络4.3.2节——VLAN技术
  18. 第四章云网络4.3.3节——RIP协议
  19. 第四章云网络4.3.4节——OSPF协议
  20. 第四章云网络4.3.4.3节——OSPF协议工作原理
  21. 第四章云网络4.3.4.4节——[转载]OSPF域内路由
  22. 第四章云网络4.3.4.5节——[转载]OSPF外部路由
  23. 第四章云网络4.3.4.6节——[转载]OSPF特殊区域之Stub和Totally Stub区域详解及配置
  24. 第四章云网络4.3.4.7节——[转载]OSPF特殊区域之NSSA和Totally NSSA详解及配置
  25. 第四章云网络4.3.5节——EIGRP协议
  26. 第四章云网络4.3.6节——IS-IS协议
  27. 第四章云网络4.3.7节——BGP协议
  28. 第四章云网络4.3.7.2节——BGP协议概述
  29. 第四章云网络4.3.7.3节——BGP协议实现原理
  30. 第四章云网络4.3.7.4节——高级特性
  31. 第四章云网络4.3.7.5节——实操
  32. 第四章云网络4.3.7.6节——MP-BGP协议
  33. 第四章云网络4.3.8节——策略路由
  34. 第四章云网络4.3.9节——Graceful Restart(平滑重启)技术
  35. 第四章云网络4.3.10节——VXLAN技术
  36. 第四章云网络4.3.10.2节——VXLAN Overlay网络方案设计
  37. 第四章云网络4.3.10.3节——VXLAN隧道机制
  38. 第四章云网络4.3.10.4节——VXLAN报文转发过程
  39. 第四章云网络4.3.10.5节——VXlan组网架构
  40. 第四章云网络4.3.10.6节——VXLAN应用部署方案
  41. 第四章云网络4.4节——Spine-Leaf网络架构
  42. 第四章云网络4.5节——大二层网络
  43. 第四章云网络4.6节——Underlay 和 Overlay概念
  44. 第四章云网络4.7.1节——网络虚拟化与卸载加速技术的演进简述
  45. 第四章云网络4.7.2节——virtio网络半虚拟化简介
  46. 第四章云网络4.7.3节——Vhost-net方案
  47. 第四章云网络4.7.4节vhost-user方案——virtio的DPDK卸载方案
  48. 第四章云网络4.7.5节vDPA方案——virtio的半硬件虚拟化实现
  49. 第四章云网络4.7.6节——virtio-blk存储虚拟化方案
  50. 第四章云网络4.7.8节——SR-IOV方案
  51. 第四章云网络4.7.9节——NFV
  52. 第四章云网络4.8.1节——SDN总述
  53. 第四章云网络4.8.2.1节——OpenFlow概述
  54. 第四章云网络4.8.2.2节——OpenFlow协议详解
  55. 第四章云网络4.8.2.3节——OpenFlow运行机制
  56. 第四章云网络4.8.3.1节——Open vSwitch简介
  57. 第四章云网络4.8.3.2节——Open vSwitch工作原理详解
  58. 第四章云网络4.8.4节——OpenStack与SDN的集成
  59. 第四章云网络4.8.5节——OpenDayLight
  60. 第四章云网络4.8.6节——Dragonflow
  61. 第四章云网络4.9.1节——网络卸载加速技术综述

  62. 第四章云网络4.9.2节——传统网络卸载技术

  63. 第四章云网络4.9.3.1节——DPDK技术综述

  64. 第四章云网络4.9.3.2节——DPDK原理详解

  65. 第四章云网络4.9.4.1节——智能网卡SmartNIC方案综述

  66. 第四章云网络4.9.4.2节——智能网卡实现

  67.  《云原生进阶之容器》专题第六章容器6.1.1节——容器综述

  68. 【云原生进阶之PaaS中间件】第一章Redis-1.1简介

  69. 【云原生进阶之PaaS中间件】第二章Zookeeper-1-综述

  70. 【云原生进阶之PaaS中间件】第三章Kafka-1-综述

  71. 【云原生进阶之PaaS中间件】第四章RabbitMQ-1-简介及工作模式

  72. 【云原生进阶之数据库技术】第一章MySQL-1-基础概述

  73. 【云原生进阶之数据库技术】第二章-Oracle-1-简介

  74. 【云原生进阶之数据库技术】第三章-PostgreSQL-1-综述

  《云原生进阶之容器》专题索引:

  1. 第一章Docker核心技术1.1节——Docker综述

  2. 第一章Docker核心技术1.2节——Linux容器LXC

  3. 第一章Docker核心技术1.3节——命名空间Namespace

  4. 第一章Docker核心技术1.4节——chroot技术

  5. 第一章Docker核心技术1.5.1节——cgroup综述

  6. 第一章Docker核心技术1.5.2节——cgroups原理剖析

  7. 第一章Docker核心技术1.5.3节——cgroups数据结构剖析

  8. 第一章Docker核心技术1.5.4节——cgroups使用

  9. 第一章Docker核心技术1.6节——UnionFS

  10. 第一章Docker核心技术1.7节——Docker镜像技术剖析

  11. 第一章Docker核心技术1.8节——DockerFile解析

  12. 第一章Docker核心技术1.9节——docker-compose容器编排

  13. 第一章Docker核心技术1.10节——Docker网络模型设计

  14. 第二章——Kubernetes概述

  15. 第二章Controller Manager原理剖析--2.1节Controller Manager综述

  16. 第二章Controller Manager原理2.2节--client-go剖析

  17. 第二章Controller Manager原理2.3节--Reflector分析

  18. 第二章Controller Manager原理2.4节--Informer机制剖析

  19. 第二章Controller Manager原理2.5节--DeltaFIFO剖析

  20. 第二章Controller Manager原理2.6节--Informer controller

  21. 第二章Controller Manager原理2.7节--Indexer剖析

  22. 第二章Controller Manager原理2.8节--Resync机制

  23. 第三章List-Watch机制3.1节-- List-Watch机制剖析

1.距离向量法

        也称为贝尔曼福特算法,是一种最短路径算法。

  • 每个结点周期性地发送自己的距离向量估计给邻居;
  • 当一个节点X收到来自邻居V的新的距离向量估计时将更新它自己的距离向量:

        其中,v为x的邻居,Dx(y)为x到y的最短路径开销估计,c(x,v)为边的开销。

2. 路由信息协议(Routing Information Protocol)简述

        RIP协议是一种采用距离向量算法的路由协议。到目的网络的距离以跳为单位,最大距离为15,距离16表示无穷大,即目的网络不可达。(这一规定限制了RIP协议只能适用于中小网络,网络规模太大的话路由信息就无法到达远端路由器了)。

  1. 初始时每个RIP路由器只有到直连网的路由,距离为1;
  2. 每30秒RIP路由器把它的整个路由表发给邻居(具体实现时每个邻居会错开发送,30秒的时间也会随机变化一点);
  3. 路由器用邻居发来的路由表根据距离向量算法修改自己的路由表。

2.1 RIP协议报文格式

  • RIPv1:用UDP数据报封装(端口号为520),且采用广播方式发送给邻居;

  • 命令:为1时表示request报文,要求接收方路由器发送其全部或部分路由表;为2时表示response报文,主动提供周期性路由更新或对请求消息的响应;
  • 版本:即使用的RIP协议的版本,v1,v2;
  • 字节为0表示未用;
  • 地址簇标志:指明底层使用了哪些通信协议来传输数据,RIP协议可以携带多种不同协议的路由信息,每一项都有地址标志来表明使用的地址类型,IP地址的AFI为2;
  • RIPv2:支持无类网,可以采用广播或者多播的形式将路由表发给邻居;第一个路由项可以用于身份认证。

2.2 RIP协议的相关技术

  • 水平分割技术(split horizon):从一个接口学来的路由不会从该接口发回去;(无法防止所有计数到无穷的问题:当路由器形成环路的时候)
  • 毒性反转技术(poison reverse):当一条路由变为无效后,路由器并不立即将它从路由表中删除,而是将其距离改为16后广播给邻居,使邻居拥有的该路由立即失效。(距离为16的路由称为毒化路由)
  • 抑制技术(hold down):距离被改为无穷大的路由在一段短时间内(180秒)其距离不允许被修改;
  • 触发更新(triggered update):一旦出现路由变化将立即把变化的路由发送给邻居,原有的30秒发送一次完整的路由表依然不变(减小了计数到无穷的概率) 。有了触发更新机制后仍然需要保留原有的每隔30秒就把路由表发送给邻居的机制。这是为了防止触发更新时发送的路由表信息丢失,以及防止路由信息出错(只用触发更新的话若路由信息出错了会一直保留直到下一次触发);同时用TTL清除无效路由后也要将路由表发送给邻居。

        路由器的抑制算法主要是为了防止抖动造成整个网络不稳定(抖动:短时间有路由器多次接入、断开网络)。

2.3 RIP协议的工作方式

        利用邻居的路由表建立自己的路由表,当收到邻居发来的路由表时,路由器将更新它的路由表:

  1. 首先将收到的路由的距离全加1(即一跳的距离);
  2. 再利用收到的路由表修改自己的路由表;
  3. 将收到的路由表中不存在的路由表项加入到自己的路由表;
  4. 如果收到的路由表中某一项的距离比该路由器原路由表对应项的距离更小,则更新该路由表项,并将对应路径的下一跳设置为邻居;
  5. 如果路由项存在,就要重置失效定时器;
  6. 如果收到的路由表中存在某一项的目的网络也是该路由器的路由表中某一项的目的网络,且下一跳为发送路由表的路由,那无论如何该路由器都要更新对应的表项,将距离改为收到的表项中的距离+1;

2.4 RIP协议的定时器

  • 更新定时器:控制一个路由器如何定期把路由表发给邻居,默认为30秒;

        一条路由的失效定时器到期时被标记为无效路由,路由被更新时其失效定时器会被重置,默认为180秒;

        一条路由的清除定时器到期时该路由将从路由表中删除。路由被更新时会重置(240秒);

  • 抑制定时器:在路由的距离变为无穷大时启动,在其到期之前不允许修改该路由的距离,默认为180秒;

3.RIP协议的问题

3.1 慢收敛(slow convergence)

        这是RIP相对于OSPF而言的问题,因为RIP依靠定时器进行每30秒一次的周期更新路由器的路由表,当网络的拓扑结构发生变化时它收敛于新拓扑结构的速度会变慢,有可能导致错误的数据重复发送。

        假设相邻两个路由器之间的开销为1,则最长需要时间=(m-1)*30,最少需要时间=0,平均需要时间=(最长+最少)/2。

3.2 计数到无穷(count to infinity)

        出现计数到无穷时,最终还是会收敛,只是延缓了收敛的速度。

        当R1修改其到N1的距离为16后,如果R2把自己的路由表发给R1则R1会更新自己到N1的距离为3,然后发回给R2,R2更新其到N1的距离为4,如此下去直到两者到N1的距离均为16。

        因此RIP不适用于路径剧烈变化的网络环境,也不适用于大型网络环境,但在小型网络中仍在大量使用。

4 参考链接

RIP协议_OoZzzy的博客-CSDN博客_rip协议

RIP协议详解

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江中散人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值