提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、OSPF基础
- 二、OSPF报文
- 三、常见的LSA类型
前言
参考实验1 区域讲解在此、参考实验2 LSA实验全
参考实验3 (OSPF V2、OSPF V3对比)过几天来
只是混乱于 LSA、与OSPF报文的关系,自己整理自己缺失的内容(此总结参考多人信息)
DD报文除了包含LSDB的目录(LSA 描述)、还可用来协商主从
LSA通告通过LSU报文发送,LSA并不是一种报文,是LSU报文中的信息
Hello报文——选DR、BDR;DD报文——选主、从
DD报文——LSA的描述
LSU报文——LSA的完整信息(向邻居发送新的或者更新LSA)
LSDB——LSDB【链路状态数据库,储存的是所有LSA信息、全网最全的信息】
交互五种报文的目的建立邻接关系同步LSDB;交互的LSU报文包含LSA,LSA有
广播网络40S选 DR(卡在2-way),然后选主从
提示:以下是本篇文章正文内容,下面案例可供参考
一、OSPF基础
1、OSPF三张表
1、邻接关系表
列出每台路由器全部已经建立邻接关系的邻居路由器
2、链路状态数据库【LSDB】
列出网络中其他路由器的信息, 由此显示了全网的网络拓扑
3、路由表
列出通过SPF算法计算出的到达每个相连网络的最佳路径
2、OSPF建立邻接关系的过程
2.1建立邻居关系
2.1.1 、down→init:接口上激活了OSPF协议,并发送了一个Hello报文(使用组播地址224.0.0.5)。
Hello包携带优先级、选DR、BDR
2.1.2 、init→2way:收到了Hello报文、并且在报文中的邻居字段看到了自己的的Router ID
2.2主/从关系协商、DD报文交换
2-way→Exstar→Exchange:利用DD报文协商主从关系(并用Seq+1 做隐式确认)
- Exstart:开始协商主从关系,并确定DD的序列号,此时状态为Exstart。
- Exchange:交换摘要信息、主从关系协商完毕后开始交换DD报文,此时状态为Exchange
RTA向RTB发送的第一个DD报文,其Seq序列号假设为X内容位空(报文中并不包含LSA的摘要,只是为了协商主从关系)
RTB也向RTA发送了一个DD报文,,其Seq序列号假设为Y(该报文中同样不包含LSA的摘要信息)
由于RTB的Router ID较大,所以在报文中RTB认为自己是Master,并且重新规定了序列号Seq=Y。
邻居状态变为Exchange后, RTA发送一个新的DD报文,包含自己LSDB的描述信息,其序列号采用主设备RTB的序列号。 RTB收到后邻居状态从Exstart转变为Exchange
2.3、LSDB同步(LSA请求、LSA传输、LSA应答)
2.1.4、Echange→Loading→Full:两端设备通过更新LSA完成链路数据库LSDB的同步。此时,邻接关系建立成功。
二、OSPF报文
OSPF用IP报文直接封装协议报文,协议号为89。OSPF分为5种报文:Hello报文、DD报文、LSR报文、LSU报文和LSAck报文。
OSPF报头
OSPF这五种报文具有相同的报文头格式,长度为24字节。
类型,OSPF报文的类型,有下面几种类型:
1:Hello报文;
2:DD报文;
3:LSR报文;
4:LSU报文;
5:LSAck报文。
1、OSPF Hello报文(选DR、BDR)
Hello报文是最常用的一种报文,其作用为建立和维护邻接关系,周期性的在使能了OSPF的接口上发送。报文内容包括一些定时器的数值、DR、BDR以及自己已知的邻居。
2、 OSPF DD报文
DD【Database Description Packet】报文用于描述本端设备的链路状态数据库(LSDB)
LSDB【链路状态数据库,储存的是所有LSA信息、全网最全的信息】
DD是LSA的头部信息而非完整的LSA
协商主从时也用DD报文
== 第一次交互的DD报文内没有LSA的头部信息、只是为了协商主从 ==
再次交互的DD报文、包含了“目录”
3、OSPF LSR报文
两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的,向对方请求所需的LSA。
LSR【链路状态请求报文】:用于向邻居请求完整的LSA(注意:只会请求自己没有的LSA)
4、OSPF LSU报文
用来向对端Router发送其所需要的LSA或者泛洪自己更新的LSA,内容是多条LSA(全部内容)的集合
LSA通告通过LSU报文发送,LSA并不是一种报文,是LSU报文中的信息
LSU 包含了完整的LSA信息(上图为 LSU中的完整LSA;下图为DD报文中的LSA 描述)
5、OSPF LSAck报文
LSAck(Link State Acknowledgment Packet)
用来对接收到的LSU报文进行确认。内容是需要确认的LSA的Header(一个LSAck报文可对多个LSA进行确认)。
6、当网络中宣告了新的路由时
三、常见的LSA类型
Seq+chksum+metric` 唯一标识一个具体的LSA
LSA头部信息
LS age→老化时间3600s,每1800s刷新
Len :长度
Options(可选项):E 能否引入外部路由的能力
Seq:序列号
Options:E (可以接受外部路由)
Options : ABR E (
Seq:序列号: 用来判断LSA的新旧
类型 | Type:指明是哪种类型的LSA
链路状态ID | Link-ID:每一条LSA都有一个Link-ID,区分不同路由器发出的LSA (Ls id)
通告路由器 | ADV Router:指通告路由器的Router-ID (Adv rtr)
1、LSA Type-1 ——路由器LSA:Router LSA
描述链路状态信息+开销
⚫所有运行OSPF的路由器都会生成一个路由器LSA ; 描述链路状态信息+开销
⚫该LSA仅在本区域内泛洪;无法穿越ABR (所以跨区域的R无法建立关系)
⚫包含路由信息与拓扑信息;Link-ID为路由器的Router-ID
<Huawei>dis ospf lsdb router
OSPF Process 1 with Router ID 2.2.2.2
Area: 0.0.0.0
Link State Database
Type : Router
Ls id : 1.1.1.1 // 链路状态ID:自己的Router-id
Adv rtr : 1.1.1.1 // 指通告路由器的Router-ID (Type1 为自己的Router-id)
Ls age : 1678
Len : 36
Options : E //E表示可接收OSPF外部LSA的能力
seq# : 80000003
chksum : 0xa287
Link count: 3
* Link ID: 10.1.1.2 //该链路上DR的IP地址
Data : 10.1.1.1 //与DR相连的接口IP地址
Link Type: TransNet
Metric : 1 //自身到DR的OSPF开销
LSA Type-1 中Link Type根据所在网络类型不同分为
Type-1类LSA中Stub携带的是路由信息,TransNet携带的是链路状态信息
1.1、Link Type: Transnet
1、Link Type: Transnet
(有ospf邻居,且网络类型为广播、NBMA接口的链路类型)
Link count: 3
* Link ID: 12.1.1.2 //该链路上DR的IP地址
Data : 12.1.1.1 //与DR相连的接口IP地址
Link Type: TransNet //当前的网络是广播或者非广播网络
Metric : 1 //自身到DR的OSPF开销
1.2 Link Type: Stubnet
Priority : Medium
只有Link Type: Stubnet 有Priority 优先级是 Medium,其他都是low
环回接口,为了保证安全,优先级更高
(接口被激活OSPF,但是没有任何OSPF邻居。此接口就是Stub类型一般Loopback接口的链路类型和连接终端接口的链路类型为此)
* Link ID: 192.168.1.1 \\直连链路的网络号
Data : 255.255.255.255 \\该网络的子网掩码
Link Type: StubNet \\接口开启OSPF协议,但是没有邻居
Metric : 0
Priority : Medium
1.3 Link Type: P-2-P
( 有ospf邻居,且网络类型为P2P与P2MP接口的链路类型)
描述P2P、P2MP链路上的OSPF邻居的
[Huawei-GigabitEthernet0/0/1]ospf network-type p2p
* Link ID: 2.2.2.2 //邻居的路由器ID
Data : 22.22.22.1 //与邻居相连的自己的接口ID地址
Link Type: P-2-P
Metric : 10 //更改cost后的,S口默认48
1.4 Link Type: Virtual
* Link ID: 5.5.5.5
Data : 45.1.1.1
Link Type: Virtual
Metric : 1
2、LSA Type-1 —— 网络LSA:Networkr LSA
描述该广播网络都有哪些路由器(所有与DR建立Full状态的路由器、包括DR本身
工作在一个广播型网络当中,接口地址在一个网段
⚫由MA网络中的DR发出
⚫仅在本区域内进行泛洪;无法穿越ABR
⚫所包含的内容与Type-1的LSA联合,共同描绘出网络的拓扑与路由
(当1类LSA有TransNet链路类型的链路状态信息时就会有一条Ls id 与其Ls id相同的二类LSA)
可以查看到该网络中 DR为10.1.1.2
AR1]dis ospf peer
OSPF Process 1 with Router ID 1.1.1.1
Neighbors
Area 0.0.0.0 interface 10.1.1.1(GigabitEthernet0/0/0)'s neighbors
Router ID: 2.2.2.2 Address: 10.1.1.2
State: Full Mode:Nbr is Master Priority: 1
DR: 10.1.1.2 BDR: 10.1.1.3 MTU: 0
Dead timer due in 40 sec
Retrans timer interval: 5
Neighbor is up for 00:27:05
Authentication Sequence: [ 0 ]
Router ID: 3.3.3.3 Address: 10.1.1.3
State: Full Mode:Nbr is Master Priority: 1
DR: 10.1.1.2 BDR: 10.1.1.3 MTU: 0
Dead timer due in 35 sec
Retrans timer interval: 3
Neighbor is up for 00:27:09
Authentication Sequence: [ 0 ]
AR1]dis ospf lsdb network 10.1.1.2
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Network
Ls id : 10.1.1.2 //DR的接口IP地址
Adv rtr : 2.2.2.2 //该LSA由谁宣告的(DR的Router ID)
Ls age : 142
Len : 32
Options : E
seq# : 80000001
chksum : 0x8899
Net mask : 255.255.255.0 //与LS id结合,表示DR所在的广播网络
Priority : Low
Attached Router 2.2.2.2 //区域内都有谁
Attached Router 1.1.1.1 //工作在一个广播型网络当中,接口地址在一个网段
Attached Router 3.3.3.3
3、LSA Type-3 —— 网络汇总LSA :Network-summary-LSA
由ABR发出,在两个不同区域之间传递汇总信息时使用
⚫用于描述区域内的路由(描述ABR所知道的路由以及开销,并没有携带任何关于邻居的拓扑结构,所以携带的是纯粹的路由信息)
⚫ 起源于ABR,每经过一个ABR,通告路由器将会发生变化
⚫ 仅在本区域内进行泛洪,ABR之间接力传递,从而泛洪至整个AS
R1上
Type : Sum-Net
Ls id : 35.1.1.0 //网络网段
Adv rtr : 3.3.3.3 //通过哪个ABR的路由器ID 传过来的,会发生变化
Ls age : 528
Len : 28
Options : E
seq# : 80000001
chksum : 0x2beb
Net mask : 255.255.255.252
Tos 0 metric: 1
Priority : Low
4、LSA Type-4 —— ASBR汇总LSA :ASBR-summary-LSA
⚫ 起源于ABR,告知谁是ASBR
⚫ 泛洪于本区域,除ASBR所在区域外的整个自治系统
⚫4类LSA主要的作用就是通过头部的 Ls id与Adv rtr了解如何去往ASBR。
[AR1]dis ospf lsdb asbr
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Sum-Asbr
Ls id : 5.5.5.5 \\谁是ASBR
Adv rtr : 3.3.3.3 \\通告该信息的ABR,通过谁可以去ASBR
Ls age : 267
Len : 28
Options : E
seq# : 80000004
chksum : 0x2018
Tos 0 metric: 1
Type : Sum-Asbr
Ls id : 4.4.4.4
Adv rtr : 3.3.3.3
Ls age : 376
Len : 28
Options : E
seq# : 80000004
chksum : 0x4eed
Tos 0 metric: 1
5、LSA Type-5 —— AS外部LSA: AS-External LSA
⚫ AS外部LSA,由ASBR产生,描述到OSPF域外的路由。
⚫通告路由器在整个AS中不发生变化;泛洪于整个AS(5类LSA在传递的过程中,下一跳不会被中间设备修改。)
⚫OSPF引入的路由,如引入RIP、ISIS、BGP等路由,引入的路由就属于外部路。外部路由用5类LSA进行通告。
5.1、Tag : 1
(重发布的时候)路由引入是打标记,防止路由环路
从我引入的不要再发给我
5.2、TOS : Type of Service 服务类型
5.3、 Forwarding Address: 转发地址FA
[AR1]dis ospf lsdb ase 46.1.1.0
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Type : External
Ls id : 46.1.1.0 \\学到的外部路由
Adv rtr : 4.4.4.4 \\通告路由器,ASBR引入的, 哪个ASBR引入的
Ls age : 809
Len : 36
Options : E
seq# : 80000004
chksum : 0xfe91
Net mask : 255.255.255.252
TOS 0 Metric: 1 \\Type of Service 服务类型
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Low
Type : External
Ls id : 46.1.1.0
Adv rtr : 5.5.5.5
Ls age : 367
Len : 36
Options : E
seq# : 80000004
chksum : 0xe0ab
Net mask : 255.255.255.252
TOS 0 Metric: 1
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Low
5类LSA在传递的过程中,下一跳不会被中间设备修改(参考实验1)
6、LSA Type-7 —— 非纯末节区域 LSA: NSSA LSA
只有区域1是NSSA,引入的外部路由才是Type-7(参考实验2)
Type-7只在NSSA区域泛洪,ABR会做Type-7 转 Type-5
如果有两个ASBR,比较Router ID,大的做7转5
⚫用于特殊区域 NSSA 中的LSA。
⚫由ASBR产生,用于描述到达OSPF域外的路由。NSSA7类与5类功能一样,但泛洪范围不同。
⚫NSSA7类只能在始发区域内泛洪,并不能直接进入Area0。当7类需要传递Area0的时候,ABR会将7类转换成5类传递入到Area0中
NSSA 非纯末节区域 :除了其他区域引入的外部路由以外都学
NSSA=Not So Stub Area
学习自己的域内+别的区域的域间+(自己包含ASBR)学习自己引入的外部路由
观察R4的NSSA
[R4]dis ospf lsdb nssa 5.1.1.06
OSPF Process 1 with Router ID 4.4.4.4
Area: 0.0.0.1
Link State Database
Type : NSSA
Ls id : 56.1.1.0
Adv rtr : 4.4.4.4
Ls age : 161
Len : 36
Options : NP
seq# : 80000001
chksum : 0xb8a2
Net mask : 255.255.255.252
TOS 0 Metric: 1
E type : 2
Forwarding Address : 34.1.1.2
Tag : 1
Priority : Low
R1上观察同一条路由
Type : External
Ls id : 56.1.1.0
Adv rtr : 4.4.4.4
Ls age : 1774
Len : 36
Options : E
seq# : 80000004
chksum : 0x7c0a
Net mask : 255.255.255.252
TOS 0 Metric: 1
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Low
7、LSA Type-9 —— 优雅重启用
8、查看ospf网络中哪些是ABR、ASBR
<AR3>dis ospf abr-asbr
OSPF Process 1 with Router ID 3.3.3.3
Routing Table to ABR and ASBR
RtType Destination Area Cost Nexthop Type
Intra-area 4.4.4.4 0.0.0.0 1 34.1.1.2 ABR
Intra-area 5.5.5.5 0.0.0.0 2 34.1.1.2 ABR
Intra-area 2.2.2.2 0.0.0.1 1 23.1.1.1 ASBR