递归和迭代路由_静态路由在以太网接口中的不同书写会导致路由器怎样的操作结果?...

各位小伙伴们:大家好!上一节和大家分享了在不同类型的网络中应该使用什么样的静态路由配置命令;今天我们再来看看在常见的多路访问(MBA)网络——以太网中,静态路由的不同书写方式将导致路由器执行那些不同的操作。如下图:

761fe6396416ddcd29c23d836def48fb.png

静态路由配置拓扑图

R1、R2、R3准备采用配置静态路由实现各个网段的互通,我们将围绕R1到达2.2.2.0/24这一网段目标,来看看当R1采用不同的静态路由配置时路由器的执行操作过程。

1、当R1采用如下配置时:

[R1]ip route-static 2.2.2.0 24 10.1.12.2

这是一种非常典型,也是一种通常推荐的静态路由配置方法,该路由指定了明确的下一跳IP地址。这条命令配置完成后,R1会将其添加到路由表中,由于该静态路由并未指定出接口,因此R1继续在路由表中查询到达目标网络2.2.2.0/24的下一跳IP地址10.1.12.2的路由,它发现该IP地址是本地接口GE0/0/0所直连网段中的地址,于是将路由2.2.2.0/24关联到出接口GE/0/0/0。R1的这个操作过程称为“递归查询”,也成为“迭代路由”。

2、当R1采用如下配置时:

[R1]ip route-static 2.2.2.0 24 Gigabitethernet0/0/0

该静态路由配置只关联了出接口,而未指定下一跳IP地址信息;完成这个配置后,R1将认为2.2.2.0/24这个目标网段会从GE0/0/0接口出去即可到达,由于没有明确的下一跳IP地址信息,因此当它转发到达2.2.2.0/24的报文时,它将直接从GE0/0/0接口发送ARP-Request广播,试图获取2.2.2.3对应的MAC地址。此时R2会回应R1关于2.2.2.3地ARP-Request,并且已以自己GE0/0/0接口的MAC地址进行回应。如此一来,R1即可将到达2.2.2.3的数据帧转发给R2,再有后者进一步转发。注意:如果R2没有在GE0/0/0接口上激活ARP-Request功能,R1所发出的ARP-Request请求将无法收到回应,它自然也就无法将到达2.2.2.3的数据流量顺利转发出去。

开启R2上GE0/0/0接口的ARP-Request功能,需要在接口配置模式下执行如下命令:

[R2-Gigabitethernet0/0/0]arp-proxy enable

3、当R1采用如下配置时:

[R1]ip route-static 2.2.2.0 24 Gigabitethernet0/0/0 10.1.13.2

该静态路由配置即制定了下一跳IP地址,又指定了出站接口,因此这条路由拥有了足够的转发信息,它将被直接加载到R1的路由表中。此时,R1认为2.2.2.0/24可以通过GE0/0/0接口所直连的10.1.13.2到达,因此R1并不会再路由表中对下一跳IP地址10.1.13.2进行‘递归查询’。当有去往目的网络2.2.2.0/24的流量到达R1后,R1将直接在GE0/0/0接口上发送ARP-Request,尝试请求10.1.13.2这个IP地址对应的MAC地址。如果此时R2的GE0/0/0接口开启了ARP-Request功能,则会已自己的接口MAC地址进行回应,数据帧则可以到达R2,再有R2转发到目的地。,如果没有开启ARP-Request功能,数据帧将无法被R2顺利转发。

注意:这种静态路由的配置方式并不被建议使用。

4、当R1采用如下配置时:

[R1]ip route-static 2.2.2.0 24 10.1.13.2

当R1采用这种配置时,初始时,该路由并不会加载到R1的路由表,因为下一跳IP地址10.1.13.2无法经过‘递归查询’确认直连的出接口,这是因为该路由本身并未指定出接口,与此同时R1在路由表中也无法查询到去往10.1.13.2的路由。那该如何解决呢?

