1. 静态路由配置实验点这里(拓扑+代码)
2. 缺省路由配置实验点这里(拓扑+代码)
3. 企业双出口冗余(浮动静态路由)实验(拓扑+代码)
4. 路由汇总实验(拓扑+代码)
目录
一、IP路由基础
-
IP地址唯一标识了网络中的一个节点,每个IP地址都拥有自己的网段,各个网段可能分布在网络的不同区域;为实现IP寻址,分布在不同区域的网段之间要能够相互通信。
跨网段通信时需要路由。
-
路由的概念
路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。 路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器。 路由设备维护着一张路由表,保存着路由信息。 ※ 命令:[Huawei] dis ip routing-table
-
路由信息介绍(路由中包含以下信息)
目的网络:标识目的网段 掩码:与目的地址共同标识一个网段 出接口:数据包被路由后离开本路由器的接口 下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址 ※ 这些信息标识了目的网段、明确了转发IP报文的路径。
二、路由表的概念
- 路由器通过各种方式发现路由
- 路由器选择最优的路由条目放入路由表中
- 路由表指导设备对IP报文的转发
- 路由器通过对路由表的管理实现对路径信息的管理
- 路由表就是路由器转发数据的一张“地图”
三、路由条目生成(路由信息获取方式)
-
直连路由:由设备自动生成指向本地直连网络。
直连路由指向本地直连网络的路由,由设备自动生成。 当路由器为路由转发的最后一跳路由器时,IP报文匹配直连路由,路由器转发IP报文到目的主机。 使用直连路由进行路由转发时,报文的目的IP和路由器接口IP在一个网段之中。 注意:并不是所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP。 ※ 直连路由的优先级最高
-
静态路由:由网络管理员手工配置的路由条目。
-
动态路由:路由器运行动态路由协议学习到的路由。
四、路由优先级和度量值
- 查看路由表命令
[Huawei] dis ip routing-table
-
路由表中各个内容的含义
Destination/Mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。 Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。 Pre(Preference):表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。 Cost路由开销(度量值):当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。 NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。 Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。
-
路由优先级
当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,路由器会比较这些路由的优先级,优选优先级值最小的路由。 路由来源的优先级值(Preference)越小代表加入路由表的优先级越高。 拥有最高优先级的路由将被添加进路由表。
-
路由优先级的比较过程
路由器通过动态路由协议OSPF和手动配置的方式都发现了到达相同目的的路由,此时会比较这两条路由的优先级,优选优先级值最小的路由。 每一种路由协议都有相应的优先级。 OSPF拥有更优的优先级,因此通过OSPF学习到的路由被添加到路由表中。
-
常见默认数值
路由来源 | 路由类型 | 默认优先级 |
---|---|---|
直连 | 直连 | 0 |
静态 | 静态路由 | 60 |
动态路由 | OSPF内部路由 | 10 |
动态路由 | OSPF外部路由 | 150 |
-
度量值的基本概念
当路由器通过某种路由协议发现了多条到达同一个目的网络的路由时(拥有相同的路由优先级),度量值将作为路由优选的依据之一。 路由度量值表示到达这条路由所指目的地址的代价。 一些常用的度量值有:跳数、带宽、时延、代价、负载、可靠性等。 度量值数值越小越优先,度量值最小路由将会被添加到路由表中。 度量值很多时候被称为开销(Cost)。
-
度量值的比较过程
路由器通过动态路由协议OSPF学习到了两条目的地相同的路由,学习自同一路由协议、优先级相同,因此需要继续比较度量值。 两条路由拥有不同的度量值,会选择下一条Cost小的路由,加入路由表中。 ※ 路由表中的为最优路由。
-
最长掩码匹配原则
当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位(Bit-By-Bit)比对,直到找到匹配度最长的条目,这就是最长前缀匹配机制。 最长掩码的也就是最精确那个。 例子:路由器的目的地址为192.168.2.2,有三条路分别为 目的网络/掩码 下一跳 192.168.0.0/16 10.1.1.2 不是最长掩码(16位) 192.168.2.0/24 20.1.1.2 成功匹配(是最长掩码24位) 192.168.3.0/24 30.1.1.2 到不了 ※ 解析:根据最长匹配原则进行匹配,能够匹配192.168.2.2的路由存在两条,但是路由的掩码长度中,一个为16 bit,另一个为24 bit,掩码长度为24 bit的路由满足最长匹配原则,因此被选择来指导发往192.168.2.2的报文转发。
-
路由选择顺序
最长掩码匹配 路由优先级(Preference) 路由度量值 (Cost)
五、静态路由配置
静态路由应用场景:
① 静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。
② 缺点是不能自动适应网络拓扑的变化,需要人工干预过多。
- 关联下一跳IP的方式
[Huawei] ip route-static ip-address { mask | mask-length } nexthop-address
- 对于广播接口(如以太网接口)和VT(Virtual-template)接口,必须指定下一跳。
- 下一条是去方向,距离最近的三层设备的接口IP地址。
- 关联出接口的方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number
- 对于点到点接口(如串口),只需指定出接口即可。
- 出接口代表路由从设备的哪个接口出去。
- 关联出接口和下一跳IP方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number [ nexthop-address ]
- 在创建静态路由时,可以同时指定出接口和下一跳。
- 特别注意:静态路由配置是双向的,有去包路由,也要有回包路由。
- 静态路由配置示例
/* 配置静态路由*/
/* 关联下一跳 */
[Huawei] ip route-static 192.168.1.0 255.255.255.0 12.1.1.1 // 配置到192.168.10./24网段的静态路由,下一跳为12.1.1.1
/* 关联出接口 */
[Huawei] ip route-static 192.168.1.0 24 GigabitEthernet 0/0/0 //配置到192.168.1.0/24网段的静态路由,出接口为GigabitEthernet 0/0/0
/* 关联出接口和下一跳 */
[Huawei] ip route-static 192.168.1.0 24 GigabitEthernet 0/0/0 12.1.1.1 // 配置到192.168.1.0/24网段的静态路由,出接口为GigabitEthernet 0/0/0,下一跳为12.1.1.1
六、缺省路由配置
-
缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发。缺省路由是”替补”。
-
缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由。
-
缺省路由配置:
[Huawei]ip route-static 0.0.0.0 0 下一跳 // 配置缺省路由
- 简单来说,缺省路由就是目的为任意网络的路由,不过优先级会低,作为替补的身份。
- 缺省路由配置示例
/* 配置缺省路由 */
[Huawei]ip route-static 0.0.0.0 0 下一跳 // 去往任意网段的静态路由
七、动态路由简介
-
动态路由概述
当网络规模越来越大时,使用手动配置静态路由的方式获取路由条目将变得越发复杂,同时在拓扑发生变化时不能及时、灵活响应。 动态路由协议能够自动发现和生成路由,并在拓扑变化时及时更新路由,可以有效减少管理人员工作量,更适用于大规模网络。 ※ 其实真正工作中,很多都是静态路由,除非是很大的网络才会用动态路由。
-
动态路由分类
按照工作区域分类 IGP(内部网关协议):RIP、OSPF、IS-IS EGP(外部网关协议):BGP 按照工作机制及算法分类 距离矢量路由协议:RIP 链路状态路由协议:OSPF、IS-IS
八、路由递归
- 路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归。
- 路由递归也被称为路由迭代。路由的下一跳必须可达,该路由才可以放入路由表中。
九、等价路由和浮动路由
-
等价路由:来源相同、开销相同的路由都会被加入路由表,形成的路由为等价路由(两个路由条目指向的目的网段相同,但是具有不同的下一跳地址),路由转发会将流量分布到多条路径上。
路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发,这种转发行为被称为负载分担。
-
浮动路由:静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份
浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时该备份路由不会出现在路由表。
十、路由汇总(为了减少路由条目)
-
CIDR(classless inter-domain routing,无类别域间路由)采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分。
CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有效减少路由表条目数量。
-
路由汇总需求
子网划分、VLSM解决了地址空间浪费的问题,但同时也带了新的问题:路由表中的路由条目数量增加。 为减少路由条目数量可以使用路由汇总。
-
路由汇总简介
路由汇总将一组具有相同前缀的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的。 路由汇总采用了CIDR的思想:将相同前缀的地址聚合成一个。 把汇聚之前的这组路由称为精细路由或明细路由,把汇聚之后的这条路由称为汇总路由或聚合路由。
-
路由汇总计算
例子:将如下三个网段汇总成一个网段 192.168.1.0/24 二进制 11000000.10101000.000000|01.00000000 192.168.2.0/24 二进制 11000000.10101000.000000|10.00000000 192.168.3.0/24 二进制 11000000.10101000.000000|11.00000000 汇总为(三个地址的相同网段):192.168.0.0/22 ※ 三个网段的网络部分前22个比特是相同的,因此可以汇总成一个网段。 ※ 诀窍在于:将明细路由的目的网络地址都换算成二进制,然后排列起来,找出所有目的网络地址中“相同的比特位”。
十一、路由汇总引发的问题(带来环路问题)
-
原因:如果地址汇总的不是太精确,那么转发时可能会两个路由器之间来回重复的转发(因为两个路由器的目的地址都与之匹配)。
-
解决方案一般有如下两种
-
第一个方案,可以在目的网段大的那个路由器中,添加一条指向Null0的路由,在接收到不是应该它转发的路由时,将其丢弃,而不是转发给别人。
命令:[Huawei]ip route-static 10.1.0.0 16 0 NULL0 ※ 上面命令的含义是,在收到目的网络为10.1.0.0/16的数据包时,将其丢弃。 ※ Null 0 也成为黑洞路由。
-
第二个方案,配置汇总路由时要尽量精确,刚好包括所有明细路由。
比如在前面路由汇总计算时,可以汇总22位,就不要汇总21位。
-
路由汇总导致的环路问题的解决方案汇总
配置指向Null 0 口静态路由 精确汇总 ※ 通常情况下,两个解决方案一起使用,才比较稳妥。