路由选路原则、负载均衡模式有哪些?静态路由的配置实例讲解

2023-05-18 02:01:52

选路原则

1. 子网掩码最长匹配(最长匹配)

2. 管理距离最小优先(AD管理距离越小越优先)

3. 度量值最小优先(比如ospf 的metric值,静态路由的优先级)

各个厂家(国内与国外思科)的管理距离设置不统一:详见如图

路由负载均衡

路由负载均衡指的是A点到B点存在多条等值路径,数据通信可以走不同路径去负载分担。

这里得介绍下IP五元组的组成:

IP五元组包括:源IP地址、源端口、目的IP地址、目的端口、传输层协议

例如:172.16.1.10 20000 TCP 112.16.80.118 80 就构成了一个五元组。其意义是,一个IP地址为172.16.1.10的终端通过端口20000,利用TCP协议,和IP地址为112.16.80.118,端口为80的终端进行连接。

负载均衡模式可以有:

1、基于目标网络的负载均衡 ip load-sharing per-destination(也称基于流的负载均衡)

路由器根据IP报文的五元组信息,将数据分成不同的流。具有相同五元组信息的IP报文属于同一个流。转发数据时,路由器把不同的数据流根据算法从多个路径上依次发送出去。

允许使用多条路径来负载均衡,它是根据目标网络中的目的地址分配负载量的。并且它可以确保数据包总是使用相同的路径,并按照它们发送的顺序到达目的地址。这种方式的负载均衡最适用于需要数据包按照某种顺序到达的应用。举个例子:有两个网络A、B,A-B间存在两条路径,那么从A去往B地的第一个目标的报文走第一条路径,去往B的第二个目标的报文走第二条路径,去B的第三个目标的报文走第一条路径,依此类推……随着目标网络地址数量的增加,负载均衡会变得更加有效。式。

思科命令为例:R1(config-if)#ip load-sharing per-destination //思科命令基于目标网络的负载均衡

2、基于数据包的负载均衡:基于数据包的负载均衡 ip load-sharing per-packet(Random distrubute)

基于数据包的负载均衡可以在多条链路上连续发送数据包,而不用考虑主机或用户的具体情况。这种负载均衡采用轮转机制来确定每个数据包走哪条路径到达目的地址。缺点是不能确保每一个数据包遵循相同的路径,将导致数据包无序到达。这对某些应用来说是不能接受的(如VoIP,RTP视频监控)。假设去往某一目标网络的报文走的第一条链路,当路由器又收到去往该网络的报文后,将从第二条链路上发送,依此 类推……(假设各条链路是等价的),如果链路代价不同的话,路由器将会按照代价比例来分配各链路的流量分配。举个例子,在一条高代价链路上发送一个报文,可能低代价的链路上就会发送三个报文。当路由器采用非默认交换方式时,即处于进程交换模式时,将采用这种负载均衡。通过使用此方式在不均衡的数据流量需要在多条路径上进行负载均衡是非常重要的。

思科命令为例:R1(config-if)#ip load-sharing per-packet //基于数据包的负载均衡

如下以静态路由为例,介绍常用路由配置及测试命令,附带介绍路由优先级:

//配置静态路由:

ip route-static 10.6.50.16 30 Vlan-interface3030 10.32.101.14 //出接口Vlan-interface3030,下一跳10.32.101.14

ip route-static 10.6.50.16 30 Route-Aggregation102 10.32.101.18 //Route-Aggregation102,下一跳10.32.101.18

//查看路由:

display ip routing-table 10.6.50.16 //路由负载均衡

Summary Count : 2

Destination/Mask Proto Pre Cost NextHop Interface

10.6.50.16/30 Static 60 0 10.32.101.14 Vlan3030

10.32.101.18 RAGG102

ping -c 2 -a 10.32.218.129 10.6.50.17 //ping命令测试连通性

Ping 10.6.50.17 (10.6.50.17) from 10.32.218.129: 56 data bytes, press CTRL_C to break

56 bytes from 10.6.50.17: icmp_seq=0 ttl=60 time=2.374 ms

56 bytes from 10.6.50.17: icmp_seq=1 ttl=60 time=2.247 ms

--- Ping statistics for 10.6.50.17 ---

2 packet(s) transmitted, 2 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 2.247/2.311/2.374/0.063 ms

tracert -a 10.32.218.129 10.6.50.17 、、traceroute to 10.6.50.17 (10.6.50.17) from 10.32.218.129, 30 hops at most, 52 bytes each packet, press CTRL_C to break

1 10.32.101.18 (10.32.101.18) 2.494 ms 2.480 ms 2.158 ms

2 172.29.10.74 (172.25.1.174) 2.493 ms 2.147 ms 2.477 ms

3 172.29.14.100 (172.25.144.10) 2.427 ms 2.410 ms 2.367 ms

4 10.16.10.4 (10.6.10.34) 2.825 ms 2.489 ms 4.655 ms

5 10.16.50.117 (10.6.50.17) 2.229 ms 1.138 ms 1.093 ms

配置静态路由的优先级越小越优先,华为华三默认优先级60):ip route-static 10.6.50.16 24 Route-Aggregation102 10.32.101.14 preference 100

[H3C-WJ-12508]display ip routing-table 10.6.50.16

Summary Count : 1

Destination/Mask Proto Pre Cost NextHop Interface

10.6.50.16/30 Static 60 0 10.32.101.14 Vlan3030 //只有最优路由

[H3C-WJ-12508]tracert -a 10.32.218.129 10.6.50.17 //路由跟踪tracert

traceroute to 10.6.50.17 (10.6.50.17) from 10.32.218.129, 30 hops at most, 52 bytes each packet, press CTRL_C to break

1 10.32.101.14 (10.32.101.14) 1.538 ms 1.880 ms 1.145 ms

2 172.29.1.85 (172.29.1.85) 2.486 ms

172.29.1.122 (172.29.1.122) 2.508 ms

172.29.1.85 (172.29.1.85) 2.285 ms

3 172.29.1.178 (172.29.1.178) 2.033 ms

172.29.1.94 (172.29.1.94) 2.458 ms

172.29.1.178 (172.29.1.178) 2.251 ms

mpls label=25640 Exp=0 TTL=255 S=1

mpls label=0 Exp=0 TTL=0 S=0

4 172.29.1.82 (172.29.1.82) 1.798 ms

172.29.1.78 (172.29.1.78) 2.426 ms

172.29.1.82 (172.29.1.82) 2.267 ms

5 192.168.1.2 (192.168.1.2) 1.806 ms 1.840 ms 2.076 ms

6 10.6.50.17 (10.6.50.17) 2.201 ms 1.955 ms 2.058 ms

上述比较考验我们计算机网络路由的基本功哈。不知道大家都学会了没^V^。

【笔者为网络工程师,工作多年,希望把自己的经验分享给大家,觉得有用的,可以关注、点赞、转发,如有相同或者不同观点,欢迎评论,谢谢!】

有想要学习网络工程的,可以从OSI七层网络模型开始打基础,详见我的主页专栏信息-《深入解析OSI七层网络模型》,一起学习起来吧!

【推荐一本好书:《TCP/IP详解卷1》网工必备葵花宝典】