bit、进制、位、时钟(窗口)、OSI七层网络模型、协议、各种码

1.bit与进制  (个人理解,具体电路是非常复杂的)

物理层数据流,bit表示物理层数据传输单位,

一个电路当中,通过通断来表示数字1和0

两个电路要通讯,至少要两根线,一根作为电势参照,一根或者多根作为高低电势判断

以两根举例,他一次只能传输一个信号,所以系统间通讯是二进制,如果是N根(包括参考电线),那么系统间通讯是2^(N-1)进制,(3根  4进制   , 4根  8进制,  5根   16进制。。。。。)

网线是8根,实际有效是四根(不包括参考电线),所以网络传输是16进制(范围:0-F)

2.进制与位

计算机系统存储、运行、计算(寄存器、内存等)都是用的二进制,所以数据接受过来之后,要进行进制转换,比如16进制 的 C 转换为二进制 是  11000 , 原本16进制只要一位就能表示,转换之后需要5位表示。位就是数字再该进制下表示所需要的长度。

注:进制越大,1bit传输的数据越多,因为1bit指的就是1位

3.bit与时钟 (窗口)  (个人理解)

时钟是一个振荡器,cpu去处理数据只能是再周期内完成,一个周期只能处理一个指令,但是系统有很多线程、进程、应用程序,不可能cpu只处理A程序,完了之后再去处理B程序,这样会导致很多阻塞,所以cpu是一个周期内处理一下这个,下过周期处理另外一个。。。。

这样会有问题,假设两个系统通讯,A系统要发送给B系统,但是某个时刻A系统发送了数据过去,B系统在处理别的,这样会丢失数据,所以有了窗口概念,也就是B会有一个缓存区,缓存B系统一个周期或者多个周期间接收到的数据,等B开始处理这边数据的时候就从窗口缓存中读取处理,然后清空或者清理部分缓存出来。

(tcp协议发起建立链接之后,服务端回复ack会带窗口大小等信息,防止客户端一直不停的发消息)

4.OSI七层网络架构:

物理层、链路层、网络层、传输层、会话层、表现层、引用层

上面讲了物理层,链路层就是我数据包从A发送到B,期间有很多网卡,链路就是网卡间数据传输(物理地址)比如 我电脑连了wifi,我发数据到百度,先是我这边通过网线把数据给到交换机,然后路由器再把数据给到上一层网络,层层上传一直到百度服务器。物理地址:A->B ->C->D->百度的物理地址(有冲突域、广播域,这里不说了)

网络层:ip协议,有IPV4 \ IPV6  一般是IPV4 ,他是数据包从一个ip(主机)到指定的ip(主机),不同局域网有相同的ip,为了确定网络位置,有了网络位置、主机位置、子网掩码

如果N台电脑全部用集线器链接起来,分配ip是有限的,所以要网络分层,然后有了子网、掩码、寻址。比如 192.168啥的都是内网用  127.0.0.1啥的都是本地回环地址  (具体ip段用作什么可以自行百度),然后为了广播快就有了掩码,把同一层网络的主机,根据ip掩码进行广播(网络位置)

比如某一层有五个主机  43.120.4.1、43.120.5.1、43.120.8.1,那么,五个主机的掩码可以为 255.255.255.0也就是只要前面三段来判断网络位置  43.120.4 、  43.120.5、  43.120.8

比如这一层来了个数据包要去 43.120.5.14这个ip的,他会判断是那些网络位置,这里就是43.120.5这个网络位置,然后他就只会给43.120.5这个下面的主机进行广播。

如果你把43.120.8.1的掩码改成了255.255.0.0,那么他的网络位置就是43.120,也会进行广播

大概是这样,不过数字可能有问题,他是二进制的,掩码是要连续的1111和000两部分组成

比如 11111111.11111111.11111111.00000000 或者11111111.11111111.11111000.00000000

然后他去判断网络位置也是通过上面主机的ip二进制和掩码进行截取(&逻辑)

注:baidu.com是不能传输的,所以要进行dns去查询这个域名对应的ip然后封装数据包

