网络基础(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 配置证书,使其信任由未知机构签名的证书。 具…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
