数通基础-IP路由选择原理

IP路由选择原理

什么是路由

  • 路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程。

在这里插入图片描述

路由器的工作内容

  • 现到达网络中各个网段的路径;

  • 选择最佳路径;

  • 维护路由表及路由信息;

  • 转发数据报文。

IP路由表

  • 初始化情况下,路由器所知的网段,只有其直连接口所在网段。路由器自动将接口所在网段的路由写入路由表,这些路由被称为直连路由(Direct route),它们在路由表中的Protocol为Direct。

  • 直连路由出现在路由表中的前提,是该接口的物理状态及协议状态都为UP。

查看路由表:display ip routing-table

在这里插入图片描述

路由条目的来源

  • 直连路由 – 直连接口所在网段的路由。

  • 静态路由 – 由网络管理员手工配置的路由条目。

  • 动态路由 – 路由器通过动态路由协议学习到的路由。

直连路由

在这里插入图片描述

注意:接口直连路由在路由表中被装载的前提是,该接口的物理和协议的状态都是UP。使用display ip interface brief能够查看到这两个状态。

如果接口链路发生故障,物理状态为DOWN,那么该接口的直连路由也就消失了。

静态路由

静态路由(英语:Static routing),一种路由的方式,路由项(routing entry)由手动配置,而非动态决定。与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。一般来说,静态路由是由网络管理员逐项加入路由表。

优点:不占用网络带宽,适用小型简单网络,稳定、可靠。

缺点:需要管理员手动配置,不适用于中大型网络,不方便维护。

在这里插入图片描述

在这里插入图片描述

静态路由的配置

静态路由的配置(关联下一跳IP的方式):
[Router] ip route-static 网络号 掩码 下一跳IP地址
静态路由的配置(关联出接口的方式):
[Router] ip route-static 网络号 掩码 出接口
静态路由的配置(关联出接口和下一跳IP的方式):
[Router] ip route-static 网络号 掩码 出接口 下一跳IP地址
配置示例:
[R1] ip route-static 192.168.100.0 255.255.255.0 192.168.12.2
[R1] ip route-static 192.168.100.0 24 192.168.12.2

在这里插入图片描述

注意:

  • 通信是双向的,因此要留意往返流量的路由)。

  • 路由的行为是逐跳的,因此需保证沿途的每一台路由器都有路由。

查看及排错

  • Ping – 测试网络连通性

  • Tracert – 追踪去往目标节点的沿途每一跳IP地址

  • display ip routing-table – 查看路由表

  • display ip interface brief – 接口摘要信息

默认路由

  • 默认路由(Default route)也被称为缺省路由,即0.0.0.0 0.0.0.0或者0.0.0.0/0路由,也就是网络地址及掩码都为0的路由。

  • 这是一条特殊的路由,可匹配任何目的IP地址。默认路由的下一跳可视为该设备的“最后求助对象”,或者缺省网关。

  • 当网络设备转发一个报文时,如果路由表中存在匹配该报文目的IP地址的路由表项(非默认路由表项),则使用该表项转发这个报文;如果没有任何具体的路由表项匹配,则使用默认路由转发这个报文;如果既无匹配的具体路由,也无默认路由存在,则该报文将被丢弃。

在这里插入图片描述

在这里插入图片描述

Loopback接口

  • Loopback接口,也叫回环口,是一个逻辑的、虚拟的接口。在系统视图下,使用interface loopback 加上接口编号可创建Loopback接口。创建完成后即可为该接口配置IP地址。

  • Loopback接口在手工创建后,是永远不会DOWN掉的(除非认为shutdown),因此非常稳定。

  • Loopback接口常用于:

    • 路由器的直连网段,可用于测试。

    • 用于设备管理(Loopback接口比较稳定)。

    • 其他协议使用,例如OSPF、BGP、MPLS等的Router-ID。

    • 为SNMP traps消息的源地址。

    • 用途(Loopback接口的用途十分广泛)。

在这里插入图片描述

配置:

# 配置接口IP
[AR1]interface GigabitEthernet 0/0/0	
[AR1-GigabitEthernet0/0/0]ip address 192.168.12.1 24
[AR1]interface LoopBack 0      # 配置回环口
[AR1-LoopBack0]ip address 1.1.1.1 24
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 192.168.12.2 24
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 192.168.23.2 24
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]ip address 192.168.23.3 24
[AR3]interface LoopBack 0
[AR3-LoopBack0]ip address 2.2.2.2 24
# 配置静态路由
[AR1]ip route-static 192.168.23.0 24 192.168.12.2
[AR1]ip route-static 2.2.2.0 24 192.168.12.2
[AR2]ip route-static 1.1.1.0 24 192.168.12.1	
[AR2]ip route-static 2.2.2.0  24 192.168.23.3
[AR3]ip route-static 192.168.12.0 24 192.168.23.2
[AR3]ip route-static 1.1.1..0 24 192.168.23.2
[AR3]ip route-static 1.1.1.0 24 192.168.23.2

直接在R1上执行ping命令时,所产生的ICMP报文的源地址缺省为该报文出接口的IP地址,也就是192.168.12.1。

在ping命令后使用 –a关键字,可以指定ICMP报文的源地址,该源地址需为本设备的IP地址。

在这里插入图片描述

使用tracert命令,可以追踪从本地到目的节点沿途经过的各个设备,从而判断出报文的转发路径。

在这里插入图片描述

路由汇总

  • 路由汇总,又被称为路由聚合(Route Aggregation,或route summary),即是将一组有规律的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的。

  • 路由汇总是一个非常重要的网络设计思想,一个可汇总的网络设计方案将使得我们的网络更加优化、路由条目更加精简、网络管理更加简单。在网络设计及部署中应时刻保有路由汇总的意识。

  • 不仅仅静态路由能够部署路由汇总,动态路由协议也都支持路由汇总功能。