传输层:协议一般是TCP\UDP(具体端口到端口的数据传输)

是端口对端口的,基于网络层协议,UDP是不稳定的,他不会占用端口一直等回复的,TCP是要等回复的ACK (所以会有DOS攻击) 半链接攻击是发送SYN,然后服务器发送SYN+ACK包(服务等待)然后我这边不发ACK包故意让服务器等,让他占资源 ;全链接攻击是服务器发了SYN+ACK包之后,我回复ACK包(服务器会进入接收数据状态),然后不发数据也不发FIN包。伪造攻击是别人TCP正常沟通中,我伪造客户端ip,发送rest包(前提是要能拿到客户最新的序列号,然后+1发过去,一般要处于网络中间位置截获),让服务器清空正常的窗口数据。

DDOS攻击就是一堆肉鸡一起对某个服务器同时发起DOS攻击

会话层:系统给其他系统或用户开的一个会话窗口(session,服务要保存会话状态、身份认证)

 HTTP\HTTPS协议  HTTP数据是可以抓的,明文的,HTTPS是在TCP和HTTP之间加了一层SSL/TSL协议,对数据加密,他是服务器生成公钥、私钥和一段明文,然后将明文HASH(报文)再私钥加密生成密文(签名),然后把签名、公钥、明文交给CA机构签发证书(包括生效、失效等信息)。浏览器访问https链接会下载安装证书 ,然后校验签名:明文HASH(报文)  然后  公钥解密签名得到“报文”,比对两个HASH报文是否一致,一致就说明服务器是信任的,然后客户端也要生成秘钥(对称加密的)然后通过公钥加密发给服务端,服务端拿到 “对称加密秘钥”的密文 之后用私钥解密出 对称加密秘钥 ,然后双方使用对称加密秘钥进行通讯

表现层:(具体的内容了,有不同表示形式,就有了不同协议,比如html是超文本协议、doc是文本、excel表格、exe可执行文件、zip压缩包等)

浏览器自己根据http头拿到格式进行内容解析显示出来就是表现层

应用层:(系统间的状态、协议等)

前端服务、微服务之间、以及项目服务与数据库之间的交流协议等等。

注:不同应用间数据交流用到的协议层数未必都要七层,比如多台计算机用集线器链接,只需要物理层就可以了(鼠标、键盘、网卡等),主机到主机(局域网内,通过交换机连接)只需要物理层+链路层就可以了

个人理解AI: 就是为了能和支持不同层协议系统进行沟通,比如:AI和网站沟通就要充当浏览器等,和DOC文档沟通,就要把自己当作个文件,输出相关内容给doc应用程序,保存doc的修改等;要和浏览器沟通,就要充当网站;最终是与人沟通,就要充当人,就要会发声、语义解析等

原码、反码、补码、移码  (对于二进制数据而言的) 校验码

原码:原本的数字表示 比如    0 1100011  负数是    1  1100011   (第一位是符号位)

反码:正数是他本身,负数是除了符号位,其他取反  比如  0 1100011       1  0011100(其他位和符号位异或运算)

补码: 正数补码是他自己,负数的补码是反码+1

校验码:校验数据包的正确性,以及纠错,有奇偶校验、海明校验、循环冗余校验(CRC ) 这里不细说了;

为啥要反码:因为计算机只有加法器,减一个数就相当于加该数的负数  结果再取反。

补码待会说

原理:负数的反码是(最高数-他)  比如(八位数,除去符号位是七位)  

0001100  取反就是  1111111-0001100 = 1110011

然后加上被减数(带符号位) 就是  被减数(符号位0)+(最高数-减数)(符号位1)

注:符号位在第八位,这里定义的最高数是七位的最高数(所以加符号位也就是最高数+1)

相当于 

结果 = 被减数+最高数-减数+最高数+1

= (最高数+最高数+1)+(被减数 - 减数)

注:(最高数+最高数+1) 相当于是(11111111八位) 最高数+1 是(10000000)八位  再加个最高数就是(11111111八位) 所以多加一就会进一位到第九位(高于八位会舍去),

