29

精通企业网络当中网红协议OSPF协议---进阶篇-栗子老师的博客

 4 years ago
source link: https://blog.51cto.com/13817711/2490540
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

链路状态和LSA的理解

链路状态信息的理解

OSPF作为链路状态路由协议,不直接传递各路由器的路由表,而传递链路状态信息,各路由器基于链路状态信息独立计算路由。所有路由器各自维护一个链路状态数据库。邻居路由器间先同步链路状态数据库,再各自基于SPF(Shortest Path First)算法计算最优路由,从而提高收敛速度
所谓Link State(链路状态)指的就是路由器的接口状态。在OSPF中路由器的某一接口的链路状态包含了如下信息
① 该接口的IP地址及掩码
② 该接口的带宽(开销)
③ 该接口所连接的邻居
④ 链路的类型
OSPF路由器同步的是最原始的链路状态信息,而且对于邻居路由器发来的链路状态信息,仅作转发。最终所有路由器都将拥有一份相同且完整的原始链路状态信息

精通企业网络当中网红协议OSPF协议---进阶篇

LSA头部理解

LSA(Link State Advertisement)是路由器之间链路状态信息的载体。LSA是LSDB的最小组成单位,也就是说LSDB由一条条LSA构成的。所有的LSA都拥有相同的头部,关键字段的含义如下:
 LS age:此字段表示LSA已经生存的时间,单位是秒。3600s为老化时间,从lsdb中清除 通告的时候是0开始增长 更新时间1800s通告一次(通过LSU维护更新状态)
 LS type:此字段标识了LSA的格式和功能。常用的LSA类型有五种
 Link State ID:此字段是该LSA所描述的那部分链路的标识,例如Router ID等
 Advertising Router:此字段是产生此LSA的路由器的Router ID
 LS sequence number:此字段用于检测旧的和重复的LSA。32位有符号数 默认从0x80000001开始 最大0x7fffffff

精通企业网络当中网红协议OSPF协议---进阶篇

如何标识唯一一条LSA

LS type,Link State ID和Advertising Router的组合共同标识一条LSA

如何比较一条LSA的新旧

1.如序列号越大越新
① 当路由器生成一条新的LSA时,使用序列号0x80000001做为该LSA的初始序列号,此后,每次更新该LSA,序列号加1
2.比较checksum 越大越新
3.比较age 越小越新
① 如果age=max age即3600s认为该条lsa是最新的立即更新
② 每条LSA都有一个年龄字段,LSA驻留在OSPF的数据库中,已经LSA的传播过程中年龄字段不断增加。OSPF有一个MaxAgeDiff的值,如果两条LSA的序列号相同,而年龄不同,如果年龄差值超过MaxAgeDiff值,那么认为是不同的两条LSA,将进行更新过程。如果小于MaxAgeDiff值,那么认为是相同的LSA,将丢弃后续收到的那条LSA
③ OSPF还有一个MaxAge的值,如果LSA的年龄超过该值,那么这条LSA会被从数据库中清除,并将该老化的LSA扩散出去,导致从所有的路由器数据库中清除
LSRefeshTime是LSA的定期刷新定时器,该定时器控制定期刷新LSA
MaxAgeDiff 15分钟
MaxAge 1小时
LSRefeshTime 30分钟

OSPF更新机制

OSPF为每个LSA条目维持一个老化计时器(3600s),当计时器超时,此LSA将从LSDB中删除
为了防止LSA条目达到最大生存时间而被删除,OSPF通过定期更新(每1800s刷新一次)机制来刷新LSA。OSPF路由器每1800s会重新生成LSA,并通告给其他路由器

当链路状态发生变化后,路由器立即发送更新消息,其他路由器收到更新消息后立即进行路由计算,快速完成收敛

精通企业网络当中网红协议OSPF协议---进阶篇

OSPF的SPF算法

在同一个区域当中,OSPF使用SPF算法来实现破除环路和最优路径的计算,其中在一个OSPF区域里面会有Router-LSA(LSA-1)和Network-LSA(LSA-2)泛洪,Router-LSA(LSA-1)由每一台运行OSPF的路由器为每一个区域产生一份LSA,Network-LSA(LSA-2)由MA网络里面的DR产生

精通企业网络当中网红协议OSPF协议---进阶篇

Router-LSA(LSA-1)

描述P2P网络

每台OSPF路由器使用一条Router-LSA描述本区域内的链路状态信息
 LSA头部的三个字段含义如下
① Type:LSA类型,Router代表是LSA-1
② LS id:链路状态ID(也就是产生该LSA的Router ID)
③ Adv rtr:产生此Router-LSA的路由器Router ID

精通企业网络当中网红协议OSPF协议---进阶篇
精通企业网络当中网红协议OSPF协议---进阶篇

一条Router-LSA可以描述多条链路,每条链路描述信息由Link ID,Data,Link Type和Metric组成,其关键字含义如下
 Link Type:链路类型,Router LSA描述的链路类型主要有4种
① Point-to-Point:描述一个从本路由器到邻居路由器之间的点到点链接,属于拓扑信息
② TransNet:描述一个从本路由器到一个Transit网段(例如MA网段或者NBMA网段)的链接,属于拓扑信息
③ StubNet:描述一个从本路由器到一个Stub网段(例如Loopback接口)的链接,属于路由信息
 Link ID:此链路的对端标识,不同链路类型的Link ID表示的意义也不同
 Data:用于描述此链路的附加信息,不同的链路类型所描述的信息也不同
 Metric:描述此链路的开销

描述MA网络

在描述MA网络类型的Router-LSA中,Link ID为DR的接口IP地址,Data为本地接口的IP地址
RTB、RTC、RTE之间通过以太链路互连,以RTC产生的LSA为例,Link ID为DR的接口IP地址(10.1.235.2),Data为本地路由器连接此MA网络的接口IP地址(10.1.235.3),Link Type为TransNet,Metric表示到达DR的开销值
TransNet描述的链接中仅包括与DR的连接关系及开销,没有网络号/掩码及共享链路上其他路由器的任何信息

精通企业网络当中网红协议OSPF协议---进阶篇
精通企业网络当中网红协议OSPF协议---进阶篇

LSA-1的总结

精通企业网络当中网红协议OSPF协议---进阶篇

Network-LSA

MA共享网段或NBMA共享网段中网络号/掩码及路由器间的链接关系,可以通过Network-LSA来呈现。在Network-LSA中关键字的含义如下

精通企业网络当中网红协议OSPF协议---进阶篇
精通企业网络当中网红协议OSPF协议---进阶篇

① Type:LSA类型,Network-LSA是二类LSA
② LS id:DR的接口IP地址
③ Adv rtr:产生此Network-LSA的路由器Router ID,即DR的Router ID
④ Net mask:该网段的网络掩码
⑤ Attached Router:连接到该网段的路由器列表,呈现了此网段的拓扑信息
基于上述字段表达的信息,Ls id和Net mask做与运算,即可得出该网段的IP网络号,另外,从DR路由器到其所连接的路由器的开销为0
从Attached Router部分可以看出,2.2.2.2、3.3.3.3、5.5.5.5共同连接到该共享MA网段中,DR路由器为2.2.2.2,网络号10.1.235.0,掩码255.255.255.0

计算最短路径树-物理拓扑

精通企业网络当中网红协议OSPF协议---进阶篇

由LSDB描述的有向图

精通企业网络当中网红协议OSPF协议---进阶篇

描述RTA的LSA计算完成后的SPF树

精通企业网络当中网红协议OSPF协议---进阶篇

最终的最短路径树

精通企业网络当中网红协议OSPF协议---进阶篇

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK