OSPF是一种链路状态路由协议。它具有标准开放、收敛迅速、无环路、便于层级化设计等众多优点。IPv4网络中广泛使用的OSPFv2协议由于在报文内 容、运行机制等方面与IPv4地址联系得过于紧密,大大制约了它的可扩展性和适应性。在IPv6环境中,为了使OSPF更好的应用,同时保留原有的众多优 点,因此,在OSPFv2的基础上作了多方面的修改后产生了OSPFv3协议。
1.
1)
OSPFv2协议是基于子网运行的,邻居之间形成邻接关系的必要条件之一就是两端的IP地址属于同一网段而且掩码相同。而OSPFv3协议基于链路运行,与具体的IPv6地址、前缀分离开,即使同一链路上的不同节点具有不同网段的IPv6地址时,协议也可以正常运行。
能否直接在v2上修改,使其也不基于子网运行。
2)
在OSPFv2中,协议分组和LSA中的许多字段都是来自于网络上的某个IP地址、掩码或某个IP子网号。报文的数据内容决定了OSPFv2的多种机制必须基于IPv4来进行,包括邻居路由器标识、邻居建立等等。
在OSPFv3中取消了这些编址性语义,而只保留协议运行必须的核心内容。比如,Router-LSA和Network-LSA中不再包含网络地址,而只用于传递拓扑信息;LSA的Link State ID依然保留32位长度的IPv4地址格式,但只是一个编号,不再包含地址信息;邻居路由器,包括DR和BDR,都是用Router ID来标识。这些保证了OSPFv3协议能够独立于网络协议运行。
3)
OSPFv2协议要求,每一个运行OSPF的接口都必须有一个全局的IPv4地址,即使是在网络中仅仅用于传输转发的中间节点也必须如此,协议的运行和路 由的计算都依赖于这个地址。而在IPv6中,每个接口都会分配本地链路地址(link-local address),这个地址只在本地链路有效,并不会在整个网络中传播。OSPFv3使用这个本地链路地址作为协议分组发送的源地址(虚连接除外)和路由 的下一跳,在网络规划时就不需要在大量的中间节点规划子网,同样也不需要专门配置IPv6地址。这样,一方面可以节省大量的全局地址,另一方面可以说协议 的运行独立于IPv6,可以方便的对协议进行扩展,实现组播选路等其他的功能。
OSPFv2(IPv4)简要回顾(RFC2328):
--可支持大规模的路由
--路由变化快速收敛
--无路由环路
--支持等价负载均衡(LSA链路状态路由协议,仅仅支持等价,非等价的是EIGRP和BGP可以支持)
--支持区域分级管理
--支持路由分级管理
--支持验证(明文验证和MD5的验证)
--支持以组播发送协议报文(224.0.0.5和224.0.0.6)
OSPFv2的协议号是89.
Router-ID是一个32位的无符号的整数, 是一个路由器的唯一标示,所以一般用环回来表示.在整个AS内唯一.
区域内的路由器(IAR)------该路由器所有接口都属于同一个ospf区域.
区域边界路由器(ABR)-----负责传递不同区域间的路由信息.该路由器同时属于两个以上的区域(其中一个区域一定是area0)
自治系统边界路由器(ASBR)-----负责引入其他自治系统的路由信息,该路由器引入了其他路由协议(重分发).
PS.路由器的各种类型是可以相互切换的(除了不能同时是IAR和ABR)
所有类型的路由器用一个图表示的话:
OSPFv2把所有的网络拓扑抽象成三种情况:
--Stub网络 , 该网络所连接的只有自己的路由.
--Point-to-point网络, 该路由器通过点到点的网络与另一台路由器相连.
--广播(broadcast)或者NBMA网络: 该路由器通过广播网络或NBMA网络与多台路由器相连接.
接口类型:(OSPF的接口有五种类型)
-->点到点(P2P)接口
-->点到多点(P2MP)接口
-->点到多点非广播(P2MP non-broadcast)接口
-->广播(Broadcast)接口
-->NMBA(Non-broadcast Multi-access)接口
~~~~~~Virtual link接口是一种特殊的P2P接口类型.(建立一个虚拟隧道)
OSPF的洪泛与链路状态数据库
在OSPF的一个区域里面,LSA会泛红到所有路由器,最终让该区域的所有路由器进行数据库统一.
通过大家交换LSA.(Type-1,type-2的泛洪)
OSPF数据报文有五种:
-->Hello 报文,发现及维持邻居关系,选举DR,BDR
-->DBD报文,描述本地LSDB的情况
-->LSR报文,向对端请求自己没有的LSA
-->LSU报文,向对方更新LSA
-->LSAck报文,收到LSU后,进行确认
所有报文使用同样的报文头
除了Vlink,在其他链路上传播距离为一跳.
OSPFv3协议介绍
----运行于IPv6的OSPF路由协议(RFC2740)
---基于OSPFv2基本原理并且增强,是一个独立的路由协议。协议号依然是89,Router-id依然是一个32位的无符号整数.[这里的Router-ID在IPv6中不是一个IP地址的格式了,而是32位无符号整数]
虽然OSPFv3和V2很多概念是一样的,但是相互并不兼容.
OSPFv3和OSPFv2的不同点:
1,
OSPFv3的拓扑描述依赖于IPv6的link-local地址,又脱离于IPv6的任何地址.
其实也就是说,在链路上面就算没有OSPF的单播地址,也照样能形成邻居关系.因为源是link-local地址,目的是组播地址,这样就能完成ospf的交互.
这里有两个例子:
OSPFv2,是基于链路运行的.例如下面,在同一个MA网络中,一定是大家要子网网段一直,掩码一致,才能建立邻居关系.
而OSPFv3如下,每个路由器连接到MA网络中,子网都是不同的.
RTA=5f00.1111::1/32 RTB=5f00.2222::1/32 RTC=5f00.3333::1/32
即使是这样,他们一样的能建立起来OSPF邻居关系,因为使用的是link-local为源地址.
因为拓扑数据库要描述的东西完全和地址没有关系,数据库需要描述的是RTA/B/C在同一个子网,cost是多少就够了.(具体的网段和数据库没有多大关系)
2,IPv6地址语义和协议设计分离
OSPFv3的拓扑描述依赖于IPv6的link-local地址,又脱离于IPv6的任何地址.
其实也就是说,在链路上面就算没有OSPF的单播地址,也照样能形成邻居关系.因为源是link-local地址,目的是组播地址,这样就能完成ospf的交互.
具体在哪里体现出语义和协议设计分离呢?
1,利用IPv6的link-local地址来传递网络拓扑信息,但是拓扑信息里不包括IPv6地址.
2,Router-LSA和Network-LSA只反映网络拓扑信息;
3,采用专门的LSA来传递IPv6的前缀信息(Intra-area prefix LSA)
4,Router-ID,Area ID和LSA link state ID依然是IPv4的格式(32bit),而不是IPv6地址
5,邻居由于邻居Router ID来标示.
3,明确LSA洪泛范围并且增加link-local洪泛范围
IPv4中,router-LSA和network-LSA在本区域内进行泛洪.Type-3 summary LSA是在区域间泛洪,type-4是区域间,type-5是全网泛洪.....但是这个范围不外乎都是区域内或者区域间进行泛洪.
但是对于OSPFv3来说,还增加了一个链路范围进行泛洪.
1, 新增加了Type-8的LSA,仅仅在本地链路范围内进行洪泛.泛洪范围:链路本地(link-local scope)
2, 区域范围(Area Scope): Router-LSA, Network LSA, Inter-area-Prefix-LSA
Inter-Area-Router-LSA, AS-NSSA-LSA(仅仅存在于NSSA区域)
Intra-Area-prefix-LSA(新增)
3, 自治系统范围(AS Scope): AS-External-LSA
泛洪范围 |
|
链路本地泛洪 |
Link-LSA(Link-local Scope) Type-8 |
区域内泛洪 |
Router-LSA(Type-1) |
|
Network-LSA(Type-2) |
|
Intra-Area-Prefix-LSA(承载区域内IPv6的前缀) Type-9 |
NSSA区域内 |
AS-NSSA-LSA(Type-7) |
区域间泛洪 |
Inter-Area-Prefix-LSA |
|
Inter-Area-Router-LSA |
AS内泛洪 |
AS-External-LSA(type-5) |
4,连接(Link)多实例化
多实例的应用.
场景1:这里A/B/C/D都在同一个子网中,预期的结果是:
A--D形成邻居/邻接关系.
B--C形成邻居/邻接关系.
A-X-C没有任何关系. B-X-D也没有任何关系.
在IPv4中是不行的,但是在IPv6中,在Hello包中增加一个叫Instance-ID的字段.也作为一个必须匹配字段,不同就不能建立邻居.
5,使用链路本地(link-local)地址
除了Virtual link以外(虚链路实际上是一个隧道技术,已经超出了链路范围),其他的链路上发送的报文源地址都是link-local地址,目的地址为link-local地址或者是组播地址.[实际上就是根本不会用单播地址进行协商]
6,验证与效验和变化
OSPFv3报文中不再包含AuType和Authentication,而依赖IPv6的扩展验证包头来进行认证.
效验和checksum变化:
OSPFv3使用IPv6标准的check sum. IPv6的效验和覆盖范围比较IPv4,将会覆盖IPv6的包头.
7,报文格式变化
下面是OSPFv2和V3的包头的变化:
在V2中,认证有很多字段,到了V3以后就没有了.
但是V3多增加了一个Instance ID,这样就可以做多实例的邻居关系了。
OSPFv3包头字段的描述:
--Version:版本,对于OSPFv2,该值=2,OSPFv3=3.
--Type: 1-Hello,2-DD,3-LSR,4-LSU,5-LSAck
--Packet Length: OSPFv3报文长度
--Router ID:路由器ID,全网唯一.
--Area ID:区域ID,除了虚连接以外.其他的都需要和骨干区域相连接.
--Checksum:效验和
--Instance ID:链路实例ID.建立邻居的时候必须匹配,否则2way都建立不起来.V3新增加字段.
8,LSA类型和格式的变化
除了第六是从来没有启用过的,8和9和新增加的.
area0)
除area0)
(收集和发送LSA)
备份DR挂了才发送LSA)
(config-if)#ip
下面是OSPF协议的特点:
◆开放式协议。
◆适用于小型至大型网络。
◆仅支持IP第三层路由协议栈。
◆链路状态路由协议(不像距离矢量仅发送给邻居)。
◆OSPF协议具有内部网关协议。
◆多播链路状态通告。
◆在多播地址224.0.0.5和224.0.0.6上升级。
◆IP协议号89。
◆管理距离是110。
◆衡量标准是累积成本(与带宽成反比)。
◆仅支持等价均分负载,但是,某些执行可利用服务类型请求的好处。
◆要求在那个每一个区域都有一个路由结构,每一个区域必须要接触到骨干区域(否则要使用虚拟链接等临时的补丁)。LSA、区域和状态等各种路由类型需要根据你的设计和第二层拓扑结构而定。
◆使用Dijkstra算法选择无路由自环路经,并且提供迅速的融合。这将使用LSA和SPF算法。
◆支持变长子网掩码(VLSM)和汇总(没有级别)。
◆仅支持手动汇总;OSPF协议并不像增强型内部网关路由选择协议(EIGRP)那样是自动化的。只能在ABR(区域范围)或者ASBR(汇总地址)上执行
◆基于政策的路由。
OSPF 的 LSA 类型汇总(包括 OSPFv2 和 OSPFv3)
OSPF LSA
LSA(Link-State Advertisement,链路状态广播)是链接状态协议使用的一个分组,它包括有关邻居和通道成本的信息。 LSAs 被路由器接收用于维护它们的 RIB(路由表)。
OSPF 路由协议是链路状态型路由协议,这里的链路即设备上的接口。链路状态型路由协议基于连接源和目标设备的链路状态作出路由的决定。链路状态是接口及其与邻接网络设备的的关系的描述,接口的信息即链路的信息,也就是链路的状态(信息)。这些信息包括接口的 IPv6 前缀(prefix)、网络掩码、接口连接的网络(链路)类型、与该接口在同一网络(链路)上的路由器等信息。这些链路状态信息由不同类型的 LSA 携带,在网络上传播。
路由器把收集到的 LSA 存储在链路状态数据库中,然后运行 SPF 算法计算出路由表。链路状态数据库和路由表的本质不同在于:数据库中包含的是完整的链路状态原始数据,而路由表中列出的是到达所有已知目标网络的最短路径的列表。
OSPF 协议是为 IP 协议提供路由功能的路由协议。OSPFv2(OSPF 版本 2)是支持 IPv4 的路由协议,为了让 OSPF 协议支持 IPv6,技术人员开发了 OSPFv3(OSPF 版本 3),OSPFv3 由
LSA 类型
1、OSPFv2 LSA 类型:
LSA 类型 | LSA 类型编号 |
Router LSA | 1 |
Network LSA | 2 |
Network summary LSA | 3 |
ASBR summary LSA | 4 |
Autonomous system external LSA | 5 |
Group membership LSA | 6 |
NSSA External LSA | 7 |
External attributes LSA for BGP | 8 |
Opaque LSA(链路本地范围) | 9 |
Opaque LSA(本地区域范围) | 10 |
Opaque LSA(AS 范围) | 11 |
注意:下面的文字描述还是比较详细的,如果文字描述确实是太多了,您可以只看字体加粗的部分。再往下还有 LSA 1 / 2 / 3 / 4 / 5 / 7 的类型总结。
(1)路由器 LSA(Router LSA):每一台路由器都会产生 1 类 LSA 通告。这个最基本的 LSA 通告列出了路由器所有的链路或接口,并指明了它们的状态和沿每条链路方向出站的代价,以及该链路上所有已知的 OSPF 邻居;另外,1 类 LSA 同时也指出了路由器是不是 ABR 或 ASBR。这些 LSA 通告只会在始发它们的区域内部进行泛洪扩散(如下图所示)。通过命令
1 类 LSA:路由器 LSA
在链路状态 ID 字段中,使用通告路由器的路由器 ID 来标识 1 类 LSA。路由器的每条链路(接口)都被定义为 4 种类型之一:1、2、3 或 4 类。LSA 包含一个链路 ID 字段,用于标识链路的另一端;链路 ID 字段的含义随链路类型而异,下表描述了 1 类 LSA 链路类型及其链路 ID 字段的含义:
链路类型 | 描述 | 链路 ID 字段的内容 |
1 | 到另一台路由器的点到点连接 | 邻居路由器的 ID |
2 | 到中转网络的连接 | DR 的接口地址 |
3 | 到末节网络的连接 | IP 网络 / 子网号 |
4 | 虚链路 | 邻居路由器的 ID |
还有一个链路数据字段,它提供了 32 位的额外信息。对于大多数链路类型来说,这是相关路由器接口的 IP 地址;对于连接到末节网络的链路来说,这是该末节网络的子网掩码。
(2)网络 LSA(Network LSA):2 类 LSA 是 DR 为区域中每个中转的广播网络或 NBMA 网络生成的。中转网络至少与两台 OSPF 路由器直接相连,诸如以太网等多路访问网络就属于中转网络。2 类 LSA 列出了构成中转网络的所有路由器(包括 DR 本身)和链路的子网掩码。中转链路的 DR 负责通告 2 类 LSA,2 类 LSA 随后被扩散到区域内所有的路由器,2 类 LSA 不会跨越区域边界进行传播(如下图所示)。其链路状态 ID 为通告它的 DR 的 IP 接口地址。使用命令
关于网络 LSA 的其他解释: DR 路由器可以看作一个“伪”节点,或是一个虚拟路由器,用来描绘一个多路访问网络和与之相连的所有路由器。从这个角度来看,一条网络 LSA 通告也可以描绘一个逻辑上的“伪”节点,就像一条路由器 LSA 通告描绘一个物理上的单台路由器一样。网络 LSA 通告列出了所有与之相连的路由器,包括 DR 路由器本身。就像路由器 LSA 一样,网络 LSA 也仅仅在产生这条网络 LSA 的区域内部进行泛洪扩散。 |
2 类 LSA:网络 LSA
(3)网络汇总 LSA(Network summary LSA):3 类 LSA 由 ABR 生成,它将一个区域内的网络通告给 OSPF 自治系统中的其他区域(1 类和 2 类 LSA 是被限制在区域内的)。如下图所示,ABR 从区域内的其他路由器那里收到 1 类 LSA 后,向外发送 3 类 LSA,以便将通过 1 类 LSA 获悉的网络通告给其他区域。3 类 LSA 只在一个区域内扩散,但 ABR 重新生成 3 类 LSA 以便将其扩散到其他区域。使用命令
3 类 LSA:网络汇总 LSA
当一台 ABR 始发一条网络汇总 LSA 时,将包括从它本身到正在通告的这条 LSA 的目的地所耗费的代价。ABR 即使知道它有多条路由可以到达目的地,它也只会为这个目的地始发单条网络汇总 LSA 通告,因此:
- 如果一台 ABR 在与它本身相连的区域内有多条路由可以到达目的地,那么它将只会始发单一的一条网络汇总 LSA 到骨干区域,而且这条网络汇总 LSA 是上述多条路由中代价最低的;
- 同样地,如果一台 ABR 经过骨干区域从其他的 ABR 收到多条网络汇总 LSA,那么这台始发的 ABR 将会选择这些 LSA 通告中代价最低的 LSA,并且将把这个 LSA 的最低代价通告给与它相连的非骨干区域。
默认情况下:
- OSPF 不会自动对一组连续的子网进行汇总,更不会将网络汇总成分类网络;
- ABR 总是将汇总 LSA 扩散到其他区域,而不管其中的路由是否是汇总路由;
- ABR 网络管理员必须使用配置命令来指定如何进行汇总;
- 对于区域中的每个子网,都将一个 3 类 LSA 扩散到骨干区域;
- 汇总 LSA 并不包含汇总路由,因此默认情况下,将通告区域内的所有子网,这可能导致严重的扩散问题,所以应考虑在 ABR 上手工配置路由汇总。
注意:收到 3 类 LSA 时,并不会导致路由器运行 SPF 算法。路由器将 3 类 LSA 通告的路由加入路由表或将其从路由表中删除时,并不一定执行完整的 SPF 计算。调试输出表明,这将导致执行部分 SPF 计算,但表示 SPF 算法执行次数的计数器并不会加 1。有些 Cisco 文档暗示 3 类 LSA 被注入区域时将运行 SPF 算法,但情况并非如此。
扩展: 当其他的路由器从一台 ABR 收到一条网络汇总 LSA 通告时,它并不运行 SPF 算法。相反地,它只是简单地加上从它到那台 ABR 之间路由的代价,并将这个代价包含在这个 LSA 通告当中。通过 ABR 路由器,到达所通告的目的地的路由连同所计算的代价一起被记录进了路由表。这个行为 ―― 依赖中间路由器代替确定到达目的地的全程路由(Full route)的做法 ―― 其实是距离矢量协议的行为。因此,虽然在一个区域内部 OSPF 协议是一个链路状态协议,但是它却使用了距离矢量的算法来查找域间路由。 |
(4)ASBR 汇总 LSA(ASBR summary LSA):仅当区域中有 ASBR 时,ABR 才会生成 4 类 LSA。4 类 LSA 标识 ASBR,并提供一条前往该 ASBR 的路由。前往外部自治系统的数据流要求路由表包含有关通告外部路由的 ASBR 的信息。链路状态 ID 被设置为 ASBR 的路由器 ID。使用命令
如下图所示,ASBR 发送一个 1 类 LSA,并设置 E 位(外部位),指出发送方为 ASBR。1 类 LSA 被限定在区域内。然而,当 ABR(在路由器 LSA 中用边界[B]位标识)收到该 LSA 后,它会创建一个 4 类 LSA,并将其扩散到骨干区域(Area 0)。其他 ABR 将重新生成一个 4 类 LSA,并将其扩散到自己的区域中。
4 类:ASBR 汇总 LSA
(5)自治系统外部 LSA (Autonomous system external LSA):5 类 LSA 描述了前往 OSPF 自治系统外的网络的路由(也包括 OSPF 自治系统外部的缺省路由),它由 ASBR 发送并被扩散到整个 AS(如下图所示)。5 类
5 类:自治系统外部 LSA
鉴于其扩散范围,如果采用默认设置,即不进行路由汇总,外部 LSA 也可能导致问题,这取决于外部网络数。网络管理员应在 ASBR 上对外部网络块进行汇总,以缓解扩散问题。
关于 E1 和 E2 外部路由:
- E1:对于 O E1 外部路由,开销为外部开销加上分组经过的每条链路的内部开销。多个 ASBR 将同一条外部路由通告到同一个自治系统中时,应使用这种类型,以避免次优路由;
- E2(默认):O E2 路由的开销总是只包含外部开销。只有一台 ASBR 将外部路由通告到自治系统中时,使用这种类型。
如下图所示,前往外部自治系统 AS1 的路由的 E2 开销总是 1785。而 E1 开销每经过一条链路,就加了这条链路的
计算 E1 和 E2 路由的开销
(6)组成员 LSA(Group membership LSA):是用在 OSPF 协议的一个增强版本――组播 OSPF 协议(MOSPF协议)中的。MOSPF 协议将数据包从一个单一的源地址转发到多个目的地,或者是一组共享 D 类组播地址的成员。
(7)NSSA 外部 LSA(NSSA External LSA):是指在非纯末梢区域(Not-So-Stubby Area, NSSA)内始发于 ASBR 路由器的 LSA 通告。NSSA 外部 LSA 通告几乎和 5 类
(8) BGP 的外部属性 LSA(External attributes LSA for BGP):是被提议作为运行内部 BGP 协议(iBGP 协议)的另一种选择,以便用来传送 BGP 协议的信息穿过一个 OSPF 域。这个 LSA 从来没有在大范围部署过,IOS 也不支持该 LSA。
(9 ~ 11)不透明 LSA(Opaque LSA):是由标准的 LSA 头部后面跟随专用信息组成的一类 LSA。这个信息字段可以直接由 OSPF 协议使用,或者由其他应用分发信息到整个 OSPF 域间接使用。Opaque LSA 类型用于对 OSPF 增加可变的扩展特性,例如在 MPLS 网络中应用流量工程参数。
- (9)Opaque LSA(链路本地范围):只在链路间泛洪
- (10)Opaque LSA(本地区域范围):只在本区域内泛洪
- (11)Opaque LSA(AS 范围):在整个 OSPF 域内泛洪
其他相关文章:
- 不透明 LSA(Opaque LSA)主要应用在基于
MPLS 的流量工程中,详情请看:《什么是基于 MPLS 的流量工程(What is Traffic Engineering base on MPLS / What is MPLS TE)?》
2、OSPFv2 LSA 类型总结:
OSPFv2 LSA 类型总结
标注:图中 ADV 是通告路由器;ABR 是区域边界路由器;ASBR 是自治系统边界路由器。
① LSA 1 路由器 LSA(Router LSA)
描述路由器的直连链路状态信息。由每个发起路由器通告,只在本区域内传递,不会超过 ABR。
② LSA 2 网络 LSA(Network LSA)
描述本区域内
③ LSA 3 网络汇总 LSA(Network summary LSA)
描述 OSPF 的区域间路由(在路由表中以 O IA 标识)。原 LSA 1 所描述的路由信息会由所在区域的 ABR 将其转换为 LSA 3。由 ABR 通告,3 类 LSA 只在一个区域内扩散,但 ABR 可以重新生成 3 类 LSA 以便将其扩散到其他区域(但是有的特殊区域会不让 LSA 3 进)。
注意:LSA 3 每穿越一个 ABR,其 ADV Router(通告路由器)都会发生改变,ADV Router 转变为最后一次穿越的 ABR 路由器。
④ LSA 5 自治系统外部 LSA (Autonomous system external LSA)
没有看错,这里是 LSA 5,我们先讲 LSA 5 再反过来看 LSA 4。
LSA 5 描述的是
注意:LSA 5 的 ADV Router 在穿越 ABR 的时候是不会改变的。
⑤ LSA 4 ASBR 汇总 LSA(ASBR summary LSA)
LSA 4 所承载的内容是:ASBR 的 Router-ID。LSA 4 其实就是图中 R4(通告路由器)将 Area 3 中 R11 的 Router-ID 信息转换为 LSA 4,在整个 OSPF 域中泛洪传播(特殊区域除外)。LSA 4 由 ABR 通告。
为什么需要 LSA 4?由于 LSA 5 的通告路由器在穿越 ABR 的时候不会改变,如图中 Area 3 的 LSA 5 在穿越 R4 到达 Area 0 时,通告路由器不改变仍然是 R11,因此除了 Area 3,Area 0 和其他区域都不知道 R11 的信息。此时就需要 LSA 4 为 Area 0 和其他区域提供 R11 的信息,可以这么说,LSA 4 是为 LSA 5 所服务的。
⑥ LSA 7
LSA 7 通告几乎和 LSA 5 通告是相同的,由
其他相关文章:
- 如果您想了解 OSPF 的特殊区域,请看:《OSPF 的 Area 类型汇总(包括特殊区域:Stub Area、Total Stub Area、NSSA Area、Total NSSA Area)》
3、OSPFv3 LSA 类型:
在 IPv6 环境下生成和再次生成 LSA 的过程与 IPv4 环境下的过程是相同的。再次生成的 LSA 的序列码(LS sequence number)递增,LSA 的生存时间(LS age)被设置为 0,LSA 被写入链路状态数据库中,并从适当的接口扩散出去。在 IPv4 环境下能够触发再次生成 LSA 的事件,同样能够触发 IPv6 环境下的路由器再次生成 LSA,除此之外,下列事件或行为也能够触发 IPv6 路由器再次生成 LSA:
- 任意一个路由器接口状态的改变;
- DR 路由器身份的改变;
- 邻居路由器从 full 状态转变到其它状态,或者从其它状态转变到 full 状态;
- 邻居接口 ID 的改变;
- 为链路增加了新的地址前缀,或者删除了某个地址前缀;
- 收到了新的链路 LSA(link-LSA),并引起了链路前缀的变化。
OSPFv3 继承了 OSPFv2 的大多数 LSA 类型,只是名称上有所改变,并增加了新的 LSA 类型。下表列出了 OSPFv3 使用的 LSA。
表 LSA 类型一览表
LSA 名称 | LSA 类型编号 | LSA 类型编码 |
Router-LSA | 1 | 0x2001 |
Network-LSA | 2 | 0x2002 |
Inter-Area-Prefix-LSA | 3 | 0x2003 |
Inter-Area-Router-LSA | 4 | 0x2004 |
AS-External-LSA | 5 | 0x2005 |
Group-membership-LSA | 6 | 0x2006 |
Type-7-LSA | 7 | 0x2007 |
Link-LSA | 8 | 0x2008 |
Intra-Area-Prefix-LSA | 9 | 0x2009 |
(1)路由器 LSA(Router-LSA):描述在特定区域内的路由器接口的链路状态及链路开销。该类型 LSA 仅在接口所在的区域内传播。该类型 LSA 还指示出产生该类型 LSA 的路由器是否是一台 ABR 或 ASBR,以及路由器是否是虚链路的一端。类型 1 LSA 也被用来通告末端(stub)网络。
(2)网络 LSA(Network-LSA):由 DR 产生,用来描述 DR 所代表的网络的链路状态信息和链路开销信息。该 LSA 是 BMA 网络上的所有链路信息和链路开销信息的集合信息。
(3)区域间前缀 LSA(Inter-Area-Prefix-LSA):这种类型 LSA 在 OSPFv2 中叫做概括的网络链路状态条目(summary net link states)。该类型 LSA 由 ABR 产生,用来把一个区域内的路由信息通告到另外一个区域。这种类型的 LSA 既可以描述一条具体的路由信息,也可以描述总结的路由信息。在 OSPFv3 中,地址是用前缀和前缀长度表达的,而不再使用地址和掩码的表达形式。缺省路由的前缀长度用 0 代表。
(4)区域间路由器 LSA(Inter-Area-Router-LSA):由 ASBR 产生,用以通告 ASBR 的位置。试图把数据送达外网的路由器使用该 LSA 确定通往下一跳的最佳路径。
(5)自治系统外 LSA(AS-External-LSA):用来携带自治系统外路由信息的 LSA。例如,把其它 AS 的路由再发布到 OSPF 中的路由信息。在该类型的 LSA 中,地址用前缀和前缀长度表达,缺省路由的前缀长度用 0 表达。
(6)类型 6 LSA(Group-membership-LSA):用于组播,不做讨论。
(7)类型 7 LSA(Type-7 LSA):由 NSSA 中的 ASBR 产生,只在 NSSA 中传播。在 ABR 上它被转换成类型 5 并且被扩散到骨干区域。
(8)链路 LSA(Link-LSA):该类型 LSA 仅在本链路上传播,具有以下 3 种目的:向本链路上的其它路由器提供路由器的本链路地址;向本链路上的其它路由器通告 IPv6 地址前缀,使其与本链路相关联;允许路由器在该类型 LSA 中插入一些选项比特,与为本链路产生的网络 LSA 相关联。
(9)区域内前缀 LSA(Intra-Area-Prefix-LSA):该类型 LSA 在本区域内传播,具有以下两种功能之一:通过参考网络 LSA 把 IPv6 地址前缀与转递网络(transit network)相关联;或者通过参考路由器 LSA 把 IPv6 地址前缀与路由器相关联。一台路由器可以为给定的区域产生多个该类型的 LSA,这些 LSA 使用链路状态 ID 字段(Link State ID)区分。DR 为它所代表的链路产生一个或多个该类型的 LSA,向整个区域内通告该链路的地址前缀。