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比特的子网掩码(子网掩码用美国高防vps来划分子网的编码)

它的原理是这样

先找出网络地址是第几类地址,然后划分网络号和主机号的部分

然后子网掩码也同样根据上面划分

然后将子网掩码的主机号的十进制数转化为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次方之间的差。

也就是说下面这种就不是根据定长的划分的(定长的根据作为子网掩码的比特数量定出来的一定长度)

这种是根据每个子网具体差不多需要多少分配的

86851651