在网络设备上,没家厂商表示ip的形式各不相同,但可能表示的是同一个意思,
列如
10.95.134.192/29 = 10.95.134.192/255.255.255.248
CIDR表示方法:IP地址/网络ID的位数,比如10.95.134.192/29,其中用29位表示网络ID。
CIDR to IpMask
_, ipNet, err := net.ParseCIDR("10.95.134.192/29")
if err != nil {
fmt.Println(err)
}
val := make([]byte, len(ipNet.Mask))
copy(val, ipNet.Mask)
var s []string
for _, i := range val[:] {
s = append(s, strconv.Itoa(int(i)))
}
fmt.Printf("%s/%s\n", ipNet.IP, strings.Join(s, "."))
打印结果:
10.95.134.192/255.255.255.248
IpMask to CIDR
ones, bits := net.IPv4Mask(255, 255, 255, 248).Size()
fmt.Println(ones,bits)
打印结果:
29 32
有疑问加站长微信联系(非本文作者)