问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Datecom-HCIA-06 IP路由基础

创作时间:
作者:
@小白创作中心

Datecom-HCIA-06 IP路由基础

引用
1
来源
1.
https://www.cnblogs.com/liam-wuhan/p/18566585/datacom-hcia-06

在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。路由是数据通信网络中最基本的要素。路由信息是指导报文转发的路径信息,路由过程就是报文转发的过程。本文将会向读者介绍路由的基本概念。

路由概述

路由基本概念

背景:网段间通信

IP地址唯一标识了网络中的一个节点,每个IP地址都拥有自己的网段,各个网段可能分布在网络的不同区域。

为实现IP寻址,分布在不同区域的网段之间要能够相互通信。

路由

路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。

路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器。

路由设备维护着一张路由表,保存着路由信息。

路由信息介绍

路由中包含以下信息:

  • 目的网络:标识目的网段
  • 掩码:与目的地址共同标识一个网段
  • 出接口:数据包被路由后离开本路由器的接口
  • 下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址

这些信息标识了目的网段、明确了转发IP报文的路径。

路由表

路由器通过各种方式发现路由

路由器选择最优的路由条目放入路由表中

路由表指导设备对IP报文的转发

路由器通过对路由表的管理实现对路径信息的管理

路由条目生成

路由信息获取方式

路由器依据路由表进行路由转发,为实现路由转发,路由器需要发现路由,以下为常见的路由获取方式。

直连路由

直连路由指向本地直连网络的路由,由设备自动生成。

当路由器为路由转发的最后一跳路由器时,IP报文匹配直连路由,路由器转发IP报文到目的主机。

使用直连路由进行路由转发时,报文的目的IP和路由器接口IP在一个网段之中。

并不是所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP。

静态路由

静态路由应用场景

静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。

缺点是不能自动适应网络拓扑的变化,需要人工干预。

RTA上转发目的地址属于20.1.1.0/24的报文,在只有直连路由的情况下没有路由匹配。此时可以通过手动配置静态路由,使RTA发送前往20.1.1.0/24网段的报文交给下一跳10.0.0.2转发。

静态路由配置

  1. 关联下一跳IP的方式
[Huawei] ip route-static ip-address { mask | mask-length } nexthop-address
  1. 关联出接口的方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number
  1. 关联出接口和下一跳IP方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number [ nexthop-address ]

在创建静态路由时,可以同时指定出接口和下一跳。对于不同的出接口类型,也可以只指定出接口或只指定下一跳。

对于点到点接口(如串口),必须指定出接口。

对于广播接口(如以太网接口)和VT(Virtual-template)接口,必须指定下一跳。

配置举例

RTA与RTC上配置静态路由,实现10.0.0.0/24与20.1.1.0/24的互通。

因为报文是逐跳转发的,所以每一跳路由设备上都需要配置到达相应目的地址的路由。

另外需要注意通信是双向的,针对通信过程中的往返流量,都需关注途径设备上的路由配置。

RTA的配置如下

[RTA] ip route-static 20.1.1.0 255.255.255.0 10.0.0.2

RTC的配置如下:

[RTC] ip route-static 10.0.0.0 255.255.255.0 S1/0/0

缺省路由

缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发。

缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由。

缺省路由应用场景

缺省路由一般用于企业网络出口,配置一条缺省路由让出口设备能够转发前往Internet上任意地址的IP报文。

动态路由

动态路由概述

动态路由分类

路由选择

最优路由条目优选

查看IP路由表

<Quidway> display ip routing-table
Route Flags: R - relay, D - download to fib
----------------------------------------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 Static 60 0 D 0.0.0.0 NULL0
2.2.2.2/32 Static 60 0 D 100.0.0.2 Vlanif100
100.0.0.0/24 Direct 0 0 D 100.0.0.1 Vlanif100
100.0.0.1/32 Direct 0 0 D 127.0.0.1 Vlanif100
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0

路由表中各个内容的含义

  • Destination/Mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。
  • Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。
  • Pre(Preference):表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。
  • Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
  • NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。
  • Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。

路由优先级 - 基本概念

当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,路由器会比较这些路由的优先级,优选优先级值最小的路由。

路由来源的优先级值(Preference)越小代表加入路由表的优先级越高。

拥有最高优先级的路由将被添加进路由表。

路由优先级 – 比较过程

RTA通过动态路由协议OSPF和手动配置的方式都发现了到达10.0.0.0/30的路由,此时会比较这两条路由的优先级,优选优先级值最小的路由。

每一种路由协议都有相应的优先级。

OSPF拥有更优的优先级,因此通过OSPF学习到的路由被添加到路由表中。

路由优先级 – 常见默认数值

常见路由类型的默认优先级如下:

度量值 – 基本概念

当路由器通过某种路由协议发现了多条到达同一个目的网络的路由时(拥有相同的路由优先级),度量值将作为路由优选的依据之一。

