摘要:跟随报文,从windows主机经过路由器到linux主机上溜达一下吧。

本文分享自华为云社区《报文在不同设备的奇妙之旅》,原文作者:鼓瑟吹笙。

简介

在上图中,HostA的报文转发到HostB上,需要报文,从本地网关出发,经过路由器RouterA,到达Host B。

Host A:Windows主机;

Router A:路由器;

Host B:Linux主机;

让我们从Host A的路由表出发,看一下网络不同位置的路由表。在看路由表之前,先了解一下路由的概念,路由是数据通信网络中最基本的要素。路由信息就是指导报文发送的路径信息,路由的过程就是报文中继转发的过程。

路由器/主机通过路由表选择路由,每个路由器/主机中都至少保存着一张路由表。

在主机的路由表中保存着了IP配置的路由和接口生成的直连路由

在路由器的路由表中保存了各种路由协议发现的路由,根据来源不同,路由表中的路由通常可分为以下三类:

  • 链路层协议发现的路由(也称为接口路由或直连路由)。
  • 由网络管理员手工配置的静态路由。
  • 动态路由协议发现的路由。

Host A上的路由

配置:主机上必须配置本机的IPV4地址,子网掩码和默认网关;

网关又称网间连接器、协议转换器。网关在网络层以上实现网络互连,在通俗易懂一点,网关是转发路由的一个设置,如果路由的下一跳是网关,说明路由的下一跳是一个路由器,而不是一个主机;

查看Windows在路由表:

第一条路由,由配置的默认网关自动生成的一条路由,掩码为0.0.0.0,下一跳为默认网关;

网关路由是下一跳为网关的路由,首先明确,网关路由不是一种路由协议,路由协议是路由器之间维护路由表的规则,用于发现路由,生成路由表,并指导报文转发。

掩码为0.0.0.0的路由统称为默认路由, 要了解默认路由,首先要知道路由转发最长匹配原则,路由查找按位匹配,从前到后,中途出现不匹配的则代表失败,在所有失败前,相同位数最多的路由表项就是下一跳。简单说就是匹配到掩码最长的路由上为转发路由。层层在IP树枝往上查找,最终都会找到0.0.0.0,也就是默认路由。更通俗易懂,就是让那些无法找到非0地址的路由,最终有个转发的地方

了解了上面的概念,可以知道,第一条路由为默认网关路由,功能就是从本机出发的报文,如果目的地址不是本机,直接从默认网关转发出去;

报文的目的地址为10.1.1.1,不是本机IP地址,默认被从网关扔了出去;

Router A上的路由

路由器上有两个表,一个是位于控制面的路由表,以一个是位于转发面的转发表,为了方便了解转发,我们专门看一下华为路由器的转发表;

在转发表中,可以出接口GE1/1/1的配置为

interface GE1/1/1

ip address 10.1.1.10 255.255.255.0

10.1.1.0/24为网段路由,目的地址为IP地址和掩码相与的结果,下一跳为接口配置的IP地址(无任何转发意义,仅有显示意义)。用来将目的地址为同网段的报文从指定接口转发出去。

10.1.1.10/32为主机路由,目的地址为接口IP地址,所有的主机路由掩码都是32位,下一跳为环回口地址127.0.0.1,标识本机有1.1.1.1这个地址,对于目的地址为1.1.1.1的IP报文,是需要送到本机处理的,总结一句话,主机路由用来接收发送给本台设备的报文。

10.1.1.255/32为子网广播路由, 算法为IP地址与取反后的掩码地址进行异或,IP协议规定网段广播地址所有的本网段的三层接口都需要接收该地址的报文,实际应用中几乎没有任何场景使用到网段广播特性。

RouterA收到报文后,根据最长匹配原则,查找转发表,发现10.1.1.0的网段路由,把报文从GE1/1/1转发出去;

Host B上的路由

Host B是Linux操作系统,它和Windows主机有很多相似的地方

1、网关路由:Linux操作系统需要配置

Linux上的接口配置

在ETH0上,配置的IP地址为10.172.153.72,掩码长度为24

查看路由表

发现了一个现象:路由表中没有接口路由生成的主机路由。

这是Linux系统和路由,Windows不同的地方。如果是本机IP地址,直接命中,不需要查路由表。

再说一个有趣的现象,在Linux表中,网关是0.0.0.0的路由,说明报文需要在主机内部查找,在转发时,会拿着目的地址去查找ARP表单,如果找不到对应的MAC地址,报文丢弃。

点击关注,第一时间了解华为云新鲜技术~

