有关IP和子网掩码的总结

从之前写的那个概括的文章之后,具体细节知识我也不知道写啥子,最近忙于毕业论文和考证,所以就总结一下这方面的知识,本篇的话就先从IP说起。

IP这方面有IPv4和IPv6这两方面的内容,这里就只说IPv4。本篇将会从两个方面讲有关IPv4的东西:IP地址和分类,子网掩码及子网划分/聚合。

1.IP地址和分类

IP地址

IPv4地址分为4段,每段可以由十进制和二进制表示,十进制最小0最大255,二进制最小00 00 00 00,最大11 11 11 11。地址由网络位和主机位组成。

分类

为了方便划分网络大小,可按类将其划分为A,B,C,D,E五种。

A类地址为首段1-126的IP,即1.0.0.0到126.255.255.255。

A类地址的前8位为网络位,第一位为0,剩余7位可分配,二进制表示即00 00 00 01到01 11 11 10(全零全一保留),十进制表示0到126,共有126个地址范围,每个地址范围可分配的主机有16777214台(每段的全零全一保留)。

B类地址为首段128-191的IP,即128.0.0.0到191.255.255.255。

B类地址的前16位为网络位,前两位为10,剩余的14位可分配,二进制表示为
10 00 00 00.00 00 00 00到
10 11 11 11.11 11 11 11
十进制表示为128.0到191.255,共有16384个地址范围,每个地址范围可分配的主机有65534台(每段全零全一保留)。

C类地址为首段192-223的IP,即192.0.0.0到233.255.255.255。

C类地址的前24位为网络位,前三位为110,剩余21位可分配,二进制表示为
11 00 00 00.00 00 00 00.00 00 00 00到
11 01 11 11.11 11 11 11.11 11 11 11
十进制表示为192.0.0到233.255.255,共有2097152个地址范围,每个地址范围可分配的主机有254台(每段全零全一保留)。

D类和E类一起说了,D类为保留的组播地址,不区分网络位和主机位,首段以1110开头,其范围为224.0.0.0到239.255.255.255。E类是用作于试验和开发的保留地址,以1111开头,剩下的除本地广播地址全一以外均可作为E类。

为了节省IP地址,还将IP划分为了私有地址和公有地址,私有地址为非注册地址,专门供企业、学校等组织机构内部使用,公有地址由Inter NIC负责,将IP地址分配给注册并向其提出申请的组织机构,通过此IP直接访问外网。

私有地址有A、B、C三类,分别为A类10.0.0.0-10.255.255.255,B类172.16.0.0-172.31.255.255,C类192.168.0.0-192.168.255.255。

除此之外,还有些特殊地址,127.x.x.x为测试用本地回环地址,0.0.0.0未知地址一般用于缺省路由,255.255.255.255为本地广播地址,主机位全0的地址为网络号,主机位全1的地址为子网广播地址,169.254.x.x这是DHCP没正确获取时的IP。

2.子网掩码及子网划分/聚合

子网掩码

子网掩码由连续的1和0组成,1和0之间不会隔断出现,1对应IP地址的网络位,0对应IP地址的主机位,而子网掩码就是用于区分IP中的网络位和主机位,子网掩码可以由“IP/位数”表示。

例如IP 192.168.1.1,子网掩码 255.255.255.0,对应的二进制数
IP
11 00 00 00.10 10 10 00.00 00 00 01.00 00 00 00
子网掩码
11 11 11 11.11 11 11 11.11 11 11 11.00 00 00 00
简便的表示法将后面的子网掩码改写为对应的二进制的1的数量就是192.168.1.1/24。

子网划分/聚合

子网划分是将一个大的网络划分为多个小的网络,目的是提高IP地址的使用率。

如何进行子网划分,我们先用C类地址来举例:

这里有个C类地址192.168.100.1/24其所在的网段为192.168.100.0/24,他的主机范围为192.168.100.(1-254)/24,广播地址为192.168.100.255/24,子网掩码用上面讲的那么就有24个1,换一下表现形式就是
11 11 11 11.11 11 11 11.11 11 11 11.00 00 00 00
因为前面也说过子网掩码由连续的1和0组成,子网划分可以表示为把跟在1后面的0变为1,这里我们后移1位即
11 11 11 11.11 11 11 11.11 11 11 11.10 00 00 00
这时的IP和子网掩码完整表示就是192.168.100.1/25。而在掩码中,1对应的为IP的网络位,这时我们将IP和掩码对比一下:

11 00 00 00.10 10 10 00.01 10 01 00.00 00 00 01(IP)
11 11 11 11.11 11 11 11.11 11 11 11.10 00 00 00(NATMASK)

所以在IP里面
11 00 00 00.10 10 10 00.01 10 01 00.0(网络位)0 00 00 01(主机位)
其网络位就是192.168.100.0/25(主机位全零),起始主机位就是192.168.100.1/25,广播号为192.168.100.127/25(主机位全一),主机范围就是192.168.100.1到192.168.100.126/25。

之前掩码为24的网就分为了两个,192.168.100.0/24->192.168.100.0/25和192.168.100.128/25。

子网聚合和子网划分类似,不过是将子网划分反过来,其目的是减少路由条目。

这里我们也用一个24位子网掩码的地址192.168.200.100/24来举例,其IP和子网掩码分别转化成二进制为:
11 00 00 00.10 10 10 00.11 00 10 00.01 10 01 00
11 11 11 11.11 11 11 11.11 11 11 11.00 00 00 00
如果要将其聚合为一个23位的,其子网掩码就是
11 11 11 11.11 11 11 11.11 11 11 10.00 00 00 00
对应的网络号的IP
11 00 00 00.10 10 10 00.11 00 10 0(0.00 00 00 00)
十进制为192.168.200.0
对应的主机号范围为
11 00 00 00.10 10 10 00.11 00 10 0(0.00 00 00 01)=192.168.200.1
11 00 00 00.10 10 10 00.11 00 10 0(1.11 11 11 10)=192.168.201.254
这个范围共有510台主机。

通过二进制算法能比较准确,但是有点麻烦,这里总结一下公式:

子网个数:
2的x次方,x为子网位数,例如掩码为24就是有2的24个次方,之前说过子网掩码为1对应的就是网络号,所以可以简便理解为2的子网掩码个次方。
2^(子网掩码位数)

主机个数:
除去网络位之后就是主机位,所以就是2的32减子网位数个次方然后再减去两个保留地址(全一和全零的网络号和广播号)。
2^(32-x)-2,x为子网掩码位数

猜你喜欢

转载自www.cnblogs.com/MelonNys/p/11684399.html
今日推荐