所以,当被减数 - 减数 >= 1 的时候

会近一位到第九位,舍去(相当于减去了一个(100000000 九位)),也就是(高位数+1)*2 

高位数加1 是 (10000000 八位)左移一位相当于是乘以2

此时:

结果 = (最高数+最高数+1)+(被减数 - 减数)-(高位数+1)*2 

=最高数+最高数+1+被减数-减数   -   2*最高数   -  2

=被减数 - 减数 -1

他是正数,且符号位正好是0 ,取反码就是他自己,这里多减了1,所以才有补码(反码+1)

当被减数 - 减数 <1 的时候取反逻辑:

不会进位到第九位,

此时:

结果=(最高数+最高数+1)+(被减数 - 减数)

= 最高数+最高数+1 +被减数-减数

由于 被减数 - 减数<1 也就是 0 或者负数,这时候没有进位,最高位是1(符号位)

表示他是负数,

然后取反:也就是最高数(七位) - 结果(不带符号位的),然后补上符号位

结果不带符号位也就是(减去了 10000000)最后补上符号位也就是(加上了10000000)

也就是= 最高数 - (最高数+最高数+1+被减数-减数 - (最高数 + 1))+最高数+1

= 最高数 - (最高数+被减数-减数)+最高数+1

= 减数 - 被减数 + 最高数+1

其中(最高数+1)是符号位 ,减数-被减数  负数取了相反数  正好

补码会不会影响这里呢,不会,因为减数取补码+1,然后最终结果是负数取相反数+1

也就是减1再加了1,正好。

然后byte为啥是 -128 到 127 ,因为反码逻辑下,负数表示是  -127 到 -0 ,正数 是 +0 到 127

然后0重复表示了,

然后补码是:比如 -1的补码是  11111111(原码10000001 反码11111110)

 -2的补码是  11111110(原码 10000010 反码11111101)

依次类推,补码是-1  原码 +1   

   一直到  -1*(2^8-1)反码能表示的极限(相当于int的-127) 10000001(原码11111111 反码 10000000)

在-1的时候,反码是不能减了,他符号位不能动的,但是补码还可以-1,此时是

-1*2^8  (相当于int的-128) 10000000(原码 100000000 九位了,表示不了,反码也就没了)

因此规定 int的-128没有原码和反码,只有补码,记做1000000......(原本是-0的反码)

移码

用于小数表示,科学计数法

比如 十进制 31.415926 的科学计数法是   3.1415926*10^1 (底数是 0-10之间的数(不包括0和10))

这里的底数是3.1415926   指数是 1

二进制表示: 比如  111.00101  科学计数法是  1.1100101*2^2 (底数是0到2之间的数)

底数是1.1100101   指数是 2

由于二进制底数的整数部分只能是1,所以在存储的时候 只要记录符号、小数部分和指数就可以

float是32位  符号一位  指数位8位 23位尾数

由于指数也有负数,这里没有用补码形式表示,用的移码,也就是有个偏移量 127

原本范围是 0 到 2^9-1  

现在都减去127,就成了   -127   到 2^9 - 128 范围

比如  -3.125   表示二进制是  -11.001(整数短除法,小数乘法去换算)

  科学计数法是  -1.1001*2     尾数是   1001  指数 是 1  符号位是 1

指数的移码是  1   对应的原码要+127  = 128 = 2^7  对应二进制 (10000000八位)

所以 他的表示是   1 10000000 10010000000000(后面一堆0不写了)

duble是64位   1个符号位  11位指数位  52位尾数位

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

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

相关文章

Java中使用Graphics2D绘制字符串文本自动换行 算法

效果&#xff1a; 代码&#xff1a; /*** return void* Author xia* Description //TODO 写字换行算法* Date 18:08 2021/4/1* Param []**/private static void drawWordAndLineFeed(Graphics2D g2d, Font font, String words, int wordsX, int wordsY, int wordsWidth) {FontD…

