OSPF的不规则区域
OSPF区域划分的要求:
- 区域之间的存在ABR
- 区域划分必须按照星型拓扑结构来划分
而OSPF不规则区域划分有两种情况:远离骨干的非骨干区域和不连续骨干区域
1.远离骨干的非骨干区域:会产生非法ABR会导致无法进行区域共享(骨干无法和非骨干进行资源共享)。如图中的area 0和 area2(此时area0为骨干区域,而area2为非骨干区域,此时area0和area1无法进行资源的共享,虽然有R3作为ABR,但是R3是一个非法的ABR)
2.不连续骨干区域:area0内有R5和R6的接口, 而另一个area0内有R6和R7的信息,此时R6既属于左边的area0也属于右边的area0。但是两个area0之间无法进行资源交换
OSPF不规则区域解决方式(以远离骨干的非骨干区域为例):
此时打开R1的路由表,发现只有R1-R4的路由信息。而R4的路由表中有R1-R5的所有路由信息:
//R1的ospf路由表上
<R1>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 5 Routes : 5
OSPF routing table status : <Active>
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.0.0.0/30 OSPF 10 2 D 1.0.0.2 GigabitEthernet
0/0/0
3.0.0.0/30 OSPF 10 3 D 1.0.0.2 GigabitEthernet
0/0/0
192.168.2.1/32 OSPF 10 1 D 1.0.0.2 GigabitEthernet
0/0/0
192.168.3.1/32 OSPF 10 2 D 1.0.0.2 GigabitEthernet
0/0/0
192.168.4.1/32 OSPF 10 3 D 1.0.0.2 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
//R4的ospf路由表上
[R4]display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 6 Routes : 6
OSPF routing table status : <Active>
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/30 OSPF 10 3 D 3.0.0.1 GigabitEthernet
0/0/0
2.0.0.0/30 OSPF 10 2 D 3.0.0.1 GigabitEthernet
0/0/0
192.168.1.1/32 OSPF 10 3 D 3.0.0.1 GigabitEthernet
0/0/0
192.168.2.1/32 OSPF 10 2 D 3.0.0.1 GigabitEthernet
0/0/0
192.168.3.1/32 OSPF 10 1 D 3.0.0.1 GigabitEthernet
0/0/0
192.168.5.1/32 OSPF 10 1 D 4.0.0.2 GigabitEthernet
0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
此时为了将area2中的R4刷新到area0的R1中:
1.使用GRE隧道
在非法的ABR上搭建一个到达骨干区域ABR的隧道,相当于直接把非法ABR通过管道通道连接在骨干区域,之后将接口在骨干的管道接口在骨干区域进行激活,将非法ABR变成合法ABR,可以进行正常的路由转发,实现不规则区域通信。
注意:
1.当一台ABR同时连接骨干和多个非骨干区域时,非骨干区域之间将直接通过这个ABR来传递路由信息,而不需要通过骨干区域
2.当同时从骨干和非骨干区域学到路由信息,设备将无条件选择骨干区域发来的信息,而不是非骨干区域,哪怕开销巨大
缺点:
①OSPF会优先选择骨干区域学来的路由信息,会导致选路不佳的情况
②资源浪费:非法ABR合法后,会同时从骨干和非骨干收到路由信息,导致信息的重复更新
③因为虚拟链路(管道)存在,同一个区域内的合法ABR和非法ABR(非法ABR是因为它是非骨干和原来骨干的非骨干的ABR,但是本质上仍然属于非非骨干区域)之间需要再次建立骨干和远离骨干的非骨干区域邻居关系,而GRE线路依附于真实的物理链路,所以会对与被跨越的区域产生额外的资源损耗,而且虚拟管道连接的两个区域互相发送的保活信息也同样挤占被跨越区域的资源使用
缺点分析:
①选路不佳问题:
我们在R4上打开OSPF路由表,会发现R4作为非骨干区域,到达R1的开销值应该为3(1+1+1),但是因为管道的存在变成了1563(1562+1)。同样到达R2和R1与R2的网段也是这样 --- 明显的选路不佳
[R4]display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 6 Routes : 6
OSPF routing table status : <Active>
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/30 OSPF 10 1563 D 15.0.0.1 Tunnel0/0/0
2.0.0.0/30 OSPF 10 2 D 3.0.0.1 GigabitEthernet
0/0/0
192.168.1.1/32 OSPF 10 1563 D 15.0.0.1 Tunnel0/0/0
192.168.2.1/32 OSPF 10 1562 D 15.0.0.1 Tunnel0/0/0
192.168.3.1/32 OSPF 10 1 D 3.0.0.1 GigabitEthernet
0/0/0
192.168.5.1/32 OSPF 10 1 D 4.0.0.2 GigabitEthernet
0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
//对比R3的OSPF路由表
<R3>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 7 Routes : 8
OSPF routing table status : <Active>
Destinations : 7 Routes : 8
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/30 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
4.0.0.0/30 OSPF 10 2 D 3.0.0.2 GigabitEthernet
0/0/1
15.0.0.0/24 OSPF 10 1563 D 2.0.0.1 GigabitEthernet
0/0/0
OSPF 10 1563 D 3.0.0.2 GigabitEthernet
0/0/1
192.168.1.1/32 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
192.168.2.1/32 OSPF 10 1 D 2.0.0.1 GigabitEthernet
0/0/0
192.168.4.1/32 OSPF 10 1 D 3.0.0.2 GigabitEthernet
0/0/1
192.168.5.1/32 OSPF 10 2 D 3.0.0.2 GigabitEthernet
0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
②资源浪费,通过之前选路不佳我们看到,R4会同时收到非骨干和骨干的路由信息,并且会直接选择骨干信息 --- 资源浪费(同时收到多个相同的路由信息)
③资源挤占
配置:
//在R2上配置管道符,并宣告在area0
[R2]interface Tunnel 0/0/0
[R2-Tunnel0/0/0]ip address 15.0.0.1 24
[R2-Tunnel0/0/0]tunnel-protocol gre
[R2-Tunnel0/0/0]source 2.0.0.1
[R2-Tunnel0/0/0]destination 3.0.0.2
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 15.0.0.1 0.0.0.0
//在R4上配置管道符,并宣告在area0上,相当于将R4作为一个合法的ABR连接区域0和区域2
[R4]interface t0/0/0
[R4-Tunnel0/0/0]ip address 15.0.0.2 24
[R4-Tunnel0/0/0]tunnel-protocol gre
[R4-Tunnel0/0/0]source 3.0.0.2
[R4-Tunnel0/0/0]destination 2.0.0.1
[R4]ospf 1 r
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 15.0.0.2 0.0.0.0
//此时R5的路由表上已经刷出到达R1-4的路由信息
<R5>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 8 Routes : 8
OSPF routing table status : <Active>
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/30 OSPF 10 1564 D 4.0.0.1 GigabitEthernet
0/0/0
2.0.0.0/30 OSPF 10 3 D 4.0.0.1 GigabitEthernet
0/0/0
3.0.0.0/30 OSPF 10 2 D 4.0.0.1 GigabitEthernet
0/0/0
15.0.0.0/24 OSPF 10 1563 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.1.1/32 OSPF 10 1564 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.2.1/32 OSPF 10 1563 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.3.1/32 OSPF 10 2 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.4.1/32 OSPF 10 1 D 4.0.0.1 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
2.虚链路
虚链路相当于在非骨干区域内建立一个映射关系,将非法的ABR变成合法的ABR,类似于将原来非骨干的非骨干区域划分到非骨干区域,虚链路的邻居关系不会显示在邻居表,且虚链路永远属于区域0
而虚链路的配置要求:虚链路配置在需要穿越的区域内配置,由于虚链路永远属于区域0,所以虚链路只能跨越一个区域。并且虚链路的配置是双向的(同时在ABR和非法ABR上配置)
与管道的区别在于:管道使用的P2P网络而且是通过管道将非法ABR合法化来将骨干区域和原理骨干的非骨干区域连接的;而虚链路使用的是虚拟链路相当于将骨干区域扩大,然后将非法ABR合法化来管理两个区域。说的通俗点就是:管道的合法ABR邻居表上有骨干,非骨干和原理骨干的非骨干(管道);虚链路的合法ABR的邻居表上只有骨干和非骨干
查看R4在管道符和虚链路下的邻居表:
//管道下的R4邻居表
[R4]display ospf peer brief
OSPF Process 1 with Router ID 4.4.4.4
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 Tunnel0/0/0 2.2.2.2 Full
0.0.0.1 GigabitEthernet0/0/0 3.3.3.3 Full
0.0.0.2 GigabitEthernet0/0/1 5.5.5.5 Full
----------------------------------------------------------------------------
//虚链路下的R4的邻居表
<R4>display ospf peer brief
OSPF Process 1 with Router ID 4.4.4.4
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.1 GigabitEthernet0/0/0 3.3.3.3 Full
0.0.0.2 GigabitEthernet0/0/1 5.5.5.5 Full
----------------------------------------------------------------------------
缺点:
①因为虚拟链路存在,R2和R4之间需要建立邻居关系(虚拟的无法出现在邻居表上),导致邻居之间发送的数据都需要穿越这个非骨干区域,对非骨干区域会产生资源额外损耗
②虚链路只能穿越一个区域
配置:
//ABR上配置到达非法ABR的虚链路(配置的区域为要跨越的区域)
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4
//非法ABR上也同样需要配置到达ABR的虚链路(配置的区域为要跨越的区域)
[R4]ospf router-id 4.4.4.4
[R4-ospf-1]area 1
[R4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2
//此时去查看R5上的OSPF路由信息
<R5>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 6 Routes : 6
OSPF routing table status : <Active>
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/30 OSPF 10 4 D 4.0.0.1 GigabitEthernet
0/0/0
2.0.0.0/30 OSPF 10 3 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.1.1/32 OSPF 10 4 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.2.1/32 OSPF 10 3 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.3.1/32 OSPF 10 2 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.4.1/32 OSPF 10 1 D 4.0.0.1 GigabitEthernet
0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
//还有R4的邻居表
<R4>display ospf peer brief
OSPF Process 1 with Router ID 4.4.4.4
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.1 GigabitEthernet0/0/0 3.3.3.3 Full
0.0.0.2 GigabitEthernet0/0/1 5.5.5.5 Full
----------------------------------------------------------------------------
3.多进程双向重发布
由于不同进程之间不能互相通信,所以我们使用重发布宣告来连接原理骨干的非骨干区域。而配置了重发布不同协议进程的路由器称为ASBR(自治系统边界路由器)
非法ABR运行重发布时只是在本地的ASBR上同时进行两个OSPF进程,相当于用进程1运行非骨干区域,而进程2运行远离骨干区域的非骨干区域。并且多进程双向重发布是双向的(同时在OSPF的两个进程上配置import-route ospf为另外一个进程)
而运行了完重发布后,在非骨干区域的里面对于其他运行的路由协议进程的路由协议信息变为O_ASE,并且优先级为150(信任度低)。但是ASBR路由上的OSPF路由表不变的协议信息不变化
缺点:
重发布的后的路由协议为域外路由,可控性差(信任较低)
<R1>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 7 Routes : 7
OSPF routing table status : <Active>
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.0.0.0/30 OSPF 10 2 D 1.0.0.2 GigabitEthernet
0/0/0
3.0.0.0/30 OSPF 10 3 D 1.0.0.2 GigabitEthernet
0/0/0
4.0.0.0/30 O_ASE 150 1 D 1.0.0.2 GigabitEthernet
0/0/0
192.168.2.1/32 OSPF 10 1 D 1.0.0.2 GigabitEthernet
0/0/0
192.168.3.1/32 OSPF 10 2 D 1.0.0.2 GigabitEthernet
0/0/0
192.168.4.1/32 OSPF 10 3 D 1.0.0.2 GigabitEthernet
0/0/0
192.168.5.1/32 O_ASE 150 1 D 1.0.0.2 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
配置:
//首先在R4的ospf进程1上删除远离的area2
[R4-ospf-1-area-0.0.0.2]undo network 4.0.0.1 0.0.0.0
[R4-ospf-1]undo area 2
//然后在R4重新建立一个新的ospf进程2,并在area2上宣告网段
[R4]ospf 2 router-id 4.4.4.4 ---重发布中RID不影响
[R4-ospf-2]area 2
[R4-ospf-2-area-0.0.0.2]network 4.0.0.1 0.0.0.255
//此时在OSPF进程1上运行重发布,重发布内容为OSPF进程2
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]import-route ospf 2
//再去OSPF进程2上运行重发布,重发布内容为OSPF进程1
[R4-ospf-1]ospf 2 router-id 4.4.4.4
[R4-ospf-2]import-route ospf 1
//运行完成,此时去R5的OSPF路由表上查看
<R5>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 7 Routes : 7
OSPF routing table status : <Active>
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/30 O_ASE 150 1 D 4.0.0.1 GigabitEthernet
0/0/0
2.0.0.0/30 O_ASE 150 1 D 4.0.0.1 GigabitEthernet
0/0/0
3.0.0.0/30 O_ASE 150 1 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.1.1/32 O_ASE 150 1 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.2.1/32 O_ASE 150 1 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.3.1/32 O_ASE 150 1 D 4.0.0.1 GigabitEthernet
0/0/0
192.168.4.0/24 O_ASE 150 1 D 4.0.0.1 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
//此时注意R4的邻居表上的信息 --- 显示为OSPF的两种进程
<R4>display ospf peer brief
OSPF Process 1 with Router ID 4.4.4.4
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.1 GigabitEthernet0/0/0 3.3.3.3 Full
----------------------------------------------------------------------------
OSPF Process 2 with Router ID 4.4.4.4
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.2 GigabitEthernet0/0/1 5.5.5.5 Full
----------------------------------------------------------------------------
OSPF的周期更新:
OSPF单个LSA信息数据的周期更新是每1800s一次的。但是在周期更新中可能会存在多个更新数据包时间临近问题。此时会大量占用链路资源,此时更新OSPF数据包的更新机制优化:组步调计时器(300s) --- 异步更新
当有LSA数据信息老化时间到达1800s,此时会等待300s然后再将LSDB中老化时间为1800s-2100s的LSA信息同时进行更新。此时如果还有到达1800的则需要再次等待300s,然后进行下一次周期更新
OSPF的LSA:
在邻居关系建立后,LSDB(链路状态数据数据库)通过比对邻居发送的LDB包中的目录摘要信息,发送LSU,LSR信息来对本地的LSDB中的未知数据进行获取,然后更新到本地LSA信息数据库。最后通过本地OSPF使用SPF(最短路径优先算法)来计算出最优路径。
OSPF协议在不同的网络环境下携带和传递的路由拓扑信息主要为LSA(链路状态通告)。 而LSA信息主要保存在LSDB中,并且LSA主要由头部信息和在LSA具体拓扑数据信息组成。而LSA的三元组中,type类型主要有6种,链路状态标识符是标记一条LSA信息的名字,而AdvRouter则是通告路由器。
不同的type类型的LSA传递的具体拓扑信息是不一样的,携带的路由信息也是不相同的。
例图(用来解析TYPE-LSA):
1.头部信息
LSA的头部信息和OSPF数据包中的头部信息一样都是固定信息
以R1中的LSDB数据库中的LSA为例:
<R1>display ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 916 60 80000006 0
Router 1.1.1.1 1.1.1.1 915 60 80000005 0
Sum-Net 192.168.4.1 2.2.2.2 872 28 80000001 2
Sum-Net 2.0.0.0 2.2.2.2 924 28 80000001 1
Sum-Net 192.168.3.1 2.2.2.2 886 28 80000001 1
Sum-Net 3.0.0.0 2.2.2.2 872 28 80000002 2
Sum-Asbr 4.4.4.4 2.2.2.2 872 28 80000001 2
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 4.0.0.0 4.4.4.4 920 36 80000001 1
//之前说到的OSPF的LSU,LSR和LSACK包是通过三元组来确定一个LSA信息的
//而三元组可以同来确认唯一的LSA信息:LSA的类型,链路状态标识符,通告路由器
此时拆看Type为Router,LinkStatue ID为2.2.2.2,AdvRouter为2.2.2.2的LSA信息:
<R1>display ospf lsdb router 2.2.2.2
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
#这里为主要的LSA头部信息
Type : Router
Ls id : 2.2.2.2
Adv rtr : 2.2.2.2
Ls age : 1154
Len : 60
Options : ABR E
seq# : 80000006
chksum : 0x76d6
#这边开始就是LSA具体携带的数据信息
Link count: 3
* Link ID: 192.168.2.1
Data : 255.255.255.255
Link Type: StubNet
Metric : 0
Priority : Medium
* Link ID: 1.1.1.1
Data : 1.0.0.2
Link Type: P-2-P
Metric : 48
* Link ID: 1.0.0.0
Data : 255.255.255.252
Link Type: StubNet
Metric : 48
Priority : Low
①TYPE:
TYPE是主要描述LSA的类型。在IPV4的OSPF中,有6种不同的状态类型
如:在R1的LSDB表中可以看到 Router,Sum-Net,Sum-Asbr,External这四种类型,而不同的类型的LSA携带的LSA信息也不一样
②LinkState ID:
LinkState ID(链路状态标识符)主要作用是用来标记一条LSA名字
不同类型的LSA获取的LinkStateID方式并不相同,可能会产生LSID相同的情况,所以LS ID不能成为唯一标识
③AdvRouter:
LSA的通告路由器:标识发送该LSA信息的路由RID
一般通过TYPE, LinkState ID,AdvRouter可以唯一的标识出一条LSA信息
④LS age:
LSA信息的老化时间(单位:s):从本地OSPF路由器诞生这个LSA信息就开始计时(而不是加入到其他的OSPF路由器的LSDB中开始计时),哪怕这个LSA信息在网络传播过程中,它的老化时间仍会继续计时。直至到达1800s(30min存在一次周期更新)。规定一条LSA信息的最大老化时间为3600s(MAX AGE)。OSPF域内的同一LSA信息的老化时间是同步的(意思就是:在一个OSPF网络中,不同的OSPF的LSDB表中的相同LSA信息的老化时间的一样的)
当一条LSA老化时间到达3600s时,该LSA信息将会失效(无论这个LSA信息是否为有效的LSA信息)本地的LSBD会将这个LSA信息直接删除
⑤Len:
LSA的信息的长度:LSA信息字节数
⑥Options:
可选项(8个标记位)包括OSPF特殊区域的标识
⑦Seq:
序列号:每一条LSA都会携带一个序列号,用来区分该LSA的新旧(本地发送LSR包会回复多个LSU信息,而本地的LSDB会选择序列号的最新的LSA刷新到LSDB表中)
每台路由器在发送相同的LSA信息是,都会携带一个序列号,并且该序列号逐次+1(序列号使用的是32位二进制表示)
序列号空间的分类:
A.直线型序列号空间:
优点:方便比较新旧,可以通过序列号大小来进行直接比较
缺点:存在序列号空间受限问题,如果到到达序列号的极限则会无法判断序列号的新旧(在到达极限后,所以的LSA数据包的seq都为相同的数字,无法区分)
B.循环性序列号空间:
优点:序列号可以循环使用,不受空间大小的限制
缺点:当两个LSA携带的序列号数值相差较大时,仍无法判断新旧(相当于seq多次循环后,无法比较新旧关系。eg:循环空间大小为5,第一次发送的是旧的循环的5,而第二次发送的是新的循环以后的1,此时LSDB无法对LSA新旧进行有效的判断)
C.棒棒糖型序列号空间:
结合了直线性和循环性循环的空间: 但是本质上仍是直线型序列空间。在使用完直线型循环空间后进行循环空间而为了避免循环部分造成新旧无法判断的情况,所以OSPF序列号不能进入循环,即OSPF的取值范围从0X-80000001到 0X-7FFFFFFF。
棒棒糖型序列号空间用尽的更新方法:
1.如果当本地发送LSA序号达到最大值7FFFFFFF时,此时序列号空间用尽。
2.本地OSPF会发送一个seq数字为7FFFFFFF,LS age为3600s的LSA信息。
3.此时邻居会将这个LSA直接刷新到LSDB中(seq最大),并将其删除(LS age为3600s)。
4.此时本地OSPF将会从80000001开始重新使用新的序列号发送LSA数据信息。
5.然后本地OSPF会再次发送一条相同的LSA信息给邻居,这条LSA信息序列号为80000001,此时邻居会将最新的LSA信息刷新到LSDB数据库中,以达到更新序列号空间作用。
⑧Chksum:
Chksum(校验核):主要是效验数据的完整性,效验核也同样会参与LSA信息新旧比较
当本地OSPF收到两个相同的LSA信息并且序列号也相同,则会通过校验核计算出来的数值最大的LSA信息作为最新的LSA信息更新到LSDB中
2.六种主要TYPE-LSA
其中1类,2类LSA为拓扑LSA信息;而3类和6类LSA为路由信息。OSPF规定,所有传递路由的LSA信息必须经过拓扑信息(1类和2类LSA)验算 --- 通过拓扑信息找到路由信息的通告者(下一跳)
①TYPE1的LSA:
TYPE1-LSA:Router OSPF区域内所有路由器都需要发送且只发送一条
type1-Router中包含的数据类型:
①Link Type:P2P,TransNet(BMA),StubNet(终端),Virtual(虚链路)
链接类型:主要和接口连接的网络类型有关,根据具体接口的封装判断接口连接在什么网络上
②Link ID:每一条LINK ID都是用来描述路由器接口的连接情况
1.如果type为P2P则为描述邻居的RID
2.如果type为TransNet则为描述在这个BMA网络中的DR的IP地址信息
3.如果type为StubNet(例如:环回,PC),则为描述这个本地终端网络的IP信息(例如具体的192.168.1.0)
4.如果type为Virtual,则表示虚链路邻居的RID
③date:根据Link Type来决定具体的数据类型
1.如果type为P2P则为描述邻居的RID在本地接口上的IP地址信息(本地通过什么ip地址连接到这个RID的)
2.如果type为TransNet则为描述BMA网络中的DR的IP地址信息,本地通过什么接口连接到这个DR的(BMA网络需要选举出DR主导数据传递)
3.如果type为StubNet(例如:环回,PC)则为描述本地终端的该网络掩码信息(例如具体的192.168.1.1/32)
4.如果type为Virtual则表示去往这个虚链路连接的本地接口的IP地址信息
④metric:接口开销值 -- 到达这个接口的开销
图为R1的TYPE1的信息
而通过type可以得出如下的信息
②TYPE2的LSA:
TYPE2-LSA:Network 对MA网络的描述中,仅依靠TYPE1-LSA无法获得具体说明,需要TYPE2-LSA来补充说明
二类TYPE2-LSA携带的公共部分信息,所以一个MA网络中只需要一个DR发送这个LSA即可,并要求这个MA网络中的DR发送以避免信息浪费,重复更新!!!
此时分析type2的包,只有一个子网的掩码信息(此时R3为DR)
此时在去查看R3本地的type1的LSA包,发现没有到达DR的具体子网掩码信息,此时使用type2进行补充
③TYPE3的LSA:
TYPE3-LSA:Sumary 跨区域的TYPE3,ABR的两个区域到达同一网段的LSA不一样
传递域间路由信息,通告者为域间的ABR,LSID为通告路由的网络好,本身携带的信息为两个:(每一条路由信息都要发送一条)
①目标网段的子网掩码
②通告者到达该网段的开销值
掩码号:相当于描述需要从通告路由来到达目标网段(携带掩码)
开销值:该通告路由到达目标网段的开销值+本地路由到通告路由的开销值
<R1>display ospf lsdb summary
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Sum-Net
Ls id : 192.168.4.1 #到达192.168.4.0网段
Adv rtr : 2.2.2.2 #在area0和area1之间的ABR为2.2.2.2
Ls age : 1280
Len : 28
Options : E
seq# : 80000006
chksum : 0x518e
Net mask : 255.255.255.255 #由于192.168.4.0是一个环回,在ospf中环回默认为/32
Tos 0 metric: 2 #开销为2 (R1到R2,需要跨越R2,开销为1)
Priority : Medium
Type : Sum-Net
Ls id : 2.0.0.0 #到达2.0.0.0网段
Adv rtr : 2.2.2.2 #在area0和area1之间的ABR为2.2.2.2
Ls age : 1332
Len : 28
Options : E
seq# : 80000006
chksum : 0x34d
Net mask : 255.255.255.252 #2.0.0.0网段的掩码为/30
Tos 0 metric: 1 #开销为1
Priority : Low
Type : Sum-Net
Ls id : 192.168.3.1 #到达192.168.3.0网段
Adv rtr : 2.2.2.2 #在area0和area1之间的ABR为2.2.2.2
Ls age : 1294
Len : 28
Options : E
seq# : 80000006
chksum : 0x528f
Net mask : 255.255.255.255 #由于192.168.3.0是一个环回,在ospf中环回默认为/32
Tos 0 metric: 1 #开销为1 (R1到R3,需要跨越R2,开销为1)
Priority : Medium
Type : Sum-Net
Ls id : 3.0.0.0 #到达3.0.0.0网段
Adv rtr : 2.2.2.2 #在area0和area1之间的ABR为2.2.2.2
Ls age : 1281
Len : 28
Options : E
seq# : 80000007
chksum : 0xfd4f
Net mask : 255.255.255.252 #2.0.0.0网段的掩码为/30
Tos 0 metric: 2 #开销为2
Priority : Low
④TYPE4的LSA:
TYPE4-LSA:Asbr
作用:通告ASBR的信息,帮助除了有ASBR以外区域对ASBR位置进行验算(在例图中area1和area2中包含ASBR,所以在area0上可以学到四类LSA)
ASBR所在区域是不需要TYPE4的LSA,因为可以通过1类和2类进行验算
四类LSA是携带Ls ID,AdvRouter信息。除去ASBR所在区域,其他的OSPF单区域内会存在type4的LSA:ABSR。
四类LSA的LS ID是用来标识ASBR,Adv则是标识到达这个ASBR域的本地区域的ABR设备
如图:此时在area0的R1和R2可以刷出LSA-Asbr
⑤TYPE5的LSA:
TYPE5-LSA:Exteranl
不同于type3,type5主要传递的是ASBR而type3主要传递转发的是ABR
type5主要传递的是域外路由信息,通告者是ASBR。域外导入的TYPE5-LSA生成的路由信息在OSPF路由表中为O_ASE,优先级默认为150。
type5的LSA携带开销值,E type,转发地址,Tag
①开销值
由于重发布导入的是其他类型协议的路由信息,而不同协议的之间开销值的评判标准是不一样的,所以在进行重发布导入后并不能直接使用之前网络的开销值(比如RIP最大就15,如果将OSPF导入,那么这个数据将直接被丢弃)。
此时在重发布导入信息后,会给导入的路由信息赋予一个新的初始度量值(seed-metric 种子度量值)。华为的OSPF网络中默认种子度量值为1 (在进行重发布导入时,可以对默认种子开销值进行修改imoprot-route rip 1 cost X)
②E type:
E type:E位标记位代表的是使用的度量值计算类型(默认情况下,使用类型2)
在进行重发布导入时,可以对E type进行修改imoprot-route rip 1 type X
type为1时(E位置0时,使用类型1):如果度量值类型为类型1,则域内所有设备到达目标网段的开销值等于本地到达ASBR的开销值 + 种子度量值
type为2时(E位置1时,使用类型2):如果度量值类型为类型2,则域内所有设备到达目标网段的开销值为种子开销值(无论到达ABSR开销值多大,都默认为seed-metric)
③转发地址:
转发地址:主要目的是应对选路不佳的情况(TYPE5-LSA在不存在选路不佳的情况下,选路地址默认为0.0.0.0)
④TAG标签:
Tag:路由标记(方便对流量进行标记,之后对标记的流量进行抓取和控制)
此时打开R3的五类LSA
⑥TYPE6的LSA(一般用TYPE7表示):
TYPE7-LSA:NSSA内传递(NSSA为特殊区域:非完全末梢区域)
7类LSA在NSSA内的携带的路由信息是一条指向ABSR的缺省,且协议号为o_NSSA,优先级为150。7类LSA在非NSSA区域内携带的参数和5类LSA一样。
7类LSA是在NSSA由5类LSA转化而来的,而7类LSA再次转化为5类LSA(发送给骨干链路)时,转发地址会修改
7类LSA在默认存在选路不佳情况时,将会携带本区域的ASBR环回接口的最大IP地址作为转发地址(一般是在7类转5类时标记的),如果不存在环回接口,将使用物理接口的IP地址作为转发地址
7类LSA的转发地址作用:用ASBR路由器上一个存在的接口标定这个域外信息的接口,对于骨干区域来说,则可以用这个接口去访问对应的域外信息(而不是通过先访问ASBR路由器,然后再通过ASBR转发访问域外信息)