计算机网络:如何传输一条数据(详解)

一:不同的localhost如何传送信息

1:图示概览图

(1):无注解

在这里插入图片描述

(2):有注解

这里我在这个线路层中又连了一些新的 sw 和 router 其实还可以连更多,相当于一个网状的

注意同一个网络中只有一个网关,形象点理解网关就是通往别的网洛的大门
在下方的图中 我们举例说明的是当从左往右传送消息的时候,中间的网络向右边的网络传送消息时 需要的网关也是 196.18.2.1/24
在这里插入图片描述

2:从一个localhost_A向另一个localhost_B发送数据包(直接发送与到达)步骤

(1).数据发送处理过程

a:应用层将数据交给传输层,传输层添加上TCP的控制信息(称为TCP头部),这个数据单元称为段(Segment),加入控制信息的过程称为封装。然后,将段交给网络层。
b:网络层接收到段,再添加上IP头部,这个数据单元称为包(Packet)。然后,将包交给数据链路层。
c:数据链路层接收到包,再添加上MAC头部和尾部,这个数据单元称为帧(Frame)。然后,将帧交给物理层。
d:物理层将接收到的数据转化为比特流,然后在网线中传送。

(2).数据接收处理过程

a:物理层接收到比特流,经过处理后将数据交给数据链路层。
b:数据链路层将接收到的数据转化为数据帧,再除去MAC头部和尾部,这个除去控制 信息的过程称为解封,然后将包交给网络层。
c:网络层接收到包,再除去IP头部,然后将段交给传输层。
d:传输层接收到段,再除去TCP头部,然后将数据交给应用层。

(3):总结

a:发送方数据处理的方式是从高层到底层,逐层进行数据封装。
b:接收方数据处理的方式是从底层到高层,逐层进行数据解封装。
接收方的每一层只把对该层有意义的数据拿走,或者说每一层只能处理发送方同等 层的数据,然后把其余的部分传递给上一层,这就是对等层通信的概念。

(4):图示

在这里插入图片描述

4:从一个localhost_A向另一个localhost_B发送数据包(不直接到达)步骤

(1):解释

这里想表达的就是如下过程,localhost_A向localhost_B发送数据包的过程中经历了
交换机或者路由器
在这里插入图片描述

(2):步骤

a:首先将目的地址的子网掩码和源地址的子网掩码,做与操作,如果为1说明在一个局域网内
那么就不需要网关了,这就相当于学校的实验室 一个教室内的所有电脑就是在同一个局域网内
b:如果没有在同一个网络内那么的话就需要路由器了,连接不同的网络进行数据传输入

5:处于同一个以太网下(局域网)下locahost01发送信息给localhost03

在这里插入图片描述
在这里插入图片描述

6:处在不同的网络下localhost01发送数据给localhost02

在这里插入图片描述

在这里插入图片描述

二:ICMP协议和ping操作

1:ICMP

(1):概念

ICMP(Internet Control Message Protocol)Internet控制 报文 协议。它是 TCP/IP协议簇 的一个子协议,用于在IP 主机 、 路由 器之间传递控制消息。控制消息是指 网络通 不通、 主机 是否可达、 路由 是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用

(2):功能

其功能主要有:侦测远端主机是否存在,建立及维护路由资料,重导资料传送路径( ICMP重定向 ),资料 流量控制 。ICMP在沟通之中,主要是透过不同的 类别 (Type)与 代码 (Code) 让机器来识别不同的连线状况。
ICMP 是个非常有用的协议﹐尤其是当我们要对网路连接状况进行判断的时候

(3):工作原理

ICMP提供一致易懂的出错报告信息。发送的出错 报文 返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。

(4):ICMP的类型

a:响应请求
b:超时(在ICMP的报文中有TTL 开始有一个初始值 每经历一次路由减一 减到0了还没有到达源地址,那么就发送icmp消息 超时了)
c:不可达

2:基于ICMP的ping操作

(1):ping 命令使用 ICMP 回送请求和应答报文

在网络可达性测试中使用的分组网间探测命令 ping 能产生 ICMP 回送请求和应答报文。目的主机收到 ICMP 回送请求报文后立刻回送应答报文,若源主机能收到 ICMP 回送应答报文,则说明到达该主机的网络正常

