前文我们了解了静态路由的相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14965433.html;今天我们来聊一聊动态路由相关概念;

  首先我们要清楚什么是动态路由?从字面上个人的理解,动态是指能够根据某种条件的变化结果也随之自动的发生变化;静态是指当某种条件发生变化,而结果不会随之变化(静止不动);对于路由也是一样的,静态路由就是指管理员手动配置的路由信息,该路由信息不会根据网络拓扑的变化而自动变化,当网络拓扑发生变化,必须由管理员手动的更新其路由信息;和静态路由相反的是动态路由,该路由信息具有两个特点,第一是不需要管理员手动配置路由信息,而是从其他路由器哪里根据某种动态路由协议学习过来的路由信息;其次该路由能够感知网络拓扑的变化,当网络拓扑发生变化,对应的路由信息能够根据拓扑的变化而变化;

  从上述的描述中,动态路由的生成是基于某种动态路由协议,也就是说只有运行相同动态路由协议的路由器才能相互学习到对方的路由信息;那什么是路由协议呢?其实我们可以把路由协议理解为路由器之间交互信息的一种语言,其作用就是用来共享路由信息,维护路由表,提供最佳转发路径;

  路由协议总览

  提示:上图主要描述了路由协议的发展史以及根据不同算法对其分类;  

  提示:上图主要把路由协议进行了分类,从作用范围来划分,分为内部网关协议igp和外部网关协议egp;而内部网关协议igp中,有可以根据其算法的不同分为距离矢量协议和链路状态协议,其实除此之外还有路径矢量协议(主要是bgp用的算法);

  路由协议分类:根据作用范围分类

  提示:我们可把路由协议分为IGP和EGP,IGP(interior gateway protocol)内部网关协议,用于一个as内部交换路由信息,比如常见的igp路由协议有RIP、OSPF、IS-IS;EGP(exterior gateway protocol)外部网关协议,用于多个as之间交换路由信息,如BGP协议;那什么是AS呢?AS是autonomous system自制系统,所谓自制系统就是处于单个管理机制下的网络,比如一个企业,电信,联通,移动等;

  路由协议分类:根据协议算法分类

  DV(distance-vector):距离矢量;简单的我们可以把距离矢量理解为路牌,我们要到某地去,路牌可以告诉我们前方怎么这么走,当并不能告诉我们前方是否还要经过其他路牌,其他路牌上的信息等;所以我们只有根据路牌到达对应的位置后,在查看其它路牌信息,最终我们是可以根据路牌的指引到达目的地;类比路由器如下图

  提示:当R1要访问subnet X 的时候,如果各个路由器之间都运行的是距离矢量算法的路由协议,那么对于R1来说它只会收到R2,R5和R7发送到路由信息;也就是说R1只知道R2,R5和R7的存在,并不知道其他路由器的存在,而对于R1的选路规则就只有一条,看那个路由器发送过来的路由信息跳数最少,它就选择哪一条;如上图R1要到subnet X ,R1肯定走R7,因为R7告诉R1,走我这里只有2跳;从上述的描述不难想象基于距离矢量算法的路由协议,它并不了解整个网络拓扑结构,它依靠和自己直连的路由器发送过来的路由信息;其次路由器选路是根据对方发送到跳数来进行判别那条路最优,本质上就不是一个好的选路策略;因为判断一条路是否最优并不是只有跳数这一个条件;比如链路的带宽,开销等等都决定了路由是否最优;常见的基于距离矢量算法的路由协议有RIP 、EIGRP;

  LS(link-state)链路状态;从字面上理解,这种算法的路由协议并不是发送的是路由信息,而是描述链路状态的一些信息(LSA链路状态通告),多台路由器根据链路状态通告信息结合spf(shortest path first)z最短路径优先算法计算出对应的路由信息;我们可以理解为现实生活中的地图;lsa就好比交通广播之类的信息,我们可以根据交通广播通告的路况信息,从而知道去某地的路况是否良好,这样走可以最节省时间,路径最短等等;如下图

  提示:R1要访问172.16.3.1/24网络,对于整个网络中的路由器来说,它们都知道R8的存在,因为R8的链路状态通告是全网转发的;并且每台路由器都会发送las告诉其他路由器本路由器可以到达那些网络,链路开销以及状态信息等;所以对于上图的每个路由器来说,他们都分别了解全网大拓扑结构;对于R1来说,它的选路就不是根据其跳数来选,而是根据收到的lsa,根据SPF算法自动算出去往172.16.3.0/24的路由,并存入路由表中;所以基于链路状态结合SPF算法的路由协议相比距离矢量算法的路由协议要更加了解整个网络拓扑结构;常见的路由协议ospf、is-is ;

  路由协议分类:根据发送的更新是否携带掩码

  有类(classful):ip地址的分类默认分为abcde,其中掩码为8的我们称为a类ip地址,掩码为16的是b类,掩码是24的为c类;所谓有类是指发送更新不携带掩码;我们知道一个网络如果不携带掩码我们是不能计算器网络id的,所以这里的不带掩码是指自带默认分类的掩码,如掩码为8/16/24之类的;有类的路由协议有RIPv1、IGRP;

  无类(classless):无类和有类相反,它是不管是默认掩码还是其他什么掩码,它在发送更新时都会携带掩码;无类的路由协议有RIPv2、EIGRP、OSPF、IS-IS、BGP;

  有类和无类的更新

  提示:有类路由协议的更新默认不携带掩码,它只能依靠默认的ABCip地址分类来确定网络,相比无类存在,当一个数据包要去172.16.3.0/24的网络时,对于有类来讲,它只会更新172.16.0.0/16;这样一来对于R2来说不管走哪一边都一样,因为都是172.16.0.0/16(等价路由),这样就可能导致数据包无法到达目标网络的情况;而对于无类路由协议来讲,就不存在上述的问题,因为无类路由协议更新时都会携带掩码,有了掩码就能明确的计算出具体的网络id来;

  路由协议分类:根据业务应用分类

  路由协议操作规则:

  1、协议都是在接口上运行的;对于路由器来讲不同的接口的是一个网络(路由器上的接口不能配置相同的网络),所以具体哪些网络跑什么动态路由协议,都是把对应的动态路由协议跑在对应的接口上(一般不是管理员手动配置在那个接口上,而是根据具体的发布的路由,由路由器自动匹配对应的网络并在所在接口运行动态路由协议);

  2、只能学习和发布相同协议已知的路由信息;这句话的意思是说只有相同路由协议的接口才能互相学习,其次是能学习到对方的路由的前提是,对方明确发布了对应路由对应的网络;

  3、如果不同的路由协议间需要交换路由信息,就需要进行注入(import);如下图

  提示:能够注入的路由器一定是多个接口运行了不同的路由协议;就好比上述的R2,它能懂RIP协议,又懂OSPF协议,所以把ospf注入到rip中去,对应rip协议进程就会有对应ospf进程生成的路由信息,这样一来再由R2的RIP进程所在接口,向R1的RIP进程所在接口进行更新,即R1就能学习到ospf中的路由信息;

  路由器收敛:当所有路由表包含相同网络可达性信息,网络(路由)进入一个稳定状态的过程;网络在达到收敛前是无法完全正常工作的;

  衡量动态路由协议的一些性能指标

