HCNA——静态路由深入分析

HCNA——静态路由深入分析

路由优先级介绍

enter description here

外部路由优先级

enter description here

内部路由优先级

enter description here
PS:数值越低 优先级越高 当外部优先级相同时 则比较内部优先级来进行选择路由

路由器的度量值

在同一种路由协议工作下比较度量值 选择最佳路由 不是同种路由协议没有可比性!

enter description here

通常会考虑以下因素作为或者用来计算路由的度量值

  • 跳数
  • 链路带宽
  • 链路延迟
  • 链路负载
  • 链路可靠度
  • 链路MTU
  • 代价

路由条目优选进路由表

enter description here
PS:负载分担是到达目的网络有多条路径 多条路径同时发送数据

路由选路原则

拿到数据包进行下面操作进行选择路由

enter description here

例如 PC1要到达PC2 R1有这样两条路由 192.168.1.0/24 192.168.1.0/16

PC1到底走哪条路由到达PC2呢?

PC2 IP 192.168.1.100 此时PC1带着PC2数据包到了R1 有两条路由 先进行目的地址与掩码 做 “与” 运算

得出 192.168.1.0 192.168.0.0 与R1路由表作比较 会走最长匹配项进行路由转发 自然是走 192.168.1.0/24

如果上面的路由表的出接口不同呢?会走哪一个接口进行转发?

PS:走匹配最长项路由的出接口

enter description here

静态路由的下一跳问题

  • 点对点链路:至少写上出接口;但也可以写上下一跳IP地址。
  • 以太网链路:至少写上下一跳IP地址;也可以写上出接口。
  • 下一跳IP地址可以不直连,但这样会发生递归。

实验开始

拓扑图

enter description here

R1与R4互相ping通

R1 R4没有对方网络的路由表 所以现在要添加路由表

1
2
3
<R1>system-view 
Enter system view, return user view with Ctrl+Z.
[R1]ip route-static 192.168.34.0 24 s1/0/0

为什么我这里没有带上下一跳?
PS:因为R1到R2是点对点链路

1
2
3
<R2>system-view
Enter system view, return user view with Ctrl+Z.
[R2]ip route-static 192.168.34.0 192.168.23.3

为什么我这里没带上出接口?
PS:因为R2到R3是以太网链路 最终它会找到出接口

enter description here

上面的Flags位变为 RD R是中继 这个过程是递归的 D是表示已经把这条路由放入fib表(转发信息数据库)

fib表是从路由表那学习到 路由器转发数据包最终是根据fib表来进行路由转发

  • G - Gateway Route 网关路由
  • S - Static Route 静态路由
  • U - Up Route 正在激活的路由
  • H - Host Route 主机路由(掩码为32位)

此时数据包查了两次路由表 第一次查到目的网络路由表可没有出接口 下面要怎么到达192.168.23.0网络呢?

再进行查询第二次路由表发现到达192.168.23.0网络的出接口是 G0/0/0 所以我们添加的那条没有出接口的路由就会被自动添加 这个过程叫做递归

下面配置返回数据路由表

R4

1
[R4]ip route-static 192.168.12.0 24 s1/0/0

R3

1
[R3]ip route-static 192.168.12.0 24 192.168.23.2

下面用R1互ping R2

enter description here

enter description here

R1与R4成功通信!!!

删除R2的一条配置 重新添加

1
2
[R2]undo ip route-static 192.168.34.0 24 192.168.23.3
[R2]ip route-static 192.168.34.0 24 g0/0/0

再用R1 ping R4

enter description here

发现网络不通了 是什么导致的呢?
PS:因为R2的出接口是以太网链路 它无法知道下一跳 所以数据包无法发送到目标地址

回到PC2 与 PC3 的通信问题 如果我把下一跳添加的不是直连的地址呢?

R1

1
2
[R1]undo ip route-static 192.168.4.0 255.255.255.0 Serial1/0/0 192.168.12.2
[R1]ip route-static 192.168.4.0 24 192.168.34.4

enter description here

下面再进行ping测试是否能通

enter description here

成功ping通!!!

那为什么我添加的下一跳不是直连的也可以通信?
PS:首先点对点链路 出接口不需要填 看上图路由表中发现flags位为 RD 所以进行了递归操作后 发现了下一跳

enter description here

缺省路由

  • 缺省路由是目的地址和掩码都为全0的特殊路由。
  • 如果报文的目的地址无法匹配路由表中的任何一项,路由器将选择依照缺省路由来转发报文。
  • 缺省路由和任何数据包都是匹配的

下面就让我们来实验一下

我们对R1清空我们配置的静态路由 添加缺省路由

1
2
3
4
[R1]undo ip route-static 192.168.4.0 255.255.255.0 192.168.34.4
[R1]undo ip route-static 192.168.23.0 255.255.255.0 Serial1/0/0 192.168.12.2
[R1]undo ip route-static 192.168.34.0 255.255.255.0 Serial1/0/0
[R1]ip route-static 0.0.0.0 0 s1/0/0 192.168.12.2

现在再用PC2 ping PC3

enter description here

成功ping通!!!

那ping PC3的数据包是走哪条路由呢?
PS:当然是走我们刚刚添加的缺省路由啦

enter description here

实验总结

本节内容对静态路由深入分析 学习了路由的优先级 最长匹配原则 路由器下一跳的问题 缺省路由

与你分享网络技术文章,你的支持让我有更大的动力!