路由表:

最佳路由:

“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。

路由算法的分类

  • 静态路由算法(非自适应路由算法) 管理员手工配置路由信息。简便,可靠,在负荷稳定,拓扑变化不大的网络中运行效果很好,广泛用于高度安全性的军事网络和较小的商业网络。但是路由更新慢,不适用大型网络。
  • 动态路由算法(自适应路由算法) 路由器间彼此交换信息,按照路由算法优化出路由表项。路由更新快,适用大型网络,及时响应链路费用或网络拓扑变化。但是算法复杂,增加网络负担。通常被使用。

动态路由算法分类

  • 全局性 链路状态路由算法 OSPF  所有路由器掌握完整的网络拓扑和链路费用信息。
  • 分散性 距离向量路由算法 RIP  路由器只掌握物理相连的邻居及链路费用。

分层次的路由选择协议

  • 因特网规模很大
  • 很多单位不想让外界知道自己的路由选择协议,但还想连入因特网

自治系统AS:

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

一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。

路由选择协议

  • 内部网关协议IGP      一个AS内使用的    RIP,OSPF
  • 外部网关协议EGP    AS之间使用的    BGP-4

内部网关协议 --- RIP

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

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

距离:

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

信息交换:

  • 仅和相邻路由器交换信息
  • 路由器交换的信息是自己的路由表
  • 每30秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过180s没收到邻居路由器的通告,则判定邻居没了,并更新自己的路由表

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

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

距离向量算法

RIP报文,包含路由表的全部信息。相邻两个路由器交换路由表信息是通过RIP报文传递的。

以下是距离向量算法的过程:

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

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

2.1 如果路由表中没有RIP报文中的网络,则直接把该项目填入路由表

2.2 如果路由表中有RIP报文中的网络,则查看下一跳路由器地址:

2.2.1 如果下一跳就是发来RIP报文的路由器,则用收到的项目替换源路由表中的项目

2.2.2 如果下一跳不是发来RIP报文的路由器,原来距离比最新距离远则更新,否则不作处理

3. 若180s还没有收到相邻路由器的更新路由表,则把该路由器记为不可达的路由器,则把距离设置为16

4. 返回

RIP协议的报文

格式:

特点:

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

内部网关协议 --- OSPF

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

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

OSPF的特点:

  • 使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器。最终整个区域内所有路由器都得到了这个信息的一个副本。
  • 发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价 --- 费用,距离,时延,带宽等)。
  • 只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此信息。

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

链路状态路由算法

  1. 每个路由器发现它的邻居结点HELLO问候分组,并了解邻居结点的网络地址。
  2. 设置到它的每个邻居的成本度量metric
  3. 构造DD数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
  4. 如果DD分组中的摘要自己都有,则邻站不作处理;如果有没有的或者是更新的,则发送LSR链路状态请求分组,请求自己没有的和比自己更新的信息。
  5. 收到邻站的LSR分组后,发送LSU链路状态更新分组进行更新。
  6. 更新完毕后,邻站返回一个LSAck链路状态确认分组进行确认。

只要一个路由器的链路状态发生变化:

  1. 泛洪发送LSU链路状态更新分组进行更新。
  2. 更新完毕后,其他站返回一个LSAck链路状态确认分组进行确认。
  3. 使用Dijkstra根据自己的链路状态数据库构造到其他结点间的最短路径。

OSPF的区域

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

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

OSPF分组

与RIP分组不同(RIP使用UDP发送),OSPF分组用IP数据报传送。

OSPF协议其他特点

  • 每个30min,要刷新一次数据库中的链路状态。
  • 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好很多。
  • OSPF不存在坏消息传的慢的问题(对比RIP),它的收敛速度很快。

外部网关协议 --- BGP

与其它AS的邻站BGP发言人交换信息。

交换的网络可达性的信息,即要到达某个网络所要经过的一系列AS。

发生变化时更新有变化的部分。

BGP协议交换信息的过程

BGP所交换的网络可达性的信息就是要到达某个网络索要经过的一系列AS。当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各AS的较好路由。

BGP协议报文格式

一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,即通过TCP传送,然后在此连接上交换BGP报文以建立BGP会话,利用BGP会话交换路由信息。

BGP协议特点

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

BGP-4的四种报文

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

内部网关协议RIP,OSPF与外部网关协议BGP对比

RIP是一种分布式的基于距离向量的内部网关路由协议,通过广播UDP报文来交换路由信息。

OSPF是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不适用传输层协议(如UDP或TCP),而是直接采用IP。

BGP是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP。

