OSPF基础

  • Post author:
  • Post category:其他


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的新旧?


  1. 首先比较序列号,如果序列号越大,则越新。
  2. 如果序列号相同,则比较校验和,校验和越大越新。
  3. 如果校验和相同,则比较存活时间(LS Age),如果这些LSA中有一条存活时间为3600s,则认为该LSA是最新的,用于删除一条LSA。
  4. 如果所有LSA age不等于3600S,则判断LSA age的差值,如果大于900S(15分钟)则认为LSA age小的最新,如果小于900S则认为相同;
  5. 如果上述条件都一样的话,则认为这两条LSA是相同的,将本地的LSA保留。

以上就是关于OSPF的一点知识,后续关于它的其他知识,小编也会积极编写,希望可以帮到正在努力的你!!有什么问题,欢迎评论留言。



版权声明:本文为gx1469131213原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。