Cisco OSPF 链路类型 / 路由汇总

【OSPF】链路类型 LinkType

OSPF 除了定义网络类型(Network Type),还定义了链路类型(Link Type),这是两个不同的概念。链路类型主要用于描述 OSPF 路由器的接口或邻居。在 1 类 LSA 中,可以看到产生该 LSA 的路由器所连接的所有链路(Link)、链路的类型以及相关的内容。通过每个 1 类 LSA 中描述的各种链路(Link),OSPF 得以描绘出网络的拓扑和子网信息。

LS age: 1355
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 1.1.1.1
Advertising Router: 1.1.1.1
LS Seq Number: 8000001F
Checksum: 0xFF44
Length: 48
Area Border Router
AS Boundary Router
Number of Links: 2
Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 2.2.2.2
(Link Data) Router Interface address: 10.1.12.1
Number of TOS metrics: 0
TOS 0 Metrics: 64
Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.1.12.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 64

1 类 LSA 中,用于描述 Link 的 LINKID、Link Date 的取值根据 OSPF link 类型不同而不同:
下面分别来看一看这些个 Link:

在这里插入图片描述

1.Stub Network Link

在这里插入图片描述

如果路由器的一个接口被激活 OSPF,并且该接口上没有任何 OSPF 邻居,则该接口使用 Stub Network Link 来描述。一个接口被通告进 OSPF,无论其二层封装是什么(以太网、PPP、HDLC 等),只要在该接口上没有 OSPF 邻居,那么就是 Stub Network Link。例如上图所示,R2 产生的 1 类 LSA 中用于描述接口 FE0/0 的 Link 数据就是:

Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.1.23.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 1

Loopback 接口永远被定义为 Stub Network Link,默认使用 32 位掩码表示,这就是为什么在 OSPF 实验过程中,Loopback 接口 IP 地址无论配置什么掩码,路由学习过来都是 / 32 的主机路由。不管将 Loopback 接口改为哪种 OSPF 网络类型(Network Type),始终改变不了它的 OSPF 链路类型(Link Type),但可以改变它在 LSA 中的掩码长度。

2.Transit Link

拥有两台或两台以上 OSPF 路由器的链路,简单理解为有邻居的 OSPF 接口,使用 Transit Link 来描述。但网络类型为 Point-To-Point 和点到多点(Point-To-Multipoint)的接口除外,因为它们被定义为 Point-To-Point Link。

在这里插入图片描述

例如上图所示,R1 的 FE0/0 接口激活了 OSPF 并且有一个 OSPF 邻居 R2,因此 R1 在 LSA1 中描述这个接口时,使用 Transit Link 来描述,如下:

Link connected to: a Transit Network
(Link ID) Designated Router address: 10.1.23.2
(Link Data) Router Interface address: 10.1.23.1
Number of TOS metrics: 0
TOS 0 Metrics: 1

3.Point-To-Point Link

OSPF 网络类型为 Point-To-Point 的接口,使用 “Point-To-Point Link” 来描述,但 Loopback 接口除外;
网络类型为点到多点(Point-To-Multipoint)的接口,同样使用为 Point-To-Point Link 这种链路类型来描述。

在这里插入图片描述

例如上图,R1 的 S0/0 口的 OSPF 网络类型是 P2P,因此 R1 产生的 LSA1 中用于描述该接口的链路类型就是 P2P LINK,输出如下:

Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 1.1.1.1
(Link Data) Router Interface address: 10.1.12.2
Number of TOS metrics: 0
TOS 0 Metrics: 64
Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.1.12.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 64

值得注意的是,对于 P2P 的网络类型接口,OSPF 使用了两个 LINK 来描述,一个是 P2P Link 用于描述链路对端连接的路由器 ID 及自己本地的接口 IP 地址,另外还使用了一个 Sub Network Link 来描述该条链路的子网

综上所述,OSPF 的集中链路类型中,P2P 以及 Transit Link 是用于描述网络拓扑结构的,而 Stub Network 是用于描述子网号的。

4.Virtual link

这种链路类型用于描述 OSPF 虚链路(Virtual Link)。

在这里插入图片描述

在上图中 R1、R3 建立了一条虚链路,则 R1 产生的 LSA1 中描述该虚链路的数据如下:

Link connected to: a Virtual Link
(Link ID) Neighboring Router ID: 3.3.3.3         #虚链路对端设备的 RouterID
(Link Data) Router Interface address: 10.1.12.1    #本地接口 IP 地址
Number of TOS metrics: 0
TOS 0 Metrics: 128

上面输出中的 Metric: 128,指的是从本地到虚链路对端,沿途所有出接口的 cost 累加。例如 R1 产生的描述虚链路的 Link 数据中包含的 metric 值就是如图所示绿色标记的接口 cost 累加。

【OSPF】路由汇总

1. 关于路由汇总

