OSPF Stub Area 图解

OSPF Stub Area 图解

www.visualland.net 2010.9.30

Keywords: OSPF, router, routing protocol, link state, ospf simulation.

:

OSPF Stub Area 案例用最简单的拓扑、场景来说明OSPF Stub Area 的过程:配置路由器的命令、消除type 4, 5 LSA, ABR添加0.0.0.0 默认路由,更新;路由表。

案例有两个版本。图解版本从仿真版本截图,并加标注,介绍主要步骤。仿真版本用动画显示网络仿真的过程细节,用户可以互动的控制播放,查看LSA变化、路由器改变、数据包内容、及文字说明、FAQ。仿真版本在http://www.visualland.net/view.php?cid=760&protocol=OSPF&title=3.1%20Stub%20Area .

  • 背景:路由器是互联网的引擎,使得连接到互联网的计算机可以互相传递信息。路由器的工作就是转发数据包,收到数据包时,用它的目的IP地址来查看路由表,如果找到相应的网络地址,就把数据包转发到下一跳,。所以路由表是个关键。OSPF是个路由协议,让所有的OSPF路由器都知道彼此的链路状态 (LSA), 使得路由器的路由表都有OSPF网络以内的网络地址,同时OSPF的边界路由器 (ASBR) 还可以把OSPF网络以外的外部地址 (external address) 传送到 OSPF路由器,使得OSPF路由器能够转发数据包到OSPF网络内外的地址。但外部地址为数庞大,如果每一台路由器都要把所有的外部地址都记录下来的话,路由器的负担太大。
  • Stub area原理:为了让area内部的路由器减轻负担,不必记录外部地址 (external address), OSPF准许把一个area 设置为 stuib area, 使得stub area里面的路由器都不必记录外部地址,但它们需要把数据包传送到OSPF以外时,只需把数据包交给ABR就可以了。换言之,ABR变成内部路由器对外沟通的默认网关 (default gateway)。

以下的OSPF案例图解中, 四台路由器里 R3 是 ASBR, 同时运行OSPF与RIP. R3把所发现的外部地址划分到OSPF. R2 是ABR,作用是area 1内部路由器的命令网关。

1. 拓扑 两个AS 上共有五台路由器,OSPF AS有两个area (三台路由器),非 OSPPF AS 有两台路由器。

 

  • R1, R2, R3在OSPF AS, R1, R2在area 1, R2, R3在 area 0, R2是个ABR (Area Border Router) 连接area 0, 1.
  • R3, R4在非OSPF AS, 运行RIP路由协议。R4只运行RIP, 有两个网络地址192.168.1.0/24, 10.0.0.0/8. R3是个ASBR (AS Border Router), 同时运行OSPF及RIP.

2. 初始化:ABR有两对LSA, ASBR有两个外部地址

 

初始化时,OSPF路由器先生成一个Router LSA,它的type 是1, Link State ID 是 Router ID。同时,ABR, ASBR路由器还生成其他的LSA:

  • R1的Router LSA是(1, 1.1.1.1)
  • R2是个 ABR, 连接两个area:0, 1 ,所以生成了两个Router LSA,一个是area 0的LSA, 一个是area 1的LSA,在LSDB 显示为(1, 2.2.2.2, 0), (1, 2.2.2.2, 1)

    R2 也生成两个network summary LSA (type 3),作为 ABR, R2得为一个area里的每一个网络地址生成Summary LSA. 在这个案例中,area 1里有一个网络地址 172.16.255.0/30, R2 就生成一个Summary LSA (3, 176.16.255.0, 0) 在area 0内洪泛,让area 1 里面的路由器知道area 0的网络地址。R2 也为area 0的网络地址 172.16.255.4/30 生成一个Summary LSA (3, 172.16.255.4, 1) 用来在area 1 洪泛。)

  • R3是个ASBR, 连接了OSPF AS 和一个RIP AS. 它的LSDB有三个LSA:
    • 一个Router LSA (1, 3.3.3.3). LSA type 1 (Router LSA), Link State ID 3.3.3.3 (R3 Router ID)。
    • 两个 External LSA 用来记录R3所知道的RIP AS 里的网络地址192.168.1.0/24, 10.0.0.0/8 (要了解网络地址,请见参考资料)

 

3. 第一轮Update: 告诉邻居自己的LSA

 

初始化后,路由器把自己的LSA封装在Update, 发送给邻居。

例:R1发送给R2 的 Update包含了 一个LSA(1, 1.1.1.1),这是R1的 Router LSA.

R4 发送给R3的 Update(包含了三个LSA: 1, 3.3.3.3), (5.192.168.1.0), (5.1.0.0.0.,8)。一个是R3的Router LSA, 两个是External LSA (RIP AS中R4的网络地址)..

(在仿真版本,读者可以点击Update, 窗口数据包内容,并与 LSDB比较,看到LSA是怎么被同步的)

 

