zoukankan      html  css  js  c++  java
  • 因特网的路由选择协议

    一、基础概念

    1、静态路由 or 动态路由

    • 静态路由

      不是自适应的,需要手动添加路由表。特点:简单,开销小。适用于较小的局域网

    • 动态路由

      自适应的,不需要手动添加路由表。特点:较好的适应网络状态。适用大型网络

    2、自治系统AS(Autonomous System

    ​ 一个AS是一组路由器的集合。这组路由器使用同一个路由选择协议以确定在该AS中的路由。同时还使用一种在AS间的路由选择协议以确定在AS间的路由

    image-20210103093155607

    3、两大路由选择协议

    • 内部网关协议 IGP (Interior Gateway Protocol)

      在一个AS内部使用的路由选择协议。比如 RIP 和 OSPF 协议。

    • 外部网关协议EGP (External Gateway Protocol)

      两AS之间的通信使用的路由选择协议。比如BGP-4。

    二、内部网关协议 RIP(Routing Information Protocol)

    1、概念

    ​ RIP是一种分布式的基于距离向量的路由选择协议。(即如果两点之间经过的路由少,但是很慢,还是会被选为最佳路径

    ​ 定义中的距离是什么?

    从一个路由器到直接连接的网络的距离为1,也称为跳数。每经过一个路由器,跳数就加1

    RIP允许一条路径中最多包含15个路由器,当超过15个时就相当于不可达

    2、RIP的特点

    1、仅和相邻路由器交换信息。

    2、RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录,即都有路由表。 (全部信息,数据量很大)

    3、周期性的交换路由信息(当前自己所有的路由表信息)

    3、路由表的建立

    ​ 1、路由器在刚开始工作时,只知道到直接相连的网络的跳数为1。

    ​ 2、之后,每个路由器会和相邻的路由器周期性的交换路由信息并且更新到自己的路由表中。

    ​ 3、最后,所有的路由器都会知道到本AS中每个目的网络的最短距离和下一跳的地址。

    ​ RIP协议中,每个路由器最终得到目标网络最短距离的过程较快

    4、RIP流程介绍

    image-20210103095057847

    ​ 前提: 网段1的PC0和网段2对的PC1通信

    1、当PC0的数据包发到A时,下一跳可以是D,A就会和D交换路由信息。这样D就在自己的路由表里记下(到网段1下一跳是A)

    2、A的下一跳也可以是B,B同样也会记下到网段1的下一跳是A

    3、那么经过一阵路由交换,就会选择PC0和PC1通信的最短的线路,即ABC

    ​ 此时,3断了,被老鼠啃掉了网线。之前的线路ABC那么就走不通了。

    此时就会切换成ADEF线路

    ​ 当3又被接好网络通了之后,最佳线路又变成了ABC

    5、为什么需要周期性广播?

    image-20210103095720997

    ​ 防止宕机后不是最新的路由信息,保证数据故障后更新最佳路由

    ​ 如果只有第一次 广播了,那么当A宕机后,ABC本来是走不通的。但是由于没有交换最新的路由信息,那么数据还是会走这条线路

    三、内部网关协议OSPF (Open Shortest Path First)

    1、概念

    ​ OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。该协议使用链路状态路由算法的内部网关协议(IGP),在单一自治系统(AS)内部工作

    ​ 进一步说明:

    ​ 每个路由器使用洪泛法向本AS中的其他路由器周期性,交换信息等,最终形成整个AS的网络拓扑结构(最终所有路由器都能建立一个链路状态数据库)。当链路状态发生改变时,再次通过洪泛法交换信息

    交换的信息是什么? 比如当前路由器和哪些路由器相连,相连路由器之间的带宽、时延是多少等

    ​ 拓展:洪泛法

     	 洪泛(mflood)路由算法是一个简单有效的路由算法,其基本思想是每个节点都是用广播转发收到的数据分组,若收到重复分组则进行丢弃处理。
         洪泛协议会导致数据分组以源节点为中心进行扩散,为了不造成大面积的扩散占用过多的网络资源以及使扩散收敛,需要设定合适的TTL值,保证数据分组只经过有限跳路由;
         
         此外为了进行重复分组检测,每个节点需要维护一个数据分组序号SEQ和一张路由表,源节点每发送一个数据分组则将SEQ增1,并将该SEQ添加到数据分组的IP头部,
         其余节点收到数据分组后会将该SEQ记录到路由表并根据该SEQ进行重复分组检测。
         
    洪泛算法最大的问题是会产生大量的重复分组,占用网络资源,使路由器和链路的资源过于浪费,以致效率很低。
    但是洪泛路由算法是一个最简单和最可靠的路由算法,在节点运动剧烈、进出网络频繁变化的场景下,全网洪泛是有效的方式,其具有极好的健壮性,
    可用于军事应用,也可以作为衡量标准评价其他的路由算法。
    

    2、OSPF 的区域(area)

    区域:将一个AS再次划分为多个更小的范围。 一个区域中的路由器最好不要超过200个

    image-20210103105608382

    • 为什么要划分区域

      互不干扰。减少整个网络的通信量,且一个区域的链路状态更改时,不影响其他区域

    3、OSPF 的特点

    1、适合大规模网络,对于路由的跳数没有限制

    2、组播式触发更新:当在收敛完成后,通过触发的方式发送拓扑变化信息给其他路由器

    3、OSPF 还规定每隔一段时间,如 30 分钟,要刷新一次数据库中的链路状态。

    4、由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多。

    4、OSPF流程介绍

    image-20210103110707016

    5、OSPF 分组

    image-20210103111026124

    类型1,问候(Hello)分组。

    类型2,数据库描述(Database Description)分组。

    类型3,链路状态请求(Link State Request)分组。

    类型4,链路状态更新(Link State Update)分组,用洪泛法对全网更新链路状态。

    类型5,链路状态确认(Link State Acknowledgment)分组。

    四、外部网关协议 BGP

    1、概念

    ​ BGP边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议。

    ​ 每个AS的管理员至少要选择一个路由器作为AS的“BGP发言人”

    2、BGP 发言人和自治系统 AS 的关系

    image-20210103111500828

    ​ 两AS的BGP发言人要交换路由信息,首先要建立TCP连接,再交换BGP报文以建立BGP会话,最后交换路由信息

    ​ BGP发言人就是在AS中选出一个代表,来和其他AS之间交换路由信息的

    3、BGP 发言人交换路径向量流程介绍

    ​ 图中主干网AS1连接两个自治系统AS2和AS3,它们分别连接两个区域。

    image-20210103111956604

    ​ 自治系统 AS2 的 BGP 发言人通知主干网的 BGP 发言人:“要到达网络 N1, N2, N3 和 N4 可经过 AS2。

    ​ AS1收到信息后,就向AS2和AS3发送:“到N1,N2,N3,N4” 可沿路径AS1,AS2

    4、BGP 协议的特点

    1、BGP协议支持CIDR

    2、BGP建立时,交换整个路由表但之后只交换变化部分。

    3、BGP 协议交换AS数量级的路由信息。即把AS当成是一个路由

    4、路由选择时,也只是BGP发言人之间的路由选择

    拓展:CIDR

    	CIDR(Classless Inter-Domain Routing,无类域间路由选择)它消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。 CIDR技术用子网掩码中连续的1部份表示网络ID,连续的0部份表示主机ID。
    

    5、BGP-4 共使用四种报文

    • 打开(OPEN)报文,用来与相邻的另一个BGP发言人建立关系。

    • 更新(UPDATE)报文,用来发送某一路由的信息,以及列出要撤消的多条路由。

    • 保活(KEEPALIVE)报文,用来确认打开报文和周期性地证实邻站关系。

    • 通知(NOTIFICATION)报文,用来发送检测到的差错。

    6、BGP 报文格式

    image-20210103112822319

    参考链接:

    https://baike.baidu.com/item/OSPF路由协议/10984752

    https://blog.csdn.net/xu_ya_fei/article/details/46602369


    如果本篇博客有任何错误和建议,欢迎大佬们批评指正

    我是知逆,我们下期见

    Peace

  • 相关阅读:
    Ruby 2
    Ruby 1
    莱布尼兹:与牛顿争吵了一生的斗士 微积分的奠基人之一―莱布尼茨
    如何实现html页面自动刷新
    css z-index的层级关系
    让网页变灰的实现_网站蒙灰CSS样式总汇
    利用CSS变量实现炫酷的悬浮效果
    离线电商数仓(十四)之系统业务数据仓库数据采集(一)电商业务简介
    离线电商数仓(十三)之用户行为数据采集(十三)采集通道启动/停止脚本
    离线电商数仓(十)之用户行为数据采集(十)组件安装(六)采集日志Flume(二)消费Kafka数据Flume
  • 原文地址:https://www.cnblogs.com/mercurytan/p/14225065.html
Copyright © 2011-2022 走看看