问题背景
本人不想笔算不等长子网划分,网上的有Java的版本,但题主很菜不会Java,所以写了这个python代码。希望能帮到后来人。
问题详情
输入ip和掩码,以及网络名和需要的ip数。求网络的分配
eg.
有一企业网络拓扑结构如下图所示。假设该企业申请的IP地址为218.197.10.0和218.197.11.0
假设net5有250台主机,net6有62台主机,net7和net8各有30台主机,net1-net4各需2个全球IP,试完成网络IP地址规划
输出
name ip from to
net1 218.197.11.128/30 218.197.11.129 218.197.11.131
net2 218.197.11.132/30 218.197.11.133 218.197.11.135
net3 218.197.11.136/30 218.197.11.137 218.197.11.139
net4 218.197.11.140/30 218.197.11.141 218.197.11.143
net5 218.197.10.0/24 218.197.10.1 218.197.10.255
net6 218.197.11.0/26 218.197.11.1 218.197.11.63
net7 218.197.11.64/27 218.197.11.65 218.197.11.95
net8 218.197.11.96/27 218.197.11.97 218.197.11.127
代码
需要安装IPy,代码是python3,本人用的python3.8没毛病,有问题请更新python。
pip install IPy
代码
from IPy import IP
def upexp2(n):
'''arg:n \n
return (res,i)\n
res=2**i,res>=n'''
res = 1
i=0
while res < n:
res <<= 1
i+=