此时可以在R1上再增加一条静态路由的配置:

[R1]ip route-static 10.1.13.0 24 10.1.12.2

这样,到达2.2.2.0/24和10.1.13.0/24的路由都会出现在R1的路由表中,R1会根据路由表将路由2.2.2.0/24的下一跳10.1.13.2进行递归查询,它能够找到匹配10.1.13.3的路由表项,并且该表项的下一跳IP地址是10.1.12.2,进一步在路由表中查询10.1.12.2,则发现该IP地址处于本地直连网段10.1.12.0/24中,并且出接口为GE0/0/0。因此R1获取了足够的转发信息,来转发到达2.2.2.0/24的数据流量。

总结:在多路访问网络中配置静态路由时一定要注意命令的书写方式,劲量让路由设备能够获得足够的转发信息,这样数据包的转发操作才会更快,更准确!其次,“递归查询”的目的是找到要转发的数据包到目标网络的出站接口,要想更快处理数据操作,对网络拓扑图要有一个清晰的规划和认识。

好的,今天就和大家讨论这些话题,宝宝们你们学懂了吗?

别忘了在《今日头条》中的《西瓜视频》或《视频》中搜索《实验笔记》并关注;其中有我们相关话题的模拟实验视频共大家参考学习!

记住:“《实验笔记》是你身边的学习笔记”!我们下期再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实验报告三

学 号 201521440010 中国人民公安大学 Chinese people’ public security university 网络对抗技术 实验报告 实验三 密码破解技术 学生姓名 邱景丛 年级 2015 区队 四 指导教师 高见 信息技术与网络安全学院 2016年11月7日 实验任务总纲 2016—2017 学年 第 一 …

设计前沿:25个设计师向您展示 iOS 7 界面

我们中的许多人都对新发布的 iOS 7 用户界面有点失望。扎眼的颜色搭配,难看的图标和可疑的设计决策,导致很多的设计师在 Dribbble 和 Behance 等社交网站分享自己对 iOS 界面设计的诠释。这篇文章集合了一些伟大的想法,改进苹果 iOS 7 的界面…

开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...

目录 合作案例专栏:案例分享 开发专栏:项目实战 Qt开发专栏:开发技术 Qt开发专栏:三方库开发技术 Qt开发专栏:实用技巧 Qt开发专栏:各种问题解决 Qt开发专栏:qss样式表笔记大全 Qt开发专…

dpdk 18 ixgbe驱动初始化分析

rte_log_set_global_level rte_log_set_global_level(uint32_t level) pci bus注册 TE_REGISTER_BUS(pci, rte_pci_bus.bus); drivers/bus/pci/pci_common.c ,注册静态的设置rte_pci_bus,在rte_pci_bus中设置了pci bus的各个回调函数 struct rte_pci_bus rte_pc…

ATM + 购物商城程序

模拟实现一个ATM 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还,按欠款总额 万分之5 每日计息 …

esp8266 擦拭_【一起玩esp8266】flash的擦除方法——专治疑难杂症

出现新问题。。。COM口没法操作 拒绝访问C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32\Scripts>esptool.py --port COM6 erase_flashesptool.py v2.3.1Traceback (most recent call last):File "C:\Users\Administrator\AppData\Local\Programs\…

诗人李白小评

李白其实一生都不得志,他从小学文习武,少年时开始“行路,读万卷书,拜万家师”,希望走一条由人推荐,而一举成名的道路。可惜他忌恶如仇的性格,开罪了小人,导致小人对他仕途之路的极力…

智能家居 (11) ——树莓派摄像头捕捉人脸并识别

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程刷题面经求职讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进…

centos上使用高版本gcc、g++

0x0 在centos7上gcc版本是4.85,在编译一些代码时需要使用g的一些新特性,而网上大多教程都是重新编译gcc,太麻烦了,在centos 7上默认是yum search不到高版本的gcc的 安装scl scl 是Software collections 的缩写,安装…

