路由协议

一、自治系统

  • 产生分层次的路由选择协议原因
      1. 因特网规模很大(如果要让所有路由器都知道所有网络怎样到达的话,那么路由表将会异常庞大,处理也很花时间,不现实)
      1. 许多单位不想让外界知道自己的路由选择协议,但还想连入因特网
  • 自治系统AS-Autonomous System
    • 王道:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。
    • 百度百科:一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个LAN上,同时也连到Internet上;它可以是一个由企业骨干网互连的多个局域网。在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,同时分配同一个自治系统编号。自治系统之间的链接使用外部路由协议,例如BGP。

二、域内路由与域间路由

  • 路由选择协议分为
  • 内部网关协议IGP-Interior Gateway Protocol:一个AS内使用,有RIP、OSPF
  • 外部网关协议EGP-Exterior Gateway Protocol:AS之间使用,有BGP

如上图,两个自治系统A,B也叫两个单位,两个路由器就叫域间路由,而一个自治系统内部的路由就叫域内路由

三、RIP 路由协议

    1. RIP(Routing Information Protocol, 路由信息协议)是一种分布式的基于距离向量(路由表的每个表项都记录了到某网络的距离即跳数,所有表项组合看起来就是一个距离向量)的路由选择协议,是因特网的协议标准,最大优点是简单
    1. RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录
    1. 距离:通常为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1.特别的,从一路由器到直接连接的网络距离为1.RIP允许一条路由最多只能包含15个路由器,因此距离为>16表示网络不可达,RIP协议只适用于小互联网 如上图,标明了网络的拓扑结构和R2路由表的关系
    1. RIP协议和谁交换?多久交换一次?交换什么?
    • ①仅和相邻路由器交换信息
    • ②路由器交换的信息是自己的路由表
    • 每30秒交换一次路由信息,然后根据新信息更新路由表。若超过180s没收到相邻路由器的通告,则判定邻居没了,并更新自己的路由表
    • 路由器刚开始工作时,只知道直接相连的网络的距离为1,接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即"收敛"
    1. RIP协议的报文格式(RIPv2) RIP报文详细信息参
    1. RIP好消息传的块,坏消息传的慢
    • 好消息传的块:如果一个路由器发现了更短的路由,那么更新信息传播的很快
    • 坏消息传的慢:当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器,即“慢收敛”,如下例 正常网络 出现故障网络:网络1出现故障导致R1不可达,R1表项更新为1 16 -,若R1更新后的表项还未来得及发给R2,而R2先将自己的表项1 2 R1发给了R1,意思说自己能通过R1到网络1,R1信了于是将自己的表项改成可通过R2到网络1(R1不可到网络1但R2可以到说明相对于R1来说R2发过来的是好消息,立即更新),即1 3 R2,因此两路由器不断交换信息直到距离网络1都为16时才知道网络1不可达(要循环这么久才知道这个坏消息),如下图

四、OSPF 路由协议

    1. 开放最短路径优先(Open Shortest Path First)OSPF协议:“开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的:"最短路径优先"是因为使用了Dijkstra使用的最短路径算法SPF。OSPF最主要的特征就是使用分布式的链路状态协议
    1. OSPF的特点
    • 和谁交换信息:使用泛洪法向自治区域内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往所有的相邻路由器,最终整个区域内所有路由器都得到了这个信息的一个副本
    • 交换什么:发送的信息就是本路由器相邻的所有路由器的链路状态(包括本路由器和哪些路由器相邻,以及该链路的度量/代价--包括费用、距离、时延、带宽等)
    • 多久交换:只有当链路状态发生变化时,路由器才向所有路由器泛洪发送此信息
    1. 交换最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图
    1. OSPF的区域:为了使OSPF能够用于规模很大的网络(当链路状态发送变化时,要泛洪给所有路由器,网络规模大时效率低,所有以考虑划分区域),OSPF将一个自治系统再划分为若干个更小的范围,叫做区域。每个区域都有一个32位的区域标识符(用点分十进制表示)。区域也不能太大,在一个区域内的路由器最好不超过200个 如图,自治系统AS被分为若干区域,其中有一个主干区域(标识符规定为0.0.0.0),连接着该自治系统的其他区域和其他自治系统。主干区域的路由器叫做主干路由器(包括与其他区域相连的区域边界路由器R3,R4,R7和与其他自治系统相连的自治系统边界路由器R6)
    1. OSPF分组格式 考纲中把OSPF归为网络层协议
    1. OSPF其他特点:
    • 每隔30min,要刷新一次数据库中的链路状态
    • 由于一个路由器的链路状态只涉及到与相连路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好得多
    • OSPF不存在坏消息传得慢的问题,它的收敛速度很快(RIP协议收到消息后先和自己的路由表进行对照,对照后才能确定到某网络的最短距离和下一跳路由器,而OSPF协议省去了这一步,直接将收来的更新的数据放入自己的数据库,然后根据Dijkstra算法找到最短路径)

五、BGP 路由协议

  • BGP协议(Border Gateway Protocol,边界网关协议)

      1. 和谁交换:与其他AS的领站BGP发言人(BGP边界路由器)交换信息
      1. 交换什么:交换网络可达性的信息,即要到达某个网络所要经过的一系列AS
      1. 多久交换:发生变化时更新有变化的部分
  • BGP协议交换信息的过程

    • BGP所交换的网络可达性的信息就是要到达某个网络所要经过的一系列AS。当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各AS的较好路由
      上图即为一个BGP发言人所构造的一个自治系统连通图,为树形结构保证了没有环
    • BGP发言人交换路径向量
      • 自治系统的BGP发言人通知主干网的BGP发言人:"要到达网络N1,N2,N3,N4,可经过"

      • 主干网还可以发出通知,"要到达网络N5、N6和N7可沿路径(,)"

  • BGP协议报文格式 一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,即通过TCP传送,然后在此连接上交换BGP报文以建立BGP会话(session),利用BGP会话交换路由信息 ![](D:/图片/163.png 由图中可以看出BGP是应用层协议,借助TCP传送

  • BGP协议特点:

      1. BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列
      1. 在BGP刚刚运行时,BGP的领站是交换整个的BGP路由表,但以后只需要在发生变化时更新有变化的部分。这样对节省网络带宽和减少路由器的处理开销都有好处
  • BGP-4的四种报文

      1. open(打开)报文:用来与相邻的另一个BGP发言人建立关系,并认证发送方
      1. UPDATE(更新)报文:通告新路径或撤销原路径
      1. KEEPALIVE(保活)报文:在无UPDATE时,周期性证实领站的连通性,也作为OPEN的确认
      1. NOTIFICATION(通知)报文:报告先前报文的差错,也被用于关闭连接
  • RIP,OSPF,BGP三种协议比较

    • RIP是一种分布式的基于距离向量的内部网关路由选择协议,通过广播UDP报文来交换路由信息
    • OSPF是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不适用传输层协议(UDP,TCP),而是直接采用IP
    • BGP是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP
    协议RTPOSPFBGP
    类型内部内部外部
    路由算法距离-向量链路状态路径-向量
    传递协议UDPIPTCP
    路径选择跳数最少代价最低较好,非最佳
    交换结点和本结点相邻的路由器区域内的所有路由器和本结点相邻的路由器
    交换内容当前本路由器知道的全部信息,即自己的路由表与本路由器相邻的所有路由器的链路状态首次整个路由表
    非首次有变化的部分

本文章使用limfx的vscode插件快速发布