IPv4地址的分配原理
声明:尊重原创,查看原⽂请点击【】
转发⽬的为了构建【计算机⽹络】专栏,收集相关优秀⽂章,并创建⾃⼰的⽂章。⽅便⾃⼰和他⼈系统的学习相关知识,感谢原⽂。⽹络模型介绍
在计算机⽹络中有著名的OSI七层协议体系结构,概念清楚,理论完整,但是它既复杂⼜不实⽤。TCP/IP体系结构则不同,得到的⼴泛的应⽤。最终结合OSI和TCP/IP的优点,采⽤了⼀种只有五层协议的体系结构,本⽂的讲述的IP都是基于五层协议模型中的⽹络层。
OSI体系结构TCP/IP体系结构五层体系结构
7 应⽤层
6 表⽰层
应⽤层 5 应⽤层
5 会话层
4 传输层传输层 4 传输层
3 ⽹络层⽹络层 3 ⽹络层
2 数据链路层
2 数据链路层
⽹络接⼝层
1 物理层 1 物理层
分类的IP地址
IP地址的表⽰⽅法
IP地址就是给英特⽹上的每个主机(路由器)的每个接⼝分配⼀个在全世界范围内是唯⼀的32位的标识符。其组成第⼀个字段是⽹络号,第⼆个字段是主机号。⼀个主机号在前⾯的⽹络号所指明的⽹络范围内必须是唯⼀的,所以⼀个IP地址在整个⽹络中都是唯⼀
的。⽬前分为A、B、C、D、E 五类IP地址。
在A、B、C 三类地址中灰⾊的部分即为⽹络号,⽹络号的前三位是类别位,分别是0,10,110。也就是说我们可以凭借这个类别位置来判断⽹络类别。
32位的总长度,由于A、B、C 三类⽹络号的长度的不同,导致A、B、C 类地址的主机号字段的字节数分别为3、2、1(⼀个字节8位)。
D 类地址的⽹络号为1110,⽤于多播(⼀对多通讯)。
E 类地址的⽹络号为1111,保留以后使⽤。
因此我们⼀般使⽤的就是ABC三类⽹络地址,IP地址是32位的⼆进制代码,为了提⾼可读性,把32位的IP地址中的每8位⽤等效的⼗进制表⽰出来(点分⼗进制),于是我们⽇常⽣活中常见的IP地址就出现了。
例如:IP地址,128.11.3.31,转化为⼆进制为 100000000 00001011 00000011 00011111 ,可以看出类别位为 10,可以判断为⼀个B类地址。
常⽤IP 地址的指派范围⽹络号指派范围
A类地址⽹络号占⽤⼀个字节,但是由于有⼀位是类别位,只有7位可供使⽤,但是由于规定,⽹络字段全0是个保留字段表⽰本⽹络,⽽127(01111111)是另外⼀个保留字段,作为本地软件的环回测试。我们常见的127.0.0.1表⽰本机,原因也是出⾃这⾥。所以A 类地址可以指派的⽹络号个数为(2-2).
B类⽹络地址⽹络号有两个字节,前两位为10已经固定,只剩下14位可⽤,由于这14位⽆论怎么取值都不会使得⽹络号为全0或者全1,单实际上规定,规定B类最⼩⽹络地址为128.1.0.0。因此B类地址可指派的⽹络号个数为(2-1).
C类地址有3个字节的⽹络字段号,前三位固定110,只有剩下21位可⽤,同样C类地址可指派的最⼩⽹络地址也是192.0.1.0。因此C 类地址可指派的⽹络号个数为(2-1).
主机号指派范围
71421
⽹络类别
最⼤可分配⽹络数⾸个可分配⽹络号最后⼀个可分配⽹络号每个⽹络中最⼤主机数A
126(2-2)112616777214B
16383(2-1)128.1191.25565534C 2097151(2-1)192.0.1223.255.255254
由于主机号有规定,全0的主机号代表IP地址是“本主机”所连接到的单个⽹络地址(例,⼀主机地址为5.6.7.8,则该主机所在的⽹络地址为5.0.0.0),⽽全1则表⽰“所有的”,即表⽰该⽹络上的所有主机。
A类地址的主机号是由三个字节,24位组成,所以每⼀个A类⽹络中可分配的主机个数为(2-2).
B类地址的主机号是由两个字节,16位组成,所以每⼀个B类⽹络中可分配的主机个数为(2-2).
C类地址的主机号是由⼀个字节,8位组成,所以每⼀个C类⽹络中可分配的主机个数为(2-2).
总结IP 指派范围
综上⽹络号和主机号的指派描述可知,IP地址空间共有2个地址。
所有A类地址共有(2-2)(2-2)个,⼤约2,占12.5%;
如何查看ip地址2416832782971421
所以可以这样来表⽰⼀个A类IP地址.
IP地址和硬件地址
从层次⾓度来看,硬件地址是数据链路层和物理层使⽤的地址(常称作MAC地址),⽽IP地址是⽹络层和以上各层使⽤的地址,是⼀种逻辑地址。在⽹络层我们进⾏数据报⽂从IP1传输到IP2,⽆论我们中间经过多少次转发,从⽹络层来看,源地址始终是IP1,⽬的地址始终是IP2。但是从数据链路层来
看,显然就不是这样了,这些是物理地址,很有可能从源节点经过多次中间节点的物理地址的转变才能到达⽬的节点。
⽽IP地址和物理地址的之间的转化则需要依靠两个重要的协议ARP(地址解析协议),RARP(逆地址解析协议)。IP地址通过ARP转化成物理地址,物理地址可以通过RARP转化成相应的IP地址。
⼦⽹和超⽹
简单的来说就是如何来管理⼀个IP地址下的多台主机
⼦⽹
现在假设这样⼀个场景,⼀个数据报起⽬的地址是145.13.3.10(在⼦⽹ 145.13.3.0中),已经到达路由器
R1(145.13.0.0),那么这个路由器怎么将它转发到145.13.3.0呢?
我们并不知道⽬的地址是否进⾏了⼦⽹的划分。
这就引出了⼦⽹掩码的概念了,⼦⽹掩码也是32位,由⼀串1和0组成,⼦⽹掩码中的1对应于IP地址中的⽹络号位置+⼦⽹⽹络号位置,⼦⽹掩码中的0对应与IP地址中现在的主机号位置。
我们只要将IP地址和⼦⽹掩码进⾏“与”运算,如果进⾏⼦⽹的划分,就⽴刻得出要的⼦⽹的⽹络地址,如果没有进⾏⼦⽹划分(有默认的⼦⽹掩码),则直接能够得出该IP地址的⽹络地址出来。
A类地址的默认⼦⽹掩码是255.0.0.0
B类地址的默认⼦⽹掩码是255.255.0.0
C类地址的默认⼦⽹掩码是255.255.255.0
超⽹
⽆分类编址CIDR,使⽤变长的⼦⽹掩码,可以进⼀步提⾼IP地址的资源利⽤率。有两个特点
第⼀,消除了传统的ABC类地址及划分⼦⽹的概念,CIRD把32位的IP地址划分成为两个部分,⽹络前缀和剩下的部分,表⽰⽅法为,在IP地址后⾯加上“/”,然后写上⽹络前缀所占位数。
第⼆,把⽹络前缀相同的IP地址组成⼀个CIDR地址块,例如,IP地址 128.14.35.7/20 ⽤⼆进制表⽰ 100000000
00001110 00100011 00000111,所以我们很容易可以得出这块地址中最⼩地址为128.14.32.0,即 10
0000000 00001110 00100000 00000000,最⼤地址为128.14.47.255,即 100000000 00001110 00101111
11111111.
为了更加⽅便进⾏路由选择,CIDR使⽤32位的地址掩码,1的个数就是⽹络前缀的长度,如上⾯所举例中的/20的地址块的地址掩码是 11111111 11111111 11110000 00000000
因此可以看出,⽹络前缀越短,其地址块所包含的地址就越多,这样可以根据实际情况更加有效的分配IPv4的地址空间。⽽由很多个CIDR地址快构成的庞⼤的⽹络就就被称为“超⽹”。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论