【Docker系列教程之一】docker入门

我们在理解 docker 之前,首先我们得先区分清楚两个概念,容器和虚拟机。 我们用的传统虚拟机如 VMware , VisualBox 之类的需要模拟整台机器包括硬件,每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预…

jmeter聚个报告怎么看qps_【jmeter】jmeter测试网站QPS

上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢。这一节创建一个简单的测试计划来使用这些元件。该计划对应的测试需求。1)测试目标网站是fnng.cnblogs.com2)测试目的是该网站在负载达到20 QPS 时的响应时间。QPS 解释QPS…

mysql升级5.5

对付Linux的问题,其实很多都是权限问题,细心想一下即可。 centos6.4默认装的是mysql5.1,使用 yum update 也update不了。google了一下,找到个yum安装的方法:http://www.webtatic.com/packages/mysql55/ 先备份一下&…

Java基础 —— 变量,选择,循环,数组,输入与输出等

目录嵌入式学JAVAJava安卓开发环境搭建并运行HelloWorld概念引入JavaSE,EE,ME的区别JREJDK编程实操:从C面向过程转变变量定义与输出数组的定义与遍历(循环、控制、选择和C完全一样)函数的调用:类比c语言结构体的使用输入数据:Scanner嵌入式学…

ubuntu20 编译dpdk错误 -Werror=address-of-packed-member

0x0 在ubuntu20上编译dpdk 18.11报错,gcc 版本为9.3.0,报错如下: error: converting a packed ‘const struct ether_addr’ pointer (alignment 1) to a ‘unaligned_uint16_t’ {aka ‘const short unsigned int’} pointer (alignment 2…

linux 火狐无法执行二进制文件_尝试在Linux上运行Shell脚本时“无法执行二进制文件”...

我对linux和shell编写非常陌生。我正在尝试使用以下命令从linux上的安全shell(ssh)运行shellscript:chmod x path/to/mynewshell.shsh path/to/mynewshell.sh我收到此错误:path/to/mynewshell.sh: path/to/mynewshell.sh: cannot execute binary file.尝…

Java 特性

Java有四大特性: 1.封装:隐藏对象的属性和实现细节,仅仅对外公开接口。 封装具有一下优点: 便于使用者正确、方便的使用系统,防止使用者错误修改系统属性;有助于建立各个系统之间的松耦合关系;…

MyBatis 传递多个参数

2019独角兽企业重金招聘Python工程师标准>>> 在MyBatis中可以用以下的方式来传递多个参数 1. 用java.util.Map来传递, Code 如下: public List<User> getAllUsersByUserName(String username, int start, int limit){Map<String,Object> params new H…

Linux stmac网卡代码分析----probe

probe 主要分析一下驱动的主要框架&#xff0c;必要地方细致分析下 文件位置&#xff1a; drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c 从文件的最后看起&#xff1a; module_pci_driver(stmmac_pci_driver); stmmac_pci_driver结构体如下&#xff0c;里面包含了id_…

Java面向对象(1) —— 封装

目录一、封装的概念二、类的封装以及使用三、访问修饰符四、属性封装的实现五、方法封装的实现六、UML类图七、类的构造方法与可重载八、this关键字九、static关键字十、方法重载&#xff1a;overload十一、包&#xff1a;package一、封装的概念 将字段&#xff08;C结构体中的…

太阳能板清洗机器人科沃斯_科沃斯推出水清洗扫地机器人 要把打扫做的更彻底...

传统的扫地机器人只能对家里的灰尘做简单清扫&#xff0c;要想打扫的更彻底&#xff0c;还是得靠周末自己拿上工具水洗一遍。现在科沃斯就推出了可以帮你用水清洗地面的扫地机器人&#xff0c;不用再担心地面清洁不干净。科沃斯扫地机器人的水清洁方式一共分为五步&#xff0c;…