IP地址的定义
IP地址指的是互联网协议地址,全称为IP Address。IP地址将会给网络上的设备、主机电脑分配逻辑上的一个标识符,用以区分不同地域的设备。IP地址工作在网络协议中的网络层,MAC地址则工作在数据链路层。
当前主流使用的是IPv4这个版本,由32位的二进制数组成。通常由四段组成,例如我们比较常见的路由器网关地址192.168.1.1。
Python 通过 ip 段生成 IP 地址
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def ip2num(ip):
ip = [int(x) for x in ip.split('.')]
return ip[0] << 24 | ip[1] << 16 | ip[2] << 8 | ip[3]
def num2ip(num):
return '%s.%s.%s.%s' % (
(num & 0xff000000) >> 24,
(num & 0x00ff0000) >> 16,
(num & 0x0000ff00) >> 8,
num & 0x000000ff
)
def gen_ips(start, end):
"""生成IP地址"""
# if num & 0xff 过滤掉 最后一段为 0 的IP
return [num2ip(num) for num in range(start, end + 1) if num & 0xff]
IP地址未来的发展趋势
IPv4地址不足的问题已经相当严重,特别是5G网络发展所产生万物互联的基础,任何智能设备终端均需要IP地址来实现网络的接入。
IPv6便应运而生,IPv4使用的是32位地址,最多能够使用的地址为2^32;IPv6使用的是64为地址,最多能够使用的地址为2^128。大家不要小看了指数的叠加,IPv6的地址数足够涵盖地球上的所有设备。
2019年7月,中国IPv6发展论坛会议已经在京召开。国内三大运营商已经在核心设备上启用了IPv6地址,使用的是IPv6与IPv4同时运行的方式,个人用户端并未感受到差异而已。据统计,全国通过IPv6上网的活跃用户已达7亿左右(累计)。