东北大学工程训练CNC加工中心(坤图)

东北大学加工中心&#xff08;CNC&#xff09;采用的系统为FANUC系统。 要求学生自主设计图样&#xff0c;编写GCODE文件&#xff0c;操作电脑使机床按设计路径铣出图案。 本人设计的图样为坤坤图 图为用CAD设计绘制的图样。 计算坐标&#xff0c;设计铣刀轨迹&#xff0c;得…

Linux--基础IO(上)

目录 1. 文件的边角知识 1.1 文件是什么&#xff1f; 1.2 文件是怎么打开的&#xff1f; 1.3 进程与文件 进程与文件的关系 2. 重温c语言文件接口 2.1 打开文件的方式 2.2 读写文件接口的重温 2.2.1 写文件 2.2.2 读文件 3. 系统文件I/O 3.1 系统接口 3.2 系…

【深度学习-第5篇】使用Python快速实现CNN分类(模式识别)任务,含一维、二维、三维数据演示案例(使用pytorch框架)

在之前的文章中介绍了CNN的图解入门&#xff0c;CNN的MATLAB分类实现&#xff0c;CNN的MATLAB回归实现。 卷积神经网络(Convolutional Neural Networ&#xff0c;简称CNN)是一种广泛应用于图像识别领域的深度学习算法。它通过模拟人类视觉系统的层次结构&#xff0c;可以自动提…

nginx-1.24.0 安装教程

下载nginx安装包 mkdir -p /home/app cd /home/app wget http://nginx.org/download/nginx-1.24.0.tar.gz 解压缩 tar -zxf nginx-1.24.0.tar.gz 下载nginx二进制包编译所需的工具和依赖 yum install gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel -y 编译…

Arduino平衡小车

一&#xff0c;TB6612FNG电机驱动芯片 TB6612FNG是东芝半导体公司生产的一款直流电机驱动器件&#xff0c;它具有大电流MOSFET-H桥结构&#xff0c;双通道电路输出&#xff0c;可同时驱动2个电机. 参数名称参数值电压范围2.7-5.5V最大输入电压15V输出电流1.2A(平均)/3.2A&…

Vitis HLS 学习笔记--HLS入门示例集合-目录

目录 1. 示例集合概述 2. Interface 接口 2.1 Aggregation_Disaggregation 聚合与解聚 2.1.1 aggregation_of_m_axi_ports 2.1.2 aggregation_of_nested_structs 2.1.3 aggregation_of_struct 2.1.4 auto_disaggregation_of_struct 2.1.5 disaggregation_of_axis_port …

模块化 手写实现webpack

模块化 common.js 的导入导出方法&#xff1a; require \ export 和 module.exports export 和 module.export nodejs 内存1.4G -> 2.8G cjs ESModule 主要区别&#xff1a; require属于动态类型&#xff1a;加载执行 同步 esmodul是静态类型&#xff1a;引入时并不会真的去…

Autosar AP的基本构成

1. 引言 Autosar AP的体系结构是怎样的呢&#xff1f;从整体的宏观的方向上划分&#xff0c;分为 1&#xff09;应用层&#xff0c;其中放置各种应用组件SWCs。2&#xff09;运行时基本功能软件族群&#xff0c;提供基本AutoSar基本软件中间件&#xff0c;比如经典的通信服务…

【漏洞复现】云时空社会化商业ERP系统slogin SQL注入漏洞

漏洞描述&#xff1a; 云时空社会化商业ERP系统slogin存在SQL注入漏洞&#xff0c;攻击者可以通过此漏洞获取数据库敏感信息。 搜索语法: Fofa-Query: app"云时空社会化商业ERP系统" 漏洞详情&#xff1a; 1.云时空社会化商业ERP系统。 2.漏洞POC&#xff1a; …

智慧园区引领未来产业趋势:科技创新驱动园区发展,构建智慧化产业新体系

