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  (有冲突域、广播域,这里不说了)

如果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攻击

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

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

应用层:前后端服务、系统间通讯啥的

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

原码:原本的数字表示 比如    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位尾数位

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言入门课程学习笔记2

C语言入门课程学习笔记2 第8课 - 四则运算与关系运算第9课 - 逻辑运算与位运算第10课 - 深度剖析位运算第11课 - 程序中的选择结构 本文学习自狄泰软件学院 唐佐林老师的 C语言入门课程&#xff0c;图片全部来源于课程PPT&#xff0c;仅用于个人学习记录 第8课 - 四则运算与关系…

Java | Leetcode Java题解之第48题旋转图像

题目&#xff1a; 题解&#xff1a; class Solution {public void rotate(int[][] matrix) {int n matrix.length;// 水平翻转for (int i 0; i < n / 2; i) {for (int j 0; j < n; j) {int temp matrix[i][j];matrix[i][j] matrix[n - i - 1][j];matrix[n - i - 1]…

【Camera KMD ISP SubSystem笔记】CAM SYNC与DRQ②

DRQ的作用&#xff1a; DRQ负责调度管理pipeline里的node处理逻辑(通过node之间的dependency依赖机制) 利用多线程并行处理Pipeline中并行的node&#xff0c;加快处理速度 DRQ运转流程&#xff1a; DRQ先告诉node fill dependency&#xff0c; 此时seq id 为0…

15.接口自动化学习-Mock(挡板/测试桩)

场景&#xff1a; 新需求还未开发时&#xff0c;使用mock提早介入测试&#xff0c;等后边开发后&#xff0c;进行调试 三方接口返回效率低&#xff0c;使用mock技术走通流程 1.mock方式 &#xff08;1&#xff09;如果会写django或flask,可以写简单对应的代码 &#xff08;…

小红书的影视剧泥土刷剧5天涨千粉7天接商单轻轻松松月入了万没脑子运送游戏玩法,新手也可以快速上手

大家好&#xff0c;今天我将为大家介绍一个项目&#xff1a;在小红书上通过观看和分享影视剧内容&#xff0c;五天涨千粉&#xff0c;七天接商业订单&#xff0c;轻松月入过万。这个项目的玩法简单易学&#xff0c;即使是新手也能快速上手。 下载 地 址 &#xff1a; laoa1.c…

【网络安全】系统0day分析

前言 起因看见通告&#xff0c;描述是通过/lfw/core/rpc接口访问到PortalSpecServiceImpl类中的createSkinFile方法。 补丁名称&#xff1a;patch_portal65_lfw任意文件上传漏洞 补丁编码&#xff1a;NCM_NC6.5_000_109902_20240301_GP_281362040 【386G《黑客&网络安全入…

基于STM32的蓝牙小车(虚拟串口模拟)的Proteus仿真

文章目录 一、前言二、仿真图1.要求2.思路3.画图3.1 电源部分3.2 超声波测距部分3.3 电机驱动部分3.4 按键部分3.5 蓝牙部分3.6 显示屏部分3.7 整体 4.仿真5.软件 三、总结 一、前言 proteus本身并不支持蓝牙仿真&#xff0c;这里我采用虚拟串口的方式来模拟蓝牙控制。 这里给…

医院敏感文件交互 如何保障安全和效率?

医院会产生大量的敏感文件&#xff0c;这些敏感文件交互时&#xff0c;都需要使用特殊的手段&#xff0c;来保障数据的安全性。 医院的敏感数据主要包括以下几类&#xff1a; 1、患者基本信息&#xff1a;包括患者的姓名、身份证号码、户籍地或现住址、联系方式、文化程度、既…

jar包做成Windows Service 服务,不能访问网络映射磁盘

在Windows操作系统中&#xff0c;系统服务&#xff08;Services&#xff09;、计划任务&#xff08;Scheduled Tasks&#xff09;以及很多系统调用都是以SYSTEM系统账号进行操作的。用 net use 挂载&#xff0c;或者在文件管理器上直接挂载&#xff0c;挂载卷是以 Administrato…

