我们在浏览器中直接输入IP地址就可以访问某一个神秘的网站,那么这个IP地址是如何划分的呢?
IP,英文全写为 ,指TCP/IP网络体系中的网际互联协议,工作在OSI模型的网络层(简单了解即可) 。
更多内容欢迎访问博客
一、标准的IPv4地址划分规则
IP分为IPv4和IPv6,这篇文章主要讲述IPv4地址的划分 。
在IPv4中规定使用4个字节表示,也就是一共32位二进制数表示,但是使用二进制的方式不方便人记忆,所以我们转换为十进制,也就是点分十进制法表示,每8位用一个英文句话分隔开来,一共分为四组 。
IPv4一共划分为A,B,C,D,E这五类地址,如图所示 。
文章插图
A类地址中的标识位是0,网络地址位占用7位,主机位24位 。
B类地址中的标识位是10,网络地址占用14位,主机位16位 。
C类地址中的标识位是110,网络地址占用21位,主机位8位 。
但是D类地址和E类地址是不区分网络地址和主机地址的 。
A类地址00000000 00000000 00000000 00000000 = 0.0.0.001111111 11111111 11111111 11111111 = 127.255.255.255A类地址范围:0.0.0.0 ~ 127.255.255.255实际能分配的范围:1.0.0.1 ~ 127.255.255.254B类地址10000000 00000000 00000000 00000000 = 128.0.0.010111111 11111111 11111111 11111111 = 191.255.255.255B类地址范围:128.0.0.0 ~ 191.255.255.255实际能分配的范围:128.0.0.1 ~ 191.255.255.254C类地址11000000 00000000 00000000 00000000 = 192.0.0.011011111 11111111 11111111 11111111 = 223.255.255.255C类地址范围:192.0.0.0 ~ 223.255.255.255实际能分配的范围:192.0.0.1 ~ 223.255.255.254D类地址11100000 00000000 00000000 00000000 = 224.0.0.011101111 11111111 11111111 11111111 = 239.255.255.255D类地址范围:224.0.0.0 ~ 239.255.255.255实际能分配的范围:224.0.0.1 ~ 239.255.255.254E类地址11110000 00000000 00000000 00000000 = 240.0.0.011110111 11111111 11111111 11111111 = 247.255.255.255E类地址范围:240.0.0.0 ~ 247.255.255.255实际能分配的范围:240.0.0.1 ~ 247.255.255.254
注意:
网络位和主机位全0,那么在本网络中表示本机,而在路由器中表示整个网络(它的作用是帮助路由器发送路由表中无法查询的包 。如果设置了全零网络的路由,路由表中无法查询的包都将送到全零网络的路由中去) 。网络位和主机位全1,表示本网的广播地址 。网络位特定值,主机位全0表示一个网络 。网络位特定值,主机位全1表示对特定网络上的所有主机进行广播 。127.X.X.X是保留地址,用于循环测试 。
所以实际上的能用的主机地址计算公式是
2 n ? 2 2^n-2 2n?2
其中n表示主机位数,这里比如C类地址主机位是8位,那么实际能被分配的最多IP数是
2 8 ? 2 = 254 2^8-2=254 28?2=254
B类地址最多能使用的IP数是
2 16 ? 2 = 65 , 534 2^{16}-2=65,534 216?2=65,534
A类地址最多能使用的IP数是
2 24 ? 2 = 16 , 777 , 214 2^{24}-2=16,777,214 224?2=16,777,214
这里解释一下为啥要减去2,因为全0和全1的情况是不能被使用的,是特殊的,所以要减去2 。
二、IPv4子网划分
什么是子网划分呢?为啥要有子网呢?
我们最常见的就是C类地址了,在C类地址中一共能标识254台主机,如果我们现在不需要那么多主机位呢?因为太多的主机位被浪费掉了,所以我们可以不可以让网络位向主机位中移动一定的位数呢?当是可以的,也就是出现了子网 。
子网:向主机位借一定的位数 。
IP = 网络段 + 子网段 + 主机段
三、子网掩码
由于子网划分的出现,我们无法快速知道网络位和主机位,所以提出了子网掩码的概念 。通过IP与子网掩码进行按位与运算,最终的结果就是网络段地址 。
- 初级算法合并两个有序数组 合并两个有序数组
- socket参数详解
- 福州连锁店有哪些,伊尔洁福州连锁店的地址有哪些?
- IP地址和子网掩码的关系, 如何计算网络地址?
- C语言深入标准输入输出
- c语言符号深度理解和再认识
- FOFA现已支持 IPv6 测绘!
- 神魔佛妖,重生现代修神之狂尊的x全集下载地址
- 【深入理解JVM 六】虚拟机字节码执行系统
- 运行期 【笔记】深入理解 Java 虚拟机:晚期优化