(2):补充

路由分析诊断程序 tracert 使用了 ICMP时间超过报文
tracert 命令主要用来显示数据包到达目的主机所经过的路径。通过执行一个 tracert 到对方主机的命令,返回数据包到达目的主机所经历的路径详细信息,并显示每个路径所消耗的时间。

三:ARP

(1):解释

地址解析协议,即ARP(Address Resolution Protocol),是根据 IP地址 获取 物理地址 的一个 TCP/IP协议 。 主机 发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源

(2):arp的执行步骤

先来一个数据传输的局部图
在这里插入图片描述
从上方的图我们可以得知在数据包向数据链路层进行传输的时候,进行封装的操作是加上MAC头部

那么引出问题 这个MAC头部这么来呀??
这就引出了arp:用于和获取MAC
获取方式:通过广播获取
获取结果:存在源locahost的高速缓存器中(过一段事件该MAC地址回会消失

(3):举例

localhost01发送消息给localhost2
在这里插入图片描述

1>:直接从locahost01的数据链路层的数据封装开始:这时候他需要MAC地址,那么他就广播,获取到MAC地址02,那么就接着将数据帧转换成比特流通过光或则其他介质传输,到第一个sw(交换机)的时候数据解封和封装,在封装的过程中由需要用到MAC地址(此时需要改变在封装成帧的时候要改变源和目的的MAC地址)所以就广播获取到MAC03,…

四:总结

这是学习计网的小结,贴心杰自我感觉将一条数据是如何发送的整明白是对我们学习计算机网络很有帮助的,毕竟我们得了解,我们做这一步的意义在是什么,我们学习计网需要将 老师讲的知识和我们的知识框架结合起来,会效果很好。
上方的笔记,如有错误,或是疑问请留言!!我们共同进步,加油 girl!!!!!!!!!!!

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

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

相关文章

为什么我们需要Logstash,Fluentd等日志摄取器?

前文传送门:如何利用NLog输出结构化日志,并在Kibana优雅分析日志?疑问:既然应用能直接向ElasticSearch写日志,为什么我们还需要Logstash,Fluentd等日志摄取器?而且这些日志摄取器组件还成为日志收集的事实标…

7-1 装载问题 (10 分)(思路+详解)

一:题目 Come 宝宝!! 输出格式: 输出所有可行的方案数量 输入样例1: 3 50 50 10 40 40结尾无空行 输出样例1: 4结尾无空行 输入样例2: 3 50 50 20 40 40结尾无空行 输出样例2: 0二:思路 1.这个解的空间选择的是子集树 2.递归函数参数 b…

程序员是终身学习的职业,应该怎么学习?

在上一篇《一款用了就不想走的工具》中介绍了一款工具 Notion ,可以做学习的规划、时间的管理、学习的记录等,但学习本身还是需要一些方法的,本文谈谈我对学习的一些感悟。不管你是刚刚进入职场的新人,还是工作多年的老兵&#xf…

7-2 批处理作业调度 (10 分)(思路+详解)

一:题目:宝宝 你要永远开心,下雪了,多穿点, 输入格式: 第一行输入作业个数n。 第二行输入各任务在机器一上的完成时间。 第三行输入各任务在机器二上的完成时间。 输出格式: 最短完成时间和 输入样例: 3 2 3 2 1 1 3结尾无空…

WindowsSdkDir 从何处来?

缘起 我在《修复被破坏的 vs 工程设置》和《修复被破坏的 vs 工程设置(续)》这两篇文章中,分享了调查 VS 包含路径错误的问题,感兴趣的小伙伴儿可以查看。依稀记得在 2013 年的时候调查过类似的问题。前一阵子没翻到,这…

7-3 符号三角形 (10 分)(思路+详解)

一:题目 Come 宝 !!! 输入格式: 第一行符号个数n 输出格式: 符合要求的三角形个数 输入样例: 4结尾无空行 输出样例: 6二:思路 思路: 1.如果我们确立的第一行的符号是什么 ,那么我们就可以基本上确定我们的符号三…

7-1 内存分区分配--首次适应算法 (100 分)

一:题目7-1 内存分区分配–首次适应算法 (100 分) 宝 今天你看我博客了吗 输入内存的大小和阈值minsize,按照首次适应算法进行连续的分区分配。在划分时,若剩余的内存小于等于minsize,则将整块内存分配给该进程不再进行划分。 根…

如何在生产环境下用好EFCore

原文链接:https://www.thereformedprogrammer.net/handling-entity-framework-core-database-migrations-in-production-part-2/作者:Jon P Smith在生产中运用EFCore的模式实战这是使用EF Core迁移数据库的系列文章中的第二篇。本文着眼于将迁移应用于数…

39. 组合总和020(思路+详解)

一:题目: 给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。 candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种…

8种方法解决vue创建项目报错:command failed: npm install --loglevel error

8种方法解决vue项目创建失败问题1、重建项目2、清除缓存3、重装淘宝源4、修改useTaobaoRegistry5、重装node6、删除npmrc文件7、 node版本问题8、css编辑工具选择9、管理员身份运行踩了这个巨大的坑!! 试了一个晚上终于找到了创建项目成功了T_T 当报错了…

40. 组合总和 II021(回溯法)

一:题目 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 注意:解集不能包含重复的组合。 示例 1:输入: candidates [10,1,2,…

.NET Core + Kubernetes:Helm

Helm[1] 作为 Kubernetes 体系的包管理工具,已经逐渐成为了应用分发标准,在 .NET 开发中,可以理解为与 NuGet 包类似。回顾之前文章中的介绍,Kubernetes 中单个服务的部署有时会涉及到多种资源类型,如:Depl…

vue项目中引入阿里图标iconfont

vue如何在创建好的项目中引入阿里图标iconfont呢,涉及到以下几个步骤: 1、首先先到阿里图标官方网站https://www.iconfont.cn/,先对账户进行登录,登录完成后任意选择几个图标加入购物车 2、加入购物车后,点击页面最右…

78. 子集022(回溯法)

一:题目 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出:…

vue项目中使用vue-router进行路由配置及嵌套多级路由

在vue项目中,很多时候我们需要二级路由或者三级路由来跳转页面,但大部分需求下我们都只用到了二级路由,有小伙伴就会发现,用到三级路由的时候,就会突然不知所措,是有新的方法呢,还是跟二级路由配…

解决流氓软件方法(亲测有效)

一:问题描述 本来我想在百度上下载一个API文档,我当然知道是取官网上下载了,但是我想要的是中文版,所以我就搜啊搜,搜到脚本之家 ,那里面可以下载,我记得以前在里面下载过东西,以为安全就去下载…

.NET Core:跨平台和开源,让我在框架中脱颖而出

自从 2016 年微软发布了 .NET Core 1.0,至今 4 年的时间里,.NET Core 历经 7 个正式版本和几十个 Preview 版本。.NET Core 作为最通用的框架,和其他软件框架不同的是,它面向 Windows、Linux 和 MacOS 多个平台,在桌面…

vue实现侧边折叠菜单栏手风琴效果

在我们做管理后台亦或是产品流程时,总是需要一个菜单栏或者导航栏来架起我们的产品架构,那么,如何用vue实现侧边折叠导航栏呢?接下来将一一介绍。 请先看效果演示图。 步骤1:先架构整个页面的布局,撰写html…

程序员过关斩将--解决分布式session问题

微信搜一搜架构师修行之路session 说到 session,我相信每个程序员都不陌生,或多或少在项目中使用过。session 这个词,其实是一个抽象的概念,它不像 Cookie 那样有着明确的定义。当大多数程序员谈论 session 的时候,可能…

如何将nodejs项目程序部署到阿里云服务器上

将nodejs项目程序部署到阿里云服务器上一、概述二、具体步骤1、拥有自己的服务器2、下载Xshell3、 oneinstack配置web环境4、 XShell连接远程主机5、更新系统软件6、在服务器上安装node环境7、部署项目到服务器上8、安装pm2并启动nodejs项目三、快捷指令1、linux的常用命令2、p…