计算机网络 1

news2024/11/19 13:20:33

两台主机想通信,其实本质就是两个文件的资源交换,但是长距离的通信,面临的是很多的问题。这个时候需要通过一些方式来保证可靠性
在这里插入图片描述

什么是协议

这样一个例子,我是住在农村,我读高中了我需要去县里面读书。这个时候呢,本来给的生活费就不多,我不想把生活费浪费在打电话上。我就和家里面有一个约定。说,如果电话响了一声,证明我安全达到学校,如果电话响了两声,就证明我没有生活费了,你需要给我打钱,如果电话响了两声以上,就是证明我有其他事情找你,你必须接电话了。

但是这样就行了吗?

这个是代表我们能够正常的聊天,但是在真正聊天之前我们还需要做一些事情的。
比如说我们是一个帮派,很大很大。就是全国各地都有,我们为了确认对方是不是跟我们是一个帮派的,这个帮派的军师定了一个暗号,说“天王盖地虎” -》回答“小鸡炖蘑菇”才算正确。这个跟我们上面讲的协议差不多,但是有各种各样的人啊。方言对于军师来说听得懂,但是对于那些普通的小跟班,听不懂啊!怎么办?就不把对方当成一派的,杀了、。后面军师怪罪下来,说你为什么把对方杀了,对方回答正确了,那个小跟班说我听不懂啊我确认不了。军事一想确实是这样,但是就要求只是要这个帮派的都要学习普通话,用普通话会答暗号。这样就没问题啦。

这就是传说中的网络分层模型

在这里插入图片描述

为什么要分层,想想我们上面的两个例子。

在这里插入图片描述

协议 = 报头+有效载荷

协议我知道了,这个报头和有效载荷是什么呢?
我们想一下我们在网上购物,我们买了一个东西,但是商家发快递的时候会包装一个纸盒,顺丰快递呢会包装一个快递单在纸盒上。那我明明就只是买了东西(有效载荷),为什么要给我一个快递单子(报头呢)?这个快递单就是一个报头。使用俩区分是哪家快递公司的。同样,这里的每一层都有对应的协议。

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

mac的理解

我们要知道,ipv4现在已经不够用了,但是为了保证全国的机器可用,就会先给一个区域的位置的分一个地址,这个地址叫ip地址,然后,我们对这个区域的机器里面是公用一个ipv4地址的。然后但是我们又要区分这个区域里面的每一个机器,这个地址就是mac地址。到时候我们通信的时候,大多数都是由路由转到这个地址(mac地址)
在这里插入图片描述

这是一个用户A给用户b发送请求的过程,每一层都需要加一个报头。

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

有两个关键的问题

1 如何判断哪里是报头,哪里是有效载荷?
2 如何判断自己的有效载荷要交给上层的哪一个协议呢?

如何找这个问题很简单,就是一个倒着的多叉树,往上每一个节点一一比对就行。
针对第一个问题,可以用一个特殊额分隔符作为切分(这里后面会自己实现)

在这里插入图片描述

局域网的类别

在这里插入图片描述

西游记的例子
首先我们会有一个例子,唐僧的目的地是从东土大唐到西方如来佛主哪儿去,但是他到女儿国的时候,这样给女儿国国王说,女儿国国王给他说你的下一步是去黑风岭。
在这里插入图片描述

那么接下来我们要理解一下传输的过程了

在同一个局域网中,这个并不会完整的这样进行。当我们访问127.0.0.1的时候,直接从连路层直接就回到本机了。
在这里插入图片描述

令牌环网机制就是锁(后续了解一下)

跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器.
在这里插入图片描述
简要的叙述一下流程,首先我们跟上面的西游记一样,有一个初始ip 和 目标ip 但是网络这么大,不可能一下就从A发到B 。这时候我们用一些图的深度优先啊,广度优先啊算法之类。搜索目标路径。我们从物理层开始传输,传输到下一个节点的时候,物理层要往上开始分解之前的报头,分解之前的ip。到了这一步判断ip对不对。不对,就往下封装自己的报头,在物理层这样一步一部的往下发送,直到ip正确。

数据包封装和分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封(Encapsulation).
首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.
数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理

下图为数据封装的过程

在这里插入图片描述

解封过程

在这里插入图片描述

网络中的地址管理

认识IP地址

IP协议有两个版本, IPv4和IPv6. 我们整个的课程, 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4
IP地址是在IP协议中, 用来标识网络中不同主机的地址;
对于IPv4来说, IP地址是一个4字节, 32位的整数;
我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

认识MAC地址

MAC地址用来识别数据链路层中相连的节点;
长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)

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

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

相关文章

arm64虚拟化-CPU虚拟化

arm64虚拟化-CPU虚拟化 1 虚拟化1.1 CPU虚拟化1.2 内存虚拟化1.3 I/O虚拟化 2 异常状态2.1 AArch642.2 AArch32 3 启动到EL2异常等级4 CPU虚拟化4.1 进入VM4.2 退出VM 本篇博客是基于对苯叔《ARM64高级特性专题》的学习而总结的,大家如有需要可以去淘宝或者奔跑吧li…

【Nginx <末>】Nginx 基于 IP 地址的访问限制

目录 👋前言 📫一、限制 IP 可以实现哪些功能 👀二、 项目实现 2.1 访问控制实现 2.2 Nginx 配置中指定 IP 地址 💞️三、章末 👋前言 小伙伴们大家好,前面一段时间学习了 Nginx 的相关知识&#xff0c…

DAMA数据管理知识体系必背18张框图

近期对数据管理知识体系中比较重要的框图进行了梳理总结,总共有18张框图,供大家参考。主要涉及数据管理、数据治理阶段模式、数据安全需求、主数据管理关键步骤,主数据架构、DW架构、数据科学的7个阶段、数据仓库建设活动、信息收敛三角、大数据分析架构图、数据管理成熟度等…