在这里插入图片描述

到达每一个远端网段都要配置一条明细路由,最终导致路由条目过多,路由表太庞大,增加了路由器的负担。

汇总路由的精确计算

在这里插入图片描述

这条汇总路由太“粗犷”,R2到达R3右侧的网络有可能会转发给R1从而导致网络访问故障。

将IP地址写成二进制形式

在这里插入图片描述

在这里插入图片描述

Ip route-static 172.16.0.0 19 192.168.12.1
Ip route-static 172.16.32.0 19 192.168.23.3

最长匹配原则

路由条目的类型

  • 主机路由

  • 子网路由

  • 一组子网(汇总路由)

  • 主类网络路由

  • 超网(CIDR)路由

  • 缺省路由(默认路由)

在这里插入图片描述

当路由器在将目的IP地址在路由表中执行查找时,采用的原则是“最长匹配原则”,也就是查找目的IP地址与路由前缀匹配度最长的表项,使用该表项作为最终数据转发的依据。

在这里插入图片描述

路由查询小结

  • 路由器通过多种不同的路由协议发现去往同一个目的网络的路由时,会选择路由优先级(Preference)值最小的路由;如果这些路由学习自相同的路由协议,则优选度量值(Metric)最优的。

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

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

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

路由递归

•路由的下一跳“最终”必须关联到本地出接口,以及下一跳IP地址,而这个下一跳IP地址必须处于本地直连网络,否则该路由就视为无效。

在这里插入图片描述

在这里插入图片描述

  • 在设备进行IP路由查询的时候,递归可能会耗费一定的资源。但在目前行业中拓扑驱动的转发机制下,在路由表项形成后系统即会自动完成路由的递归并创建相应的底层转发表项,而不会在每一个数据包到达都触发一次递归。

  • 路由递归在某些协议中被广泛应用,例如BGP。

  • 在实际业务环境的部署中,如果采用静态路由的方式,则一般不建议部署路由递归。

浮动静态路由

在这里插入图片描述

  • 由于R3上配置的两条静态路由的Preference一样,cost也一样,因此同时装载进了路由表进行负载均衡,那么两条路径都有可能转发数据。如果只是希望实现主备路径呢?

  • 在配置静态路由时,可以手工指定该静态路由的优先级(在华为网络产品中,静态路由优先级缺省为60)。

在这里插入图片描述

汇总路由存在的问题

路由汇总是一个非常重要的网络优化思想,然而如果使用不当,也有可能带来问题,在下图中,R1左侧有192.168开头的一系列网络,为了让他们能够访问Internet,R1配置了指向R2的默认路由。而R2为了让回程数据能够顺利到达R1,又为了精简路由表,于是配置了一条汇总路由192.168.0.0/16,并指向R1。这个网络看似没什么问题,但……

在这里插入图片描述

解决方案

在这里插入图片描述

ip route-static 192.168.0.0 16 null 0

配置的这条路由也叫黑洞路由。黑洞路由,将所有无关路由吸入其中,使它们有来无回的路由。

提到黑洞路由就要提一下null0接口。

null0口是个永不down的口,一般用于管理,admin建立一个路由条目,将接到的某个源地址转向null0接口,这样对系统负载影响非常小。

静态路由与BFD

  • BFD是Bidirectional Forwarding Detection的缩写,它是一个用于检测两个转发点之间故障的网络协议,在RFC 5880有详细的描述。

  • BFD是一种双向转发检测机制,可以提供毫秒级的检测,可以实现链路的快速检测,BFD通过与上层路由协议联动,可以实现路由的快速收敛,确保业务的永续性。

  • BFD Echo报文采用UDP封装,目的端口号为3784,源端口号在49152到65535的范围内。目的IP地址为发送接口的地址,源IP地址由配置产生(配置的源IP地址要避免产生ICMP重定向)

在这里插入图片描述

[R1] ip route-static 2.2.2.0 24 192.168.12.2

R1配置了上述静态路由,如果交换机和R2之间的链路发生故障,R1是感知不到的,因此静态路由不会消失,这就存在问题。

可以在R1-R2之间部署BFD来检测对端的状态。

[R1] ip route-static 2.2.2.0 24 192.168.12.2 track bfd-session bfd12

具体配置:

AR1:
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 192.168.12.1 24
# 配置BFD
[AR1]bfd	# bfd使能
[AR1-bfd]quit
# 配置BFDSession
[AR1]bfd bfd12 bind peer-ip 192.168.12.2 source-ip 192.168.12.1
[AR1-bfd-session-bfd12]discriminator local 11  # 配置本地标识符
[AR1-bfd-session-bfd12]discriminator remote 22  # 配置远端标识符
[AR1-bfd-session-bfd12]commit     # 使用commit关键字使bfd配置生效
[AR1-bfd-session-bfd12]quit
# 配置静态路由绑定bfd
[AR1]ip route-static 2.2.2.0 24 192.168.12.2 track bfd-session bfd12

AR2:
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 192.168.12.2 24
[AR2]interface LoopBack 0
[AR2-LoopBack0]ip address 2.2.2.2 24
[AR2]bfd
[AR2-bfd]quit     # 使能bfd
[AR2]bfd bfd12 bind peer-ip 192.168.12.1 source-ip 192.168.12.2
[AR2-bfd-session-bfd12]discriminator local 22  # 配置本地标识符
[AR2-bfd-session-bfd12]discriminator remote 11  # 配置远端标识符
[AR2-bfd-session-bfd12]commit          # 使用commit关键字使bfd配置生效
[AR2-bfd-session-bfd12]quit

查看bfd-session信息

在这里插入图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值