网络基础(1)
目录:
1.了解局域网(LAN)和广域网(WAN)
2.认识“协议”
3.浅谈OSI七层模型
4.网络传输的基本流程
5.路由器这个设备
-------------------------------------------------------------------------------------------------------------------------
1.局域网(LAN)和广域网(WAN)
局域网(LAN):通过交换机和路由器,将更多的计算机连接在一起;

广域网(WAN):将远隔千里之外的计算机连在一起
所谓“广域网”和“局域网”只是一个相对的概念,比如,我们有“天朝特色”的广域网,也可以看作是一个比较大的局域网
2.认识“协议”
“协议”是一种约定

计算机之间的传输媒介是光信号和电信号,通过“频率”和“强弱”来表示 0和1这样的信息,要想传递各种不同的信息,就需要约定好双方的数据格式
1.计算机的生厂商有很多
2.计算机操作系统,也有很多
3.计算机网络硬件设备,还是有很多
如何让这些不同厂商生产的计算机相互顺畅的通信??就需要有人站出来,约定一个共同的标准,大家来遵守,这就是网络协议
网络协议初识 ----->协议分层



通信的复杂,本质是和距离成正相关的!!


-----------------------------------------------------------------------------------------------------------------------
3.浅谈OSI七层模型
OSI七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范
把网络从逻辑上分为7层,每一层都有相关、相对应的物理设备,比如路由器、交换机
它最大的优点是将服务、接口、和协议这三个概念明确地区分开来
但是,它即复杂又不实用,所以我们按照TCP/IP四层模型来讲解

TCP/IP五层模型
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议族
TCP/IP通讯协议采用了层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求
物理层 : 负责光/电信号的传递方式,比如现在的以太网通用的网线(双绞线)
物理层的能力决定了最大传输速率,传输距离、抗干扰性等
数据链路层: 负责设备之间的数据帧的传送和识别 , 例如网卡设备的驱动、帧同步(就是说从网上检测到什么信号算新帧的开始)、冲突检测(如果检测到冲突就重发), 我们的局域网就是工作在数据链路层的(以太网 、 令牌环网 、无线LAN等标准),交换机工作在数据链路层
网络层: 负责地址管理和路由选择, 例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由),路由器工作在网络层
传输层: 负责两台主机之间的数据传输,如传输控制协议(TCP) 能够确保数据可靠的从源主机发送到目标主机
应用层 : 负责应用层序间沟通,如简单的电子邮件传输(SMTP)、文件传输协议(FTP),我们的网络编程主要是针对应用层

对于一台主机,它的操作系统内核实现从传输层到物理层的内容
对于一台路由器,它实现了从网络层到物理层
对于一台交换机,它实现了从数据链路层到物理层
对于集线器 , 它只实现了物理层
4.网络传输的基本流程

我们先解决两台主机在同一个局域网是如何直接通信的

我们的网络在通信的过程中,也必须自顶向下把数据报文交付到最底层,在底层的以太网中跑完之后,在自底向上,再把数据交到你主机的应用层
------------------------------------------------------------------------------------------------------------------------------

报头相当于快递上的快递单号(对你来说单号有没有不重要,只要东西最后到你手上了即可,但是在传递的过程中一定是需要快递单号的,不然怎么知道目的地在哪里等相关信息)
协议报头,当上层数据交给下层之后,下层也是有自己的协议,下层需要做的就是把上层交过来的数据,结合自己这一层的报头,给数据多添加一部分报头数据,以供对方的同层协议,来进行解报和来对数据进行提取
报头是发送方和接收方互相传递属性字段的一个非常重要的概念

当对方的链路层,收到这样的一个数据帧时,同样也经过一样的过程向上进行交付(解包的过程)
最后在对方的应用层拿到了“你好”的数据
封装的本质 : 是添加报头
解包的本质 : 去掉报头,对报头进行分析
我们现在知道了,两台主机在同一局域网中的通信过程的了
我们还不知道我们的数据封装好之后,是如何通过局域网传给对方的主机的