跟随报文,开启一段奇妙之旅相关推荐

  1. 瑶琳c语言,来桐庐瑶琳仙境,开启一场18°C的奇妙之旅

    在杭州桐庐的瑶琳镇的瑶琳仙境,常年恒温在18摄氏度,是华东沿海中部亚热带湿润区喀斯特洞穴的典型代表. 瑶琳仙境得名于清朝,据清<桐庐县志>记载:"瑶琳洞,在县西北四十五里,洞口阔 ...

  2. LayaAir 3D案例展示:矩阵 • 奇妙之旅

    小编:LayaAir3D引擎除了在游戏领域有着90%以上的市场份额,在教育.营销.创意展示等众多领域也有着广泛的应用场景.矩阵互动自去年推出震撼的<不可思议群岛>3D创意后.今年又推出一个 ...

  3. Python奇妙之旅-出发吧

    IT赶路人,专注分享与IT相关的知识,关注我,一起成就最好的自己! 从今天开始,我就跟大家一块来学习Python.我把这个学习的过程定义为Python的奇妙之旅.那我们就开始我们今天的第一节,也就是我 ...

  4. 有故事的网页设计——Flash网站奇妙之旅

    [转]有故 事的网页设计--Flash网站奇妙之旅--by流氓兔斯基 当浏览网页时,总有那么一类网站华丽而富有趣味性.在浏览信息的同时,足够让我们眼前 一亮.它们 在充分融入动画.视频.游戏.甚至是与 ...

  5. Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅

    2019独角兽企业重金招聘Python工程师标准>>> 通过 Docker 化一个博客网站来开启我们的 Docker 之旅 这篇文章包含 Docker 的基本概念,以及如何通过创建一 ...

  6. 《Arduino奇妙之旅:智能车趣味制作天龙八步》一2.4 准备好了吗?

    本节书摘来华章计算机<Arduino奇妙之旅:智能车趣味制作天龙八步>一书中的第2章 ,第2.4节,(美)James Floyd Kelly Harold Timmis 著 程晨 译更多章 ...

  7. 亚马逊云科技助力学习者轻松开启云计算知识学习之旅

    近日,亚马逊云科技宣布推出两项全新的免费培训计划,以具有趣味性和互动性的形式,助力学习者轻松开启云计算知识学习之旅.其中,"亚马逊云科技CloudQuest:云从业者"可为学习者带 ...

  8. 快快来,和我们一起开启稳定性的探索之旅

    我们穿过山和大海,也见过人山人海. 我们见过各类故障,也排过千雷万险. 这一次,不如我们一起,开启稳定性的探索之旅. 让无法解决的问题少一点点,让世界的确定性多一点点.? 无论是前端业务的开发者,还是 ...

  9. 开启我的Python之旅

    开启我的Python之旅 有人说,"聪明的人喜欢阅读,智慧的人喜欢写作".而我,既不是那种才高八斗,疯狂阅读的人,也不是那种激扬文字,热衷于写作的人.我就是我--一个平凡的我,一个 ...

最新文章

  1. UML与软件建模 第三次作业
  2. laravel artisan
  3. mysql表只有frm文件_MYSQL数据文件--.frm文件(只有.frm文件时的表结构恢复)
  4. 基于xgboost 的贷款风险预测
  5. 数模学习笔记——微分方程(传染病模型)
  6. Python实现九九乘法表
  7. MyBatisPlus3.x中使用代码生成器(全注释)
  8. Vue中使用LayUI没有效果
  9. 简单易用的IT运维服务器管理程序分享!
  10. 微信账号公开买卖;华为:5G 火车站启动;小米 9 高通骁龙 855 全球首发 | 极客头条...
  11. java 圆类 圆锥类_以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone
  12. Centos rsync配置
  13. AIO 理论 与 编程
  14. springboot自定义starter启动器
  15. 用二叉链表存树(孩子兄弟表示法)
  16. latex中插入eps图片方法与遇到xdvipdfmx:fatal: Image inclusion failed for XXX的错误
  17. 测试页能打印 软件不能打,打印机可以打印测试页不能打印文档怎么处理
  18. 软件项目风险管理(Project Risk Management)
  19. linux修改u盘mbr,远景论坛U盘版 完美 4G/8G/16G WINPE+LINUXPE+MACPE+10.9正式版MBR安装版 制作超简单...
  20. 工业相机与工业镜头相关参数详解

热门文章

  1. CSS 动态超链接样式 LVFHA 或 LVHFA
  2. es6 Reflect对象简介
  3. Path(2)之verp中path position和path length的区别
  4. java链表集合_Java底层基于链表实现集合和映射--集合Set操作详解
  5. DB2新建编目及删除编目
  6. (WWWWWWWWWW)codevs 3305 水果姐逛水果街Ⅱ
  7. 剑指offer39 平衡二叉树
  8. 贪心算法(Greedy Algorithm)
  9. Missing iOS Distribution signing identity问题解决
  10. 从Mysql中读取数据绑定Grid,然后在全部绑定sql