首页 > 技术文章 > 路由基础-选路+直连+静态

xiaohuihui4956 2021-05-20 15:13 原文

验证理论

1.路由选路原则:

  前缀相同,比较掩码长度(越长越优先)

  协议不同,比较协议优先级(越小越优先)

  协议相同,比较cost值(越小越优先)

  前缀,协议,cost都相同则负载分担

 

2.直连路由特点

  当接口Up,会出现3条路由:1.直连网段路由。2.当前接口地址的主机路由。3.当前接口地址的广播地址的主机路由

 

3.静态路由下一跳与出接口的选择

  针对MA(多路访问)类型接口,推荐静态路由使用下一跳配置方式

    原因:规避地址解析引起的问题

  针对P2P(点到点)类型接口,推荐静态路由使用出接口配置方式

    原因:减少路由表查询次数,优化转发性能

 

 

 

实验拓扑:

 

初始配置:

[AR1]ip route-static 150.1.2.2 24 155.1.12.2
[AR1]ip route-static 150.1.2.2 24 155.0.12.2

初始结果:

去往150.1.2.2有两条路径,负载分担

[AR1]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 12 Routes : 13

Destination/Mask Proto Pre Cost Flags NextHop Interface

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
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
150.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
150.1.2.2/24 Static 60 0 RD 155.1.12.2 GigabitEthernet0/0/1
                     Static 60 0 RD 155.0.12.2 GigabitEthernet0/0/0
155.0.12.0/24 Direct 0 0 D 155.0.12.1 GigabitEthernet0/0/0
155.0.12.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
155.0.12.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
155.1.12.0/24 Direct 0 0 D 155.1.12.1 GigabitEthernet0/0/1
155.1.12.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
155.1.12.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0

 


 

一.

实验目的:

验证选路原则

实验步骤:

第一步:修改第二条路由的目的地址掩码为25

[AR1]ip route-static 150.1.2.2 25 155.0.12.2
Info: The destination address and mask of the configured static route mismatched, and the static route 150.1.2.0/25 was generated.
[AR1]dis ip rout
[AR1]dis ip routing-table 150.1.2.2
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface

150.1.2.0/25 Static 60 0 RD 155.0.12.2 GigabitEthernet0/0/0

路由表中去往150.1.2.2只剩下掩码更长的路由。所以掩码越长越优先

 

第二步:将155.1.12.0和150.1.2.2/24宣告在ospf 1 的area 0 中

  注释:路由优先级直连0;静态60;Ospf(10,ase150);isis15;rip100;bgp255

[AR1-ospf-1-area-0.0.0.0]net 155.1.12.0 0.0.0.255

[AR2-GigabitEthernet0/0/1]ospf en are 0

[AR2-LoopBack0]ospf en area 0

[AR1]dis ospf routing

OSPF Process 1 with Router ID 150.1.1.1
Routing Tables

Routing for Network
Destination Cost Type NextHop AdvRouter Area
155.1.12.0/24 1 Transit 155.1.12.1 150.1.1.1 0.0.0.0
150.1.2.2/32 1 Stub 155.1.12.2 155.1.12.2 0.0.0.0

在OSPF路由表中已有了去往155.1.2.2的路由

[AR1]dis ip routing-table 150.1.2.2
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface

150.1.2.0/25 Static 60 0 RD 155.0.12.2 GigabitEthernet0/0/0

但是在路由器的路由表中还是优选更长掩码的路由,所以掩码最长匹配先于协议比较

 

第三步:将去往150.1.2.2下一跳155.0.12.2的掩码改回24,同时修改OSPF的cost为100

[AR1]undo ip route-static 150.1.2.2 25 155.0.12.2
Warning: The destination address and the mask do not match, and thus the static route 150.1.2.0/25 will be deleted. Continue?[Y/N]:y
[AR1]ip rout
[AR1]ip route
[AR1]ip route-static 150.1.2.2 24 155.0.12.2
Info: The destination address and mask of the configured static route mismatched, and the static route 150.1.2.0/24 was generated.

[AR2-GigabitEthernet0/0/1]ospf cost 100

[AR1]dis ip routing-table 150.1.2.2
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface

150.1.2.0/24 OSPF 10 1 D 155.1.12.2 GigabitEthernet0/0/1

修改接口的cost值为100,那么OSPF的cost为100+0=100;静态的cost为1+0=1(环回口cost=0)

此时查看路由表中去往150.1.2.2的路由选择155.1.12.2,所以协议不同,比较协议优先级(越小越优先),此时cost无比较意义

 

第四步:将150.1.12.2也宣告进area 0 中

[AR1-GigabitEthernet0/0/0]ospf en area 0 

[AR2-GigabitEthernet0/0/0]ospf en area 0

[AR1]dis ip routing-table 150.1.2.2
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface

150.1.2.0/24 OSPF 10 1 D 155.0.12.2 GigabitEthernet0/0/0

1口的cost为100,0口cost为1

此时去往150.1.2.2的路由选择155.0.12.2,所以相同协议比较cost越小越优先

 

 

拓展拓扑:

 

 实验1,交换机0/0/1属于VLAN 10 ,0/0/2属于VLAN 20。通过修改路由掩码长度,使其可以优先于掩码更短的直连路由计入路由表

 实验2,交换机0/0/1,0/0/2都属于VLAN 1 可以通过调整经过LSW1的路径的静态路由的优先级小于10,实现AR1访问AR2时优选上面的路径

 实验3,增大AR1G0/0/0接口OSPF开销。

 


 

