路由数据库概述
路由是指将数据包从源传输到目标地址。路由协议可确定数据包转发的路径,与直邻设备及网络中的其他设备共享信息,以及根据不断变化的网络条件进行调整。
要使用瞻博网络设备的路由功能,您必须了解 IP 路由的基础知识以及主要负责传输单播流量的路由协议。要了解本主题,您需要对 IP 寻址和 TCP/IP 有一个基本的了解。
Junos® 操作系统 (Junos OS) 维护两个用于路由信息的数据库:
路由表 — 包含所有路由协议学习到的所有路由信息。
转发表 — 包含通过路由器转发数据包的实际路由。
此外,内部网关协议 (IGP)、IS-IS 和 OSPF 会维护链路状态数据库。
本节包含以下主题:
路由协议数据库
每个 IGP 路由协议都会维护一个从运行相同协议的其他路由器学习的路由信息数据库,并按照该协议的定义和要求使用此信息。在 AS 内共享的路由信息通过内部网关协议 (IGP) 传输。
在不同的 IGP 中,最常见的是 RIP、OSPF 和 IS-IS。IS-IS 和 OSPF 使用收到的路由信息来维护链路状态数据库,以确定哪些相邻邻接方可正常运行并构造网络拓扑图。IGP 采用快速、轻负荷设计。它们通常只包含一个中等的安全系统,因为可信的内部对等方不需要像不可信对等方所要求的严格安全措施。因此,您通常可以通过在所有内部接口上启用 IGP 并执行最少的额外配置来开始在 AS 内进行路由。您无需建立单独的邻接。
IS-IS 和 OSPF 使用 Dijkstra 算法,RIP 和 RIPng 使用 Bellman-Ford 算法确定到达每个目标的最佳路由(如果存在多个等价路由),并将这些路由安装到 Junos OS 路由表中。
与对等 AS 共享的路由信息通过外部网关协议 (EGP) 传输。几乎所有网络中使用的主要 EGP 是边界网关协议 (BGP)。BGP 设计非常安全。必须在链路的每一端显式配置各个连接。因此,尽管大量连接难以配置和维护,但每个连接都是安全的。
在接口上配置协议时,还必须在接口上配置协议家族。
Junos OS 路由表
路由协议进程使用 Junos OS 路由表来维护其路由信息数据库。在此表中,路由协议进程存储静态配置的路由、直接连接的接口(也称为 直接路由 或 接口路由)以及从所有路由协议中学习到的所有路由信息。路由协议进程使用此收集的路由信息来选择到每个目标 的活动路由 ,即实际用于将数据包转发到该目标的路由。要将流量从源主机路由到目标主机,流量将通过的设备必须学习数据包要采用的路径。了解信息后,将存储在路由表中。路由表维护从 A 点到 B 点的所有可能路径列表。
默认情况下,Junos OS 维护三个路由表:一个用于单播路由,另一个用于组播路由,另一个用于 MPLS。您可以配置其他路由表,以支持需要分离特定路由组或需要更灵活地操作路由信息的情况。通常,大多数操作都可以在不求助于其他路由表的复杂性的情况下执行。但是,创建其他路由表有若干具体用途,包括将接口路由导入多个路由表中,在将同一路由导出到不同的对等方时应用不同的路由策略,以及通过不一致的组播拓扑提供更高的灵活性。
每个路由表都由一个名称标识,该名称由协议家族后跟一个句点和一个小非反整数组成。协议系列可以是 inet (互联网)、 iso (ISO) 或 mpls (MPLS)。以下名称为 Junos OS 维护的默认路由表保留:
inet.0 — 默认 IP 版本 4 (IPv4) 单播路由表
inet6.0 — 默认 IP 版本 6 (IPv6) 单播路由表
实例名称.inet.0 — 特定路由实例的单播路由表
inet.1 — 组播转发缓存
inet.2 — 用于组播逆向路径转发 (RPF) 查找的单播路由
inet.3 — 路径信息的 MPLS 路由表
mpls.0 — 标签交换路径 (LSP) 下一跃点的 MPLS 路由表
注意:为清楚起见,本主题包含路由表(好像只有一个表)的一般讨论。但是,在需要区分路由表时,会显式使用其名称。
网络和子网
一大组机器相互连接,相互通信,形成网络。通常,网络可以识别由单个实体拥有或操作的大型计算机和设备系统。当数据从主机传递到主机时,流量在网络之间或通过网络路由。
图 1 显示了简单的路由器网络。

