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

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

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

距离矢量路由

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

有以下几个特征:

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

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

链路状态路由

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

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

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

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

距离矢量路由

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

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

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

距离矢量路由算法_简单聊聊路由协议相关推荐

  1. 距离矢量路由算法_计算机网络自学笔记:选路算法

    网络层必须确定从发送方到接收方分组所经过的路径.选路就是在网络中的路由器里的给某个数据报确定好路径(即路由). 一台主机通常直接与一台路由器相连接,该路由器即为该主机的默认路由器,又称为该主机的默认网 ...

  2. 示例演示“距离矢量路由算法”工作原理

    以下内容摘自刚刚上市,已被纳入全国高校教材系统,并在全国热销.好评如潮的<深入理解计算机网络>新书. 7.5.3  距离矢量路由算法 现代计算机网络通常使用动态路由算法,因为这类算法能够适 ...

  3. 计算机网络矢量算法三个更新原则,距离矢量路由算法

    本文概述 距离矢量算法是迭代的, 异步的和分布式的.分布式的:分布式的是, 每个节点都从一个或多个直接连接的邻居接收信息, 执行计算, 然后将结果分发回其邻居.迭代:迭代的过程一直持续到邻居之间没有更 ...

  4. 距离矢量路由算法的java代码_八大排序算法比较(附Java代码)

    冒泡排序 /*** 冒泡排序 比较好理解* 两两相比 较大的放后面* 时间复杂度O(n^2)*//*** 改进前的冒泡排序算法进行100,000数据排序运行时间为:3829ms* 优化后的冒泡排序算法 ...

  5. 4.2.1 路由算法与路由协议概述(静态路由和动态路由---距离-向量路由算法---链路状态路由算法、层次路由)

    文章目录 0.思维导图 1.路由算法分类与路由表 2.静态路由和动态路由 3.动态路由的两种算法:链路状态路由算法和距离向量路由算法 4.层次路由 0.思维导图 1.路由算法分类与路由表 路由器转发分 ...

  6. python距离向量路由算法_路由算法(全网最细)

    我在复习过程中整理的面试系列文章,全部免费分享给大家,适合保研和考研,需要的请移步我的个人原创公zhong号:程序员宝藏(号如其名,诚不欺你),回复关键字:复试上岸,即可获取! 正文开始 正文开始 1 ...

  7. ls路由算法_路由算法区分管理距离和最大跳数

    管理距离就是人为指定的一个数字,由这个数字来代表路由协议的优先度,数字越小越优先采用这个路由协议通告的路由.比如静态路由的默认的管理距离是0,rip是120,如果到达某个网段的路由通告由这两个同时通告 ...

  8. python距离向量路由算法_互联网中常用路由协议,路由协议基础,一分钟了解下...

    一.路由基础 Routing protocol 用于路由器动态寻找最优路径,并使路由器都拥有路由表,R/p 决定了数据包的上行路径,eg:RIP IGRP EIGRP OSPF,被动路由协议被分配到接 ...

  9. ls路由算法_路由算法详解

    路由算法详解1. 引言 2. 路由器基础知识 3. LS算法 4. 示例:Dijkstra算法 5. DV算法 6. 分级路由 如果您已经阅读过博闻网中的路由器工作原理一文,您会了解到路由器的作用是管 ...

最新文章

  1. 《3D数学基础》系列视频:这次,真的是广告!
  2. 全民创业时代,谁在大潮退去前“活”下来?
  3. 超越村后端开发(3:安装djangorestframework+序列化+API开发前期准备)
  4. 线性判别分析LDA的数学原理(一)
  5. 【opencv系列05】OpenCV4.X鼠标回调函数
  6. C++阶段01笔记08【结构体(基本概念、定义与使用、数组、指针、嵌套、const使用)】
  7. 花瓣长度和花瓣宽度散点图鸢尾花_基于python的鸢尾花简单聚类模型分析
  8. Centos普通用户权限报错:** is not in the sudoers file. This incident will be reported.
  9. go golang 笔试题 面试题 笔试 面试
  10. LeetCode 30. Substring with Concatenation of All Words
  11. python 文本处理操作
  12. SecureCRT连接虚拟机中的Linux系统
  13. Python将某文件夹及其子文件夹下某种格式的文件移动到另一个指定的文件下
  14. 【Python玩转自动化运维】Python-基础1
  15. java pdf 加水印
  16. mob做php短信接口,【PHP】短信接口(正则匹配)
  17. 【Unity】天气特效:打雷下雨
  18. 第一章 使用SOAPUI测试和开发Web Services Stubs
  19. 如何使用花生壳5设置HTTPS映射
  20. 这位毁誉参半的政治名嘴,竟然彻底改变了计算机编程

热门文章

  1. linux安装minikube(Ubuntu/deepin)
  2. kafka可视化客户端工具(Kafka Tool)的基本使用
  3. yum groupinstall安装一组软件使用示例
  4. linux ffmpeg加速和合并视频命令
  5. 【nginx配置】 proxy_pass反向代理配置中url后面加不加/的说明
  6. scala简明教程:偏函数、高阶函数、Future异步编程、隐式转换
  7. Golang协程goroutine和管道channel结合案例
  8. python3将列表当作队列使用
  9. Hibernate一级缓存常用API
  10. sql中如何统计各种零件的总数量_如何应用GOF设计模式中的构建者模式创建复合对象实例...