域内路由计算

域内的路由计算只是单区域内的路由计算,对于区域0,或者其他区域,只要是单区域的就适合域内路由计算。

当一台路由器运行了ospf,并且将接口宣告进了该ospf后,该接口就会生成链路状态LS,将这些链路状态放进LSA中,形成链路状态通告信息。

OSPF--域内路由计算_Data

LSA的头部信息:
  Type   : Router   LSA的类型,使用router表示1类LSA,用于描述路由器自身直连的链路状态
  Ls id  : 1.1.1.1  表示该LSA的名字,在1类LSA中,表示该路由器的router-id
  Adv rtr: 1.1.1.1  表示该LSA的始发者,产生这条LSA的路由器router-id
 =======上面这3条是LSA的识别3要素================
 Ls age : 10       老化时间
  Len    : 60       报文长度
  Options:  E       特殊区域标识
  seq#   : 80000006 序列号
  chksum : 0x1ca2   检验和
LS描述信息:
在1类LSA中使用4种link-type来描述链路状态:
1、当link-type为StubNet:用于描述一条路由信息(叶子)
 Link ID: 1.1.1.1      用于描述这条路由信息的网络号 
 Data   : 255.255.255.255 用于描述这条路由信息的网络掩码
 Metric : 0            用于描述该路由器到达这个目的网络的开销值
    
2、当link-type为P-2-P:用于描述直连链路上网络类型为P2P或者P2MP的邻居(树干) 
Link ID: 2.2.2.2      用于描述该邻居路由器的router-id  
Data   : 12.1.1.1     用于描述本路由器链接该邻居的接口IP地址        
Metric : 1562        用于描述本路由器到达该邻居的开销值

3、当link-type为TransNet:用于描述直连链路上网络类型为广播或者NBMA的邻居
Link ID: 192.168.1.4   用于描述伪节点信息,使用DR的接口IP地址来充当
Data   : 192.168.1.2   用于描述自身直连的伪节点的接口IP地址
Metric : 1             用于描述本路由器到达伪节点的开销值
2类LSA
  Type      : Network              LSA类型,使用network表示2类LSA,用来描述伪节点的信息
  Ls id     : 192.168.1.2          链路状态ID,也就是LSA的名字,在2类LSA中,使用DR接口的IP地址充当
  Adv rtr   : 2.2.2.2              通告者,2类LSA使用DR接口所在路由器的router-id充当
  Ls age    : 263                  老化时间
  Len       : 36                   报文长度
  Options   :  E                   特殊区域标识
  seq#      : 80000003             序列号
  chksum    : 0x5c5f               校验和
  Net mask  : 255.255.255.0        网络掩码,2类LSA不仅描述邻居信息(树干),同时还描述一个路由信息(叶子)  
  Priority  : Low
     Attached Router    2.2.2.2    用于描述该伪节点直连的邻居信息(树干)
     Attached Router    3.3.3.3    用于描述该伪节点直连的邻居信息(树干)
     Attached Router    4.4.4.4    用于描述该伪节点直连的邻居信息(树干)

让我们来以R1为根做一下SPF计算。

OSPF--域内路由计算_链路_02

OSPF--域内路由计算_域内路由_03

OSPF--域内路由计算_IP_04

可以看到R1上有7条路由信息。其中有router和network。

先来看1.1.1.1

OSPF--域内路由计算_IP_05

有2个树干3.3和12.2 ,比较下谁的总开销小就花谁

OSPF--域内路由计算_IP_06

再看12.2

OSPF--域内路由计算_域内路由_07

OSPF--域内路由计算_Data_08

接下来看2.2 比较下开销值大小后选择10.1.253.2画上

OSPF--域内路由计算_IP_09

OSPF--域内路由计算_域内路由_10

看10.1.253.2 发现候选列表3.3.3.3有2个 比较开销值 选择小的优先

OSPF--域内路由计算_域内路由_11

OSPF--域内路由计算_域内路由_12

看3.3和5.5 发现3.3上面已经没有树干了。5.5上面有个4.4和2.2上面的4.4pk下比较开销值

OSPF--域内路由计算_IP_13

OSPF--域内路由计算_IP_14

OSPF--域内路由计算_IP_15

上面树干算完 下面我们开始画叶子

OSPF--域内路由计算_链路_16

OSPF--域内路由计算_Data_17

OSPF--域内路由计算_域内路由_18

OSPF--域内路由计算_域内路由_19

OSPF--域内路由计算_链路_20

OSPF--域内路由计算_域内路由_21

OSPF--域内路由计算_Data_22

然后根据开销值算出最优路径

OSPF--域内路由计算_链路_23

OSPF--域内路由计算_链路_24

那么加表到路由表中有那些呢?

OSPF--域内路由计算_域内路由_25

你会发现少了1.1和10.1.12和10.1.13 这是因为是直连接口,优先级比较大,在路由表中加表原则中造成的。