不等长子网划分(python)

这篇博客介绍了如何使用Python进行不等长子网划分,作者为了解决不想手动计算的问题,编写了相关代码。文章详细阐述了问题背景、问题详情,并提供了完整的Python代码示例,适用于网络IP地址规划,例如分配给具有不同主机数量的网络段。
摘要由CSDN通过智能技术生成

问题背景

本人不想笔算不等长子网划分,网上的有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+=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值