504网关超时可能是哪些原因导致

当前随时互联网的发展普及&#xff0c;我们经常会使用到网站服务&#xff0c;许多网站为了提高打开速度&#xff0c;都会接入使用CDN。当我们在浏览网页或使用网络服务时&#xff0c;有时候可能有遇到网站打不开的情况&#xff0c;出现各式各样的错误代码&#xff0c;其中504网…

书生·浦语 大模型(学习笔记-5)XTuner 微调 LLM:1.8B、多模态、Agent

一&#xff1a;两种微调 增量与训练和指令微调的区别 二、数据的一生 原始数据转换为标准格式数据 添加对话模板&#xff0c;直接调用即可&#xff0c;会拼接 三、微调方案 三种加载对比 四、XTuner 五、8GB 显存玩转 LLM 五、InternLM2 1.8B模型&#xff08;相关知识&#x…

【火柴题】509移动两根火柴变成最大的数字

题目 509移动两根火柴变成最大的数字 <font face"DS-Digital" size"6">5&thinsp;0&thinsp;9</font>答案 <font face"DS-Digital" size"6">9&thinsp;1&thinsp;1&thinsp;8&thinsp;</font…

【JavaScript】Mockjs

基础语法 <script src"https://cdn.bootcdn.net/ajax/libs/Mock.js/1.0.0/mock-min.js"></script> <script>let mockData Mock.mock({age|10-50: 1, // 此时生成对象的 age 属性会是 10-50 之间的数 1 此时只是用来确定类型arr|5-10: [{id|1: 1,…

物联网五层架构:每一层都扮演着不可或缺的角色——青创智通

物联网五层架构涵盖了感知层、网络层、数据层、应用层和业务层&#xff0c;每一层都扮演着不可或缺的角色&#xff0c;共同构成了物联网的完整生态系统。下面我们将详细探讨这五层架构的功能和特点。 首先&#xff0c;感知层是物联网的起点&#xff0c;负责获取和识别各种物理世…

3DTiles特性与内容解析

一篇19年整理的比较老的笔记了。更多精彩内容尽在数字孪生平台。 瓦片种类 3DTiles瓦片有多种类型&#xff1a; b3dm(Batched 3D Model&#xff0c;批量3D模型) b3dm瓦片存储了多个个体&#xff0c;b3dm中的glb代表的实际对象应该具有相同的种类但是可能数据内容不同。b3dm…

ROS摄像机标定

文章目录 一、环境准备二、摄像头标定2.1 为什么要标定2.2 标定前准备2.2.1 标定板2.2.2 摄像头调焦 2.3 开始标定2.4 测试标定结果 总结参考资料 一、环境准备 安装usb_cam相机驱动 sudo apt-get install ros-noetic-usb-cam 安装标定功能包 sudo apt-get install ros-noet…

力扣HOT100 - 108. 将有序数组转换为二叉搜索树

解题思路&#xff1a; 二叉搜索树一般使用中序遍历 class Solution {public TreeNode sortedArrayToBST(int[] nums) {return helper(nums,0,nums.length-1);}public TreeNode helper(int[] nums,int left,int right){if(left>right) return null;//确定根节点//总是选择中…

微软发布Phi-3,手机上就能跑,是时候聊聊小型语言模型了|TodayAI

微软公司最近宣布推出了其最新开发的最新AI语言模型&#xff0c;名为Phi-3。这款小型语言模型&#xff08;SLMs&#xff09;在市场上以其卓越的性能和成本效率获得关注&#xff0c;尤其在语言处理、推理、编程及数学基准测试方面表现出色&#xff0c;超越了同等规模甚至更大规模…

2024年教你学会如何把学浪视频下载到本地

今年是2024年&#xff0c;依然有很多小伙伴想下载学浪却不知道怎么下载&#xff0c;本文就教大家如何使用小浪助手工具下载学浪视频 小浪助手工具我已经打包好了&#xff0c;有需要的自己取一下 学浪下载工具链接&#xff1a;https://pan.baidu.com/s/1-axc7xDtwU_KtupCe52sV…