网络知识整理

网络知识整理

  • 网络拓扑
  • 网关
    • 默认网关
  • 数据传输
    • 拓扑结构层面
    • 协议层面

网络拓扑

在这里插入图片描述

在这里插入图片描述

网关

连接两个不同的网络的设备都可以叫网关设备,网关的作用就是实现两个网络之间进行通讯与控制。

网关设备可以是交换机(三层及以上才能跨网络) 、路由器、启用了路由协议的服务器、代理服务器、防火墙等。

网关地址就是网关设备的IP地址。

默认网关

默认网关是一个用于TCP/IP 协议的配置项,是在IP路由表中创建一个默认路径,是一个可直接到达的 IP 路由器的 IP 地址。

配置默认网关可以在 IP 路由表中创建一个默认路径, 一台主机可以有多个网关,默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。

现在主机使用的网关,一般指的是默认网关。

数据传输

拓扑结构层面

在这里插入图片描述

源主机A:192.168.0.1,目标主机F:192.168.5.100

  1. A通过ARP协议在同一个子网内查询F的mac地址,没有查到

  2. A查询自己网络配置中的默认网关(路由器R1)的IP地址,并使用ARP协议查询到默认网关的mac地址,将数据包发往R1,目标mac地址为R1的mac地址

  3. R1收到数据包后,根据数据包的目标IP和子网掩码等信息得到该数据包的目标网络地址,发现不在自己所在的网络内,根据自己的路由表信息确定下一跳路由R2,并将数据包中的原mac地址修改为自己的mac地址,目标mac地址修改为R2的mac地址,把数据包转发给路由器R2。

  4. 在数据从R2->R3->R4的过程中,路由都会根据目标IP确定下一跳的mac,然后将目标mac修改为下一跳的mac

  5. 当数据包到达和F在同一网络的路由时,R4路由器通过ARP查询就可以得到F的mac地址了,然后将数据包的mac地址修改为F的mac地址,数据包就可以直接送达F了

  6. 过程中,数据包的IP地址没有变化,mac地址在每通过一台路由器时就会修改一次,直到找到目标主机

协议层面

在计算机网络中,数据从一台计算机跨网络被发送到目标计算机的过程大概如下:

  1. 应用层:应用程序将数据发送到传输层,经常是通过发送socket调用来完成。

  2. 传输层:传输层将消息分割成适合网络传输的数据包,然后添加源和目标端口信息(用于标识发送和接收进程)。

  3. 网络层:网络层将传输层数据包封装成网络数据包,并添加源和目标 IP 地址(用于标识发送和接收计算机)。

  4. 数据链路层:数据链路层将网络层数据包转化为数据帧,并添加 MAC 地址(用于标识本地物理网络中的设备)。

  5. 物理层:物理层将数据信号转化为电信号,通过电缆、光纤或者无线信号发送到网络上的其他设备。

  6. 在目标计算机上,物理层接收到传输的数据信号并将其转化为电信号,发送到数据链路层。

  7. 数据链路层检查数据的完整性,并将接收到的数据帧传递到网络层。

  8. 网络层检查数据包的完整性,并检查目标 IP 地址是否为本地设备地址。如果是,则将数据包传递到传输层;否则将其传递到下一个路由器。

  9. 传输层接收数据包,并将其重新组装为原始数据。

  10. 应用层接收网络层传递的数据,完成一次数据传输。

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

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

相关文章

k8s Webhook 使用java springboot实现webhook 学习总结

k8s Webhook 使用java springboot实现webhook 学习总结 大纲 基础概念准入控制器(Admission Controllers)ValidatingWebhookConfiguration 与 MutatingWebhookConfiguration准入检查(AdmissionReview)使用Springboot实现k8s-Web…

Shell脚本学习2

文章目录 Shell脚本学习2运算符算术运算符关系运算符布尔运算符字符串运算符文件测试运算符 字符串拼接字符串获取字符串长度截取字符串查找字符串 数组条件控制if语句case语句for循环while循环until循环跳出循环 Shell脚本学习2 运算符 Bash 支持很多运算符,包括…

Linux 学习记录57(ARM篇)

Linux 学习记录57(ARM篇) 本文目录 Linux 学习记录57(ARM篇)一、外部中断1. 概念2. 流程图框 二、相关寄存器1. GIC CPU Interface (GICC)2. GIC distributor (GICD)3. EXTI registers 三、EXTI 寄存器1. 概述2. 内部框图3. 寄存器功能描述4. EXTI选择框图5. EXTI_EXTICR1 &…

vue3 +element动态表单实现

可以直接复制&#xff0c;接口看后端 父页面 <schedulesref"schedulesRef":dxbz"props.dxbz":jdlx"props.jdlx":woId"myWoId":addendumList"formInline.addendumList"v-if"addendumShow"addendum"addendu…

如何快速同步第三方平台数据?

全量的数据主要是针对多个系统的历史数据,大概有几千万数据,只需要初始化一次即可。 而增量的数据,是系统后续变更的数据。 这个需求其实不简单,至少有以下难点: 不能直接访问第三方数据库。 不能将历史数据导出到excel中,有泄露数据的风险。 如何快速同步历史数据? 增…

HTML <progress> 标签

实例 正在进行的下载&#xff1a; <progress value"22" max"100"></progress> 浏览器支持 元素ChromeIEFirefoxSafariOpera<progress>8.010.016.06.011.0 定义和用法 <progress> 标签标示任务的进度&#xff08;进程&#xf…

