(2)网络基础之IP
IP分为IPV4和IPV6。
以下只讲IPV4,IPV6后期会重新分出来
(以下均为个人理解,如果有误,欢迎提出。也希望如果转载,能通知我并注明转载信息,毕竟字也是我一个个码出来的。谢谢)
IPV4地址长度位32位,每一位都只有0和1,也就是只有高低电平。每8位构成一个字节,所以32/8=4个字节。如下图所示
(点不属于计算机存储,只是为了方便我们观看)
下面我们取一个字节出来看,IP是怎么计算的。 从右往左计算,N是对应的位数 ,计算公式:2的(N-1)次方 乘以 N对应的二进制 然后相加 得出十进制。
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
N |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
十进制 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
二进制 |
例如:
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
N |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
十进制 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
二进制 |
从右到左计算:2^(1-1)X1 + 2^(2-1)X0 + 2^(3-1)X1 + 2^(4-1)X0 + 2^(5-1)X1 + 2^(6-1)X1 + 2^(7-1)X0 + 2^(8-1)X1
=2^(1-1)X1 + 2^(3-1)X1 + 2^(5-1)X1 + 2^(6-1)X1+ 2^(8-1)X1
(可以发现二进制为0的部分可以不管,二进制为1,那么乘以1等于它本身)
=2^(1-1) + 2^(3-1) + 2^(5-1) + 2^(6-1)+ 2^(8-1)
=2^0+ 2^2 + 2^4+ 2^5+ 2^7
=1+4+16+32+128
=128+32+16+4+1 =181
(可以发现最后的结果就是表中二进制为1的部分对应的十进制相加)
为什么要取一个字节来说呢?
因为IPv4 ,每一个字节就用点来分割开计算。叫做点分制。每一个字节都是这么计算,所以最大为255.255.255.255
以上为个人理解,了解它们为什么存在,后期会进行内容添加。
(可能我没有那么多时间去写这个文档,更新比较慢,排版不是很好,可以给我点建议。有什么不懂的网络知识也可以留言,我看到也会尽可能答复)
最新文章
- document.forms用法
- python DBUtils.PooledDB 中 maxcached 和 maxconnections
- win7 解决IE浏览器不能打开网页的问题
- BNUOJ 1037 精神控制
- 用JS打开网页时自动更改css样式,可用于处理浏览器兼容
- OC2_分数类
- C#中的try catch finally
- patchdiff2 函数比较插件
- yzoi1109&;&;viojs1042最小步数的一点看法——回文数
- php之文件上传类代码
- (译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0)
- Python函数之内置函数
- CodeSmith和Powerdesigner的搭建和实例化操作 转载自黄聪同学
- tomcat运行模式
- 自动化测试Java一:Selenium入门
- 2018.12.30 洛谷P4238 【模板】多项式求逆
- Error updating database. Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: 'as3'
- Eclipse出现An error has occurred,See error log for more details的错误
- html_entity_decode() 将 HTML 实体转成字符原型
- 开发 WebAPP 的几个前端框架(不断更新中)
热门文章
- Android studio测试软件——Monkey学习及运用
- 关于div的水平垂直居中
- mybatis使用@Insert @SelectKey 执行插入语句时获得主键自增长值(转)
- expect无交互操作
- ArcEngine打开本地数据库
- 第一章 大体知道java语法1----------能写java小算法
- 微信小程序_(校园视)开发视频的展示页_下
- 前端 Jenkins 自动化部署
- vue项目中主要文件的加载顺序(index.html、main.js、App.vue)
- $\LaTeX$数学公式大全5