CLASSLESS是一种网络协议,意思是在宣告
网段时携带
子网掩码,允许用一部分主机ID作为网络ID,使得
掩码的长度可变。
中文:无类路由
对于有类路由协议:RIPv1等。路由控制包里面,只有IP地址,没有
掩码。
路由协议根据IP地址的具体值,按规定划分网络ID和主机ID。这就是
有类路由(Classful Routing)。
Classful Routing规定,IP地址有五种分类:A, B, C, D, E.
- A类地址:前8位是0~127的IP地址。它们的
网络地址是前8位,
主机地址是后24位。
- B类地址:前8位是128~191的IP地址。它们的
网络地址是前16位,
主机地址是后16位。
- C类地址:前8位是192~223的IP地址。他们的
网络地址是前24位,
主机地址是后8位。
- D类和E类地址:前8位是224~255之间的地址。D类用于
组播,E类用于科学实验。
而对于无类的
路由协议:EIGRP、RIPv2、OSPF、IS-IS,路由控制包里面除了IP地址,还必须包含一个
掩码与其匹配。
掩码的作用是划分出网络ID和主机ID,这样的划分更灵活多变。
什么是Classless IP address
Classless IP Address 就是在 Classful IP Address 的分类规则的基础上,进一步把主机ID划分成
子网ID。Classful 的
掩码(net mask)是固定的A类/8,B类/16,C类/24。而Classless 允许用一部分主机ID作为网络ID,使得
掩码的长度可变。
例: 对一个A类
网络地址100.0.0.0/8, 用classless 可以把它划分为几个较小的网络地址:
(1) 如果把IP地址的第2个字节作为子网ID,那么100.0.0.0/8
网络地址可以划分为256个较小的子网:
100.0.0.0/16 ~ 100.255.0.0/16。 主机IP地址100.4.5.6就属于
子网100.4.0.0/16。
(2) 如果把IP地址的第2, 3两个字节作为子网ID,那么100.0.0.0/8
网络地址可以划分为65,536个更小的子网:
100.0.0.0/24 ~ 100.255.255.0/24。主机IP地址100.4.5.6就属于子网100.4.5.0/24。
为什么要有Classless IP address
如果机械的按照A, B, C类来划分网络,那么一个网络中如果有500台主机,Class C的
网络地址不够 (只能有256个
主机地址), 得用一个B类地址。 但B类网络的容量是65,534个
主机地址, 只用了500个,剩下的65,034个主机地址没用上,造成浪费。使用subnetting, 可以用
子网掩码/23来划分出一个有510个主机地址的子网给这个网络来使用, 不至于浪费。
怎么划分子网 (subnetting)
子网划分用
子网掩码把32位的IP地址划分为网络ID与主机ID的方法,在classful IP地址A, B, C分类的基础上进一步的把网络ID分成更小的网络。
子网掩码是用来指定
子网划分的幅度。
子网划分可以跨字节, 只要把
子网掩码设为一个不是8的倍数即可 (/24不跨字节,/25跨字节.)
例: 150.1.0.0 是个class B
网络地址,默认
子网掩码是/16, 有65,536个
主机地址.
150.1.2.0/24 是个从class B衍生的classless
网络地址,
子网掩码是/24, 有256个
主机地址, .
150.1.2.128/25 是个从class B衍生的classless的
网络地址,
子网掩码是/25, 有128个
主机地址.
以下列表用二进制表现IP地址及
掩码,可以看得更清楚:
网络ID/
掩码 二进制 (32位) 网络ID位置 主机个数、IP地址
150.1.0.0/8 10010110. 00000001.00000000.00000000 左面16位 65,536: 150.1.0.0~150.1.255.255
150.1.2.0/24 10010110. 00000001.00000010.00000000 左面24位 256: 150.1.2.0~150.1.2.255
150.1.2.128/25 10010110. 00000001.00000010.10000000 左面25位 128: 150.1.2.128~150.1.2.255.