HCNA Routing&Switching之动态路由基本概念的更多相关文章

  1. HCNA Routing&Switching之动态路由协议RIP

    前文我们了解了动态路由的基本概念,以及动态路由和静态路由的区别,优缺点,动态路由的分类,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14995317.html ...

  2. HCNA Routing&Switching之静态路由

    前文我们聊到了路由的相关概念和路由基础方面的话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14947897.html:今天我们聊聊静态路由相关话题: 回顾 ...

  3. HCNA Routing&Switching之动态路由协议OSPF基础(一)

    前文我们了解了基于路径矢量算法的动态路由协议RIP防环以及度量值的修改相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15012895.html:今天我 ...

  4. HCNA Routing&Switching之动态路由协议OSPF建立邻居的条件

    前文我们了解了OSPF的router id.数据包结构.类型.不同类型的数据包作用以及OSPF状态机制,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15027 ...

  5. HCNA Routing&Switching之动态路由协议OSPF基础(二)

    前文我们主要了解了OSPF的区域.区域分类.路由器类型.OSPF的核心工作流程,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/15025533.html:今天 ...

  6. HCNA Routing&Switching之动态路由协议OSPF DR和BDR

    前文我们了解了OSPF建立邻居关系的条件,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15032907.html:今天我们来聊一聊OSPF中的DR和BDR: ...

  7. HCNA Routing&Switching之路由基础

    在开始聊路由之前,我们首先要明白在网络通讯里,什么是路由?什么是路由表.路由器以及网关的相关术语:路由简单讲就是指网络数据包从源头到目标的路径,主要用来为不同网络间通讯提供数据包转发依据:路由表就是多 ...

  8. HCNP Routing&Switching之动态路由协议IS-IS基础

    前文我们了解了OSPF的特殊区域相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15236330.html:今天我们来聊一聊另一动态路由协议IS-IS相 ...

  9. HCNA Routing&Switching之VLAN间路由

    前文我们了解了二层交换技术vlan相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15091491.html:今天我们来聊一聊不同VLAN间通信相关话题 ...