路由汇总,又被称为路由聚合(Route Aggregation or Route Summarization),指的是把一组路由汇聚成一条路由条目的操作。这组路由被称为明细路由,而所汇聚成的路由被称为汇总路由。路由汇总是一种重要的思想,在大型的项目中是必须考虑的一个重点事项。我们都知道,随着网络的规模越来越大,网络中的设备所需维护的路由表项也就会越来越多,路由表的规模也就会逐渐变大,而路由表是需要占用设备的内存空间的,路由的查询也是需要占用设备的资源的,因此我们需要考虑(尤其在一些大型的网络中)在保证网络中路由畅通的同时,减小路由表的规模。路由汇总就是一个有效的手段。几乎所有的路由协议都支持路由汇总。RIP、EIGRP 等协议支持自动及手工路由汇总,而 OSPF 只支持手工路由汇总。OSPF 支持两种形式的手工自动汇总:一种部署在 ABR 上,另一种则部署在 ASBR 上。

2. OSPF 路由汇总案例

在这里插入图片描述

网络拓扑如上图所示。R1、R2、R3、R4 及 R5 运行 OSPF,OSPF 区域的规划如图。
R5 将三个直连网段(172.16.1.0/24、172.16.2.0/24 及 172.16.3.0/24)都 network 到 OSPF。
R1 将三个直连网段(10.1.1.0/24、10.1.2.0/24 及 10.1.3.0/24)都重发布到 OSPF。
完成上述配置后,所有的路由器应该都能学习到全网的路由。

2.1 在 ABR 上执行路由汇总

在这里插入图片描述

在 R3(ABR)上对 Area2 内的路由执行汇总:

R3 (config)# router ospf 1
R3 (config-router)# area 2 range 172.16.0.0 255.255.0.0 cost ?

注意,这种汇总方式(area range)只能在 ABR 上配置,而且只能对 ABR 直接连接的区域中的 Intra-Area 路由(区域内部路由)执行汇总。R3 执行汇总后,R1 及 R2 的路由表中将出现 172.16.0.0/16 的汇总路由,而不会再学习到明细路由。如此一来,R1 及 R2 的路由表就精简了,而且当它们需要访问 R5 下挂的那三个网段时,可以通过这条汇总路由到达。
要强点的是,如果不是在 R3,而是在 R2 上对 R5 下挂的网段进行汇总,则无法实现。因此此时 R3 作为 ABR,已经将描述这些网段的 3 类 LSA 注入到了 Area0,而在 R2 上,是无法对这些 3 类 LSA 进行路由汇总的。

2.2 在 ASBR 上执行路由汇总

在这里插入图片描述

在 R1 上对其自己重发布进 OSPF 的路由执行汇总:

router ospf 1
summary-address 10.1.0.0 255.255.0.0

完成上述配置后,R2、R3、R4 及 R5 都会学习到一条 10.1.0.0/16 的汇总路由(使用 Type-5 LSA 描述),而不会再学习到 10.1.1.0/24、10.1.2.0/24 以及 10.1.3.0/24 这三条明细路由。

2.3 在 NSSA 的 ABR 上执行路由汇总

在这里插入图片描述

将网络做一点小小的变更,Area1 被配置为 NSSA。R1 将三条直连路由引入 NSSA,R2 会学习到这三条外部路由(Type-7 LSA),并执行 Type-7 LSA 转 Type-5 LSA 的动作,因此其实 R2 既是 ABR 又是 ASBR,这些 Type-5 LSA 是由其产生的,那么 R2 也能执行路由汇总:

router ospf 1
summary-address 10.1.0.0 255.255.0.0

3. OSPF 汇总路由的防环设计

在这里插入图片描述

在上图所示的场景中,R3 将 R5 下挂的三个子网汇总成 172.16.0.0/16 并向 R2 通告这条汇总路由。R1 则下发一条 OSPF 默认路由到整个 OSPF 域。此时 R5 下挂的某个子网里有 PC 中毒,疯狂扫描一个并不存在的子网的 IP 地址(如 172.16.222.0/24 子网),这些数据包被发给网关 R5,R5 通过路由表查询,最终将这些报文依照默认路由进行转发,也就是发送给 R4,而 R4 也一样,将报文依照默认路由转发给 R3,R3 再转给 R2,而 R2 由于已经收到 R3 传递过来的汇总路由(172.16.0.0/16),因此经过路由表查询后,数据包的目的地址匹配上了这条汇总路由,于是它又把这些数据包丢回去给 R3,数据包的目的地址在 R3 处匹配了默认路由,又被丢回 R2,如此反复,直到报文的 TTL 递减为 0。这就出现了环路。

OSPF 为了解决这个问题,在执行路由汇总时,会在本地自动产生一条指向 Null0 的路由。例如在 R3 处执行了路由汇总,则它会自动产生一条指向 Null0 的路由:

O    172.16.0.0/16 is a summary, 00:00:02, Null0

这样一来当再有类似事件发生,数据包将在 R3 这就被丢弃(匹配 Null0 路由)。
实际上,当执行路由汇总时,自动在本地路由表产生一条指向 Null0 的路由是一种非常常规的防环手段,许多动态路由协议都具备这个特征。


注:cnblog 和 sina 上的博文,处于暂稳态,不一定哪天就如百度空间,163 空间那样成为消失的它了…

via:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值