高速地铁 2007-12-21 00:22
Juniper NetScreen 防火墙上的OSPF路由协议
[font=宋体][color=blue][font=宋体][size=3] [/size][color=blue][font=宋体]概述[/font][/color][color=blue][font=宋体][/font][/color]
[color=#000000][font=宋体]“[/font][font=宋体]开放式最短路径优先[/font][font=宋体]”[/font][font=宋体](OSPF) [/font][font=宋体]路由协议是专门在单个[/font][font=宋体]“[/font][font=宋体]自治系统[/font][font=宋体]”[/font][font=宋体](AS) [/font][font=宋体]内运行的[/font][font=宋体]“[/font][font=宋体]内部网关协议[/font][font=宋体]”[/font][font=宋体](IGP) [/font][font=宋体]。运行 OSPF 的路由器通过在整个 AS 内部定期发布链接状态通告 (LSA) ,来发布其状态信息 ( 例如可用接口以及邻接方可达性等) 。[/font][font=宋体][/font][/color]
[color=#000000][font=宋体]每个 OSPF 路由器都使用邻接路由器发出的 LSA 来维护链接状态数据库。链接状态数据库是周围网络的拓扑结构和状态信息的列表。LSA 遍及路由域内部的持续发布将使 AS 内的所有路由器都维护相同的链接状态数据库。[/font][font=宋体][/font][/color]
[color=#000000][font=宋体]OSPF [/font][font=宋体]使用链接状态数据库,确定到达 AS 内部任意网络的最佳路径。这通过生成最短路径树完成,它是到达 AS 内部任意网络的最短路径的图形化表示。虽然所有路由器都具有相同的链接状态数据库,但它们都具有唯一的最短路径树,因为路由器在生成该树时,始终将其自身置于树的顶端。[/font][font=宋体][/font][/color]
[color=blue][font=宋体]区域[/font][/color][color=blue][font=宋体][/font][/color]
[color=#000000][font=宋体]在缺省情况下,所有路由器都被分组到名为area 0 ( 通常表示为 area 0.0.0.0) 的单个[/font][font=宋体]“[/font][font=宋体]中枢[/font][font=宋体]”[/font][font=宋体]区域中。但是地理分布较广的网络通常会被分割到多个区域中。随着网络的扩展,链接状态数据库也会不断增大,将链接状态数据库分隔成多个较小的组可使其更易扩展。[/font][font=宋体][/font][/color]
[color=#000000][font=宋体]区域可以减少网络内流通的路由信息量,因为路由器只维护其所在区域的链接状态数据库,而不维护该区域外的网络或路由器的链接状态信息。连接到多个区域的路由器负责维护所连接的每个区域的链接状态数据库。除了在创建虚拟链接时之外,区域必须直接与 area 0 相连。[/font][font=宋体][/font][/color]
[color=#000000][font=宋体]AS [/font][font=宋体]外部通告对指向其它 AS 中目标地址的路由进行描述,这些外部通告遍及整个AS。可以将特定 OSPF 区域配置为剩余区域;AS 外部通告不会遍及这些区域。OSPF 中使用两类常见的区域: [/font][/color]
[font=Wingdings][color=#000000]l
[/color][/font][color=blue][font=宋体]剩余区域[/font][/color][color=#000000][font=宋体] -[/font][font=宋体]一个区域,对于通过非 OSPF 源(例如 BGP)获取的路由,它从中枢区域接收路由汇总,而不从其它区域接收链接状态通告。如果剩余区域中不允许汇总路由,可将其看成完全剩余区域。[/font][font=宋体][/font][/color]
[color=windowtext][font=Wingdings]l
[/font][/color][color=blue][font=宋体]不完全剩余区域 (NSSA)[/font][/color][color=windowtext][font=宋体] -[/font][/color][color=windowtext][font=宋体]类似正常的剩余区域,但 NSSA 不能从当前区域外的非 OSPF 源接收路由。但是,仍可获取区域内被检测到的外部路由,并将其传递到其它区域。[/font][/color][color=windowtext][font=宋体][/font][/color]
[color=blue][font=宋体]路由器分类[/font][/color][color=blue][font=宋体][/font][/color]
[font=宋体][color=#000000]参与 OSPF 路由的路由器根据其在网络中的功能或位置进行分类: [/color][/font]
[color=windowtext][font=Wingdings]l
[/font][/color][color=blue][font=宋体]内部路由器[/font][/color][color=windowtext][font=宋体] - 所有接口都属于同一区域的路由器。[/font][/color][color=windowtext][font=宋体][/font][/color]
[color=windowtext][font=Wingdings]l
[/font][/color][color=blue][font=宋体]中枢路由器[/font][/color][color=windowtext][font=宋体] - [/font][/color][color=windowtext][font=宋体]有一个接口在中枢区域的路由器。[/font][/color][color=windowtext][font=宋体][/font][/color]
[color=windowtext][font=Wingdings]l
[/font][/color][color=blue][font=宋体]区域边界路由器[/font][/color][color=windowtext][font=宋体] - [/font][/color][color=windowtext][font=宋体]与多个区域相连的路由器称为区域边界路由器 (ABR) 。ABR 汇总来自非中枢区域的路由,以便发布到中枢区域。在运行 OSPF 的安全设备上,在缺省情况下创建中枢区域。如果在虚拟路由器上又创建了一个区域,则该设备将充当 ABR。[/font][/color][color=windowtext][font=宋体][/font][/color]
[color=windowtext][font=Wingdings]l
[/font][/color][color=blue][font=宋体]AS [/font][/color][color=blue][font=宋体]边界路由器[/font][/color][color=windowtext][font=宋体] - [/font][/color][color=windowtext][font=宋体]某个 OSPF 区域与另一 AS 相接时,两个自治系统间的路由器被称为自治系统边界路由器 (ASBR) 。ASBR 负责在 AS 内通告外部 AS 路由信息。[/font][/color][color=windowtext][font=宋体][/font][/color]
[i][color=blue][font=宋体]Hello [/font][/color][/i][color=blue][font=宋体]协议[/font][/color][color=blue][font=宋体][/font][/color]
[color=#000000][font=宋体]如果两个路由器在同一子网络上都具有接口,则被认为是相互邻接。路由器使用Hello 协议建立并维护此邻接关系。当两个路由器建立双向通信时,即认为其已建立邻接。如果两个路由器之间未建立邻接,则它们不能交换路由信息。[/font][font=宋体][/font][/color]
[color=#000000][font=宋体]如果某个网络上具有多个路由器,则必须将其中一个路由器建立为指定路由器(DR) ,将另一个建立为备份指定路由器 (BDR)。DR 负责将 LSA 大量发向网络,LSA 中包含一个列表,列出了所有连接到网络且启用了 OSPF 的路由器。DR 是唯一能与网络中的其它路由器构成邻接关系的路由器。因此,DR 是网络上唯一能为其它路由器提供路由信息的路由器。如果 DR 失效,BDR 将成为指定路由器。[/font][font=宋体][/font][/color]
[color=blue][font=宋体]网络类型[/font][/color][color=blue][font=宋体][/font][/color]
[color=#000000][font=宋体]Juniper Networks [/font][font=宋体]安全设备支持以下 OSPF 网络类型: [/font][/color]
[color=windowtext][font=Wingdings]l
[/font][/color][color=windowtext][font=宋体]广播网络[/font][/color][color=windowtext][font=宋体][/font][/color]
[color=windowtext][font=Wingdings]l
[/font][/color][color=windowtext][font=宋体]点对点网络[/font][/color][color=windowtext][font=宋体][/font][/color]
[color=windowtext][font=Wingdings]l
[/font][/color][color=windowtext][font=宋体]点对多点网络[/font][/color][color=windowtext][font=宋体][/font][/color]
[color=blue][font=宋体]广播网络[/font][/color][color=blue][font=宋体][/font][/color]
[color=#000000][font=宋体]广播网络是连接多个路由器的网络,它可将单个物理消息发送或播送到所有相连的路由器。广播网络上的路由器对,被认定为可相互通信。以太网即为广播网络的一个范例。[/font][font=宋体][/font][/color]
[color=#000000][font=宋体]在广播网络上,OSPF 路由器将 hello 数据包发送到组播地址 224.0.0.5 ,动态检测其邻接路由器。对于广播网络,Hello 协议负责为网络选定[/font][font=宋体]“[/font][font=宋体]指定路由器[/font][font=宋体]”[/font][font=宋体]和[/font][font=宋体]“[/font][font=宋体]备份指定路由器[/font][font=宋体]”[/font][font=宋体]。[/font][font=宋体][/font][/color]
[color=#000000][font=宋体]非广播网络是连接多个路由器的网络,但它不能将消息播送到相连路由器。在非广播网络上,需要将以往多点广播的 OSPF 协议封包发送到每一个邻接路由器。Juniper Networks 安全设备不支持非广播网络中的 OSPF 。[/font][font=宋体][/font][/color]
[color=blue][font=宋体]点对点网络[/font][/color][color=blue][font=宋体][/font][/color]
[color=#000000][font=宋体]点对点网络一般通过[/font][font=宋体]“[/font][font=宋体]广域网[/font][font=宋体]”[/font][font=宋体](WAN) [/font][font=宋体]连接两个路由器。两台通过 IPSec VPN 通道相连的安全设备即为一个点对点网络。在点对点网络上,OSPF 路由器将 hello 数据包发送到组播地址 224.0.0.5 ,动态检测邻接路由器。[/font][font=宋体][/font][/color]
[color=blue][font=宋体]点对多点网络[/font][/color][color=blue][font=宋体][/font][/color]
[color=#000000][font=宋体]点对多点网络是一种非广播网络,在该网络中,OSPF 将路由器间的连接视为点对点链接。无需为该网络选择指定路由器或大量发送 LSA 。点对多点网络中的路由器将 hello 数据包发送到可与之直接通信的所有邻接方。[/font][font=宋体][/font][/color]
[color=#000000][font=宋体]注意:在安全设备上,仅在通道接口上支持 OSPF 点对多点配置,必须禁用路由拒绝以使网络正常运行。不能在物理以太网接口上配置点对多点连接。[/font][font=宋体][/font][/color]
[color=blue][font=宋体]链接状态通告[/font][/color][color=blue][font=宋体][/font][/color]
[color=#000000][font=宋体]每个 OSPF 路由器都将向外发送定义路由器本地状态信息的 LSA 。另外,根据路由器的 OSPF 功能,路由器还可发出其它类型的 LSA 。表1 列出了 LSA 类型 ( 每个类型均大量发出) 和每类 LSA 的内容。[/font][font=宋体][/font][/color]
[color=#000000][font=宋体] 表 1: LSA 类型和内容汇总[/font][/color]
[color=#000000]
[font=宋体][/font][/color]
[table=98%][tr][td=1,1,96][font=宋体][size=10.5pt]LSA[/size][/font][font=宋体][size=10.5pt]类型[/size][/font]
[/td][td=1,1,149][font=宋体][size=10.5pt]发送者[/size][/font]
[/td][td=1,1,76][font=宋体][size=10.5pt]发送范围[/size][/font]
[/td][td=1,1,293][font=宋体][size=10.5pt]LSA[/size][/font][font=宋体][size=10.5pt]中发送的信息[/size][/font]
[/td][/tr][tr][td=1,1,96][font=宋体][size=10.5pt]路由器 LSA [/size][/font]
[/td][td=1,1,149][font=宋体][size=10.5pt]所有 OSPF 路由器[/size][/font][font=宋体][size=10.5pt][/size][/font]
[/td][td=1,1,76][font=宋体][size=10.5pt]区域[/size][/font][font=宋体][size=10.5pt][/size][/font]
[/td][td=1,1,293][font=宋体][size=10.5pt]描述整个区域内所有路由器接口的状态。[/size][/font][font=宋体][size=10.5pt][/size][/font]
[/td][/tr][tr][td=1,1,96][font=宋体][size=10.5pt]网络 LSA [/size][/font]
[/td][td=1,1,149][font=宋体][size=10.5pt]广播网络和 NBMA 网络上的[/size][/font][font=宋体][size=10.5pt]“[/size][/font][font=宋体][size=10.5pt]指定路由器[/size][/font][font=宋体][size=10.5pt]”[/size][/font]
[/td][td=1,1,76][font=宋体][size=10.5pt]区域[/size][/font][font=宋体][size=10.5pt][/size][/font]
[/td][td=1,1,293][font=宋体][size=10.5pt]包含与网络相连的所有路由器的列表[/size][/font][font=宋体][size=10.5pt][/size][/font]
[/td][/tr][tr][td=1,1,96][font=宋体][size=10.5pt]汇总 [/size][/font][font=宋体][size=10.5pt]LSA [/size][/font][font=宋体][size=10.5pt][/size][/font]
[/td][td=1,1,149][font=宋体][size=10.5pt]区域边界路由器[/size][/font]
[/td][td=1,1,76][font=宋体][size=10.5pt]区域[/size][/font]
[/td][td=1,1,293][font=宋体]描述到达区域外但仍在 [/font][font=宋体]AS [/font][font=宋体]内的目标地址的路由。有两种类型[/font][font=宋体]:[/font]
[font=Wingdings]l
[/font][font=宋体]类型 [/font][font=宋体]3 LSA [/font][font=宋体]摘要描述到达网络的路由。[/font]
[font=Wingdings][size=10.5pt]l
[/size][/font][font=宋体][size=10.5pt]类型 [/size][/font][font=宋体][size=10.5pt]4 LSA [/size][/font][font=宋体][size=10.5pt]摘要描述到达 [/size][/font][font=宋体][size=10.5pt]AS [/size][/font][font=宋体][size=10.5pt]边界路由器的路由。[/size][/font]
[/td][/tr][tr][td=1,1,96][font=宋体][size=10.5pt]AS [/size][/font][font=宋体][size=10.5pt]外部自治系统[/size][/font]
[/td][td=1,1,149][font=宋体][size=10.5pt]边界路由器[/size][/font]
[/td][td=1,1,76][font=宋体][size=10.5pt]自治系统[/size][/font]
[/td][td=1,1,293][font=宋体][size=10.5pt]指向另一 [/size][/font][font=宋体][size=10.5pt]AS [/size][/font][font=宋体][size=10.5pt]中的网络的路由。通常为缺省路由[/size][/font][font=宋体][size=10.5pt](0.0.0.0/0)[/size][/font][font=宋体][size=10.5pt]。[/size][/font]
[/td][/tr][/table]
[/font][/color][/font]
[align=left][align=left][font=宋体][size=12pt]基本 [/size][/font][font=宋体][size=12pt]OSPF [/size][/font][font=宋体][size=12pt]配置[/size][/font][/align][/align][align=left][align=left][font=宋体][size=12pt]可以在安全设备上为每个虚拟路由器创建 [/size][/font][font=宋体][size=12pt]OSPF[/size][/font][font=宋体][size=12pt]。如果一个系统中存在多个虚拟路由器 [/size][/font][font=宋体][size=12pt](VR)[/size][/font][font=宋体][size=12pt],则可启用多个 [/size][/font][font=宋体][size=12pt]OSPF [/size][/font][font=宋体][size=12pt]实例,每个实例代表一个 [/size][/font][font=宋体][size=12pt]VR[/size][/font][font=宋体][size=12pt]。[/size][/font][/align][/align][align=left][align=left][font=宋体][size=12pt]下面介绍在安全设备上的 [/size][/font][font=宋体][size=12pt]VR [/size][/font][font=宋体][size=12pt]中配置 [/size][/font][font=宋体][size=12pt]OSPF [/size][/font][font=宋体][size=12pt]的基本步骤[/size][/font][font=宋体][size=12pt]:[/size][/font][/align][/align][align=left][align=left][font=宋体][size=12pt]1. [/size][/font][font=宋体][size=12pt]在 [/size][/font][font=宋体][size=12pt]VR [/size][/font][font=宋体][size=12pt]中创建并启用 [/size][/font][font=宋体][size=12pt]OSPF [/size][/font][font=宋体][size=12pt]路由实例。此步骤还会自动创建一个 [/size][/font][font=宋体][size=12pt]OSPF [/size][/font][font=宋体][size=12pt]中枢区域,区域 [/size][/font][font=宋体][size=12pt]ID [/size][/font][font=宋体][size=12pt]为 [/size][/font][font=宋体][size=12pt]0.0.0[/size][/font][font=宋体][size=12pt].0[/size][/font][font=宋体][size=12pt],不能删除该区域 [/size][/font][font=宋体][size=12pt]ID[/size][/font][font=宋体][size=12pt]。[/size][/font][/align][/align][align=left][align=left][font=宋体][size=12pt]2. ( [/size][/font][font=宋体][size=12pt]可选[/size][/font][font=宋体][size=12pt]) [/size][/font][font=宋体][size=12pt]除非所有 [/size][/font][font=宋体][size=12pt]OSPF [/size][/font][font=宋体][size=12pt]接口都连接到中枢区域,否则需要用自身的区域 [/size][/font][font=宋体][size=12pt]ID [/size][/font][font=宋体][size=12pt]定义新的 [/size][/font][font=宋体][size=12pt]OSPF [/size][/font][font=宋体][size=12pt]区域。例如,如果安全设备要充当 [/size][/font][font=宋体][size=12pt]ABR[/size][/font][font=宋体][size=12pt],则需创建新的 [/size][/font][font=宋体][size=12pt]OSPF [/size][/font][font=宋体][size=12pt]区域 [/size][/font][font=宋体][size=12pt]( [/size][/font][font=宋体][size=12pt]除中枢区域外[/size][/font][font=宋体][size=12pt]) [/size][/font][font=宋体][size=12pt]。可将新区域配置为正常、剩余或不完全剩余区域。[/size][/font][/align][/align][align=left][align=left][font=宋体][size=12pt]3. [/size][/font][font=宋体][size=12pt]为每个 [/size][/font][font=宋体][size=12pt]OSPF [/size][/font][font=宋体][size=12pt]区域分配一个或多个接口。必须将接口明确添加到 [/size][/font][font=宋体][size=12pt]OSPF [/size][/font][font=宋体][size=12pt]区域,含中枢区域。[/size][/font][/align][/align][align=left][align=left][font=宋体][size=12pt]4. [/size][/font][font=宋体][size=12pt]在每个接口上启用 [/size][/font][font=宋体][size=12pt]OSPF[/size][/font][font=宋体][size=12pt]。[/size][/font][/align][/align][align=left][align=left][font=宋体][size=12pt]5. [/size][/font][font=宋体][size=12pt]验证 [/size][/font][font=宋体][size=12pt]OSPF [/size][/font][font=宋体][size=12pt]配置正确且运行正常[/size][/font][font=宋体][size=12pt]。[/size][/font][/align][/align][size=12pt][b][font=宋体] [/font][/b][/size]