• 计算机网络-网络层(路由协议,自治系统,域内路由与域间路由(IGP,EGP)RIP协议与距离向量算法,OSPF协议与链路状态算法)


    1. 自治系统

    自治系统(AS):单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同的度量来确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议来确定分组之间的路由。

    一个自治系统内的所有网络都在一个行政单位(一家公司或大学)管辖,一个自治系统的所有路由器在本自治系统内部都必须是连通的。

    2. 域内路由与域间路由

    自治系统的路由选择称为域内路由选择,自治系统之间的路由选择称为域间路由选择。

    1. 内部网关协议IGP:在一个自治系统内部使用的路由选择协议,它与互联网中其他自治系统使用什么协议无关。eg:RIP,OSPF协议

    2. 外部网关协议EGP:不同自治系统中,当数据报传到另一个自治系统边界时,需要一种协议将路由1选择信息传递到另一个自治系统中,这样的协议就称为EGP。eg:BGP-4

    3. RIP协议与距离向量算法

    RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。

    RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)。

    距离:通常为跳数,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。
    特别的,从一路由器到直接连接的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。
    所以RIP协议适合小型网络

    RIP协议的路由器的路由表保存了目的网络和这个路由器到目的网络的距离+下一跳交付的路由器。

    这个路由表是通过RIP协议建立的。

    1. RIP协议仅和相邻的路由器交换信息。
    2. 路由器交换的信息是自己的路由表。
    3. 每30秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过180s没收到相邻的路由器的通告,则判定相邻路由器丢失,并更新自己路由表。

    路由器刚开始工作时,只知道直接连接的网络的距离(距离为1),接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。

    经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即收敛

    距离向量算法:

    1. 修改相邻路由器发来的RIP报文中所有表项

      对地址为x的相邻路由器发来的RIP报文,修改此报文中的所有项目:把"下一跳"字段中的地址改为x,并把所有的"距离"字段+1。

    2. 对修改后的RIP报文中的每一个项目,进行以下步骤:

      1)当前路由表中若没有某个网络,则把该项目填入该路由表

      2)当前路由表中若有某个网络,则查看下一跳路由器地址:

       若下一跳是x,则用收到的项目替换源路由表中的项目(最新消息需要及时更新)
       
       若下一跳不是x,原来距离比从x走的距离远则更新,否则不作处理。
       (比较路由表中的跳数信息)
      
      • 1
      • 2
      • 3
      • 4
    3. 若180s还没收到相邻路由器x的更新路由表,则把x记为不可达的路由器,即把距离设置为16.

    4. 每30s循环执行上述三步。

    RIP协议的报文格式:(了解)
    在这里插入图片描述
    RIP报文为首部+路由部分,将这个数据报塞进UDP用户数据报中。

    • RIP是应用层协议,使用UDP传送数据。
    • 一个RIP报文最多可包括25个路由信息,如超过,必须再用一个RIP报文传送。

    RIP协议的特点:“好消息传的块,坏消息传的慢”

    当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器,“慢收敛”
    
    • 1

    4. OSPF协议与链路状态算法

    开放最短路径优先OSPF协议:

    1. "开放"标明OSPF协议不是受某一家厂商控制,而是公开发表的;
    2. 最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。

    OSPF最主要的特征就是使用分布式的链路状态协议。

    在OSPF协议中:

    1. 路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器。(使用洪泛法向自治系统内所有路由器发送信息)
    2. 发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器与哪些路由器相邻,以及该链路的度量/代价、费用、距离、时延、带宽等)。
    3. 只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此信息。

    最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图。

    链路状态路由算法:

    1. 每个路由器发现它的邻居结点(发送HELLO问候分组),并了解邻居节点的网络地址。

    2. 设置到它的每个邻居的成本度量metric。

    3. 构造(DD数据库描述分组),向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息

    4. 如果DD分组中的摘要邻站路由器都有,则邻站不做处理;

      如果有没有的或者是更新的,则发送LSR链路状态请求分组,请求自己没有的和比自己更新的信息。

    5. 收到邻站的LSR分组后,发送LSU链路状态更新分组进行更新。

    6. 更新完毕后,邻站返回一个LSACK链路状态确认分组进行确认。

      只要一个路由器的链路状态发生变化,就要泛洪发送LSU链路状态更新分组,进行更新。

      更新完毕后,其他站返回一个【LSAck链路状态确认分组】进行确认。

    7. 使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径。

    为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域。每一个区域都有一个32位的区域标识符(用点分十进制表示)。

    区域也不能太大,在一个区域内的路由器最好不超过200个。

    主干区域为0.0.0.0:连通其他下层区域的路由器。

    • 主干区域的路由器都是主干路由器
    • 主干区域边界的路由器连接主干区域和其他区域的路由器称为区域边界路由器
    • 主干区域与自治系统外部的网络连接的路由器称为自治系统边界路由器。
    • 普通的下层区域之间的路由器称为区域内部路由器。

    OSPF的分组:

    在这里插入图片描述

    • OSPF直接用IP数据报传送。
    • OSPF在考纲上是网络层协议。

    总结OSPF特点:

    1. 每隔30min,要刷新一次数据库中的链路状态。
    2. 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF 协议要比距离向量协议RIP好得多。
    3. OSPF不存在坏消息传的慢的问题,它的收敛速度很快。
  • 相关阅读:
    最全沟通技巧
    (二)Three光线检测-实现摄像机向鼠标点击位置滑动动画
    水声功率放大器的应用场景是什么
    一些优雅的算法(c++)
    1. Vue项目中element-ui版本进行升级
    使用WordPress搭建一个专属自己的博客
    MyBatis教程
    Redis之事务
    SAP MDG —— MDG on S/4HANA 2022 创新汇总(Central Governance)
    【学习笔记】Python 使用 matplotlib 画图
  • 原文地址:https://blog.csdn.net/dodamce/article/details/127824943