#问题引入

配置静态路由时,可以选择配置下一跳地址,也可以选择配置出接口,也可以两者同时配置。

但是以太网环境中只配置路由出接口时,两个网段无法通信。

(事实上以太网,或者说广播类型接口配置静态路由时,必须指定下一跳地址,具体原因就是本例分析的)

#实验条件

采用华为的eNSP模拟器

如下图,两台PC连接到两台路由器,PC1处于11.0.0.0 24网段,PC2处于22.0.0.0 24网段。他们的网关都设置为连接的路由器接口。

路由器之间网段为12.0.0.0 24。

需求是PC1和PC2之间通信,显然AR1和AR2两台路由器需要有对应的路由。

即当PC1向PC2发包时,由于AR1为PC1的网关,PC1会将包发往AR1,AR1收到包后需要根据路由表转发包,显然需要转发向AR2方向,AR2接收到包后就可向PC2转发(AR2有通往22.0.0.0 24网段的直连路由)。PC2向PC1回包也就是倒过来。

#抓包结果

我们先在AR1上配置前往PC2的路由,只配置出接口为GE 0/0/0。

ip route-static 22.0.0.2 24 g0/0/0

查看路由表,发现多了一条前往22.0.0.0 24网段的静态路由,出接口为g0/0/0,下一跳为出接口的IP地址12.0.0.1。

注:如果直接配置下一跳IP为12.0.0.1(g0/0/0口的IP地址),会报错。

前面问题已经描述过了,即使配置了AR2,这样配置PC1和PC2也无法通信。所以不再配置AR2,直接抓包分析。

在PC1上Ping PC2,理论上AR1是配置了到PC2网段路由的,最后我们得到的结果是超时,这个结果看着似乎像是没有配置AR2路由的原因,导致PC2没有能回包。

我们进一步在AR1的g0/0/0口抓包。

发现仅仅有的是来自AR1路由器的ARP包!也就是ICMP的请求包根本就没有从AR1发出。

我们再抓取PC1和AR1之间的包。

可以发现,PC1是正确发出了ICMP请求包。

#结果分析

这时候原因就很显然了,AR1接收到PC1发出的ICMP请求包,但不能正确地将这个包转发出去。

路由器将包转发出去,实际上是一个跨不同二层链路的动作,它修改的是二层帧中的MAC地址。

PC1向AR1发包时,MAC地址填写的是AR1(PC1的网关)的,AR1的MAC通过PC1发送ARP请求利用AR1的IP获得,而AR1向22.0.0.0 24网段转发包时,需要知道目标地址下一跳的MAC,而路由表中的下一跳是AR1的GE 0/0/0端口的IP。但路由器不会去思考是否合理,它仅仅知道已知IP获取MAC的方法:ARP广播。

所以我们抓到了许多ARP包,再仔细看ARP包的内容。

ARP广播希望得到12.0.0.1地址设备的MAC,但网段不会有设备回应它,因为它自身的接口IP就是12.0.0.1,所以这个ARP广播被视为ARP宣告。

由于得不到目标MAC地址,无法封装二层帧,路由器自然无法转发出这个包,最后PC1等待无果,显示Ping超时。

#结论

路由转发最终决策是根据设备的路由转发表(Forwarding Information Base,FIB),路由转发表的路由路径是根据路由表选择最优路由后下发的。

路由表有两个关键字段,NextHop和Interface,分别表示路由的下一跳地址和路由的出接口。

出接口就决定了路由器将包从哪个接口发出,而NextHop的作用,通过上述问题分析可以得出:它是用来获得对端MAC地址的。

综上,在广播网络中,配置静态路由时,两个字段内容缺一不可。我们只配置下一跳时,路由表会根据自身已有的表项递归查询,查询出出接口是哪个端口,如果查询不到,此条路由会被标记为无效。

所以以太网环境中配置静态路由时没法只配出接口,也许同时配置出接口和下一跳地址是个好习惯。