【kubernetes系列】flannel之vxlan模式原理

概述 在Kubernetes中要保证容器之间网络互通&#xff0c;网络至关重要。而Kubernetes本身并没有自己实现容器网络&#xff0c;而是而是借助CNI标准&#xff0c;通过插件化的方式自由接入进来。在容器网络接入进来需要满足如下基本原则&#xff1a; Pod无论运行在任何节点都可…

九、HAL_IWDG独立看门狗的使用

1、开发环境 (1)Keil MDK: V5.38.0.0 (2)STM32CubeMX: V6.8.1 (3)MCU: STM32F407ZGT6 2、IWDG简介 (1)IWDG即独立看门狗。 (2)看门狗本质上是一个定时器&#xff0c;设置一个时间&#xff0c;时间到即让程序复位。所以需要在在时间未到之前重置定时器&#xff0c;也就是喂…

JavaWeb开发(后端Web开发【一】)

文章目录 前言一、Maven1.Maven概述-介绍1.1.Maven概述-介绍1.2.Maven概述-安装 2.IDEA集成Maven2.1.IDEA集成Maven-配置Maven环境2.2.IDEA集成Maven-创建Maven项目2.3.IDEA集成Maven-导入Maven项目 3.Maven-依赖管理3.1.Maven-依赖管理-依赖配置3.2.Maven-依赖管理-依赖传递3.…

MySQL5.7 与 MariaDB10.1 审计插件兼容性验证

这是一篇关于发现 MariaDB 审计插件导致 MySQL 发生 crash 后&#xff0c;展开适配验证并进行故障处理的文章。 作者&#xff1a;官永强 爱可生DBA 团队成员&#xff0c;擅长 MySQL 运维方面的技能。热爱学习新知识&#xff0c;亦是个爱打游戏的宅男。 本文来源&#xff1a;原创…

Ros2_windows_install的学习笔记

Ros2_windows_install安装 Iron安装 iex ((New-Object System.Net.WebClient).DownloadString(https://raw.githubusercontent.com/scottcandy34/ros2_windows_install/main/ros2_iron.ps1))启动Iron C:\dev\ros2_iron\local_setup.bat

Android 设备兼容性使用(详细版)

经典好文推荐,通过阅读本文,您将收获以下知识点: 一、设备兼容性分类 二、硬件设备兼容 三、软件 APP 兼容 四、兼容不同语言 五、兼容不同分辨率 六、兼容不同屏幕方向布局 七、兼容不同硬件 Feature 八、兼容不同SDK平台 一、设备兼容性分类 Android设计用于运行在许多不同…

进阶高级测试专项,Pytest自动化测试框架总结(三)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、pytest前置条件…

常见面试题之设计模式--责任链模式

1. 概述 在现实生活中&#xff0c;常常会出现这样的事例&#xff1a;一个请求有多个对象可以处理&#xff0c;但每个对象的处理条件或权限不同。例如&#xff0c;公司员工请假&#xff0c;可批假的领导有部门负责人、副总经理、总经理等&#xff0c;但每个领导能批准的天数不同…

【外卖系统】分类管理业务

公共字段自动填充 需求分析 对于之前的开发中&#xff0c;有创建时间、创建人、修改时间、修改人等字段&#xff0c;在其他功能中也会有出现&#xff0c;属于公共字段&#xff0c;对于这些公共字段最好是在某个地方统一处理以简化开发&#xff0c;使用Mybatis Plus提供的公共…

循环多个<el-button> 如何设置某一个选中

如果您想在一个循环中的多个el-button中选择一个按钮并将其设置为选中状态&#xff0c;可以使用一个变量来标识选中的按钮索引。以下是一种实现方式&#xff1a; 1. 在Vue组件中定义一个selectedButton变量&#xff0c;用于存储选中按钮的索引值&#xff1a; data() {return …

【FPGA/D7】

2023年7月26日 串口传图到RAM并TFT显示 视频25note要求&#xff1a;接收两个字节数据合并为一个16位数据并写入ram&#xff1a; FIFO模型与应用场景 视频26 串口传图到RAM并TFT显示 视频25 note 存储器的使用&#xff0c;在开始读写或者结束读写的位置非常容易出现数据错误或…

不等式的证明方法

文章目录 不等式的证明方法比较法例例作商法 综合法例 分析法例小结 反证法例例 放缩法例例 几何法例例 不等式的证明方法 比较法 主要指作差构造与0比较 因为 a > b a>b a>b ⇔ \Leftrightarrow ⇔ a − b > 0 a-b>0 a−b>0 所以若要证明 a > b a>…

小程序新渲染引擎 Skyline 发布正式版

为了进一步提升小程序的渲染性能和体验&#xff0c;我们推出了一套新渲染引擎 Skyline&#xff0c;现在&#xff0c;跟随着基础库 3.0.0 发布 Skyline 正式版。 我们知道&#xff0c;小程序一直用 WebView 来渲染界面&#xff0c;因其有不错的兼容性和丰富的特性&#xff0c;且…

PM2.5传感器(PMS5003)STM32代码

PM2.5传感器型号&#xff1a;PMS5003 PMS5003简介如下&#xff1a; 详情&#xff1a;PMS5003资料链接 PM2.5传感器代码下载&#xff0c;本人所写&#xff0c;亲测有效&#xff0c;基于STM32F407(其他STM32型号皆可移植&#xff0c;只需修改UART参数即可),UART打印数据