概述
IPv4地址概述
IPv4地址就是给因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32比特的标识符
IP地址是由ICANN进行分配。
IPv4地址的编址方法经历了如下三个历史阶段:
- 分类编址
- 划分子网
- 无分类编址
由于32比特的IPv4地址不方便阅读,所以用点分十进制表示方法以方便用户使用。
每八个比特为1组,共4组。
每一组用1个十进制的数来表示。
然后每个数之间用点隔开。
2转10
10转2
关键要记住2的几次方对应的数。
这样就能很快的凑整!
IPV4编址方法的三个历史阶段
- 分类编址
- 划分子网
- 无分类编址
分类编址的IPv4地址
-
A类地址:前八位是网络号,后24位是主机号(第一位为0)
-
B类地址:前16位是网络号,后16位是主机号(前两位为10)
-
C类地址:前24位是网络号,后8位是主机号(前三位为110)
-
D类地址:多播地址(前四位为110)
-
E类地址:以后使用(前四位为1111)
只有A,B,C类接口才能分配给路由器或主机 ==主机号为“全0”的地址是网络地址,不能分配给主机或路由器== ==主机号为“全1”的地址是广播地址,也不能分配给主机或路由器==
A类地址
前八位为网络号,后24为是主机号。
第一位一定为0
A类地址细节
与其他地址不同的是:
最小网络号00000000保留不指派
最大网络号11111111最为本地环回测试地址,不指派
主机号最小也得0.0.1,因为不能全0,全0是网络地址
主机号最大只能255.255.254,不能全1,因为全1是广播地址
综上,第一个可指派的网络号为1,
网络地址为1.0.0.0
最后一个可指派的网路号为126,网络地址为126.0.0.0
可指派的网络数量和可分配的IP地址数量
8-1是因为本来有八个比特,但是第一个0是固定的,所以8-1
-2是因为全0保留,全1为环回检测地址,都不指派
可分配的IP地址数量因为有24个比特,-2是因为全0是网络号,全1是广播号,都不分配
B类地址
前两个比特一定为10
上面-2是因为10是固定的
下面-2是因为全0为网络地址,全1为广播地址
C类地址
开头一定为110
C类地址也是这样,就不再阐述了。
总结
- 第一位小于126的为A类地址,网络号为左起第一个字节
- 第一位处于128-191的为B类地址,网络号为左起前两个字节
- 第一位大于192的为C类地址,网络号为左起前三个字节
不能指派的主机或者路由器接口:
- A类网络号0和127
- 主机号全0,网络地址
- 主机号全1,广播地址
其实很简单,就是主机号0和1,都不能分配
然后a类网路号全0,全1也不分配
一些特例
0.0.0.0表示“本网络上的本主机”,之只能作为源地址
网络号0,主机号0,本网络本主机,本网络的只能源地址
网络号0,主机号id,本网络某主机,只能源地址
网络1,主机1,本网络广播,只能目的
广播的只能作为目的地址
127,主机号非全0全1的,为A类地址中的本地软件环回测试。
划分子网的IPV4地址
应用场景:为什么需要划分子网的出现呢?
我们来想这样的一个场景,某公司买了一个网络地址,也就是有了一个网络号,所以可以分配给很多很多的主机了。
但是有一天,这公司分成了三个部分,每个部分都需要用自己的内网。这时候原本的解决方案就只能是,再买两个IP网络号,但是这样费钱阿,IP号的发放也还需要时间,而且这是对IP号的极大浪费。
浪费的事我们肯定不做。
那么有什么解决方法吗?
想一下,主机号有很多个阿,我们都用不到,假如我们拿一两个主机号来做子网编码号来区分,那该多香。
于是乎,就根据这种原理,划分子网的IP地址就应运而生了。
也就是说,本来一个IP地址之能区分一个局域网,现在我们通过子网掩码,可以将一个IP地址划分为多个子网。
为了表明分类IP地址的主机号被借用了几个比特作为子网号:我们推出了32比特的子网掩码(子网掩码用来划分子网的编码)
它的原理是这样
先找出网络地址是第几类地址,然后划分网络号和主机号的部分
然后子网掩码也同样根据上面划分
然后将子网掩码的主机号的十进制数转化为2二进制数,数一下有多少个1,有多少个1,就表示借用多少个比特作为子网号。
比如看上图,从218可以看出前三个字节作为网络号部分,而128转换成二进制的1,有一个1,所以一个字节作为子网掩码。
每个子网分配的地址数量
-1是因为1位作为分区,只剩七位
-2是因为去掉全0和全1
原本的
将主机号写成8比特的形式
可根据一个子网号0和1,分成两个不同的子网(0和1)
默认子网掩码
无分类编制的IPV4地址
CIDR(注意!CIDR记法就是与前面的A类B类C类和划分之网的地址都没什么关系的了!)
CIDR使用斜线记法,或者称为CIDR记法,在IPV4地址后面加上斜线/,在斜线后面写上网络前缀所占的比特数量
举例:
CIDR记法其实是一种很灵活的记法,可以根据你所需要的网络号的大小和主机号的大小来分配。
懂了!
这么说吧,斜线后面是20,就表示20个比特表示网络前缀,12个比特表示主机号。
128.14.35.7/20每一个点之间为8个比特,,于是乎我们知道,前两个字节(前两个点)和第三字节的前4个比特为网络前缀,而后面12个比特为主机号。所以可以类似于A类B类C类网的划分方法,对其划分如下
地址数量看的就是主机数的组合数
聚合C类网数量就是地址数量除以C类网的主机数量
地址掩码就是网络号全部取1,主机号全部取0
路由聚合(构造超网)
R1要怎么将五条路由记录通告给R2呢,如果依次通告,那么R2的路由表会增加五条记录,这不太好。
所以有咩有什么方式,让其增加少量的路由记录而达到相同的目的呢?答案肯定是有的。
观察到它们从第三个字节不同,所以可以将第三字节转化为8个比特的形式,然后就很容易可以看出共同前缀。
而且刚好22个相同,所以就可以将它们聚合。
网络前缀越长,地址块越小,路由越具体
原本为4,但要去掉全0和全1.
路由聚合最重要的就是找网络前缀
IPV4地址的应用规划
- 定长的子网掩码FLSM(使用同一个子网掩码来划分子网)
- 变长的子网掩码VLSM(使用不同的子网掩码来划分子网)
定长的子网掩码
这是在ABC类IP地址的基础下,用的子网掩码。
用定长的子网掩码为C类网划分子网
借用3个比特作为子网号(因为只需划分5个网络)
子网掩码相应写出,
但是我们发现一个严重的问题,就是每个子网分配的地址数量都是相同的,都是2的5次方等于32个,但是有的子网只需要用到2个,5个,根本用不到那么多,所以就很浪费。所以需要一种更节约的方法。
变长的子网掩码VLSM
注意这种掩码是基于无分类编制的。
这里的地址数量,取决于主机数,比如主机数为9,那么我们最小取16,主机数为25,那么我们最小取32.也就是取最小的大于主机数的二的n次方。
这样虽然也会浪费,但是浪费的幅度很小,浪费来源于主机数和2的n次方之间的差。
也就是说下面这种就不是根据定长的划分的(定长的根据作为子网掩码的比特数量定出来的一定长度)
这种是根据每个子网具体差不多需要多少分配的
最后
以上就是优雅金毛为你收集整理的计算机网络——IPv4地址概述IPv4地址概述分类编址的IPv4地址划分子网的IPV4地址无分类编制的IPV4地址IPV4地址的应用规划的全部内容,希望文章能够帮你解决计算机网络——IPv4地址概述IPv4地址概述分类编址的IPv4地址划分子网的IPV4地址无分类编制的IPV4地址IPV4地址的应用规划所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复