目录 一、引言 二、智慧园区引领未来产业趋势 1、产业集聚与协同发展 2、智能化生产与服务 3、绿色可持续发展 三、科技创新驱动园区发展 1、创新资源的集聚与整合 2、创新成果的转化与应用 3、创新文化的培育与弘扬 四、构建智慧化产业新体系 1、优化产业布局与结构…

JavaScript:将input标签中的内容打印到控制台

使用浏览器进行开发时&#xff0c;按F12可以查看网页信息。 目标&#xff1a;实现将input标签中的内容&#xff0c;打印到控制台&#xff08;console&#xff09; HTML页面的关键代码实现&#xff1a; 登录功能&#xff1a; HTML代码&#xff1a; <div class"form-…

Node.js 22 发布,原生支持 WebSocket 客户端

昨日&#xff0c;Node.js 官方博客正式宣布 Node.js 22 的发布&#xff01;新版本亮点包括 require() ES 模块、WebSocket 客户端、V8 JavaScript 引擎的更新等&#xff01; Node.js 22 将在 10 月进入长期支持 (LTS)&#xff0c;但在此之前&#xff0c;它将是接下来六个月的 …

【AI相关】数学和统计学知识

数学和统计学的知识可以分为两部分&#xff1a; 一部分是线性代数中的基础概念&#xff0c;比如标量、向量和张量。 另一部分是概率统计中常见的分布类型&#xff0c;比如正态分布和伯努利分布。 线性代数 什么是标量&#xff1f; 标量是一个单独的数&#xff0c;可以是整…

2021年全国大学生电子设计竞赛D题——基于互联网的摄像测量系统(二)

09 电路设计 前面介绍了系统的硬件框图如下&#xff1a; 硬件基本分为三块&#xff0c;两个摄像节点&#xff0c;一个终端节点。 1. 摄像节点硬件 摄像节点由一个DE10-Nano开发板和一个D8M摄像头实现&#xff0c;DE10-Nano开发板的HDMI接口外接HDMI显示器来显示拍摄到的视频。…

vue3的getCurrentInstance获取当前组件实例

vue3的setup中没有this时需要使用getCurrentInstance()来获取。 在 Vue 3 中&#xff0c;getCurrentInstance 方法可以在组合式 API&#xff08;Composition API&#xff09;中获取当前组件实例。这个方法返回一个包含了组件实例的对象&#xff0c;你可以用它来访问组件的 pro…

详解MySQL C API 相关接口(大白话就是:MySQL的c语言怎么写)

文章目录 1、C API 官方文档2、初始化 MYSQL3、连接 MySQL设置连接字符集&#xff08;使得客户端编码方式匹配&#xff09; 4、下发 mysql 指令5、获取 mysql 查询结果(保存起来)获取行与列遍历存储结果 6、释放 MYSQL\_RES 对象7、关闭 MySQL 连接8、总结 1、C API 官方文档 …

动态规划---斐波那契数列模型

目录 一、斐波那契数列的基本概念 二、动态规划在斐波那契数列中的应用与优势 三、实际案例&#xff1a;使用动态规划解决斐波那契数列问题 四、动态规划问题的做题步骤 五、例题 1、第N个泰波那契数---点击跳转题目 2、三步问题----点击跳转题目 3、最小花费爬楼梯---…

FANUC机器人socket通讯硬件配置

一、添加机器人选配包 Fanuc机器人要进行socket通讯&#xff0c;需要有机器人通讯的选配包&#xff0c;1A05B-2600-R648 User Socket Msg&#xff0c;1A05B-2600-R632 KAREL&#xff0c;1A05B-2600-R566 KAREL Diagnostic&#xff0c;1A05B-2600-J971 KAREL Use Sprt FCTN。 二…

【漏洞复现】WebLogic XMLDecoder反序列化(CVE-2017-10271)

1、漏洞描述 CVE-2017-10271漏洞产生的原因大致是Weblogic的WLS Security组件对外提供webservice服务&#xff0c;其中使用了XMLDecoder来解析用户传入的XML数据&#xff0c;在解析的过程中出现反序列化漏洞&#xff0c;导致可执行任意命令。攻击者发送精心构造的xml数据甚至能…