静态路由只配置出接口网络不通(实验)相关推荐

  1. 中兴路由器中静态路由的配置

    一.实验目的 1.掌握中兴1800路由器的工作原理. 2.熟练掌握静态路由的配置过程. 二.实验内容 1.绘制拓扑图,根据拓扑图进行试验: 2.配置路由器,并最终验证网络的连通性. 三.实验过程 1. ...

  2. 中兴路由器中浮动静态路由的配置

    一.实验目的 1.掌握中兴1800路由器的工作原理. 2.熟练掌握浮动静态路由的配置过程. 二.实验内容 1.绘制拓扑图,根据拓扑图进行试验: 2.配置路由器,并最终验证网络的连通性. 三.实验过程 ...

  3. ipv6 华为交换机 路由配置_利用华为ENSP模拟器实现IPv6与IPv6默认路由与静态路由的配置...

    1.1[实验目的] 1.理解汇总路由的运作原理. 2. 深刻理解IPv6协议原理. 3.掌握IPv6默认路由的配置方法 4.掌握IPv6静态路由的配置方法 1.2[实验环境] ENSP模拟器 路由器获 ...

  4. 计算机网络实验报告 静态路由的配置

    实验名称 静态路由的配置 一.实验目的 1.掌握路由器的配置 2. 学会配置静态路由 3. 实现静态路由的不同网络间的互通 二.实验内容 1.搭建拓扑图 2.网络拓扑节点IP配置 3.静态路由配置实现 ...

  5. 静态配置_【实验】华为静态路由基础配置

    关注我,你的眼睛会怀孕 一.静态路由功能介绍 静态路由就是手工配置的路由,使得数据包能够按照预定的路径传送到指定的目标网络.当不能通过动态路由协议学到一些目标网络的路由时,配置静态路由就会显得十分重要 ...

  6. 静态路由与配置 知识点

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 1. 什么是路 ...

  7. 【实验】华为静态路由基础配置

    一.静态路由功能介绍 静态路由就是手工配置的路由,使得数据包能够按照预定的路径传送到指定的目标网络.当不能通过动态路由协议学到一些目标网络的路由时,配置静态路由就会显得十分重要. 二.静态路由应用场景 ...

  8. 【面试必备】静态路由与配置相关知识点详解

    [欢迎关注微信公众号:厦门微思网络] 微思网络(官网):https://www.xmws.cn/ 1.什么是路由?什么是路由选择? 跨越从源主机到目标主机的一个互联网络来转发数据包的过程,称为路由.路 ...

  9. 【学习整理】静态路由如何配置

    一 .  静态路由是什么? 静态路由是一种路由的方式,路由项由手动配置,而非动态决定.与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态.一般来说,静态路由是由我们网管逐项 ...

  10. Cisco Packet Tracer路由方式介绍和静态路由简单配置

    当向目的IP地址发送数据包时,可能会经过很多路由器,有很多选择路径,那么路由器怎么找到路并怎么选择最优路径呢?答案是通过路由表. 每个路由器中都有一个路由表和FIB表:路由表用来决策路由,FIB用来转 ...

最新文章

  1. 计算机视觉与深度学习 | 机器学习中的数学——入门机器学习
  2. c语言制表符_随时随地学习C语言之1—开发环境搭建
  3. 两张趣图助你理解 HTTP 状态码
  4. .net winform panel 不刷新_【扫盲篇】visual studio2019(C#/.NET)安装教程
  5. matlab中上下光标的作用,当鼠标移动到按钮上时改变光标形状
  6. 08返回一个整数数组中最大子数组的和
  7. Springboot集成JavaMailSender发送邮件
  8. 浅析C#中的文件操作
  9. 8g内存一般占用多少_手机6G和8G运存有什么不同,8G运存真比6G流畅?这也要考虑处理器...
  10. php去掉文字空白换行,php去掉空格换行的方法
  11. 优化三维空间定位法及C语言快捷实现
  12. react.js 原生文字下划线标注功能开发
  13. Navicat:Access violation at address xxxxxxxxx in module 'navicat.exe'.Read of address xxxxxx
  14. 手机中的com.android.provision删除可不可以,Android Provision (Setup Wizard)
  15. 【Excel提取数字】用5个简单公式从混合文本中提取数字
  16. 用Python批量从本地导数据到postgres数据库,比人工导入快十倍,爽
  17. 如何挖到人生当中第一本CNVD
  18. Android 在应用图标上设置未读消息数量
  19. win7桌面图标显示不正常解决
  20. 网站本地化建设文章自动批量翻译工具

热门文章

  1. 手撸Mybatis源码-基础版
  2. Mac下移动硬盘的使用
  3. echarts + vue2.0 实现大数据监测态势感知系统
  4. Nginx 重定向所有子域名到www
  5. IE源代码摘抄,基于泄漏的IE5.0(持续更新)
  6. 【苹果手机登录163邮箱】
  7. 解决许可证的相关问题
  8. dede 表单必填_dede自定义表单“必填项”设置方法
  9. vue+ele 使用及demo
  10. ele 多个表格 tab切换后 多选, 复选出现的问题