• 为什么RIP使用UDP,OSPF使用IP,而BGP使用TCP?为什么RIP周期性地和邻站交换路由信息而BGP却不这样做?


    答案一:(谢希仁)

    RIP只和邻站交换信息,使用UDP无可靠保障,但开销小,可以满足RIP要求;
    OSPF使用可靠的洪泛法,直接使用IP,灵活、开销小;
    BGP需要交换整个路由表和更新信息,TCP提供可靠交付以减少带宽消耗;
    RIP使用不保证可靠交付的UDP,因此必须不断地(周期性地)和邻站交换信息才能使路由信息及时得到更新。但BGP使用保证可靠交付的TCP因此不需要这样做。

    答案二:

    简书回答
    OSPF本身提供主从协商机制,可以保证可靠的传输,另外全网路由器保持着同样的一个LSDB(链路状态数据库),当拓扑发生变化时,需要携带的变更信息较少,通过IP协议即可完成

    RIP协议采用UDP是因为RIP每周期需全网组播路由信息,路由信息数目较大,故使用UDP协议可以提高效率

    BGP为边界网关协议,因携带的路由信息较多,且可能跨不同网络传送路由信息,为保证可靠性,需使用TCP协议,可兼顾容量和可靠性

    内部网关协议主要是设法使数据报在一个自治系统中尽可能有效的从源站传送到目的站,在一个自治系统内部并不需要考虑其他方面的策略,然而BGP使用的环境却不同。主要有以下三个原因:第一,因特网规模太大,使得自治系统之间的路由选择非常困难;第二,对于自治系统之间的路由选择,要寻找最佳路径并不现实;第三,自治系统之间的路由选择必要考虑有关策略。由于上述情况,BGP只能是力求寻找一条能够到达目的网络且比较好的路由,而并非要寻找一条最佳路径,所以BGP不需要像RIP那样周期性地和邻站交换路由信息。

    我自己的理解

    RIP主要是因为需要周期性的和邻站交换信息,必须快

    OPSF有一个统一的数据库,每次交换的信息也不多,使用IP足以

    BGP传递有限,必须一次传对,而且如果因为范围大,有一个信息传不对,对整个系统影响比较大,所以使用可靠的TCP

    关于周期性交换,因为RIP需要找一条最佳路径,而BGP只需要找一条可达路径

    新增理解:RIP使用UDP的原因还可能是因为UDP可以简单的对udp首部和数据部分做一个校验,如果直接使用ip,是没有办法对数据部分做校验的。对于OSPF可以直接使用ip是因为ospf使用的是可靠的泛洪法,应该多多少少管点用。

  • 相关阅读:
    Golang可重入锁的实现
    业务-(课程-章节-小节)+课程发布一些业务思路
    初始Cpp之 八、类和对象
    Jenkins自动化部署SpringBoot项目的实现
    如何绑定 Webhook 推送
    CheckBox/RadioButton切换动效实现
    qiankun 子应用 ant-design-vue快速填坑指南
    解决grpc连接问题Dial成功但状态变为TransientFailure
    Windows + Syslog-ng 发送eventlog 到Splunk indexer
    基于车路协同功能的路侧及车载智能设备研究
  • 原文地址:https://blog.csdn.net/m0_51312071/article/details/127462436