Jenkins--从入门到入土

Jenkins–从入门到入土 文章目录 Jenkins--从入门到入土〇、概念提要--什么是CI/DI?1、CI(Continuous Integration,持续集成)2、DI(DevOps Integration,DevOps 集成)3、解决的问题 一、Jenkins安…

【深度学习】1.手动LogisticRegression模型的训练和预测

通过这个示例,可以了解逻辑回归模型的基本原理和训练过程,同时可以通过修改和优化代码来进一步探索机器学习模型的训练和调优方法。 步骤: 生成了一个模拟的二分类数据集:通过随机生成包含两个特征的数据data_x,并基于…

Android Compose 九:interactionSource 的使用

先上官方文档 InteractionSource InteractionSource represents a stream of Interactions corresponding to events emitted by a component. These Interactions can be used to change how components appear in different states, such as when a component is pressed or…

WordPress安装memcached提升网站速度

本教程使用环境为宝塔 第一步、服务器端安装memcached扩展 在网站使用的php上安装memcached扩展 第二步:在 WordPress 网站后台中,安装插件「Memcached Is Your Friend」 安装完成后启用该插件,在左侧工具-中点击Memcached 查看是否提示“U…

《拯救大学生课设不挂科第四期之蓝桥杯是什么?我是否要参加蓝桥杯?选择何种语言?如何科学备赛?方法思维教程》【官方笔记】

背景: 有些同学在大一或者大二可能会被老师建议参加蓝桥杯,本视频和文章主要是以一个过来人的身份来给与大家一些思路。 比如蓝桥杯是什么?我是否要参加蓝桥杯?参加蓝桥杯该选择何种语言?如何科学备赛?等…

webpack5生产模式

生产模式 生产模式准备 开发模式和生产模式有不同的 配置文件 2修改webpack.prod.js文件修改webpack.dev.js文件 修改webpack.dev.js文件 1》修改输出路径为undefined 2》将绝对路径进行修改,进行回退 此时文件的执行命令为 修改webpack.prod.js文件 1》修改绝…

跨平台之用VisualStudio开发APK嵌入OpenCV(三)

本篇将包含以下内容: 1.使用 Visual Studio 2019 开发一个 Android 的 App 2.导入前篇 C 编译好的 so 动态库 3.一些入门必须的其它设置 作为入门,我们直接使用真机进行调试,一方面运行速度远高于模拟器,另一方面模拟器使用的…

2024年【危险化学品经营单位安全管理人员】考试及危险化学品经营单位安全管理人员考试资料

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试考前必练!安全生产模拟考试一点通每个月更新危险化学品经营单位安全管理人员考试资料题目及答案!多做几遍,其实通过危险化学品经营单位安全管理…

Zoho Campaigns邮件营销怎么发邮件?

Zoho Campaigns,作为业界领先的邮件营销平台,以其强大的功能、用户友好的界面以及深度的分析能力,为企业提供了一站式的邮件营销解决方案,助力企业高效地触达目标受众,构建并巩固庞大的客户基础。云衔科技为企业提供Zo…

电量计量芯片HLW8110的前端电路设计与误差分析校正.pdf 下载

电量计量芯片HLW8110的前端电路设计与误差分析校正.pdf 下载地址: 链接:https://pan.baidu.com/s/1vlCtC3LGFMzYpSUUDY-tEg 提取码:8110

用Prometheus全面监控MySQL服务:一篇文章搞定

简介 在现代应用中,MySQL数据库的性能和稳定性对业务至关重要。有效的监控可以帮助预防问题并优化性能。Prometheus作为一款强大的开源监控系统,结合Grafana的可视化能力,可以提供全面的MySQL监控方案。 设置Prometheus 安装Prometheus 使…

深度学习面试问题总结(21)| 模型优化

本文给大家带来的百面算法工程师是深度学习模型优化面试总结,文章内总结了常见的提问问题,旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中,我们还将介绍一些常见的深度学习面试问题,并提供参考的回答及其理论基础&a…

ic基础|时钟篇05:芯片中buffer到底是干嘛的?一文带你了解buffer的作用

大家好,我是数字小熊饼干,一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结,并通过汇总成文章的形式进行输出,相信无论你是在职的还是…

leecode 637 二叉树的层平均值

leetcode 二叉树相关-层序遍历专题 二叉树的层序遍历一般来说,我们是利用队列来实现的,先把根节点入队,然后在出队后将其对应的子节点入队,然后往复此种操作。相比于二叉树的遍历递归,层序遍历比较简单,有…

2024年5月26日 (周日) 叶子游戏新闻

资深开发者:3A游戏当前处于一种尴尬的中间地带游戏行业整体,尤其是3A游戏正处于艰难时期。尽管2023年3A游戏佳作频出,广受好评,但居高不下的游戏开发成本(传闻《漫威蜘蛛侠2》的制作成本高达3亿美元)正严重…

WEB攻防【1】——ASP应用/HTTP.SYS/短文件/文件解析/Access注入/数据库泄漏

ASP:常见漏洞:本文所写这些 ASPX:未授权访问、报错爆路径、反编译 PHP:弱类型对比、mdb绕过、正则绕过(CTF考得多) JAVA:反序列化漏洞 Python:SSTI、字符串、序列化 Javascript&…

微服务下认证授权框架的探讨

前言 市面上关于认证授权的框架已经比较丰富了,大都是关于单体应用的认证授权,在分布式架构下,使用比较多的方案是--<应用网关>,网关里集中认证,将认证通过的请求再转发给代理的服务,这种中心化的方式并不适用于微服务,这里讨论另一种方案--<认证中心>,利用jwt去中…