OSPF:
OSPF是IETF定义的一种基于链路状态的内部网关路由协议。目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。 OSPF有以下优点: 基于SPF算法,以“累计链路开销”作为选路参考值 采用组播形式收发部分协议报文 支持区域划分 支持对等价路由进行负载分担 支持报文认证
链路状态路由协议 – LSA泛洪
链路状态路由协议通告的的是链路状态而不是路由信息。 运行链路状态路由协议的路由器之间首先会建立邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。
OSPF基础术语 – 度量值
OSPF使用Cost(开销)作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值,缺省的接口Cost = 100 Mbit/s /接口带宽。其中100 Mbit/s为OSPF指定的缺省参考值,该值是可配置的。 OSPF以“累计cost”为开销值,也就是流量从源网络到目的网络所经过所有路由器的出接口的cost总和。
OSPF基础术语 – 区域
OSPF Area用于标识一个OSPF的区域。 区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。 OSPF的区域ID是一个32bit的非负整数,按点分十进制的形式(与IPv4地址的格式一样)呈现,例如Area0.0.0.1。为了简便起见,我们也会采用十进制的形式来表示。
OSPF邻居表、LSDB和OSPF路由表
OSPF邻居表:
OSPF在传递链路状态信息之前,需先建立OSPF邻居关系。 OSPF的邻居关系通过交互Hello报文建立。 OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。
LSDB:
LSDB会保存自己产生的及从邻居收到的LSA信息,本例中R1的LSDB包含了三条LSA。 Type标识LSA的类型,AdvRouter标识发送LSA的路由器。 使用命令行display ospf lsdb查看LSDB表。
OSPF路由表:
OSPF路由表和路由器路由表是两张不同的表。本例中OSPF路由表有三条路由。 OSPF路由表包含Destination、Cost和NextHop等指导转发的信息。 使用命令display ospf routing查看OSPF路由表。
DR与BDR的选举规则
接口的DR优先级越大越优先。 接口的DR优先级相等时,Router ID越大越优先。
LSA类型:
在OSPF中共有6种常用的LSA类型,分别为Router-LSA(1类)、Network- LSA(2类)、Summary- LSA(3类)、ASBR-Summary- LSA(4类)、AS-External- LSA(5类)、NSSA- LSA(7类)。
LS Age(链路状态老化时间):此字段表示LSA已经生存的时间,单位是秒。 Options(可选项):每一个bit都对应了OSPF所支持的某种特性。 LS Type(链路状态类型):指示本LSA的类型。 Link State ID(链路状态ID):不同的LSA,对该字段的定义不同。 Advertising Router(通告路由器):产生该LSA的路由器的Router ID。 LS Sequence Number(链路状态序列号):当LSA每次有新的实例产生时,序列号就会增加。 LS Checksum(校验和):用于保证数据的完整性和准确性。 Length:是一个包含LSA头部在内的LSA的总长度值。
Router-LSA
Type : Router
Ls id : 2.2.2.2
Adv rtr : 2.2.2.2
Link count: 5
* Link ID: 1.1.1.1
Data : 10.1.12.2
Link Type: P-2-P
Metric : 1
* Link ID: 10.1.12.0
Data : 255.255.255.0
Link Type: StubNet
Metric : 1
Priority : Low
* Link ID: 10.1.23.3
Data : 10.1.23.2
Link Type: TransNet
Metric : 1
* Link ID: 10.1.29.9
Data : 10.1.29.2
Link Type: TransNet
Metric : 1
* Link ID: 2.2.2.2
Data : 255.255.255.255
Link Type: StubNet
Metric : 0
Priority : Medium
Network-LSA
Type : Network
Ls id : 10.1.23.3 伪节点接口地址
Adv rtr : 3.3.3.3 伪节点设备的Router-id
Ls age : 413
Len : 32
Options : E
seq# : 80000002
chksum : 0x45ce
Net mask : 255.255.255.0 伪节点掩码信息
Priority : Low
Attached Router 3.3.3.3 伪节点连接的路由器的Router-id
Attached Router 2.2.2.2
Summary-LSA
Type : Sum-Net
Ls id : 10.1.45.0 网段信息
Adv rtr : 3.3.3.3 产生该LSA设备的Router-id
Ls age : 664
Len : 28
Options : E
seq# : 80000002
chksum : 0xa372
Net mask : 255.255.255.0 掩码信息
Tos 0 metric: 2
Priority : Low
ASBR-Summary-LSA
Type : Sum-Asbr
Ls id : 7.7.7.7 ASBR设备的Router-id
Adv rtr : 1.1.1.1 产生该LSA设备的Router-id
Ls age : 17
Len : 28
Options : E
seq# : 80000001
chksum : 0x635
Tos 0 metric: 1
AS-External-LSA
Type : External
Ls id : 192.168.1.0 外部路由信息
Adv rtr : 7.7.7.7 产生该LSA设备的Router-id
Ls age : 127
Len : 36
Options : E
seq# : 80000001
chksum : 0xebde
Net mask : 255.255.255.0 掩码信息
TOS 0 Metric: 1
E type : 1
Forwarding Address : 0.0.0.0 转发地址(在特殊场景以及做7转5时会产生)
Tag : 1
Priority : Low
如何比较LSA的新旧?
- 首先比较序列号,如果序列号越大,则越新。
- 如果序列号相同,则比较校验和,校验和越大越新。
- 如果校验和相同,则比较存活时间(LS Age),如果这些LSA中有一条存活时间为3600s,则认为该LSA是最新的,用于删除一条LSA。
- 如果所有LSA age不等于3600S,则判断LSA age的差值,如果大于900S(15分钟)则认为LSA age小的最新,如果小于900S则认为相同;
- 如果上述条件都一样的话,则认为这两条LSA是相同的,将本地的LSA保留。
以上就是关于OSPF的一点知识,后续关于它的其他知识,小编也会积极编写,希望可以帮到正在努力的你!!有什么问题,欢迎评论留言。