一 IP路由基础

当路由器收到一个IP数据包,路由器会根据数据包的目的IP地址查找FIB(Forwarding Information Base,转发信息库)表,找到“最匹配”的路由条目后,将数据包根据路由条目所指示的出接口或下一跳转发出去。

IP路由概述

当路由器收到一个IP报文时,路由器根据该IP报文的目的地址匹配路由条目(或路由表项)

匹配的路由条目,则依据该条目中的出接口或下一跳等信息进行报文转发

匹配的路由条目,则路由器没有相关路由信息用于指导报文转发,此时会丢弃该报文。

具有路由功能的网络设备都维护两种重要的数据表:

一是路由表RIB(Routing Information Base,路由信息库),根据路由协议生成,在控制管理平面

二是转发表FIB根据RIB中的最优路径生成,由控制管理平面下发到数据平面

RIB

每个路由器都有路由表,而路由表又分为本地核心路由表协议路由表

本地核心路由表指是全局路由表,包含所有路由协议生成的路径。

协议路由表指是单独某一协议生成的路由表。

相关命令:

查看本地路由表

<R1>display ip routing-table

查看OSPF的协议路由表

<R1>display ip routing-table protocol ospf

IP路由查找的最长匹配原则

指选择一个掩码最长的FIB表项转发报文。这里的最长指的是掩码数字最大的条目,也就意味着最精确的条目。

比如报文的目的是192.168.1.1,这时,路由表中的下一跳地址有192.168.1.1/16和192.168.1.1/24,路由器就会选择192.168.1.1/24去转发,因为它的掩码更长。

路由的来源

直连路由(Direct):设备自动生成指向本地直连网络的路由

静态路由(Static):网络管理员手工配置的路由

动态路由(dynamic):路由器运行动态路由协议学习到的路由

动态路由协议

动态路由协议根据作用范围不同,可分为:

内部网关协议IGP(Interior Gateway Protocol):在一个自治系统内部运行。常见的IGP协议包括OSPF和IS-IS。

外部网关协议EGP(Exterior Gateway Protocol):运行于不同自治系统之间。BGP是目前最常用的EGP协议。

自治系统(AS)是一个有权自主地决定在本系统中应采用各种内部路由协议的小型单位。(例如一所大学,一个企业或者一个公司个体)

路由迭代

路由必须有直连的下一跳才能够指导转发,静态路由或BGP路由的下一跳可能不是直连的邻居,因此需要计算出一个直连的下一跳,这个过程就叫做路由迭代。

例如

ospf lsdb 信息 ospf的rid_ospf lsdb 信息

为了从R1到达R3的远端网络192.168.21.0/24,首先需要经过R2和R3之间的10.0.23.0/24网段,因此可以在R1上配置如下静态IP

[R1]ip route-static 10.0.23.0 24 10.0.12.2 

[R1]ip route-static 192.168.21.0 24 10.0.23.3

二 OSPF-基本概念、RID、区域

概述

静态路由比动态路由使用更少的带宽,并且不占用CPU资源来计算和分析路由更新。当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。但是当网络发生故障或者拓扑发生变化后,静态路由不会自动更新,必须手动重新配置。

相比较于静态路由,动态路由协议具有更强的可扩展性,具备更强的应变能力

OSPF(Open Shortest Path First,开放式最短路径优先)具有扩展性强收敛速度快等特点,作为优秀的内部网关协议被广泛使用。

动态路由协议的分类

按工作区域分类:

IGP(Interior Gateway Protocols,内部网关协议):RIP、OSPF、IS-IS

EGP(Exterior Gateway Protocols,外部网关协议):BGP

按工作机制及算法分类:

Distance Vector Routing Protocols,距离矢量路由协议:RIP、BGP

Link-State Routing Protocols,链路状态路由协议:OSPF、IS-IS

距离矢量路由协议

运行距离矢量路由协议的路由器周期性地泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中,然后再通告给其他相邻路由器。

对于网络中的所有路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的网段方向在哪里,开销有多大。

链路状态路由协议

运行链路状态协议分为4个步骤:

LSA泛洪

首先会建立邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。

LSDB维护

每台路由器都会产生LSA,路由器将接收到的LSA放入自己的LSDB(Link State DataBase,链路状态数据库)。路由器通过对LSDB中所存储的LSA进行解析,进而了解全网拓扑

SPF计算

每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先,主要是计算开销)算法进行计算。计算出一棵以自己为根的、无环的、拥有最短路径的“树”。

路由表生成

路由器将计算出来的优选路径,加载进自己的路由表(Routing Table)。

OSPF概述

OSPF是IETF定义的一种基于链路状态的内部网关路由协议。目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。

OSPF应用场景

大型企业网络中通常部署OSPF实现各个楼宇的网络之间的路由可达。

核心和汇聚层部署在OSPF骨干区域。

接入和汇聚层部署在OSPF非骨干区域。

PS:园区网中各个层级的作用。

接入层:接入层利用光纤、双绞线、同轴电缆、无线接入技术等传输介质,实现与用户连接,并进行业务和带宽的分配。接入层目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性。

汇聚层:汇聚层为接入层提供基于策略的连接,如地址合并、协议过滤、路由服务、认证管理等。通过网段划分实现与网络隔离,可以防止网络故障蔓延和影响到核心层。汇聚层同时也可以提供接入层虚拟网之间的互连控制和限制接入层对核心层的访问保证核心层的安全和稳定

核心层:核心层的功能主要是实现骨干网络之间的优化传输,核心层任务的重点通常是冗余能力可靠性和高速的传输

Router ID

Router ID用于在自治系统中唯一标识一台运行OSPF的路由器,它是一个32位的无符号整数。

Router ID选举优先级如下:

1 手动配置OSPF路由器的Router ID(建议手动配置)

2 如果没有手动配置Router ID,则路由器使用Loopback接口中最大的IP地址作为Router ID

3 如果没有配置Loopback接口,则路由器使用物理接口中最大的IP地址作为Router ID

Router ID一旦选定,之后如果要更改的话就需要重启OSPF进程。

相关命令:

重置OSPF进程

<R1>reset ospf process

OSPF区域

区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。

OSPF区域可归类为:

骨干区域:整个自治系统内只能有一个area 0(骨干区域)

非骨干区域:除了area0的其他区域

非骨干区域必须与骨干区域相连。

相关命令:

在区域下宣告网络

[R1-ospf-10-area-0.0.0.0]network 192.168.1.0 0.0.0.255

掩码必须等于实际掩码,否则其他路由学习不到。