一、IP路由基础
在网络中路由器根据所收到的报文的目的地址选择一条合适的路径,并将报文转发到下一个路由器。
路径中最后一个路由器负责将报文转发给目的主机。
路由就是报文在转发过程中的路径信息,用来指导报文转发。
根据路由目的地的不同,路由可划分为:
1、网段路由:目的地为网段,子网掩码长度小于 32 位。
2、主机路由:目的地为主机,子网掩码长度为 32 位。
另外,根据目的地与该路由器是否直接相连,路由又可划分为:
1、 直接路由:目的地所在网络与路由器直接相连。
2、 间接路由:目的地所在网络与路由器非直接相连
二、路由表
RIB(Routing Information Base,路由信息库),是一个集中管理路由信息的数据库,包含路由表
信息以及路由周边信息(路由迭代信息、路由共享信息以及路由扩展信息)等。
路由器通过对路由表进行优选,把优选路由下发到 FIB(Forwarding Information Base,转发信息
库)表中,通过 FIB 表指导报文转发。
路由表中保存了各种路由协议发现的路由,根据来源不同,通常分为以下三类:
1、直连路由:链路层协议发现的路由,也称为接口路由。
2、静态路由:网络管理员手工配置的路由。静态路由配置方便,对系统要求低,适用于拓扑结
构简单并且稳定的小型网络。其缺点是每当网络拓扑结构发生变化,都需要手工重新配置,
不能自动适应。
3、 动态路由:路由协议发现的路由。
FIB 表中每条转发项都指明了要到达某子网或某主机的报文应通过路由器的哪个物理接口发送,就
可以到达该路径的下一个路由器,或者不需再经过别的路由器便可传送到直接相连的网络中的目的
主机。
A、Destination:目的地址。用来标识 IP 报文的目的地址或目的网络。
B、 Mask:网络掩码。与目的地址一起来标识目的主机或路由器所在的网段的地址。将目的地址
和网络掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为
129.102.8.10、掩码为 255.255.0.0 的主机或路由器所在网段的地址为 129.102.0.0。掩码由
若干个连续“1”构成,既可以用点分十进制法表示,也可以用掩码中连续“1”的个数来表
示。
C、 Pre:路由优先级。对于同一目的地,可能存在若干条不同下一跳的路由,这些不同的路由可
能是由不同的路由协议发现的,也可能是手工配置的静态路由。优先级高(数值小)的路由
将成为当前的最优路由。
D、 Cost:路由的度量值。当到达同一目的地的多条路由具有相同的优先级时,路由的度量值越
小的路由将成为当前的最优路由。
E、 NextHop:下一跳地址。此路由的下一跳 IP 地址。
F、 Interface:出接口。指明 IP 报文将从该路由器哪个接口转发
三、路由协议分类
路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定规模的网络拓扑。其
缺点是配置比较复杂,对系统的要求高于静态路由,并占用一定的网络资源。
对路由协议的分类可采用以下不同标准。
1. 根据作用范围
A、 IGP(Interior Gateway Protocol,内部网关协议):在一个自治系统内部运行,常见的 IGP
协议包括 RIP、OSPF 和 IS-IS。
B、 EGP(Exterior Gateway Protocol,外部网关协议):运行于不同自治系统之间,BGP 是目
前最常用的 EGP。
2. 根据使用算法
A、 距离矢量(Distance-Vector)协议:包括 RIP 和 BGP。其中,BGP 也被称为路径矢量协议
(Path-Vector)。
B、 链路状态(Link-State)协议:包括 OSPF 和 IS-IS。
3. 根据目的地址类型
A、单播路由协议:包括 RIP、OSPF、BGP 和 IS-IS 等。
B、组播路由协议:包括 PIM-SM、PIM-DM 等。
4. 根据IP协议版本
A、IPv4 路由协议:包括 RIP、OSPF、BGP 和 IS-IS 等。
B、IPv6 路由协议:包括 RIPng、OSPFv3、IPv6 BGP 和 IPv6 IS-IS 等。
四、路由优先级
对于相同的目的地,不同的路由协议、直连路由和静态路由可能会发现不同的路由,但这些路由并
不都是最优的。为了判断最优路由,各路由协议、直连路由和静态路由都被赋予了一个优先级,具
有较高优先级的路由协议发现的路由将成为最优路由。
五、负载分担
对同一路由协议来说,允许配置多条目的地相同且开销也相同的路由。当到同一目的地的路由中,
没有更高优先级的路由时,这几条路由都被采纳,在转发去往该目的地的报文时,依次通过各条路
径发送,从而实现网络的负载分担。
目前负载分担有静态路由/IPv6 静态路由、RIP/RIPng、OSPF/OSPFv3、BGP/IPv6 BGP 和
IS-IS/IPv6 IS-IS。
六、路由备份
使用路由备份可以提高网络的可靠性。用户可根据实际情况,配置到同一目的地的多条路由,其中
优先级最高的一条路由作为主路由,其余优先级较低的路由作为备份路由。
正常情况下,路由器采用主路由转发数据。
1、 当链路出现故障时,主路由变为非激活状态,路由器选择备份路由中优先级最高的转发数据。
这样,也就实现了从主路由到备份路由的切换。
2、 当链路恢复正常时,路由器重新选择路由。由于主路由的优先级最高,路由器选择主路由来
发送数据。这就是从备份路由到主路由的切换。
七、路由迭代
1、如果路由所携带的下一跳信息并不是直接可达的,就需要找到到达下一跳的直连出接口。路由迭代
的过程就是通过路由的下一跳信息来找到直连出接口的过程。
2、路由迭代信息记录并保存路由迭代的结果,包括依赖路由的概要信息、迭代路径、迭代深度等。