java mysql ipv6_IPv6地址范围[关闭]

在范围内使用IP地址(IPv4和IPv6都不正确)是不正确的 . 对特定“范围”IP地址进行分组的正确方法是使用前缀(CIDR表示法)或掩码(过时,仅对IPv4有效,如果您尝试使用非连续掩码,则会发生精神错乱) .

有时您会看到使用IPv4范围的某人(有时甚至是应用程序,家庭路由器等),但这只是错误的方法 .

使用Classless Inter-Domain Routing (CIDR)你将有一个元组

,其中Address是一个128位无符号整数,Prefix是一个很小的(0..128)无符号整数 . 前缀表示地址的最高有效位数表示网络地址,其余128个前缀最低有效位表示该网络中的特定主机 .

因此,例如,2620:0:860:2 :: / 64(wikimedia.org)的IPv6“范围”表示来自2620:0:860:2 ::最高2620:0:860:2的所有主机: FFFF:FFFF:FFFF:FFFF .

您不应该使用两个“bigint”将这样的值存储在数据库中,而是在单个列中使用任何本机表示,除非您想让开发人员的生活成为一场噩梦 . 如果您的DBMS不支持这么大的整数,除了替换您的DBMS之外,我建议使用16字节长的固定大小的二进制数据列 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值