TCP/IP系列3

今天主要讲一下子网划分和CIDR(无差别域间路由)
前面说过,一个IP地址包含了网络ID主机ID,子网划分就是利用主机ID将一个大的网络划分为一个个小网络,更加方便管理。

子网划分中使用子网掩码来指示主机ID中有多少位被用来代表子网ID。

子网掩码也是32位的二进制数,它的形式比较特殊,它的前一部分全部是1,后一部分全部是0,不会存在0,1交叉的情况。1用来表示IP地址中的网络ID和子网ID,0用来表示主机ID。

在存在子网掩码的情况下,消息的传递机制是这样的:首先根据IP地址的类别(A,B,C类)把消息传递到该网络,然后结合子网掩码和IP地址,把消息传递到该网络下的某个子网中,在进一步传递到某台主机中。

这里要注意,由于子网掩码占用了主机的位数来表示子网ID,所以子网掩码中前一部分1的位数不能小于该网络类型的网络ID位数,比如在A类网络中,子网掩码中1的位数不能小于8位,在B类网络中,子网掩码中1的位数不能小于16位,在C类网络中,子网掩码中1的位数不能小于24位

举个例子,比如在B类网络中,子网掩码中1的个数是19位,由于B类网络的网络ID是16位,所以多出来的3位代表子网ID,也就是说使用该子网掩码,可以划分出来8个子网(实际上是划分出来6个,000和111的子网ID有特殊用途,000代表了该子网本身,111代表了该子网的广播地址)

无差别域间路由(CIDR)
一个IP地址的网络ID位数决定了该IP地址的类别,该分类依赖于预定义的8位,16位,24位网络ID。CIDR技术使用一个变长子网掩码来任意的指定一个IP地址中的网络部分和主机部分,可以更加方便的来划分子网,或者说把多个子网组合成一个大网。

CIDR标记使用/分隔符,后面跟一个10进制数来表示网络ID所占用的位数,例如205.123.196.184/25,这就表明该IP地址中网络ID占用25位,等同于子网掩码是255.255.255.128

当使用CIDR来聚合多个子网的时候,CIDR又起到了超网掩码的作用。使用CIDR来聚合多个子网是有前提条件的,前提条件是这多个子网的IP地址中前N位是一样的。举个例子,
204.21.128.0204.21.255.255,这里面的C类IP地址,属于128~255不同的网段中。但是我们注意到,这个范围内的IP地址,前17位都是一样的,所以我们可以使用204.21.128.0/17,这样就代表把前17位作为网络ID,那么128~255这些不同网段的IP地址就被聚合到一个大的网段中了,使用204.21.128.0/17就可以访问该网段中所有的主机。

你可能感兴趣的:(TCP/IP系列3)