图片描述

NPM酷库,每天两分钟,了解一个流行NPM库。·

昨天我们了解到ip库用来做IP地址计算处理,在脉冲云的集群管理中,我们使用了另外一个和网络地址相关的库:netmask,用来计算网络掩码。

通过netmask,我们可以获取一个子网段的网络掩码、子网起始IP和结束IP,还可以判断一个IP是否属于该子网。

const Netmask = require('netmask').Netmask

const block = new Netmask('10.0.0.0/12');
block.base;                     // 10.0.0.0
block.mask;                     // 255.240.0.0
block.bitmask;                  // 12
block.hostmask;                 // 0.15.255.255
block.broadcast;                // 10.15.255.255
block.size;                     // 1048576
block.first;                    // 10.0.0.1
block.last;                     // 10.15.255.254

block.contains('10.0.8.10');    // true
block.contains('10.8.0.10');    // true
block.contains('192.168.1.20'); // false

block.forEach(function(ip, long, index));

block.next()                    // Netmask('10.16.0.0/12')

参考资料

https://github.com/rs/node-ne...


脉冲云_梁兴臣
616 声望194 粉丝

脉冲云CTO,JS全栈开发,DevOps实施,开发体验优化,开发效率提升