IP路由基础

稚 发布于 2024-08-26 45 次阅读


数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。路由信息是指导报文转发的路径信息,路由过程就是报文转发的过程。
路由表RIB(Routing Information Base):(控制平面)路由器维护的一张本地核心的路由表

FIB表:(数据平面)路由器将本地核心路由表中最优的路由下载到FIB表中
路由来源:

  1. 直连路由: 设备本地直连网络的网段;接口的物理状态和协议状态必须是UP
  2. 静态路由 由网络管理员手工配置的路由;条件下一跳必须是本地直连的
  3. 动态路由 路由器通过动态路由协议学习到的路由

动态路由的分类:

  1. 根据工作范围: IGP:(内部网关协议)ospf、ISIS,RIP. 在一个AS(自治系统)内运行动态路由协议,实现AS内通信 EGP:(外部网关协议):BGP。实现AS之间的通信
  2. 根据路由算法: 链路状态路由协议(使用算法Dijkatra):ospf,ISIS 路径矢量路由协议(使用算法path-vector):BGP 距离矢量路由协议(使用算法Bellman-Ford):RIP
  • 距离矢量路由信息传递的是路由可以直接使用路由工具匹配(BGP RIP)
  • 链路状态协议传递lsa信息无法使用路由工具匹配LSA信息
所以在链路状态协议中使用路由工具
* 在入方向过滤对OSPF计算出来的路由(加载到路由表之前)进行过滤,不把路由加入到路由表中,而不会对LSA进行过滤。但不影响对外发布出去
* 在出方向过滤路由信息 ->过滤从其他协议引入的路由 对引入的路由在向外发布时进行过滤,只将满足条件的外部路由转换为Type5 LSA(AS-external-LSA)并发布出去。

距离矢量路由:泛洪路由表(RIP) 链路矢量路由:泛洪链路状态通告(LSA) Link State Advertisement

华为定义的路由优先级:

类型 优先级
直连 0
OSPF内部 10
ISIS 15
静态 60
OSPF外部 150
BGP 255

路由引入: 路由引入是将路由信息从一种路由协议发布到另外一种路由协议的操作。 通过路由引入,可以实现路由信息在不同协议间的传递 执行路由引入时,还可以部署路由控制,实现对业务流量的灵活把控。

路由表中路由优选

路由加入路由表的规则:

  1. 网络地址和掩码是否相同:不同,都加入路由表;相同,比较优先级;
  2. 优先级(1-255):不同,优先级数值比较的加入路由表;相同,比较cost值;
  3. cost值:不同,cost值小的加入路由表;相同,实现负载分担;
    路由表转发数据时,路由的匹配原则:最长掩码匹配:

静态路由

管理员需要手动配置和维护的路由,主要应用在小型企业网络中或者网络 的出口网关处(与外网连接的出口设备处)等
配置命令 : ip route-static 目的地址 掩码 下一跳/出接口
对于点到点接口(如串口),可以指定出接口或者下一跳。
对于广播接口(如以太网接口)和VT(Virtual-template)接口,必须指定下一跳。
需要注意通信是双向的,针对通信过程中的往返流量,都需关注途径设备上的路由配置。
你需要把流量交给谁谁就是你的下一跳
静态路由的cost为0

缺省路由

缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由。
配置命令:ip router-static 0.0.0.0 0 下一跳/出接口

动态路由

分类

  1. 按照工作区域分:
    IGP(内部网关协议):RIP,OSPF,IS-IS
    EGP(外部网关协议)BGP
  2. 按照工作机制分:
    距离矢量协议:RIP
    链路状态:OSPF,IS-IS

路由高级特性

路由迭代

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

【R1】ip route-static 3.3.3.3 255.255.255.255 10.0.23.3

在R1要访问R3正常情况下应该配置下一跳IP地址为R2的0/0/0接口IP地址10.0.12.2但是此时配置为R3的0/0/1口 此时的下一跳接口不是直连接口需要进行路由迭代 但是此时在R1中没有到达R3 10.0.23.3的路由条目 所以无法进行路由迭代 此时3.3.3.3的这条路由不会出现在R1的路由表中,
【R1】ip route-static 10.0.23.0 255.255.255.0 10.0.12.2
此时在R1中配置到达10.0.23.0网段的信息 下一跳可达 则3.3.3.3的路由条目也会出现在R1的路由表中

[R1]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

        3.3.3.3/32  Static  60   0          RD   10.0.23.3       GigabitEthernet

0/0/0

      10.0.12.0/24  Direct  0    0           D   10.0.12.1       GigabitEthernet

0/0/0

      10.0.12.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet

0/0/0

      10.0.23.0/24  Static  60   0          RD   10.0.12.2       GigabitEthernet

0/0/0

      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

等价路由

来源相同、开销相同的路由都会被加入路由表,形成的路由为等价路由(两个路由条目指向的目的网段相同,但是具有不同的下一跳地址),路由转发会将流量分布到多条路径上

增加配置
【R1】ip route-static 10.0.23.0 255.255.255.0 10.0.21.2
此时两条线路形成等价路由

浮动路由

浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时该备份路由不会出现在路由表。
【R1】ip route-static 10.0.23.0 24 10.0.21.2 preference 80  ---修改下面路径的优先级改为80,变成备份链路

形成负载分担后我们不知道流量到底走那一条路径 此时我们可以配置浮动路由 更改一条线路的优先级 使其成为浮动路由只有当主路由出现故障时自动启用浮动路由 浮动路由不会出现在路由表中 只有当它被启用才会出现在路由表中
[R1-GigabitEthernet0/0/0]shutdown   --关闭接口

路由汇总

CIDR(无类域间路由)
就是把多个小的网段聚合成一个大的网段
聚合网段的计算 :相同的位数不变,作为网络位,不同的位数全部 作为主机位使用,进而得到聚合网段

网络地址 拆分
192.168.1.0 24 192.168.00000001.0
192.168.2.0 24 192.168.00000010.0
192.168.3.0 24 192.168.00000011.0
192.168.4.0 24 192.168.00000100.0
192.168.5.0 24 192.168.00000101.0

则此时前边相同的位数为网络位 则聚合后为192.168.0.0/21
路由聚合不当,可能会存在 环路,为了解决环路问题,可以适当的配置黑洞路由,黑洞路由下一跳为null0

路由汇总尽量做精确的汇总避免汇总后掩码过小

配置命令

不显示提示信息

undo terminal monitor

配置路由

ip route-static 目的网段ip地址  掩码   下一跳

查看路由表

display ip routing-table  
$ dis ip rou