二.

实验目的:

验证直连路由特性

实验步骤:

当配置完上述基础配置之后以155.1.12.0/24段的直连网段为例,在R1上生成的路由有:

155.1.12.0/24 Direct 0 0 D 155.1.12.1 GigabitEthernet0/0/1
155.1.12.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1(R1接口地址155.1.12.1)
155.1.12.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1

实验结论:

自动生成接口地址和接口地址的广播地址的主机路由都是为了防环。

自动生成接口地址的主机地址:假设AR1上增加了155.1.12.0/25的直连路由,在这个路由中有155.1.12.1/25的主机,那么在实际路由转发时,将根据掩码最长匹配原则将目的地址为155.1.12.1的数据包转发出去。通过增加下一跳为127.0.0.1(自身环回地址)的主机路由可以避免这个情况,将数据包交给上层处理,不会被误导转发

自动生成接口地址的广播地址的主机地址:与上面类似。当增加了155.1.12.0/23的直连路由,在这个路由中有155.1.12.255/23的主机是可以进行路由转发的。而155.1.12.255/24是广播地址,路由器是不转发广播地址的。同样通过主机路由进行解决

 

 

 


 

三.

实验目的:

静态路由下一跳与出接口的选择

实验步骤:

第一步:删除AR1和AR2的1口连线(因为下一跳不可达所以这条路由不会再计入路由表,但是为了以防万一,还是建议手工删除),清除AR1,AR2上的ARP缓存,删除OSPF进程,抓包查看BMA网络下静态路由写下一跳的通信过程

  注释:华为设备,所有接口共用一个MAC

[AR1]undo ospf  1

<AR1>reset arp dynamic 

 

[AR1]dis ip routing-table
Route Flags: R - relay, D - download to fib

150.1.2.0/24 Static 60 0 RD 155.0.12.2 GigabitEthernet0/0/0
155.0.12.0/24 Direct 0 0 D 155.0.12.1 GigabitEthernet0/0/0

 

第二步:先删除目的地址下一跳的路由,更改为目的地址出接口的路由,再删除ARP缓存

150.1.2.0/24 Static 60 0 D 155.0.12.1 GigabitEthernet0/0/0
155.0.12.0/24 Direct 0 0 D 155.0.12.1 GigabitEthernet0/0/0

 在MA网络中,当使用下一跳静态路由时,该路由被标记位RD,属于路由迭代。在去往150.1.2.2时,发现这条路由是RD的,下一跳是155.0.12.2,于是再在路由表中找155.0.12.2的路由,根据155.0.12.2的路由中的出接口进行转发,并请求155.0.12.2的MAC进行二层封装。

  路由迭代:路由必须有直连的下一跳才能够指导转发,静态路由或BGP路由的下一跳可能不是直连的邻居,因此需要计算出一个直连的下一跳,这个过程就叫做路由迭代

当使用出接口静态路由时,该路由直接被标记位D,路由器认为该地址是直连的,所以直接发送150.1.2.2的ARP请求,然而在AR2的0口上认为这不是自己的地址,所以会丢弃,并不回复。

可以通过在AR1上手动添加目的地址150.1.2.2的ARP(MAC即为AR2的0口的MAC,让AR2解封装这个数据帧,进行路由查找)来解决问题,但是实际使用中这种方式比较麻烦

[AR2]dis int g 0/0/0 | in address
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 00e0-fc19-12e6

[AR1]arp static 150.1.2.2 00e0-fc19-12e6
[AR1]ping 150.1.2.2
PING 150.1.2.2: 56 data bytes, press CTRL_C to break
Reply from 150.1.2.2: bytes=56 Sequence=1 ttl=255 time=50 ms

所以,MA网络的静态路由建议使用下一跳方式

 

第三步:将AR1,AR2之间g0口的连线删除换成serial0口,配置地址之后使用下一跳方式配置路由

  注释:1.S口默认为点对点链路类型。2.点对点链路类型不需要封装以太网头部,所以不需要ARP,不需要知道DMAC

[AR1]dis ip routing-table 150.1.2.2
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface

150.1.2.0/24 Static 60 0 RD 155.2.12.2 Serial1/0/0

[AR1]ping -c 1 150.1.2.2
PING 150.1.2.2: 56 data bytes, press CTRL_C to break
Reply from 150.1.2.2: bytes=56 Sequence=1 ttl=255 time=30 ms

在点对点链路中,当配置下一跳的静态路由时,与MA类似,路由类型为RD

 

第四步:删除下一跳的静态路由更改为出接口

[AR1]undo ip route-static 150.1.2.2 24 155.2.12.2
Warning: The destination address and the mask do not match, and thus the static route 150.1.2.0/24 will be deleted. Continue?[Y/N]:y

[AR1]ip route-static 150.1.2.2 24 Serial 1/0/0
Info: The destination address and mask of the configured static route mismatched, and the static route 150.1.2.0/24 was generated.

[AR1]dis ip routing-table 150.1.2.2
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface

150.1.2.0/24 Static 60 0 D 155.2.12.1 Serial1/0/0

[AR1]ping -c 1 150.1.2.2
PING 150.1.2.2: 56 data bytes, press CTRL_C to break
Reply from 150.1.2.2: bytes=56 Sequence=1 ttl=255 time=20 ms

在点对点链路中因为不需要知道DMAC,也不需要ARP,所以不存在MA网络中ARP不回复的问题,从这个接口丢出去之后可以直接通信。

所以,P2P网络静态路由推荐使用出接口配置模式

推荐阅读