前文我们了解了静态路由的相关话题,回顾请参考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. Qt 设置窗体透明

    一.前言 在音频开发中,窗体多半为半透明.圆角窗体,如下为Qt 5.5 VS2013实现半透明方法总结. 二.半透明方法设置 1.窗体及子控件都设置为半透明 1)setWindowOpacity(0. ...

  2. 数据流分析软件SQLFlow的工作原理

    SQLFlow是一个可视化的在线处理SQL对象依赖关系的工具,只需要上传你的SQL脚本,它可以自动分析SQL里的数据对象,包括database.schema.table.view.column.pro ...

  3. AtCoder Regular Contest 119 C - ARC Wrecker 2(同余定理+思维)

    Problem Statement There are NN buildings along the AtCoder Street, numbered 11 through NN from west ...

  4. 安装spark 报错:java.io.IOException: Could not locate executable E:\hadoop-2.7.7\bin\winutils.exe

    打开 cmd 输入 spark-shell 虽然可以正常出现 spark 的标志符,但是报错:java.io.IOException: Could not locate executable E:\h ...

  5. NVIDIA DGX SUPERPOD 企业解决方案

    NVIDIA DGX SUPERPOD 企业解决方案 实现大规模 AI 创新的捷径 NVIDIA DGX SuperPOD 企业解决方案是业界首个支持任何组织大规模实施 AI 的基础架构解决方案.这一 ...

  6. PyTorch 自动微分

    PyTorch 自动微分 autograd 包是 PyTorch 中所有神经网络的核心.首先简要地介绍,然后将会去训练的第一个神经网络.该 autograd 软件包为 Tensors 上的所有操作提供 ...

  7. nvGRAPH原理概述

    nvGRAPH原理概述 nvGRAPH的API参考分析. 简介 数据分析是高性能计算的不断增长的应用.许多高级数据分析问题可以称为图形问题.反过来,当今许多常见的图形问题也可以称为稀疏线性代数.这是N ...

  8. GPU上如何优化卷积

    GPU上如何优化卷积 本文将演示如何在TVM中编写高性能卷积实现.我们以平方大小的输入张量和滤波器为例,假设卷积的输入是大批量的.在本例中,使用不同的布局来存储数据,以实现更好的数据局部性.缓冲区布局 ...

  9. JMeter执行方式

    JMeter执行方式有2种,一种是GUI模式,一种是NO-GUI模式. GUI模式就是界面模式,如下: NO-GUI模式就是命令行模式. 界面模式主要用来编写和调试脚本用的,项目的真正执行最好是采用命 ...

  10. 理解Spring:AOP的原理及手动实现

    引入 到目前为止,我们已经完成了简易的IOC和DI的功能,虽然相比如Spring来说肯定是非常简陋的,但是毕竟我们是为了理解原理的,也没必要一定要做一个和Spring一样的东西.到了现在并不能让我们松 ...