这种简单的网络提供了从东道主旧金山到东道主迈阿密的多种方式。该数据包可以沿着路径穿过丹佛和克利夫兰。或者,该数据包可以通过凤凰城路由,直接路由到迈阿密。路由表包含所有可能的路径和组合,详尽列出从源到目标的所有方式。
路由表必须包含从源到目标的每个可能路径。 图 1 中网络的路由表必须包含旧金山-丹佛、旧金山-克利夫兰、旧金山-迈阿密、丹佛-克利夫兰等的条目。随着源和目标的数量增加,路由表很快就会变大。路由表大小不高是网络划分为子网的主要原因。
随着网络规模的扩大,保持网络并有效地在网络内的主机之间路由流量的能力变得越来越困难。为了适应增长,将网络划分为多个子网。从根本上说,子网的行为与网络完全相同,只是它们由更具体的网络地址和子网掩码(目标前缀)标识。子网有路由网关,共享路由信息的方式与大型网络完全相同。
转发表
路由是指将数据包从源传输到目标地址。它涉及通过一个或多个网络传递消息。此过程有两个主要组件:用于准确将数据包从源转发到目标的路由信息交换以及数据包转发过程。
要将数据包正确转发到相应的主机地址,主机必须具有唯一的数字标识符或 IP 地址。目标主机的唯一 IP 地址在路由表中形成条目。这些条目主要负责确定数据包从源传输到目标时所遍历的路径。
Junos OS 会将路由表中的所有活动路由安装到转发表。活动路由用于将数据包转发至其目标。
Junos OS 内核维护转发表的主副本。它将转发表复制到数据包转发引擎,数据包转发引擎是路由器负责转发数据包的一部分。
如果路由表是数据包可以采取的所有路径的列表,则转发表仅是指向特定目标的最佳路由列表。最佳路径根据使用的特定路由协议确定,但通常由源和目标之间的跃点数决定最佳路由。
在 图 1 所示的网络中,由于从旧金山到迈阿密的跃点数量最少的路径是通过凤凰城,因此转发表会将所有可能的旧金山-迈阿密路由提取到通过凤凰城的单一路由中。目的地地址为迈阿密的所有流量都会直接发送到下一跳,凤凰城。
在收到数据包后,Phoenix 路由器会使用相同的目标地址执行另一个路由查找。然后,Phoenix 路由器会相应地路由数据包。虽然它会考虑整个路径,但沿途任何单个跃点上的路由器仅负责将数据包传输到路径中的下一跃点。如果 Phoenix 路由器以特定方式管理其流量,则可能会在路由上通过 Houston 将数据包发送到迈阿密。如果特定客户流量被视为优先级流量,并通过更快或更直接的路由路由,而所有其他流量被视为非优先流量,则可能会发生这种情况。
如何同步路由和转发表
Junos OS 路由协议进程负责在路由表和转发表之间同步路由信息。为此,路由协议进程会计算路由表中所有路由中的活动路由,并将其安装到转发表。然后,路由协议进程将转发表复制到路由器的数据包转发引擎(路由器用于转发数据包的部分)。 图 2 展示了如何同步路由表。

NetFlow V9 支持
NetFlow 服务导出版本 9 (NetFlow V9) 提供了一种可扩展且灵活的方法,可以使用模板观察路由器上的数据包。每个模板都会指示路由器导出数据的格式。
此功能支持 Netflow V5 或 V8,适用于基于流的设备。
有关更多信息,请参阅 监控、采样和收集服务接口用户指南。