路由度量值表示到达这条路由所指目的地址的代价。

一些常用的度量值有:跳数、带宽、时延、代价、负载、可靠性等。

度量值数值越小越优先,度量值最小路由将会被添加到路由表中。

度量值很多时候被称为开销(Cost)。

度量值 – 比较过程

RTA通过动态路由协议OSPF学习到了两条目的地为10.0.0.0/30的路由,学习自同一路由协议、优先级相同,因此需要继续比较度量值。

两条路由拥有不同的度量值,下一跳为30.1.1.2的OSPF的路由条目拥有更小的度量值,因此被加入到路由表中。

路由转发

最长匹配原则

当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位(BitBy-Bit)比对,直到找到匹配度最长的条目,这就是最长前缀匹配机制。

根据最长匹配原则进行匹配,能够匹配192.168.2.2的路由存在两条,但是路由的掩码长度中,一个为16 bit,另一个为24 bit,掩码长度为24 bit的路由满足最长匹配原则,因此被选择来指导发往192.168.2.2的报文转发。

根据最长匹配原则匹配,能够匹配到192.168.3.2的路由只有一条,此路由为最终转发依据。

路由转发流程

IP路由表小结

当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,会选择路由优先级值最小的路由;如果这些路由学习自相同的路由协议,则优选度量值最优的。总之,最优的路由加入路由表。

当路由器收到一个数据包时,会在自己的路由表中查询数据包的目的IP地址。如果能够找到匹配的路由表项,则依据表项所指示的出接口及下一跳来转发数据;如果没有匹配的表项,则丢弃该数据包。

路由器的行为是逐跳的,数据包从源到目的地沿路径每个路由器都必须有关于目标网段的路由,否则就会造成丢包。

数据通信往往是双向的,因此要关注流量的往返(往返路由)。

路由高级特性

路由递归

路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归。

路由递归也被称为路由迭代。

去往30.1.2.0/24的路由,下一跳为20.1.1.3,非本地直连网络,如果路由表中没有去往20.1.1.3的路由,该静态路由将不会生效,无法作为有效路由条目,并不会出现在路由表。

添加一条去往20.1.1.3的路由,下一跳为直连网络内的IP地址10.0.0.2。

去往30.1.2.0/24的路由通过递归查询得到一个直连的下一跳,该路由因此生效。

等价路由

路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发,这种转发行为被称为负载分担。

浮动路由 – 基本概念

静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份。

浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时该备份路由不会出现在路由表。

浮动路由 – 示例

路由汇总

CIDR 路由递归 等价路由 浮动路由 路由汇总

CIDR(classless inter-domain routing,无类别域间路由)采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分。

CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有效减少路由表条目数量。

路由汇总需求

子网划分、VLSM解决了地址空间浪费的问题,但同时也带了新的问题:路由表中的路由条目数量增加。

为减少路由条目数量可以使用路由汇总。

路由汇总简介

路由汇总将一组具有相同前缀的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的。

路由汇总采用了CIDR的思想:将相同前缀的地址聚合成一个。

我们把汇聚之前的这组路由称为精细路由或明细路由,把汇聚之后的这条路由称为汇总路由或聚合路由。

汇总计算

基于一系列连续的、有规律的IP网段,如果需计算相应的汇总路由,且确保得出的汇总路由刚好“囊括”上述IP网段,则需保证汇总路由的掩码长度尽可能长。

诀窍在于:将明细路由的目的网络地址都换算成二进制,然后排列起来,找出所有目的网络地址中“相同的比特位”。

汇总引发的问题

路由汇总带来的环路问题

RTB收到前往10.1.20.0/24的流量,流量匹配默认路由,转发给RTA

RTA上对路由进行了汇总,因此该流量匹配汇总路由10.1.0.0/16,被转发给RTB

路由汇总带来的环路问题 – 解决方案

在RTB上增加一条指向Null0的路由,即可解决上述问题。因此,在部署路由汇总的时候要格外注意,要规避环路问题。

精确汇总

精确进行路由汇总

为了让RTA能够到达RTB上的172.16.1.0/24-172.16.31.0/24网段,配置了一条静态的汇总路由,这条网段虽然优化了网络配置,但是汇总的范围太广,将RTC上的网段也包括在内,导致前往RTC上网段的流量到达RTA之后会被发往RTB,造成数据包的丢失,这种路由为不精确的路由。为此配置汇总路由时要尽量精确,刚好包括所有明细路由。

本文学习了路由的基本概念,了解了路由如何指导路由器对IP报文进行转发,同时
还了解了常见的路由属性。

特殊的静态路由:缺省路由,此外本章节展现了一些路由转发的高级特性,包括路由
递归、浮动路由、等价路由,这些都在现网中有着广泛地应用。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号