计网 - 子网掩码的改变与内网之间通信的关系

news2024/11/18 3:31:05

文章目录

  • 面试题
  • A与B通信的全过程



面试题


想要弄清楚这个问题,必须了解数据包在网络上是如何传输的:

  • 首先B想向A发送数据包,会根据双方IP来判断是否在同一子网:
    • A的IP地址属于192.168.26.0/24这个网段。
    • B的IP地址属于192.168.26.0/27这个网段;
      • 计算网络段可以用IP与子网掩码进行按位与(&)操作得来。
      • 我们可以观察子网掩码得到:
        • 子网掩码为xxxx.1110 0000,也就是前27位是网络号。
    • 如果不在同一子网内,就会将包递交给默认网关,由网关选择将这个包发向哪个网段。
    • 如果在同一子网内,就会直接丢到链路层上,不交给路由器,直接转发。
  • 很明显,最后解析出来A,B不属于同一子网,所以B会直接把包丢到链路上,而是发到默认网关。
  • 但是其实因为子网掩码设置错误导致B判断错误,其实B是属于192.168.26.0/24这个网段,所以A,B属于同一子网,那么默认网关就不会向外转发同一网段内的数据,而是向A所在网段发送,也就是自己所在的那个网段。
  • 最后A能够成功收到B的包。同理,B也可以收到A的,所以可以正常通信。

A与B通信的全过程

  1. B分析源与目的地的IP地址,分析是否在同一子网。
  2. B准备向A发送数据,手握A的IP地址,但是由于没有A的MAC地址,所以没办法完成包的构建,于是使用ARP协议(地址解析协议)广播请求。
  3. 拿到A回应的包之后完成包的构建,物理链路层将数据包转换成电信号在链路上传输。
    • 链路上的每台主机都会收取这个包并擦除其电信号,然后进行分析,确认MAC地址和IP地址是否是自己的。若不是,则重新封装然后发送。
      • 也就是说我们的主机时时刻刻都在接收并不属于自己的包并转发出去。
      • 检查目标MAC地址看数据包是否属于自己,检查目标IP地址看数据包是否发给自己。
        • 在实际网络中,如果存在配置错误、网络故障或恶意攻击,可能会出现一些目标MAC地址与目标IP地址不一致的情况。例如,ARP欺骗(ARP spoofing)攻击可能会导致数据包的目标MAC地址被篡改,从而使数据包看起来是发给自己的,但实际上不是。
      • 如果电信号一直没有主机认领,会一直在点路上荡嘛?
        • 不会,网络设备(交换机、路由器)一般都会给数据包设有一个生存时间(TTL),每经过一次网络设备就会减少1,直到减为0,网络设备就会把这个包丢掉,将其电信号抹除。
      • 在链路上有包的电学冲突怎么解决:
        • 此类情况常发生在半双工的以太网中,为了解决电学冲突,以太网使用CSMA/CD协议(载波监听多路访问/碰撞检测),主机在发送数据包之前先监听信道,确保没有其他主机在发送数据。
  4. 网关有可能收到这个包,但是看到目标IP属于内网,则直接发回内网。
  5. A收到数据包。

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

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

相关文章

微信小程序构建npm失败解决方式

安装完所需要的依赖后,在微信开发者工具菜单栏中选择:“工具” -> “构建 npm”,但是失败。 解决方法:修改 project.config.json 开发者工具创建的项目,miniprogramRoot 默认为 miniprogram,package.js…

LVGL的基础知识总结

详细的内容可以参考正点原子的LVGL开发指南,本文只记录重点内容 正点原子后续的例程都是基于操作系统来写的 面向对象 在 LVGL 中,用户界面的基本构建成分是对象,也称为小部件,例如:按钮、标签、图片、列表、图表、文…

【Python_Zebra斑马打印机编程学习笔记(三)】解决ZPL指令无法显示中文的问题

解决ZPL指令无法显示中文的问题 解决ZPL指令无法显示中文的问题前言一、问题描述二、字符集、码表文件、字库文件1、字符集2、码表文件3、字库文件 三、两种设置中文字体的方式1、通过设置字符集、码表文件、字库文件改变默认字体2、通过^CF指令设置标准字体名称改变默认字体 解…

DOM 创建节点、添加节点和删除节点

