目录
IPV4地址编址
第一历史阶段(分类编址):
A类地址:
B类地址:
C类地址:
D类地址(多播地址):
E类地址(保留地址):
第二历史阶段(划分子网):
划分子网的工具(子网掩码):
第三历史阶段(无分类编址):
路由聚合(构造超网):
最长前缀匹配:
IPV4总共有32个比特。
分类编址的IPV4地址分为A、B、C、D、E五类。
其中只有前三类地址可以分配给网络中的主机或路由器的各接口。
总体上而言,是将地址的一部分作为网络号,另一部分作为主机号。不同的类分配的各部分的位数不同。
主机号为全0的为网络地址,不能分配给主机或者路由器的各接口。
主机号为全1的为广播地址,也不能分配给主机或者路由器的各接口。
注意:A类地址中还有一些特殊的地址也不能分配给主机或者路由器的各接口。这些在A类地址中说明。
地址0.0.0.0是一个特殊的IPV4地址,只能作为源地址使用,表示本网络的本主机。
地址255.255.255.255只能作为目的地址使用,表示只在本网络上进行广播(各路由均不转发)。
32个比特中,网络号占8位,主机号占24位;其中网络号最高位固定为0,即0xxxxxxx。
可以看到,当这个固定位变为1的时候,就不再是A类地址了。所以A类地址的网络号的范围为0~127。
在A类地址中,最小网络号0,保留不指派。最大网络号127,作为本地环回测试地址,不能指派。最小的本地环回测试地址为127.0.0.1(主机号为全0是网络地址,所以从1开始)。最大的本地环回测试地址为127.255.255.254(主机号为全1是广播地址,所以最大只能是254)。
所以第一个可以指派的网络号是1,网络地址为1.0.0.0 。最后一个可指派的网络号是126,网络地址为126.0.0.0 。
可指派的网络数量为:个,式中的7是因为A类地址最高位固定为0,并且网络号占8位,那么可以更改的只有后7位,所以是个,减去2的原因是要去除前面所述的不能指派的两个网络号(0和127)。
每个网络中可分配的IP地址数量为:个,式中的24为主机号的位数,减2是因为主机号全1和主机号全0不能分配。
32个比特中,网络号占16位,主机号占16位;其中网络号最高位固定为10,即10xxxxxx。
B类地址网络号的第一个字节的范围为128~191。
在B类地址中,最小网络号也是第一个可以指派的网络号是128.0,网络地址为128.0.0.0 。最大的也是最后一个可指派的网络号为191.255,网络地址为191.255.0.0 。
可指派的网络数量为:个,式中的14是因为B类地址最高位固定为10,并且网络号占16位,那么可以更改的只有后14位,所以是个。
每个网络中可分配的IP地址数量为:个,式中的16为主机号的位数,减2是因为主机号全1和主机号全0不能分配。
32个比特中,网络号占24位,主机号占8位;其中网络号最高位固定为110,即110xxxxx。
C类地址的网络号的第一个字节的范围为192~223。
在C类地址中最小网络号也是第一个可以指派的网络号是192.0.0,网络地址为192.0.0.0 。最大的也是最后一个可指派的网络号为223.255.255,网络地址为223.255.255.0 。
可指派的网络数量为:个,式中的21是因为C类地址最高位固定为110,并且网络号占24位,那么可以更改的只有后21位,所以是个。
每个网络中可分配的IP地址数量为:个,式中的8为主机号的位数,减2是因为主机号全1和主机号全0不能分配。
最高位固定为1110。
D类地址的网络号的第一个字节的范围为224~239。
最高位固定为1111。
E类地址的网络号的第一个字节的范围为240~255。
该阶段的核心思想就是在分类编址的基础之上,从主机号部分借用一部分作为子网号。这样的话就可以避免新增网络时,申请新的网络号会带来的弊端,比如,原有网络的IP地址大量浪费等。
此时,IPV4地址就从二级结构变为了三级结构:
32位比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号。
子网掩码使用连续的比特1来表示网络号和子网号,使用连续的比特0来表示主机号。
(从这一点结合不同类的地址网络号所占位数我们可以推理出,
A类地址的子网掩码至少为255.x.x.x ,B类地址的子网掩码至少为255.255.x.x ,C类地址的子网掩码至少为255.255.255.x 。)
将划分子网的IPV4地址与子网掩码进行逻辑与运算就能得到相应的IPV4地址所在子网的网络地址。
(现在给你一个IP地址,根据逻辑与运算的特点,主机号部分最后全部会被清0,而网络号和子网号会被保留下来。由前面可以知道,主机号部分全为0即为所在网络的网络地址,所以就可以得知所在子网的网络地址。)
其实要进行逻辑与运算最重要的是子网掩码中第一个不为255的字节,算出来这个地址的值,在它前面的字节照抄,后面的直接为0。 原因是因为掩码是用连续的比特1来表示网络号的,
比如:假设某个主机的IP地址为180.80.77.55,子网掩码为255.255.252.0,求主机所在子网的网络地址。
首先判断这是哪类地址,从IP地址进行判断,B类地址的网络号的第一个字节的范围为128~191。该IP地址的第一个字节为180,所以为B类地址。
直接找到掩码第一个不为255的字节,也就是第三个字节,相应地,IP地址的第三个字节为77。
转换为二进制后进行逻辑与,算出所在的子网的网络地址为180.80.76.0。
在此基础上再加一问,如果向其所在子网发送广播分组,则目的地址可以是?
从前面我们可以知道,广播地址应该是主机号全为1。如图:
由此可以得出,目的地址可以是:180.80.79.255
无分类域间路由选择CIDR消除了传统的A类地址、B类地址、C类地址,以及子网划分的概念。它可以更有效地分配IPV4地址空间。
CIDR采用斜线记法,又叫CIDR记法。即在IP地址后面加上斜线“/”,斜线后面写上网络前缀所占比特的数量(设为x)。 主机号所占比特的数量就等于32-x。
CIDR实际上是将网络前缀都相同的连续的IP地址组成了一个“CIDR地址块”。
在这个地址块中,只需要知道其中任何一个地址,就可以知道该地址块的全部细节:
1.地址块的最小地址和最大地址(这里并不区分是否为可分配的地址,所以最小地址应该是主机号全为0,最大地址应该是主机号全为1)。
2.地址块中的地址数量( 这里n为主机号的位数)。
3.地址块中聚合某类(A类、B类、C类)网络的数量( 其中为地址块中的地址数量,u为主机号的位数,为该类一个网络的地址的数量,A类应该为,B类应该为,C类应该为个)。
4.地址掩码(又称为子网掩码)(网络前缀用连续的比特1表示,主机号用连续的比特0表示)。
比如:CIDR地址块 128.14.35.7/20 的全部细节
首先得出网络前缀为20位,即前两字节加第三个字节的前四位为网络前缀,那么主机号的位数为12位。
最小地址:主机号全为0 ,则最小地址为128.14.32.0
注意:人家要是问最小的可分配的地址,那就应该是128.14.32.1
最大地址:主机号全为1 即最大地址为128.14.47.255
注意: 同上,最大的可分配地址应该为128.14.47.254
地址块中的地址数量:
聚合C类网的数量:
地址掩码:
前两个字节不用犹豫,直接写255,第三个字节前四位变为1,剩余位数全部变为0。
则地址掩码为255.255.240.0。
路由聚合可以减少路由记录对路由表的占用。其核心思想是找地址的共同前缀。
比如:
转发接口相同的4条路由表项,目的地址分别为35.230.32.0/21,35.230.40.0/21,35.230.48.0/21,35.230.56.0/21。进行路由聚合。
网络前缀越长,地址块也就越小,路由就越具体。
如果路由器查表转发分组时发现有多条路由可以选择,那么就选择网络前缀最长的那条。