4. 路由器的LSDB添加了邻居的LSDB

 

收到第一轮的Update后,路由器都添加了人间的LSA.li2:

  • R1添加了两条LSA:(1, 2.2.2.2)是R2的Router LSA, (3, 172.16.255.4) 是 个Summary LSA, 描叙area 0里面的网络地址。
  • R2添加了6条LSA: 2条Router LSA (R1, R3); 1条Summary LSA (area 1 的 172.16.1.0/24), 2条 External LSA (R3发现的两个外部地址),1条ASBR Summary LSA (让 area 1的路由器知道怎么把数据包送往 ASBR而到达外部地址)
  • R3添加2条LSA: 1条是R2的 Router LSA, 1 条是area 1的网络地址172.16.255.0/30.

 

5. 第二轮Update: 路由器的LSA被邻居的邻居收到

 

路由器在收到一个邻居的LSA后,将其新添的LSA 再次洪泛到其它邻居,这样不断地洪泛,直到所有的路由器都有相同的LSA为止。在这个案例中,R1, R3不直接相邻。

  • R2 从R3 的Update收到三个 LSA, R2 就把这三个LSA封装到Update, 发送给R1。
  • R2 从R1 的Update收到一个 LSA, R2 就把这一个LSA封装到Update, 发送给R3。

 

6. 路由器收到第二轮Update, 再次更新LSDB. LSDB同步 (但不是相等)

 

经过了两轮的 Update, R1, R2, R3 的LSA 同步了。但同步不是一样, R1, R2, R3有同样的网络地址,对拓扑有一个共识,可以分别计算路由路径得到整体的最佳路径,可是他们仍有不同的LSA.

  • R1是个OPSF 内部路由器,有两个area 1 的 Router LSA, 两个External LSA (type 5),一个ASBR Summary LSA (type 4)。
  • R2是ABR, 有四个 Router LSA (R1, R2-area1, R2-area0,R3); 两个 Summary LSA (area 0, 1),还有两个External LSA (type 5), 一个ASBR Summary LSA (type 4, 为 R2所创)
  • R3有两个Router LSA (R2, R3 in area 0), 两个Summary LSA (type 3), 两个External LSA (type 5). R3 是ASBR, 它发现了两个 外部地址 (R4连线的IP 地址)

LSA不同之处包括:R3没有 ASBR Summary LSA (type 4), R1没有指向自己网络地址176.16.1.0/24的 Summary LSA

 

7. 配置 R1, R2为Stub area

 

LSDB同步后,为了减轻内部路由器的负担,把 area 1 设为 stub area, 收到area 1的1 内部路由器不必记录外部地址。

路由器配置命令很简单,只要在area 1的路由器R1, R2上运行一个解读的命令即可:"area 1 stub"

 

8. R1 除去type 4, 5 LSA: 没有External address

 

执行了这个stub area的命令后,R1清除了3条LSA:两条type 5 LSA, 一条type 4 LSA.

 

9. R2 (ABR) 告诉 R1: 我是你的默认网关

 

执行了这个stub area的命令后,R3 生成了一条Summary LSA (3, 0.0.0.0, 1) , 作用是告诉area 1 的内部路由器:R2 (ABR) 是你们通往外部地址的默认网关。

R2并发送Update, 把这个默认地址的LSA告诉R1。

 

10. R1 的默认网关是E2 (ABR)


R1 收到 Update后,把 Summary LSA (3, 0.0.0.0) 添加到LSDB。现在,R1有了默认路由,在转发数据包时,如果目的地址不在R1的路由表里,R1就把数据包转发到默认网关R2 即可。R2是ABR,它有完整的外部地址, 大量内存、更快的CPU, 可以多做点事。

 

参考资料:

[a] OSPF

Visualland.net 有20个OSPF仿真,由浅入深,目录位于 http://www.visualland.net/protocol.overview.php?p=OSPF&protocol=&title=0.%20OSPF%20Overview

谢希仁 计算机网络第五版 4.5.3 3 内部网关协议OSPF

Wikipedia: Open Shortest Path First http://en.wikipedia.org/wiki/Open_Shortest_Path_First

RFC2328 OSPF V2, http://tools.ietf.org/search/rfc2328

[b] IP address,网络地址

Visualland IP Address 有6个仿真,目录在 http://www.visualland.net/protocol.overview.php?p=IPAddress&protocol=&title=0.IPAddress%20Overview

其中第三个"Network address" 与Summary LSA相关,位于http://www.visualland.net/view.php?cid=967&protocol=IPAddress&title=3.%20Network%20address

谢希仁 计算机网络第五版 4.2.2 分类的IP地址;4.3 划分子网

Wikipedia IP address: http://en.wikipedia.org/wiki/Ip_address

Wikipedia subnetwork : http://en.wikipedia.org/wiki/Subnetwork

posted @ 2010-10-08 17:35  vl  阅读(1726)  评论(0)    收藏  举报