创建元素节点 document.createElement(‘标签名’) 创建文本节点document.createTextNode ( 内容 ) 根据传入的标签名创建出一个空的元素对象创建出来的默认不显示,要成为别人的子元素才能显示,所以要结合appendChild使用 添加节点(后面&am…

【AI Agent系列】【MetaGPT多智能体学习】4. 基于MetaGPT的Team组件开发你的第一个智能体团队

本系列文章跟随《MetaGPT多智能体课程》(https://github.com/datawhalechina/hugging-multi-agent),深入理解并实践多智能体系统的开发。 本文为该课程的第四章(多智能体开发)的第二篇笔记。主要是对MetaGPT中Team组件…

每日一练:LeeCode-701、二叉搜索树中的插入操作【二叉搜索树+DFS+全搜】

本文是力扣 每日一练:LeeCode-701、二叉搜索树中的插入操作【二叉搜索树DFS全搜】学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给定二叉搜索树(BST)的根节点 root 和要插入树中的值 …

机器学习图像识别如何处理标签以外的图像?

机器学习图像识别技术是一种基于人工智能的图像处理方法,它通过训练大量的图像数据集来让计算机学习如何识别和分类图像。在图像识别任务中,我们通常需要对图像进行标注和分类,以便让计算机能够从中学习。但是,有时候我们可能会遇…

减少页面加载时间:提升用户体验的关键

✨✨ 祝屏幕前的您天天开心,每天都有好运相伴。我们一起加油!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一、为什么页面加载时间重要? 二、如何减少页面加载时间? …

集中和离散

数据分类&#xff1a;定性(分类&#xff0c;顺序)&#xff0c;定量(数值) 分类&#xff1a;男&#xff0c;女 顺序&#xff1a;高&#xff0c;中&#xff0c;低 数值&#xff1a;可计算的数字 数据等级&#xff1a;分类<顺序<数值。高级数据可以用低级数据&#xff0c…

day09_面向对象_构造方法_封装

今日内容 零、 复习昨日 一、构造方法 二、重载 三、封装 零、 复习昨日 1 类和对象是什么关系? 类是模板(原材料)对象是具体实例(成品)类创建出对象 2 类中有什么?(类的成员) 成员属性(成员变量), 成员方法 3 创建对象的语法? 类名 对象名 new 类名(); 4 调用对象属性,方法…

音频筑基:CD还是HiRes?高清音频分类一文说透

音频筑基&#xff1a;CD还是HiRes&#xff1f;高清音频分类一文说透 前言音乐品质分类相关资料 前言 音频信号中&#xff0c;经常遇到高清音乐、无损音质、CD、HiRes等说法&#xff0c;本文主要在纯数字信号级别&#xff0c;从音源分类和编码质量两个维度&#xff0c;做一个分析…

[AutoSar]BSW_Com06 CAN报文应用层到Can总线的函数调用

目录 关键词平台说明一、背景二、PDU转换三、函数调用 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector &#xff0c;芯片厂商TI 英飞凌编程语言C&#xff0c;C编译器HighTec (GCC)autosar版本4.3.X >>>>>回到总目…

《商用密码应用安全性评估管理办法》解读

根据《中华人民共和国密码法》&#xff08;以下简称《密码法》&#xff09;、《商用密码管理条例》&#xff08;以下简称《条例》&#xff09;等法律法规&#xff0c;国家密码管理局研究制定了《商用密码应用安全性评估管理办法》&#xff08;国家密码管理局令第3号&#xff09…

Vue页面更新后刷新页面不会渲染解决

小编今天犯了个很低级的错误&#xff0c;导致VUE页面刷新样式不会更新的问题&#xff01; 解决方法&#xff1a;查看你的路由路径大小写是否正确&#xff01;小编是犯了这种错误&#xff0c;特此分享下&#xff01;

Vite 构建的 Vue3 项目如何整合 Monaco Editor 代码编辑器

目录 &#x1f981; 一. 前言&#x1f981; 二. 探索过程2.1 安装2.2 配置 Monaco Editor2.3 编写 Monaco Editor 代码编辑器2.3.1 创建 Coding Editor 组件2.3.2 父组件使用 CodingEditor 组件 2.4 效果展示 三. 总结 &#x1f981; 一. 前言 各位好&#xff01;我是&#x1…

Unity 预制体与变体

预制体作用&#xff1a; 更改预制体&#xff0c;则更改全部的以预制体复制出的模型。 生成预制体&#xff1a; 当你建立好了一个模型&#xff0c;从层级拖动到项目中即可生成预制体。 预制体复制模型&#xff1a; 将项目中的预制体拖动到层级中即可复制。或者选择物体复制粘贴。…

2024年2月总结及随笔之平平安安过大年

1. 回头看 日更坚持了425天。 读《千脑智能》开更并更新完成 读《十堂极简人工智能课》开更并更新完成 读《人工不智能&#xff1a;计算机如何误解世界》开更并持续更新中 2023年至2024年2月底累计码字898882字&#xff0c;累计日均码字2115字。 2024年2月码字84475字&am…

【机器学习:Recommendation System】推荐系统

推荐系统&#xff08;或推荐系统&#xff09;是一类机器学习&#xff0c;它使用数据来帮助预测、缩小范围并在呈指数级增长的选项中找到人们正在寻找的内容。 【机器学习&#xff1a;Recommendation System】推荐系统 什么是推荐系统&#xff1f;用例和应用电子商务与零售&…

基于springboot+vue的常规应急物资管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

动态规划|【路径问题】礼物的最大价值(LCR 166.珠宝的最高价值)

目录 题目 题目解析 思路 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 代码 题目 LCR 166. 珠宝的最高价值 &#xff08;现在leetcode上面是这个题&#xff09;这个题跟下面这个题叙述方式一样&#xff0c;就拿下面这个 题来讲解&#xff09; 题目描述&…