距离矢量路由算法_简单聊聊路由协议

本文介绍了路由协议的基础知识,包括距离矢量路由和链路状态路由。距离矢量路由基于Bellman-Ford算法,特点是好消息传播快而坏消息传播慢,适合小型网络。链路状态路由如OSPF协议,利用Dijkstra算法,能更快地传播网络拓扑变化。此外,还提及了BGP协议作为距离矢量路由的升级版,常用于大型网络。
摘要由CSDN通过智能技术生成

6ac3cf7098a8b5e28830f47ad1ef0ded.png

帅天今天难得一次写两篇文章,希望兄弟们给点力,点个赞。码字不易啊。

这篇文章简单的聊聊路由协议,注意这里是简单,路由协议太复杂,了解一下即可。

我们在大学里面学习计算机网络与数据结构的时候,知道求最短路径常用的有两种方法,一种是 Bellman-Ford 算法,一种是 Dijkstra 算法。在计算机网络中基本也是用这两种方法计算的。

距离矢量路由

距离矢量路由算法,基于 Bellman-Ford 算法。

有以下几个特征:

好消息传的快,坏消息传的慢。如果有个路由器加入了这个网络,它的邻居就能很快发现它,然后将消息广播出去。要不了多久,整个网络就都知道了。但是一旦一个路由器挂了,挂的消息是没有广播的。当每个路由器发现原来的道路到不了这个路由器的时候,感觉不到它已经挂了,而是试图通过其他的路径访问,直到试过了所有的路径,才发现这个路由器是真的挂了。比如某个人走丢了,问了一圈儿亲戚朋友才确定没看到你,才确定人丢了,这时候才报警,太慢了。

每次发送的时候,要发送整个全局路由表。网络大了,谁也受不了。它适用于小型网络(小于 15 跳)。

链路状态路由

链路状态路由(link state routing),基于 Dijkstra 算法,典型代表 OSPF 协议。

这种算法的基本思路是,当一个路由器启动的时候,首先是发现邻居,向邻居say hello,邻居都回复。并计算和邻居的距离,发送一个 echo,要求马上返回,除以二就是距离。

然后将自己和邻居之间的链路状态包广播出去,发送到整个网络的每个路由器。这样每个路由器都能够收到它和邻居之间的关系的信息。因而,每个路由器都能在自己本地构建一个完整的图,然后针对这个图使用 Dijkstra 算法,找到两点之间的最短路径。

不像距离距离矢量路由协议那样,更新时发送整个路由表。链路状态路由协议只广播更新的或改变的网络拓扑,这使得更新信息更小,省了路由器带宽和 CPU 利用率。而且一旦一个路由器挂了,它的邻居都会广播这个消息,可以使得坏消息迅速收敛。

距离矢量路由

基于距离矢量路由算法的 BGP。

BGP 协议使用的算法是路径矢量路由协议(path-vector protocol)。它是距离矢量路由协议的升级版。一般用于运营商之间的大型网络。

如果喜欢这篇文章,请点个关注,你的关注是我最大的动力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值