如果当B和D在进行通信时,A也向这个局域网发送光电信号,A是个捣蛋分子,B刚给D发送了一个信号,局域网是共享的,A不断的向这个局域网当中发送信号,那么这时候就会将A发出的信号和B发出的信号揉在一起,那D都无法识别B的信息了--------------碰撞问题
如果碰撞了怎么办呢?? ------> 局域网会有碰撞避免的,等一等 ,在重发
局域网中我们标识主机的唯一性 : MAX地址(写入到网卡当中的地址)这个地址在全球范围内都是唯一的
路由器这个设备

当两台主机不在同一个局域网当中,要进行通信,就需要有路由器这个东西的存在
A主机不能直接通过网络把数据交付给B主机,A主机的局域网通信的标准是以太网,B主机的通信标准是令牌环网,他们两个用的标准不一样 --- 必须经过一个路由器这样的设备
路由器也是一台主机 , A主机和路由器是在同一个局域网的,所以A主机和路由器是在同一个局域网的,路由器和B主机也在同一个局域网,也是可以和B主机直接通信的,A和B不能直接通信,但是可以通过间接的方式进行通信
IP地址和MAX地址
A主机想把数据发给B主机,拿到B主机的MAX地址没有任何用,毕竟A没有办法直接向B主机直接通信,所以A主机要向B主机发起通信,只能拿到B主机的IP地址(A主机有的是方法拿到B主机的IP地址) , 那么A主机只能用B主机的IP地址给B主机发信息了

MAX地址会随着我的位置,不断发生变化

