IP地址是可以将因特网上的每一台主机、路由器进行标识,让设备可以接收来自互联网设备的信息,可以将ip地址想象成网购的收货地址。ipv4是由32位比特位标识的,常用点分十进制表示,每个字节用十进制标识,字节之间用点号分隔。例如:
ip地址由两级层次结构组成:网络号+主机号(net+host)。根据主机号和数位不同,将ip地址分为五类。
网络号长度为8,主机号长度为24。网络号长度为8位,首位固定为0,可用的长度为7位,理论上有27 =128个网络号,但是下面情况保留不分配:
所以共有128-3=125个可用网络号。当主机号全0为网络地址,主机号全为1时为广播地址所以A类主机号有224-2个.
A类地址的覆盖范围为0.0.0.0-127.255.255.255 可以用于分配的为1.0.0.0-126.255.255.255共有125*(224-2)个
B类IP地址网络号16位+主机号16位,网络号前两位固定10不变。第一个可用的ip为10000000.00000000.00000000.00000000为128.0.0.0,最后一个可用的ip为10111111.11111111.11111111.11111111,即191.255.255.255覆盖范围为128.0.0.0——191.255.255.255每一个B类网络最大分配的IP地址数量为216-2=65534个,所有的B类网络所含有的Ip地址为网络数乘以主机数,214*(216-2)
C类IP地址为24位网络号加8位主机号,网络号前三位固定为110,最大可用的网络数为221,最大可用主机数位28-2=254个,覆盖范围为192.0.0.0——223.255.255.255。
组播地址,覆盖范围为224.0.0.0-239.255.255.255
保留地址,还未被使用,覆盖范围为240.0…0.0-255.255.255.255
我们知到一个C类网络最大支持的主机数位254,一个B类网络最大支持的主机数为65534,如果一个单位有400台主机需要上网,c类网络不足够,B类网络太浪费,这时候就需要划分子网将400台主机分成两部分,购买2个C类网络就可以解决问题。
没有划分子网前ip地址是有两级组成,网络号和主机号,划分后变成了三级结构:
我们知到一个C类网络最大支持的主机数位254,一个B类网络最大支持的主机数为65534,如果一个单位有400台主机需要上网,c类网络不足够,B类网络太浪费,这时候就需要划分子网将400台主机分成两部分,购买2个C类网络就可以解决问题。
没有划分子网前ip地址是有两级组成,网络号和主机号,划分后变成了三级结构:
我们知道子网划分是将一个大的网络划分成几个小的网络,怎么判断自己所连接的网络是否进行了子网划分,答案是通过子网掩码,使用子网掩码可以找到IP地址中的子网部分。
子网掩码使用连续的1对应网络号和子网号,使用连续的bit0对应主机号,默认的子网掩码是不进行子网划分的,A类地址的默认子网掩码为255.0.0.0,B类为255.255.0.0,C类为255.255.255.0.
例子
已知网络的地址为218.75.230.0,将这个网络划分成两个子网,请计算子网掩码?
解答:
划分成两个子网,需要向主机位借一位(0,1两种状态),我们可以判断这是一个c类网络24位网络号+8个主机号,所以子网掩码为:24位网络号+1位子网号,连续25个1和7个连续为0的主机位。
11111111.11111111.11111111.10000000=》255.255.255.128
为什么需要无分类编址,虽然划分子网在一定程度上缓解了互联网发展中遇到的困难,但是IP地址还是存在很大程度的浪费,基于此无分类编址(CIDR)产生了。
CIDR:
例如:
200.23.16.0/23
表示前23位为网络位,后9位为主机编号。
子网掩码
由于计算机无法通过“/”来识别ip地址的网络地址,所以出现了地址掩码,也称为子网掩码,虽然没有划分子网的概念,但是延用了子网掩码的方法,"/"是为了方便人类去观察,在计算机中用子网掩码告诉计算机怎么划分的,比如/20的地址掩码是11111111.11111111.11110000.00000000,两种表达的是一个意思。
最小地址、最大地址、最大ip地址数量
如果知道CIDR中的任意一个地址,就可以知道该地址中的最小地址(主机号全为0)和最大地址(主机号全为1)。
最大ip地址数量为2主机数
例子:
求128.14.35.7/20的最小地址、最大地址、地址数量、地址掩码。
解答:20位网络号,12位主机号,所以将地址划分
128.14.0010 0011.00000111
128.14.0010 0000.00000000 =128.14.32.0
128.14.0010 1111.11111111=129…14.47.255
212
11111111.11111111.11110000.00000000=255.255.240.0