从业务那边得到用户的一堆IP地址数据,杂乱无章,分不清哪些属于哪个地区,也没按照子网去划分,就想着用Python脚本去规整处理下,分清楚各属于哪些地址段属于哪些区域。
那么首先要搞懂的是,什么是子网掩码? A、B、C三类地址又是如何划分?一大段网络地址又如何使用子网掩码形式表达?搞清楚后,我们再考虑如何使用脚本将这些地址按照我们的要求处理出来。
1.子网掩码回顾
1.1.子网掩码
那么首先要搞懂的是,什么是子网掩码?虽然大学也学过,但还是百度百科搜了一段官套话,简言之,使用子网掩码帮助lP地址分配,将A、B、C三类地址划分为若干子网。此外,还可帮助企业自主网络划分成小规模子网等,避免网络广播风暴和网络病毒等。
1.2. ABC三类地址划分
那么A、B、C三类地址又是如何划分?子网掩码一定是配合IP地址来使用的。对于常用网络A、 B、C 类IP地址其默认子网掩码的二进制与十进制对应关系如下表所示:
类别 | 子网掩码的二进制数值 | 子网掩码的十进制数值 |
A | 11111111 00000000 00000000 00000000 | 255.0.0.0 |
B | 11111111 11111111 00000000 00000000 | 255.255.0.0 |
C</ |