随机推荐

  1. lua type 获取 类型

    lua中的类型作一小记 print(type("Hello world")) --> string print(type(10.4*3)) --> number pri ...

  2. JavaSE-QuickStart

    老话常说:基础不牢地动山摇,于是我在b站上看杨中科老师的课程脑补一下,便记录这岁月的点滴 1.什么是编程 ? 编程:编写能够控制计算机来执行特定任务的代码. 2.什么是编程语言 ? 编程语言:是指程序 ...

  3. [leetcode] 116. 填充同一层的兄弟节点

    116. 填充同一层的兄弟节点 其实就是个二叉树的层次遍历 class Solution { public void connect(TreeLinkNode root) { if (root == ...

  4. go语言json技巧

    go语言json技巧 本文总结了在项目中遇到的那些关于go语言JSON数据与结构体之间相互转换的问题及解决办法. 基本的序列化 首先我们来看一下Go语言中json.Marshal()(系列化)与jso ...

  5. python 获取时间范围内日期列表

    python 获取时间范围内日期列表 import datetime def dateRange(beginDate, endDate): dates = [] dt = datetime.datet ...

  6. 如何不做登录请求而获取cookie到Jmeter里

    如何不做登录请求而获取cookie到Jmeter里? 登录被测系统后,按F12,找到如下位置,将这个表格所有信息都复制到Jmeter的HTTP Cookie管理器元件,这样就可以不需要登录,能继续发送 ...

  7. 狂神说JUC学习笔记(二)

    狂神说JUC的原版笔记: 链接:https://pan.baidu.com/s/12zrGI4JyZhmkQh0cqEO4BA 提取码:d65c 我的笔记在狂神的笔记上增加了一些知识点或者做了些许补充 ...

  8. CSS3-过渡、动画、2D与3D

    过渡 过渡属性transition,可适用于大部分属性间变化的过渡,例如长度的.宽度和透明度等等. 语法: transition: property duration timing-function ...

  9. 【NX二次开发】用户出口函数介绍

    用户出口(User Exit)是NX Open 中的一个重要概念.NX在运行过程中某些特定的位置存在规定的出口,当进程执行到这些出口时,NX会自动检查用户是否在此处已定义了指向内部程序位置的环境变量: ...

  10. 05:JS(01)

    内容概要 JavaScript编程语言开头 数值类型 字符类型 布尔值 null与undefined 对象 数组 自定义对象 流程控制 函数 内置对象 时间对象 正则对象 JSON对象 BOM操作(j ...