无线选路协议是基于表的路径矢量选路协议。网络上每一个节点维护一路径表、选路表、链路—成本表和消息转发列表。无线选路协议包括内部网关协议 RIP、OSPF 和外部网关协议 BGP。
无线选路协议是基于表的路径矢量选路协议。网络上每一个节点维护一路径表、选路表、链路—成本表和消息转发列表。无线选路协议包括内部网关协议 RIP、OSPF 和外部网关协议 BGP。
RIP 是一种基于距离向量的路由协议,以路由跳数作为计数单位的路由协议。适合用于比较小型的网络环境。
OSPF(开放式最短路径优先)是一个内部网关协议(简称 IGP),用于在单一自治系统内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP)。
边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。
无线选路协议的概念
无线选路协议是基于表的路径矢量选路协议。网络上每一个节点维护一路径表、选路表、链路—成本表和消息转发列表。
无线选路协议包括内部网关协议 RIP、OSPF 和外部网关协议 BGP。
RIP 是一种基于距离向量的路由协议,以路由跳数作为计数单位的路由协议。适合用于比较小型的网络环境。
OSPF(Open Shortest Path First 开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称 IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法(Dijkstra)被用来计算最短路径树。OSPF 分为 OSPFv2 和 OSPFv3 两个版本,其中 OSPFv2 用在 IPv4 网络,OSPFv3 用在 IPv6 网络。OSPFv2 是由 RFC 2328 定义的,OSPFv3 是由 RFC 5340 定义的。与 RIP 相比,OSPF 是链路状态协议,而 RIP 是距离矢量协议。
边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了 AS 互联的拓朴图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。
无线选路协议的工作原理
无线选路协议的产生
IETF 为了满足建造越来越大基于 IP 网络的需要,形成了一个工作组,专门用于开发开放式的链路状态路由协议,以便用在大型、异构的 I P 网络中。新的路由协议已经取得一些成功的一系列私人的、和生产商相关的、最短路径优先(SPF )路由协议为基础, 在市场上广泛使用。包括 OSPF 在内,所有的 S P F 路由协议基于一个数学算法—Dijkstra 算法。这个算法能使路由选择基于链路状态,而不是距离向量。OSPF 由 IETF 在 20 世纪 80 年代末期开发,OSPF 是 SPF 类路由协议中的开放式版本。最初的 OSPF 规范体如今 RFC1131 中。这个第 1 版( OSPF 版本 1 )很快被进行了重大改进的版本所代替,这个新版本体如今 RFC1247 文档中。RFC 1247OSPF 称为 OSPF 版本 2 是为了明确指出其在稳定性和功能性方面的实质性改进。这个 OSPF 版本有许多更新文档,每一个更新都是对开放标准的精心改进。接下来的一些规范出如今 RFC 1583、2178 和 2328 中。OSPF 版本 2 的最新版体如今 RFC 2328 中。最新版只会和由 RFC 2138、1583 和 1247 所规范的版本进行互操作。
链路是路由器接口的另一种说法,因此 OSPF 也称为接口状态路由协议。OSPF 通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个 OSPF 路由器使用这些最短路径构造路由表。
OSPF 路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即 AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个 AS 中,所有的 OSPF 路由器都维护一个相同的描述这个 AS 结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF 路由器正是通过这个数据库计算出其 OSPF 路由表的。
作为一种链路状态的路由协议,OSPF 将链路状态组播数据 LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。
BGP 用于在不同的自治系统(AS)之间交换路由信息。当两个 AS 需要交换路由信息时,每个 AS 都必须指定一个运行 BGP 的节点,来代表 AS 与其他的 AS 交换路由信息。这个节点可以是一个主机。但通常是路由器来执行 BGP。两个 AS 中利用 BGP 交换信息的路由器也被称为边界网关(Border Gateway)或边界路由器(Border Router) 。
由于可能与不同的 AS 相连,在一个 AS 内部可能存在多个运行 BGP 的边界路由器。同一个自治系统(AS)中的两个或多个对等实体之间运行的 BGP 被称为 IBGP(Internal/Interior BGP)。归属不同的 AS 的对等实体之间运行的 BGP 称为 EBGP (External/Exterior BGP)。在 AS 边界上与其他 AS 交换信息的路由器被称作边界路由器(border/edge router)。在互联网操作系统(Cisco IOS)中,IBGP 通告的路由的距离为 200,优先级比 EBGP 和任何内部网关协议(IGP)通告的路由都低。其他的路由器实现中,优先级顺序也是 EBGP 高于 IGP,而 IGP 又高于 IBGP。
BGP 属于外部网关路由协议,可以实现自治系统间无环路的域间路由。BGP 是沟通 Internet 广域网的主用路由协议,例如不同省份、不同国家之间的路由大多要依靠 BGP 协议。BGP 可分为 IBGP(Internal BGP)和 EBGP(External BGP)。BGP 的邻居关系(或称通信对端/对等实体)是通过人工配置实现的,对等实体之间通过 TCP(端口 179)会话交互数据。BGP 路由器会周期地发送 19 字节的保持存活 keep-alive 消息来维护连接(默认周期为 30 秒)。在路由协议中,只有 BGP 使用 TCP 作为传输层协议。
无线选路协议的基本原理
因为 OSPF 路由器之间会将所有的链路状态(LSA)相互交换,毫不保留,当网络规模达到一定程度时,LSA 将形成一个庞大的数据库,势必会给 OSPF 计算带来巨大的压力;为了能够降低 OSPF 计算的复杂程度,缓存计算压力,OSPF 采用分区域计算,将网络中所有 OSPF 路由器划分成不同的区域,每个区域负责各自区域精确的 LSA 传递与路由计算,然后再将一个区域的 LSA 简化和汇总之后转发到另外一个区域,这样一来,在区域内部,拥有网络精确的 LSA,而在不同区域,则传递简化的 LSA。区域的划分为了能够尽量设计成无环网络,所以采用了 Hub-Spoke 的拓朴架构,也就是采用核心与分支的拓朴,如下图:
区域的命名可以采用整数数字,如 1、2、3、4,也可以采用 IP 地址的形式,0.0.0.1、0.0.0.2,因为采用了 Hub-Spoke 的架构,所以必须定义出一个核心,然后其它部分都与核心相连,OSPF 的区域 0 就是所有区域的核心,称为 BackBone 区域(骨干区域),而其它区域称为 Normal 区域(常规区域),在理论上,所有的常规区域应该直接和骨干区域相连,常规区域只能和骨干区域交换 LSA,常规区域与常规区域之间即使直连也无法互换 LSA,如上图中 Area 1、Area 2、Area 3、Area 4 只能和 Area 0 互换 LSA,然后再由 Area 0 转发,Area 0 就像是一个中转站,两个常规区域需要交换 LSA,只能先交给 Area 0,再由 Area 0 转发,而常规区域之间无法互相转发。
BGP/MPLS VPN 以隧道的方式解决了在公网中传送私网数据的问题,但传统的 BGP/MPLS VPN 架构要求每个 VPN 实例单独使用一个 CE 与 PE 相连。
随着用户业务的不断细化和安全需求的提高,很多情况下一个私有网络内的用户需要划分成多个 VPN,不同 VPN 用户间的业务需要完全隔离。此时,为每个 VPN 单独配置一台 CE 将加大用户的设备开支和维护成本;而多个 VPN 共用一台 CE,使用同一个路由表项,又无法保证数据的安全性。使用 MCE 功能,可以有效解决多 VPN 网络带来的用户数据安全与网络成本之间的矛盾,它使用 CE 设备本身的 VLAN 接口编号与网络内的 VPN 进行绑定,并为每个 VPN 创建和维护独立的路由转发表(Multi-VRF)。这样不但能够隔离私网内不同 VPN 的报文转发路径,而且通过与 PE 间的配合,也能够将每个 VPN 的路由正确发布至对端 PE,保证 VPN 报文在公网内的传输。