简要介绍路由表以及路由表的生成

来源:互联网 发布:计算机应用与软件期刊 编辑:程序博客网 时间:2024/06/11 20:20

路由表:

路由表是指路由器或者其他互联网网络设备上存储的一张路由信息表,该表中存有到达特定网络终端的路径,在某些情况下,

还有一些与这些路径相关的度量。

【简介】

在计算机网络中,路由表或称路由择域信息库(RIB)是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。
由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表中含有网络周边的拓扑信息。路由表建立
的主要目标是为了实现路由协议和静态路由选择。
在现代路由器构造中,路由表不直接参与数据包的传输,而是用于生成一个小型指向表,这个指向表仅仅包含由路由算法选择的
数据包传输优先路径,这个表格通常为了优化硬件存储和查找而被压缩或提前编译。
【主要工作】
路由器的主要工作就是为经过路由器的每个数据包寻找一条最佳的传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略
即路由算法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路由表(Routing Table),供路由选择时
使用,表中包含的信息决定了数据转发的策略。打个比方,路由表就像我们平时使用的地图一样,标识着各种路线,路由表中保存着子网的标志
信息、网上路由器的个数和下一个路由器的名字等内容。路由表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动
调整,也可以由主机控制。
1.静态路由表
由系统管理员事先设置好固定的路由表称之为静态(static)路由表,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络
结构的改变而改变。
2.动态路由表
动态(Dynamic)路由表是路由表根据网络系统的运行情况而自动调整的路由表。路由器根据路由原则协议(Routing Protocol)提供的功能,自
动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。
路由器通常依靠所建立及维护的路由表来决定如何转发。路由表能力是指路由表内所容纳路由表项数量的极限。由于Internet上执行BGP协议的路
由器通常拥有数十万条路由表项,所以该项目也是路由器能力的重要体现。
【路由表项】
路由表项内容包括:
  • destination mask pre costdestination:目的地址,用来标识IP包的目的地址或者目的网络。
  • mask:网络掩码,与目的地址一起标识目的主机或者路由器所在的网段的地址。
  • pre:标识路由加入IP路由表的优先级。可能到达一个目的地有多条路由,但是优先级的存在让他们先选择优先级高的路由进行利用。
  • cost:路由开销,当到达一个目的地的多个路由优先级相同时,路由开销最小的将成为最优路由。
  • interface:输出接口,说明IP包将从该路由器哪个接口转发。
  • nexthop:下一跳IP地址,说明IP包所经过的下一个路由器。
【路由分类】

1.静态路由表

静态路由是由管理员在路由器中手动配置的固定路由,路由明确地指定了包到达目的地必须经过的路径,除非网络管理员干预,否则静态路由不会
发生变化。静态路由不能对网络的改变作出反应,所以一般说静态路由用于网络规模不大、拓扑结构相对固定的网络。
特点:
1、它允许对路由的行为进行精确的控制
2、减少了网络流量
3、是单向的
4、配置简单

2.动态路由表

动态路由表是指动态路由协议(如RIP)自动建立路由表,当你去掉一条连线时,它会自动去掉其路由。路由器的每一个接口对应不同网络,而一条
连接两个路由器连线的两个端点IP应该属于同一网络。 设置的IP地址时,如果路由器的其它端口已有这个网络了,则提示已有这个网络,并显示对
应的端口。
特点:
1、节点增删时工作量少
2、网络拓扑变化,协议自动调整
3、配置不易出错
4、对网络扩容性好
5、需要占用路由器资源
【典型算法】

LS算法
采用LS算法时,每个路由器必须遵循以下步骤:
1、确认在物理上与之相连的路由器并获得它们的IP地址。当一个路由器开始工作后,它首先向整个网络发送一个“HELLO”

分组数据包。每个接收到数据包的路由器都将返回一条消息,其中包含它自身的IP地址。

2、测量相邻路由器的延时(或者其他重要的网络参数,比如平均流量)。为做到这一点,路由器向整个网络发送响应分组数

据包。每个接收到数据包的路由器返回一个应答分组数据包。将路程往返时间除以2,路由器便可以计算出延时。(路程往返时

间是网络当前延迟的量度,通过一个分组数据包从远程主机返回的时间来测量。)该时间包括了传输和处理两部分的时间——也就是将分组数据包发送到目的地的时间以及接收方处理分组数据包和应答的时间。
3、向网络中的其他路由器广播自己的信息,同时也接收其他路由器的信息。
在这一步中,所有的路由器共享它们的知识并且将自身的信息广播给其他每一个路由器。这样,每一个路由器都能够知道网络的结构以及状态。
4、使用一个合适的算法,确定网络中两个节点之间的最佳路由。
在这一步中,路由器选择通往每一个节点的最佳路由。它们使用一个算法来实现这一点,如Dijkstra最短路径算法。在这个算法

中,一个路由器通过收集到的其他路由器的信息,建立一个网络图。这个图描述网络中的路由器的位置以及它们之间的链接关

系。每个链接都有一个数字标注,称为权值或成本。这个数字是延时和平均流量的函数,有时它仅仅表示节点间的跃点数。例

如,如果一个节点与目的地之间有两条链路,路由器将选择权值最低的链路。



Dijkstra算法
Dijkstra算法执行下列步骤:

1、路由器建立一张网络图,并且确定源节点和目的节点,在这个例子里我们设为V1和V2。然后路由器建立一个矩阵,称为“

邻接矩阵”。在这个矩阵中,各矩阵元素表示权值。例如,[i, j]是节点Vi与Vj之间的链路权值。如果节点Vi与Vj之间没有链路直

接相连,它们的权值设为“无穷大”。
2、路由器为网路中的每一个节点建立一组状态记录。此记录包括三个字段:
前序字段——表示当前节点之前的节点。
长度字段——表示从源节点到当前节点的权值之和。
标号字段——表示节点的状态。每个节点都处于一个状态模式:“永久”或“暂时”。
3、路由器初始化(所有节点的)状态记录集参数,将它们的长度设为“无穷大”,标号设为“暂时”。
4、路由器设置一个T节点。例如,如果设V1是源T节点,路由器将V1的标号更改为“永久”。当一个标号更改为“永久”后,

它将不再改变。一个T节点仅仅是一个代理而已。
5、路由器更新与源T节点直接相连的所有暂时性节点的状态记录集。
6、路由器在所有的暂时性节点中选择距离V1的权值最低的节点。这个节点将是新的T节点。
7、如果这个节点不是V2(目的节点),路由器则返回到步骤5。
8、如果节点是V2,路由器则向前回溯,将它的前序节点从状态记录集中提取出来,如此循环,直到提取到V1为止。这个节点

列表便是从V1到V2的最佳路由。



链路向量选路算法
链路状态算法(也称最短路径算法)发送路由信息到互联网上所有的结点,然而对于每个路由器,仅发送它的路由表中描述了其

自身链路状态的那一部分。

距离向量算法
距离向量算法(也称为Bellman-Ford算法)则要求每个路由器发送其路由表全部或部分信息,但仅发送到邻近结点上。从本

质上来说,链路状态算法将少量更新信息发送至网络各处,而距离向量算法发送大量更新信息至邻接路由器。 ——由于链路状

态算法收敛更快,因此它在一定程度上比距离向量算法更不易产生路由循环。但另一方面,链路状态算法要求比距离向量算法

有更强的CPU能力和更多的内存空间,因此链路状态算法将会在实现时显得更昂贵一些。



原创粉丝点击