在使用TCP/IP协议的网络中,IP协议及其向上的协议,看到的报文都是一样的。
不同的协议层对数据包有不同的称谓,在传输层叫做段,在网络层叫做数据报,在链路层叫做帧
相关文章:
网络基础(1)
目录: 1.了解局域网(LAN)和广域网(WAN) 2.认识“协议” 3.浅谈OSI七层模型 4.网络传输的基本流程 5.路由器这个设备 ---------------------------------------------------------------------------------------…...
flink的AggregateFunction,merge方法作用范围
背景 AggregateFunction接口是我们经常用的窗口聚合函数,其中有一个merge方法,我们一般情况下也是实现了的,但是你知道吗,其实这个方法只有在你使用会话窗口需要进行窗口合并的时候才需要实现 AggregateFunction.merge方法调用时…...
Day25力扣打卡
打卡记录 寻找旋转排序数组中的最小值(二分) 链接 由于是旋转排序数组,所以整个数组有两部分是递增的,选取右侧最后元素,即可将整个数组分为大于该元素和小于该元素,碰头地段即为最小值。 class Solutio…...
SpringCloud - OpenFeign 参数传递和响应处理(全网最详细)
目录 一、OpenFeign 参数传递和响应处理 1.1、feign 客户端参数传递 1.1.1、零散类型参数传递 1. 例如 querystring 方式传参 2. 例如路径方式传参 1.1.2、对象参数传递 1. 对象参数传递案例 1.1.3、数组参数传递 1. 数组传参案例 1.1.4、集合类型的参数传递…...
Postgresql数据类型-布尔类型
前面介绍了PostgreSQL支持的数字类型、字符类型、时间日期类型,这些数据类型是关系型数据库的常规数据类型,此外PostgreSQL还支持很多非常规数据类型,比如布尔类型、网络地址类型、数组类型、范围类型、json/jsonb类型等,从这一节…...
SPASS-交叉表分析
导入数据 修改变量测量类型 分析->描述统计->交叉表 表中显示行、列变量通过卡方检验给出的独立性检验结果。共使用了三种检验方法。上表各种检验方法显著水平sig.都远远小于0.05,所以有理由拒绝实验准备与评价结果是独立的假设,即认为实验准备这个评价指标是…...
用Python的requests库来模拟爬取地图商铺信息
由于谷歌地图抓取商铺信息涉及到API使用和反爬虫策略,直接爬取可能会遇到限制。但是,我们可以使用Python的requests库来模拟爬取某个网页,然后通过正则表达式或其他文本处理方法来提取商铺信息。以下是一个简单的示例: # 导入requ…...
使用EvoMap/Three.js模拟无人机灯光秀
一、创建地图对象 首先我们需要创建一个EM.Map对象,该对象代表了一个地图实例,并设置id为"map"的文档元素作为地图的容器。 let map new EM.Map("map",{zoom:22.14,center:[8.02528, -29.27638, 0],pitch:71.507,roll:2.01,maxPit…...
11.9存储器实验总结(单ram,双ram,FIFO)
实验设计 单端口RAM实现 双端口RAM实现 FIFO实现 文件结构为...
linux(ubuntu)安装并使用scrcpy
scrcpy 是一款开源的在计算机上显示和控制 Android 设备的工具。要在 Ubuntu 上使用 scrcpy,你可以按照以下步骤进行安装: 通过命令行安装 scrcpy: 安装 scrcpy: 打开终端(Terminal)并执行以下命令来安装…...
linux rsyslog安装配置
syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/rsyslog.conf文件。syslog守护进程是可配置的,它允许人们为每一种类型的系统信息精确地指定一个存放地点。syslog使用UDP 514/TCP 514端口。 1.环境信息 环境信息 HostnameIpAddressOS versionModuleNoterh…...
美国Embarcadero公司正式发布2023 RAD Studio Delphi C++ Builder 12 Athens
Embarcadero 非常高兴地宣布发布 RAD Studio 12 Athens 以及 Delphi 12 和 CBuilder 12。RAD Studio 12 Athens 版本包含令人兴奋的新功能,为该产品的未来奠定了基础。 目录 主要新功能 C 的奇妙之处Delphi 的一些不错的补充FireMonkey 和 Skia 作为新基金会采用 MD…...
树莓派4B的测试记录(CPU、FFMPEG)
本文是用来记录树莓派 4B 的一些测试记录。 温度 下面记录中的风扇和大风扇是这样的: 为什么要用大风扇呢?因为小风扇在外壳上,气流通过外壳的珊格会有啸叫,声音不大但是很烦人,大风扇没这个问题,并且同样…...
物联网AI MicroPython学习之语法 二进制与ASCII转换
学物联网,来万物简单IoT物联网!! ubinascii 介绍 ubinascii模块实现了二进制数据与各种ASCII编码之间的转换。 接口说明 a2b_base64 - 解码base64编码的数据 函数原型:ubinascii.a2b_base64(data)注意事项: 在解码…...
学之思项目的搭建部署 打jar包失败的解决方法
学之思系统介绍部署java环境安装maven安装node.js前端打包工具命令npmGit命令获取源代码安装配置mysql前端打包打包jar包服务上线!!!打jar包失败的解决方法 学之思系统介绍 学之思开源考试系统是一款 java vue 的前后端不分离的考试系统。主要优点是开发、部署简单快捷、界面…...
[100天算法】-定长子串中元音的最大数目(day 67)
题目描述 给你字符串 s 和整数 k 。请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。英文中的 元音字母 为(a, e, i, o, u)。示例 1:输入:s "abciiidef", k 3 输出:3 解释…...
Elastic Observability 8.11:ES|QL、APM 中的通用分析和增强的 SLOs
作者:Tom Grabowski, Katrin Freihofner, Israel Ogbole Elastic Observability 8.11 引入了 ES|QL for Observability(技术预览版)、Universal ProfilingTM 和 Elastic APM 集成,以及针对 Elastic Observability 的新 SLO &#…...
TexGen简单模型对应inp文件简单梳理-2
模型 默认最简单的编织复材,编辑材料属性时发现基体属性设置正常,各向同性材料,但是纱线的材料属性却没有弹性性能的设置。 导出inp文件后,导入ABAQUS中其实可以看到有两种材料,纱线也是有属性的。 ABAQUS中修改属性的…...
VUE获取当前日期的周日和周六
<template><div><div click"handleLast()">上一周</div><div click"handleNext()">下一周</div><el-calendarref"monChild"v-model"value":first-day-of-week"7":range"[sta…...
K8S篇之k8s containerd模式fail to pull image certificate signed by unknown authority
"k8s containerd模式fail to pull image certificate signed by unknown authority"的问题 解决方案:您有两个选择:配置证书或禁用证书验证。 配置证书:您可以为 containerd 配置证书,使其信任由未知机构签名的证书。 具…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...
