距离矢量路由算法_简单聊聊路由协议
帥天今天難得一次寫兩篇文章,希望兄弟們給點力,點個贊。碼字不易啊。
這篇文章簡單的聊聊路由協議,注意這里是簡單,路由協議太復雜,了解一下即可。
我們在大學里面學習計算機網絡與數據結構的時候,知道求最短路徑常用的有兩種方法,一種是 Bellman-Ford 算法,一種是 Dijkstra 算法。在計算機網絡中基本也是用這兩種方法計算的。
距離矢量路由
距離矢量路由算法,基于 Bellman-Ford 算法。
有以下幾個特征:
好消息傳的快,壞消息傳的慢。如果有個路由器加入了這個網絡,它的鄰居就能很快發現它,然后將消息廣播出去。要不了多久,整個網絡就都知道了。但是一旦一個路由器掛了,掛的消息是沒有廣播的。當每個路由器發現原來的道路到不了這個路由器的時候,感覺不到它已經掛了,而是試圖通過其他的路徑訪問,直到試過了所有的路徑,才發現這個路由器是真的掛了。比如某個人走丟了,問了一圈兒親戚朋友才確定沒看到你,才確定人丟了,這時候才報警,太慢了。
每次發送的時候,要發送整個全局路由表。網絡大了,誰也受不了。它適用于小型網絡(小于 15 跳)。
鏈路狀態路由
鏈路狀態路由(link state routing),基于 Dijkstra 算法,典型代表 OSPF 協議。
這種算法的基本思路是,當一個路由器啟動的時候,首先是發現鄰居,向鄰居say hello,鄰居都回復。并計算和鄰居的距離,發送一個 echo,要求馬上返回,除以二就是距離。
然后將自己和鄰居之間的鏈路狀態包廣播出去,發送到整個網絡的每個路由器。這樣每個路由器都能夠收到它和鄰居之間的關系的信息。因而,每個路由器都能在自己本地構建一個完整的圖,然后針對這個圖使用 Dijkstra 算法,找到兩點之間的最短路徑。
不像距離距離矢量路由協議那樣,更新時發送整個路由表。鏈路狀態路由協議只廣播更新的或改變的網絡拓撲,這使得更新信息更小,省了路由器帶寬和 CPU 利用率。而且一旦一個路由器掛了,它的鄰居都會廣播這個消息,可以使得壞消息迅速收斂。
距離矢量路由
基于距離矢量路由算法的 BGP。
BGP 協議使用的算法是路徑矢量路由協議(path-vector protocol)。它是距離矢量路由協議的升級版。一般用于運營商之間的大型網絡。
如果喜歡這篇文章,請點個關注,你的關注是我最大的動力。
總結
以上是生活随笔為你收集整理的距离矢量路由算法_简单聊聊路由协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑怎么重装预装系统盘 电脑如何重装预装
- 下一篇: ultraiso软碟通怎么用 使用Ult