部署企业级路由交换网络(中)
十一,外部(域外)路由引入及4类和5类LSA
5类LSA AS External LSA
-----------由ASBR自治系统边界路由器产生,描述引入外部路由的路由信息,在整个OSPF自治系统内泛洪
Link State Database
OSPF Process 1 with Router ID 5.5.5.5
[R5]DIS OSPF lsdb ase 172.16.5.5
Type : External
Ls id : 172.16.5.5
Adv rtr : 5.5.5.5-------------ASBR
Ls age : 297
Len : 36
Options : E
seq# : 80000001
chksum : 0x797c
Net mask : 255.255.255.255
TOS 0
Metric: 1 ---------------外部开销值
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1 -----------------------OSPF只允许外部路由携带tag
Priority : Low
4类LSA ASBR Summary LSA
----------由ABR区域边界路由器产生,描述域间ASBR的拓扑信息,特定原则下在区域间传递(同LSA-3一致)
[R4]dis ospf lsdb asbr
Link State Database
Area: 0.0.0.1
Type : Sum-Asbr
Ls id : 5.5.5.5---------------------ASBR的Router-id
Adv rtr : 4.4.4.4 ------------------ABR区域边界路由
Ls age : 62
Len : 28
Options : E
seq# : 80000001
chksum : 0x82f
Tos 0 metric: 1------------------ABR去往ASBR路径开销
针对域外路由如何防环:
如果ASBR与自身在同一区域,则可以根据LSA-1和LSA-2计算去往ASBR的拓扑信息,本身计算无环SPT
如果ASBR与自身不在同一区域,则需要ABR产生LSA-4计算去往ASBR的拓扑信息,LSA-4传递原则与LSA-3一致,可以实现无环
思考为何需要LSA-4,假设LSA-5传递方式与LSA-3一致会有什么问题?
如果LSA-5遵循LSA-3一致传递方式,ABR会因为大量外部路由造成计算压力,而LSA-4引入之后,ABR或者其他路由器只需要计算一条如何去往ASBR即可
五类LSA对应外部开销值类型
E-type 1-----------自治系统内传递过程中累加内部开销值(去往ASBR开销值或者FA地址),外部开销+内部开销之和
E-type 2-----------自治系统内传递过程中不累加内部开销值(去往ASBR开销值或者FA地址),保留外部开销值不变,华为默认为类型2
修改外部开销,默认为1
[R5-ospf-1]import-route direct route-policy LO cost ?
INTEGER<0-16777214> 24-bit cost value
十二, 5类LSA中FA字段说明
FA(Forwarding Address)转发地址为非0的情况:
同时满足如下条件时,ASBR会在ASE的FA域内填写转发地址。
OSPF在ASBR与外部网络连接的下一跳接口启动;
ASBR与外部网络连接的下一跳接口没有被设置为被动接口;
ASBR与外部网络连接的下一跳接口不是OSPF P2P或P2MP类型的;
ASBR与外部网络连接的下一跳接口地址是落在OSPF协议中发布的网络范围之内。
Type : External
Ls id : 192.168.3.0
Adv rtr : 1.1.1.1
Ls age : 576
Len : 36
Options : E
seq# : 80000001
chksum : 0x4a84
Net mask : 255.255.255.0
TOS 0 Metric: 18
E type : 2
Forwarding Address : 123.1.1.3-------------- FA地址
Tag : 1
Priority : Low
转发地址FA作用,结合下图场景:
[R2]dis ospf lsdb ase 172.16.3.3
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Type : External
Ls id : 172.16.3.3
Adv rtr : 1.1.1.1
Ls age : 35
Len : 36
Options : E
seq# : 80000001
chksum : 0xaddb
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 2
Forwarding Address : 123.1.1.3
Tag : 1
转发地址FA的作用避免上述环境下数据转发次优路径问题,后续NSSA区域介绍转发FA用于防环(避免次优)的场景
如果转发地址FA=0.0.0.0,则计算外部路由计算去往ASBR的最优下一跳
如果转发地址FA≠0.0.0.0,则计算外部路由计算去往转发地址的最优下一跳
○ ASBR的下一跳接口路由可达。
○ ASBR的下一跳接口没有被设置为被动接口(也称为silent interface)。
○ ASBR的下一跳接口不是OSPF P2P或P2MP类型的。
○ ASBR的下一跳接口地址落在OSPF协议配置的network命令范围内------收到LSA路由器可以通过OSPF域内、域间路由计算去往FA
- OSPF中的特殊区域
- STUB区域,过滤4类和5类LSA,此区域不可以重分布其他的协议,因为不支持5类LSA,会自动下放一条3类默认路由的LSA以便访问AS外网络
- Total STUB区域,过滤3类,4类,5类LSA,此区域不可以重分布其他的协议,因为不支持5类LSA,ABR会自动下放一条3类默认路由的LSA访问所有区域外路由
- NSSA区域,和STUB区域相同,支持重分布,产生7类LSA再次区域内传播,区域出口处有ABR转成5类LSA传给其他区域,会自动下放一条3类默认路由的LSA以便访问AS外网络,ABBR产生7类的LSA
4-Total NSSA区域,和Total STUB区域相同,支持重分布,产生7类LSA再次区域内传播,区域出口处有ABR转成5类LSA传给其他区域,会自动下放一条3类默认路由的LSA以便访问AS外网络,ASBR产生7类的LSA
Totally Stub区域------不允许外部路由进入,过滤域间明细LSA-3、LSA-4、LSA-5,通过ABR下发默认路由访问域间和域外
在ABR配置
ospf 1 router-id 2.2.2.2
area 1
stub no-summary
NSSA区域-------不允许其他区域产生外部路由进入,过滤LSA-4、LSA-5,本区域设备可以引入外部路由,只会以LSA-7 NSSA LSA形式存在
本区域设备通过ABR下发默认路由(LSA-7)访问外部路由
Totally NSSA区域-------不允许其他区域产生外部路由进入,过滤明细LSA-3、LSA-4、LSA-5,本区域设备可以引入外部路由,只会以LSA-7
NSSA LSA形式存在,本区域设备通过ABR下发默认路由(LSA-7)访问外部路由
7类LSA---------由NSSA区域ABR产生,描述外部路由信息,传递范围只能在NSSA区域内传递,由区域ABR执行LSA-7转换成LSA-5继续在整
个OSPF自治系统内传递
Area: 0.0.0.1
Link State Database
OSPF Process 1 with Router ID 4.4.4.4
[R4-ospf-1]dis ospf lsdb nssa
Type : NSSA
Ls id : 172.16.4.4
Adv rtr : 4.4.4.4
Ls age : 64
Len : 36
Options : NP
seq# : 80000001
chksum : 0x9045
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 2
Forwarding Address : 24.1.1.4
Tag : 1
Priority : Low
问题:如果存在多台ABR,哪台路由器负责将LSA-7转换为LSA-5;为什么LSA-7转发地址不为0(默认路由除外)
1、如果存在多台ABR,由router-id大的ABR负责执行LSA-7转LSA-5
2、LSA-7携带转发地址避免次优问题,避免环路问题
上述场景默认情况R3负责LSA-7转LSA-5,其生产LSA-5仍然保留转发地址FA,R1进行路由计算会计算去往FA最优下一跳,为R2
Link State Database
OSPF Process 1 with Router ID 1.1.1.1
Forwarding Address : 24.1.1.4----R1计算外部路由会计算去往FA地址最优下一跳
Tag : 1
Priority : Medium
假设R3在执行7转5配置抑制转发地址,FA=0.0.0.0,观察R1的数据库、路由表、测试数据转发
<R1>dis ospf lsdb ase
Type : External
Ls id : 172.16.4.4
Adv rtr : 3.3.3.3-----Router-id大的ABR负责7转5,产生LSA-5,充当ASBR角色
Ls age : 342
Len : 36
Options : E
seq# : 80000001
chksum : 0x25bc
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 2
ospf 1 router-id 3.3.3.3
area 1
nssa suppress-forwarding-address
分析环路问题:
R2错误优选R3产生的LSA-5,选路优选内部开销(去往ASBR开销)更小的路由,R2计算外部路由通过区域0计算如何去往ASBR(R3)
下一跳为R1,导致R1---R3---R2产生环路
老化时间----------默认情况老化时间以S为单位,最大老化时间3600s(1小时0),为了防止LSA老化,OSPF每隔1800s(15分钟)进行周期更新
Sequence序列号----LSA对应序列号,存在正负值的32bit,取值范围0x80000000-0x7FFFFFFF,每次LSA产生变化+1
通过DD报文进行数据库内容对比,会根据LSA中部分字段判断LSA新旧,用于后续数据库同步
1、如果收到LSA,老化时间3600s,则立刻老化
2、如果老化时间都不为3600s,则先比较LSA序列号,越大越优
3、如果序列号一致,比较LSA的校验和,取值越大越优
4、如果上述序列号、校验和都一致,则比较老化时间:
A、判断两条LSA的老化时间间隔,如果小于15min,则视为同一条LSA
B、判断两条LSA的老化时间间隔,如果大于15min,则优选老化时间更小的
LSA类型及作用细节
单区域部署
1类LSA Router LSA----------每台运行OSPF的路由器都会产生,描述自身的拓扑信息、路由信息、角色信息,传递范围在区域内泛洪
Area: 0.0.0.0
Link State Database
OSPF Process 1 with Router ID 4.4.4.4
<R4>dis ospf lsdb router 1.1.1.1
Type : Router
Ls id : 1.1.1.1--------产生者的Router-id
Adv rtr : 1.1.1.1 ------产生者
Ls age : 22
Len : 60
Options : E
seq# : 80000009
chksum : 0x8610
Link count: 3
* Link ID: 4.4.4.4 ----------点到点链路拓扑信息
Data : 14.1.1.1
Link Type: P-2-P
Metric : 48
* Link ID: 123.1.1.1 --------MA网络拓扑信息
Data : 123.1.1.1
Link Type: TransNet
Metric : 1
* Link ID: 14.1.1.0 ----------自身相关接口的路由信息
Data : 255.255.255.0
Link Type: StubNet
Metric : 48
Priority : Low
Router-LSA标识路由器角色信息
1类LSA细节
Link-Type Link ID Data Metric
P2P 邻居的Router-id 本端接口地址 本端去往对端接口开销
TransNet DR的IP地址 本端接口地址 本端去往DR链路开销
Virtual 邻居的Router-id 本端最优接口地址 本端去往对端总开销
StubNet 网络号 子网掩码 路由接口开销值
2类LSA Network LSA--------DR产生,描述DR所在MA网络的拓扑信息和路由信息,传递范围在区域内泛洪
Area: 0.0.0.0
Link State Database
OSPF Process 1 with Router ID 4.4.4.4
<R4>display ospf lsdb network
Type : Network
Ls id : 123.1.1.1----------------DR的IP地址
Adv rtr : 1.1.1.1 ----------------DR的Router-id
Ls age : 782
Len : 36
Options : E
seq# : 80000004
chksum : 0x4c6c
Net mask : 255.255.255.0---------DR的IP地址结合子网掩码计算MA网络的路由信息
Priority : Low
Attached Router 1.1.1.1----------MA网络所有参与者
Attached Router 2.2.2.2
Attached Router 3.3.3.3
问题:为什么需要2类LSA?2类LSA作用
1、拓扑计算-----引入伪节点便于进行SPF算法,计算拓扑信息
2、可以防止LSA-1的路由信息重复,MA网络路由信息所有路由器都一致,由DR产生LSA-2进行代表
问题:点到点链路子网掩码不一致不影响邻居关系建立,下图R1和R2计算路由,开销值为多少?
R1计算到R2的SPT,开销值为48,而R2对应网段叶子路由开销值为48,合计为96
问题:前面提到OSPF接口网络类型不一致,一端P2P,一端Broadcast,邻居可以建立但是无法计算路由
R1认为与R2直接P2P相连,R2认为连接伪节点,R1计算需要LSA-1,但是R2计算路由需要LSA-1和LSA-2,无法计算路由
PS:部分网络拓扑需求可能简化为修改网络类型为P2P,加速邻居关系建立,减少LSA-2
interface GigabitEthernet0/0/0
ospf network-type p2p
多区域部署
如果单区域部署随着设备数量增加,LSDB规模和SPF算法需要开销随之增加,部署多区域实现分层管理,简化部分设备LSDB
3类LSA Network Summary LSA----由ABR区域边界路由器产生,描述域间路由信息,特定原则下在区域间传递
Area: 0.0.0.1
Link State Database
OSPF Process 1 with Router ID 4.4.4.4
[R4]display ospf lsdb summary 123.1.1.0
Type : Sum-Net
Ls id : 123.1.1.0
Adv rtr : 1.1.1.1 -----------由ABR产生
Ls age : 407
Len : 28
Options : E
seq# : 80000001
chksum : 0xfadf
Net mask : 255.255.255.0
Tos 0 metric: 1-----------ABR去往目标网段开销值
Priority : Low
区域内可以LSA-1和LSA-2利用SPF计算SPT,计算出无环拓扑,本身实现路由无环
区域间传递LSA-3描述域间路由信息,域间路由“表现像是距离矢量协议”,可能导致环路风险,OSPF定义一系列严格域间路由传递原则
LSA-3假设没有任何传递原则,出现环路的可能:
防环原则
- OSPF区域部署:必须存在骨干区域区域0,其他区域必须与骨干区域相连,区域边界路由器ABR必须与骨干区域相连 只有ABR产生LSA-3,上述拓扑中R3无法与区域0相连,不是ABR
2、ABR不会使用从非骨干区域传递的LSA-3进行路由计算,如下拓扑R2产生LSA-3传递区域1,R3不使用该条LSA-3进行路由计算
一些特殊场景:
ABR不会使用从非骨干区域传递的LSA-3进行路由计算,上述拓扑R3作为ABR,不会使用非骨干区域传递LSA-3,不进行路由计算
注意:
此处ABR需要在区域0中存在活跃邻居,比如拓扑R3,
而R1在区域0不存在活跃邻居,则仍旧会使用非骨干区域传递LSA-3进行路由计算
不规则区域部署场景:
场景一:常规区域无法与骨干区域相连,R3并非ABR,不能产生LSA-3
场景二:骨干区域被分割场景,ABR(R2和R3在区域0都存在活跃邻居)收到非骨干区域传递的LSA-3不进行路由计算
虚链路
上述场景可以通过虚链路virtual-link解决,虚链路工作在区域0中,虚链路是区域0延伸
在传输(承载)区域的ABR之间部署的虚链路
[R2-ospf-1]
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]vlink-peer ?
IP_ADDR<X.X.X.X> Neighbor router ID-----------指向对端ABR的Router-id,可以根据传输区域LSA-1、LSA-2计算最优下一跳
虚链路部署完成,对应LSA-1中会增加相应拓扑信息
Area: 0.0.0.0
Link State Database
OSPF Process 1 with Router ID 3.3.3.3
[R3]dis ospf lsdb router 2.2.2.2
Type : Router
Ls id : 2.2.2.2
Adv rtr : 2.2.2.2
Ls age : 8
Len : 48
Options : ABR E
seq# : 8000000a
chksum : 0xcf6d
Link count: 2
* Link ID: 3.3.3.3
Data : 24.1.1.2
Link Type: Virtual
Metric : 2
虚链路部署完成会相互发送基于区域0的单播Hello消息
虚链路可以区域部署不当的场景:
1、常规区域无法和骨干区域相连
2、骨干区域分割场景
3、可能存在区域0分割场景下,部署虚链路提升健壮性
虚链路部署带来问题:
1、无法针对区域0的路由进行汇总
2、虚链路部署不当存在环路问题----------R2和R4之间部署虚链路
分析控制层面LSA-3传递和转发层面数据报文转发
<R1>tracert -a 172.16.1.1 172.16.5.5
traceroute to 172.16.5.5(172.16.5.5), max hops: 30 ,packet length: 40,press CT
RL_C to break
1 12.1.1.2 20 ms 10 ms 10 ms
2 23.1.1.3 20 ms 20 ms 20 ms
3 13.1.1.1 10 ms 10 ms 20 ms
4 12.1.1.2 30 ms 30 ms 20 ms
上述部署不当,出现环路问题,正常应该在R3和R4之间部署虚链路
OSPF选路原则
域内路由优于域间路由优于域外路由
域外路由外部路由类型1优于类型2
外部路由都为类型1,则比较外部开销和内部开销之和
外部路由都为类型2,先比较外部开销,如果外部开销一致,则继续比较内部开销
问题:OSPF如何撤销路由?
1、如果针对域内路由信息,通告路由器会产生一条新的LSA-1(Seq+1),删除相应stubnet字段
Area: 0.0.0.0
Link State Database
OSPF Process 1 with Router ID 3.3.3.3
[R3]dis ospf lsdb router 1.1.1.1
Type : Router
Ls id : 1.1.1.1
Adv rtr : 1.1.1.1
Ls age : 13
Len : 60
Options : E
seq# : 80000008 -----seq+1
chksum : 0xa77c
Link count: 3
* Link ID: 13.1.1.3
Data : 13.1.1.1
Link Type: TransNet
Metric : 1
* Link ID: 172.16.1.1
Data : 255.255.255.255
Link Type: StubNet
Metric : 0
Priority : Medium
2、针对域间路由信息,ABR通过域内LSA计算对应路由,如果路由撤销,产生LSA-3直接将老化时间置为3600s
3、针对域外路由信息,如果路由撤销:
如果是通过路由策略过滤某条路由,ASBR会将对应的LSA-5/LSA-7老化时间置为3600s
如果是删除了引入动作,ASBR会将所有LSA-5/LSA-7老化时间置为3600s,同时LSA-1的Flag置位(标识ASBR),
如果存在ABR也会撤销相应LSA-4
备注:如有错误,请谅解!
此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人