★路由递归查询方法及相关图…

简介:       我们知道,路由查找的过程是寻找数据包下一跳的过程!IP路由逐跳将数据包送往目的地。所谓的下一跳就是和自己直连的某台路由器的对应接口IP地址,这是合乎情理的理解,然而IP路由提供了另外一种方式,即下一跳不必非要和自己直连,它可以忽略当前路由器“附近的拓扑”,直接告知相对较远方的拓扑,如下图所示:  到达Server的下一跳是R2,到达R2的下一跳是R1...以此类推。
       我们知道,路由查 找的过程是寻找数据包下一跳的过程!IP路由逐跳将数据包送往目的地。所谓的下一跳就是和自己直连的某台路由器的对应接口IP地址,这是合乎情理的理解, 然而IP路由提供了另外一种方式,即下一跳不必非要和自己直连,它可以忽略当前路由器“附近的拓扑”,直接告知相对较远方的拓扑,如下图所示:

  到达Server的下一跳是R2,到达R2的下一跳是R1...以此类推。协议栈 的路由查找逻辑在查找路由时,如果发现nexthop不是和自己直连的,那么就会将此nexthop作为destination再次按照上述逻辑查找路由 表直到查到和自己直连的nexthop或者完全失败为止。这种路由相当于把nexthop推向了远方。这种递归查找能带来什么好处呢?显然的,递归路由可 以是nexthop受到附近网络拓扑变化的影响最小化!针对必须使用静态路由的情况,合理的递归路由规划可以大大简化静态路由的维护工作量,当然如果你使 用动态路由,那就没有必要了,要知道递归路由在带来维护方便的同时,其代价是路由器增加了查找压力。以一个例子说明,试看如下拓扑:

  试想,如果到达R1,R2的链路均出现了问题,现在需要将N1,N2,N3的nexthop都切换到R7,你就需要同时修改这三条路由(在无法 实现路由汇总的情况下,更糟糕),然而如果我们已经知道到达N1,N2,N3都要经过R3,那么就可以配置N1,N2,N3的nexthop均为R3,顿 时在逻辑上绕开了问题链路,实际上,协议栈 的路由查找逻辑帮助管理员找到了一条到达R3的路,最终的nexthop物力上还是和R0直连的,递归查找的结束条件就是destination和R0直 连。在配置上,寻址3个网络的需求变成了寻址R3的需求,配置也简化了不少,你只需要配置一个默认网关即可,链路切换时需要更改的配置也少了很多。

  然而记住,递归路由并没有改变任何数据包到达目标网络的路径,它最终还是要落实到一个直连nexthop上,如果我们根据递归路由的配置反推, 那么就可以配置出一个非递归的“正常路由”,这个正常的路由配置也能解决上述的繁琐配置问题,因此递归路由某种程度上是一种懒人的做法。另外,递归路由的 使用有一个要点,那就是你必须对整个网络拓扑比较熟悉,之所以要使用递归路由,目的是绕开那些经常变动的链路,而作为静态路由,链路变动就意味着所有相关 的路由都要重新配置,使用递归路由可以使配置工作量减小,是否使用递归路由的一个权衡点是:如果到达目标网络的链路在途中不能汇聚成比目标网络数量更少的 链路,递归路由就没有什么意义。

  归于实际,我发现Windows是有递归路由配置功能的,当然Cisco就 更别说了,可是Linux没有,说它没有还真是有一半,竟然没有实现完,空留一个CONFIG_IP_ROUTE_PERVASIVE宏,最可悲的是,竟 然在iproute2里面有一个NHFLAGS := [ onlink | pervasive ],这个pervasive是最可恶的。Linux总是这样,内核的实现与否和用户态程序实现与否总是不一致!!

目录
相关文章
|
4月前
|
负载均衡 监控 网络协议
|
网络协议 网络架构
配置IS-IS多区域和聚合路由
文章目录 实验目的 实验拓扑 实验要求 实验配置 R1的配置 R2的配置 R3的配置 R4的配置 R5的配置 实验总结 查看R2、R3、R4的邻居表,观察其多区域环境下的邻居关系 查看R1与R5的路由表,观察其区别:
260 0
配置IS-IS多区域和聚合路由
|
网络协议 网络架构
IP路由基础、路由器静态路由配置方法、自治系统、缺省路由的配置方法、路由选路规则、缺省路由、备份路由、等价路由、三种查询路由表命令
路由器特点,网络IP地址规划网络间的特性,基本路由思想,编辑静态路由部分,查询设备整个路由表,查看特定的路由协议时使用,查询目的地址2.2.2.2的路由条目,IP路由表代码写法,IP路由表里的信息,路由表来源,路由表的信息,路由表选路规则,缺点:缺省路由,备份路由,等价路由,做实验的步骤......
IP路由基础、路由器静态路由配置方法、自治系统、缺省路由的配置方法、路由选路规则、缺省路由、备份路由、等价路由、三种查询路由表命令
|
网络协议 开发工具
主DNS服务-反向解析
上篇说了主DNS正向解析 当中是有个小问题的,什么问题呢? 试问当我们输入wwww或ww或更多w的时候它还能解析出来吗? 或者不输入w的时候还能解析吗? 上篇没有定义是解析不了的,怎么定义呢?很简单,加入图中命令就可 小技巧   下面来说反向解析 反向解析就是IP → 名称 环境 最少两台主机一个DNS服务器,一个客户机,同样43.
1566 0
|
网络协议 测试技术 开发工具
主DNS服务-正向解析
环境 准备最少两台主机 一台当DNS服务器,一台当客户机 如:192.168.43.7这台主机当DNS服务器,192.168.43.6这台主机当客户机 安装DNS服务 yum install -y bind # # 备注:实现先关闭防火墙 开启服务 systemctl start named # # 更改主配置文件 vim /etc/named.
1312 0