计算机网络 --- 网络层路由算法与路由协议相关推荐

  1. 4.2 路由算法与路由协议概述

    4.2 路由算法与路由协议概述

  2. 4.2路由算法与路由协议概述

    4.2路由算法与路由协议概述 文章目录 4.2路由算法与路由协议概述 1.路由算法 2.路由算法的分类 3.分层次的路由选择协议 1.路由算法 2.路由算法的分类 3.分层次的路由选择协议

  3. 【学习笔记】路由算法与路由协议:RIP协议与距离向量算法、OSPF协议与链路状态算法、BGP协议

    文章目录 一. 路由算法与路由协议概述 ① 路由算法的分类 ② 分层次的路由选择协议 二. RIP协议和距离向量算法 ① RIP协议定义 ② RIP协议:交换对象.交换周期.交换内容 ③ 距离向量算法 ...

  4. 【计算机网络】网络层 : 路由算法 ( 路由算法分类 | 静态路由算法 | 动态路由算法 | 全局性动态路由算法 | 分散性动态路由算法 | 分层次路由选择协议 )

    文章目录 一.路由算法 二.路由算法 分类 三.静态路由算法 四.动态路由算法 五.动态路由算法 分类 六.分层次的路由选择协议 一.路由算法 路由算法 : 选择数传输的 "最佳路由&quo ...

  5. 计算机网络(二十四)-路由算法及路由协议

    1.1 路由算法 将最优的路径填入路由转发表. 1.2 路由算法分类 静态路由算法(非自适应路由算法):管理员手动配置路由信息. 简便.可靠,在负载稳定.拓扑变化不大的网络中运行效果很好,广泛用于高度 ...

  6. 计算机网络路由讲解,计算机网络:路由算法详解(网络层)

    路由算法 路由表对于路由器的重要性不言而喻,维护一个高效的路由表则是路由器提高性能的主要方式. 路由算法将网络抽象成一张无向带权图(数据结构概念),将路由器抽象为节点,路由器间的连接关系抽象为边.图的 ...

  7. 路由算法及路由协议(详解)

    一.路由算法 最佳路由:"最佳"只能是相对于某一种特定要求下得出的较为合理的选择而已. 二.路由算法的分类 三.分层次的路由选择协议 为什么要采用分层次的路由选择协议呢? 因特网规 ...

  8. 二十八、路由算法和路由协议

    文章目录 1.路由算法 2.路由选择协议 THE END 1.路由算法 \qquad 路由器本身自己会有一个路由表/转发表,其形式如下所示: \qquad 最佳路由: "最佳"只能 ...

  9. 4.2.1 路由算法与路由协议概述(静态路由和动态路由---距离-向量路由算法---链路状态路由算法、层次路由)

    文章目录 0.思维导图 1.路由算法分类与路由表 2.静态路由和动态路由 3.动态路由的两种算法:链路状态路由算法和距离向量路由算法 4.层次路由 0.思维导图 1.路由算法分类与路由表 路由器转发分 ...

最新文章

  1. 对部门的建议和期待怎么写_教学反思到底该怎么写?这些要点一个都不能少(建议收藏)...
  2. Segment Tree
  3. gdb 调试_GDB调试指南-源码查看
  4. ./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No suc
  5. 【codevs2039】骑马修栅栏,欧拉回路
  6. 德鲁伊 oltp oltp_深入研究内存中OLTP表的哈希索引
  7. ServletResponse的getOutputStream()与getWriter()使用冲突
  8. 经纬度转换为三维坐标
  9. 深入dwr2-commet模式
  10. 火狐受信任站点设置_火狐浏览器如何添加信任站点?添加信任站点的方法说明...
  11. 360隐私保护器直指腾讯QQ 360真的发飙了,百度旁观!
  12. 有孚网络与中国科学院虚拟经济与数据科学研究中心签署战略合作协议,推动行业智能化转型加速发展
  13. 华硕重装后进入bios_华硕笔记本重装系统时新bios无法设置u盘启动怎么办
  14. CSDN浏览器插件评测
  15. arduino摄像头监控_如何使用Arduino和Pusher制作实时光监控器
  16. 微型计算机的计算器,微机简单计算器程序设计
  17. 无线网络现状与发展趋势
  18. python求一元三次方程的根_1.七年级数学:求两车多少小时后相遇?一元一次方程应用题,行程相遇问题...
  19. react路由跳转之后回到页面顶部
  20. 腾讯广点通深度用户挖掘与精准广告定向

热门文章

  1. linux网络包截获,用C实现截获网络数据包
  2. 中柏平板u盘启动_中柏电脑如何设置BIOS U盘启动
  3. 海上瓶子下有东西吗_洗衣液瓶子我从来不扔,瓶身这样剪几刀,解决了很多家庭的大烦恼...
  4. vue 找回密码_vue实现个人信息查看和密码修改功能
  5. Windows下安装scikit-learn
  6. Python 学习编程 【for语句breakcontinue语句使用】(一)
  7. mysql一对多增删改查_SpringBoot+MySql+ElementUI实现一对多的数据库的设计以及增删改查的实现...
  8. Java反射基础(一)--Class对象获取
  9. java nio doug_深入的聊聊 Java NIO
  10. 现代软件工程 结对编程 (II) 电梯调度