精华内容
下载资源
问答
  • ipv6地址划分工具
    千次阅读
    2020-04-19 13:03:43

    目录

    IPv6 的子网划分

    详见《IPv6 — 地址格式、子网划分与寻址模式》。

    更多相关内容
  • ipv6子网划分工具箱v1.0.xlsm:ipv6子网划分计算器,IPV6地址包含关系计算器,IPV6地址包含关系批量比较计算器,3合1工具箱(因为网上大多ipv6子网划分计算器或其他工具很难用,干了10多年网络的我索性自己用VBA写了...
  • 自己写的,自认为最好用的IPV6子网划分工具 ipv6子网划分计算器-工具箱v1.5.xlsm:ipv6子网划分计算器,ipv6地址包含关系计算器,ipv6地址包含关系批量比较计算器,3合1工具箱(因为网上大多ipv6子网划分计算器或...
  • IPV6子网划分工具

    2015-05-30 12:12:43
    子网掩码计算器:保证是你见过的最好的支持IPV6,功能最强大.网络上几乎找不到,最新版的支持IPV6,子网划分最好的工具
  • IPv6地址工具

    2013-03-05 17:41:26
    IPv6地址工具 ipv4即将退出,这个IPv6工具可有一定作为 网络工具,一般人用不到
  • ipv6地址计算器.exe

    2019-07-30 12:02:21
    此软件更新版本地址为...ipv6计算器v1.1,简单直观,计算结果显示为地址范围及地址总数,支持子网计算并给起始和结束子网地址和子网地址总数;支持win7,win10系统 在原1.0版本基础上改进并修复部分BUG
  • ipv6地址计算器202010

    2020-10-14 14:25:39
    ipv6地址计算器 版本202010 无需安装,支持win7,win10系统; 界面简单直观,支持单个地址计算、批量计算和EUI-64地址转换; 单个地址计算结果显示为地址范围及地址总数,支持子网计算并给出起始和结束子网地址和子网...
  • IPV6计算器

    2018-11-03 14:06:08
    可以支持IPv6计算,网络划分必备工具。支持WINSOW7,WINDOWS10。
  • IPv6子网划分

    2015-12-21 09:58:42
    在对 IPv6 地址空间进行子网划分时,需要使用子网划分技术,以一种允许将剩余地址空间的摘要和委派路由到 IPv6 Intranet 的不同部分的方式,为 48 位全局地址前缀划分 16 位子网 ID 字段。
  • ipv6子网掩码计算器

    2021-08-17 17:38:16
    目前为止最好用的: IPV6子网掩码计算器
  • 非常强大的IP地址子网划分工具
  • IPv6子网计算器/工具介绍(最新版本:4.5)
  • IPV6计算工具

    2014-02-28 10:14:20
    IPV6计算工具安卓版本,可以用于手机上的应用
  • IPV6地址分配

    千次阅读 2018-10-23 17:37:14
    IP地址:网络前缀 + 接口标识 网络配置参数 分配方式 手动配置  管理员手动指定 link-local​  属于无状态自动配置的一种,网络前缀固定fe80::/10, 接口标识通常为EUI64,接口完成初始化时自动生成。 有状态...

    网路配置分为两部分

    1. IP地址:网络前缀 + 接口标识
    2. 网络配置参数

    分配方式

    • 手动配置

         管理员手动指定

    • link-local​

         属于无状态自动配置的一种,网络前缀固定fe80::/10, 接口标识通常为EUI64,接口完成初始化时自动生成。

    • 有状态分配

         DHCPv6服务器分配,分配包括IP和网络配置参数

    • 无状态分配

         通过路由器广播消息获取网络前缀,与自身生成的接口标识部分结合生成IP地址,接口标识一般为EUI64,鉴于安全的考虑也可以指定生成规则。

         因为无状态支持的网络配置参数有限,可以与有状态结合使用,IP地址无状态自动生成,网络配置向DHCPv6服务器获取,参考邻居发现的路由器广播消息部分说明。

    展开全文
  • IPv6 地址/掩码计算器

    热门讨论 2011-03-04 18:11:42
    开源IPv6 地址/掩码计算器, 免安装,跨平台,java运行。
  • 用于处理IPv4和IPv6的IP地址和子网的库 ,打包为OSGI软件包,打包为和 Maven组ID:com.github.seancfoley Maven工件ID: Maven的版本: , , , 自5.3.1版起的OSGI捆绑包:com.github.seancfoley.ipaddress ...
  • IPv6的世界里,如果DHCP6和SLACC这两位大佬都为没有为可怜的网卡分配IP地址,也没有人为网卡设置静态的IP地址,系统就会为网卡计算一个IPv6的网址来。这样的网址只能在本地使用,不得路由,所以,被称为“link-local...

    IPv6的世界里,如果DHCP6和SLACC这两位大佬都为没有为可怜的网卡分配IP地址,也没有人为网卡设置静态的IP地址,系统就会为网卡计算一个IPv6的网址来。这样的网址只能在本地使用,不得路由,所以,被称为“link-local address”,译作“本地联网地址”。

    其方法是在特殊的网段fe80::/64内,利用网卡的MAC地址拼凑一个64位的地址,放在fe80::/64后,组成一个128位的本地联网地址。

    b0a19bcbdd2babb4672061ff5d12e632.png

    本地的主机之间可以使用这个地址通信。首先,我们来看一看这个地址如何计算。

    第1步:找到网卡的MAC地址

    # nmcli con show

    # nmcli con show eth0

    第2步:将MAC地址转换成二进制

    oschina.net就有在线转换工具:https://tool.oschina.net/hexconvert/

    比如说,找到的16进制的MAC地址是:00:11:22:aa:bb:cc,去掉中间间隔的冒号后,提交转换成2进制得到一个长度为37位的字串:

    1000100100010101010101011101111001100

    4c4bd9dc015a58b89cd7a4d701927a2e.png

    第3步:将第7位进行0-1互换

    将37位的字串补齐为48位,得到如下字串:

    000000000001000100100010101010101011101111001100

    蓝色为补齐的数字。将第7位数字进行0-1互换,即如果是0,就换成1;如果是1,就换成0。于是得到如下48位字串,其中紫色的那个1就是互换的结果:

    000000100001000100100010101010101011101111001100

    第4步:再转换成16进制

    将上一步得到的48位字串再转换成16进制数字,得到如下结果:

    85e5d0a75421004e59c3e23cd57dcbff.png

    得到的结果是:21122aabbcc

    第5步:插入ff:fe

    在上述结果的中间位置插入ff:fe。21122aabbcc,原来是MAC地址,是12位,如今只剩下11位,需要加0补全,于是得到的结果是:021122aabbcc。再将ff:fe插到中间位置,再写成4个字符一组的模式,如下:

    0211:22ff:feaa:bbcc

    第6步:加上前面64位

    在前面加上64位地址:fe80::/64得到的地址就是IPv6本地链接地址,可以用来在本地网络中通信,即:

    fe80::211:22ff:feaa:bbcc

    如果要与这个IPv6地址通信,需要带上其网卡的连接id(connection id),也就是使用nmcli con show看到的那个id,如下图所示:

    8dbaee8223685c6a2eedb95b5133b43b.png

    所上图所示,nmcli con show的界面上,第一列的NAME就是connection id。使用nmcli con show eth0,看到的详细情况中,这个eth0又被称为"连接id"。在这一点上,nmcli处理的不好,同一属性,两种查法中,却使用了不同的名字,让人费解。好了,现在就来试试这个计算出来的IPv6本地联网地址吧!

    # ping6 fe80::211:22ff:feaa:bbcc%eth0

    # ssh root@fe80::211:22ff:feaa:bbcc%eth0

    参考:

    https://tools.ietf.org/html/rfc4291#appendix-A

    https://tool.oschina.net/hexconvert/

    展开全文
  • IPv6子网数量计算器

    千次阅读 2021-06-07 21:23:54
    最近需要做一个IPv6子网计算器,网上有个前端工具网站倒是可以实现,但是不知道什么原理,自己要用C语言实现一个工具,所以没办法就去研究了一个星期。。。最终倒是成功了,具体测试也通过了,不过代码还是不太完善...

    IPv6子网计算器

    最近需要做一个IPv6子网计算器,网上有个前端工具网站倒是可以实现,但是不知道什么原理,自己要用C语言实现一个工具,所以没办法就去研究了一个星期。。。最终倒是成功了,具体测试也通过了,不过代码还是不太完善的,这边就分享一下实现代码。希望能给需要的人一个思路。
    本程序可以根据需要分成的子网个数或者要分成的IPv6前缀两种方式来划分

    /*
    **********************************************************************
    *                        CREATE BY BCTECH                            *
    **********************************************************************
    *                   * @Author: Gu
    *                   * @Date:   2021-06-04 08:41:51
    *                   * @Last Modified by:   Gu
    *                   * @Last Modified time: 2021-06-07 21:31:24
    **********************************************************************
    */
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <arpa/inet.h>
    #include <string.h>
    //网络字节序
    /**
     * [ip_to_str description]
     * @Author      gu
     * @DateTime    2021-06-04T08:43:20+0800
     * @Description 整型数IP转成字符串
     * @param       str                      [description]
     * @param       ip                       [description]
     * @return                               [description]
     */
    int ip_to_str(char *str, unsigned int *ip) {
        int domain;
        unsigned int ipv6add[4];
        if (ip[0] == 0 && ip[1] == 0 && ip[2] == 0) {
            domain = AF_INET;
            ipv6add[0] = ip[3];
            ipv6add[1] = 0;
            ipv6add[2] = 0;
            ipv6add[3] = 0;
        } else {
            domain = AF_INET6;
            ipv6add[0] = ip[0];
            ipv6add[1] = ip[1];
            ipv6add[2] = ip[2];
            ipv6add[3] = ip[3];
        }
        if (inet_ntop(domain, ipv6add, str, INET6_ADDRSTRLEN) == NULL) {
            return -1;
        }
        return 0;
    }
    //网络字节序
    /**
     * [str_to_ip description]
     * @Author      gu
     * @DateTime    2021-06-04T08:43:49+0800
     * @Description IP地址转成整型数
     * @param       str                      [description]
     * @param       ip                       [description]
     * @return                               [description]
     */
    int str_to_ip(char *str, unsigned int *ip) {
        int Afamily;
        ip[0] = 0;
        ip[1] = 0;
        ip[2] = 0;
        ip[3] = 0;
        if (strstr(str, ":") != NULL) {
            Afamily = AF_INET6;
        } else {
            Afamily = AF_INET;
        }
        if (inet_pton(Afamily, str, ip) <= 0) {
            return -1;
        } else {
            // ntohl(ip);//网络字节序转主机字节序
        }
        return 0;
    }
    
    //gcc -Wall -o subnet_calculat subnet_calculat.c -lm
    int main(int argc, char const *argv[]) {
        char *ipstr = argv[1];//IP地址
        int changenum = 0;//用来求划分后的前缀
        int prefix = atoi(argv[2]);//IP子网
        int need_prefix = 0;//划分后的子网前缀
        int movenum = 0, runmove = 0;//二进制移动值
        unsigned int tmpvalue = 0;//公用临时变量
        unsigned int tmpvalue2 = 0;
        unsigned int tmpvalue3 = 0;
        unsigned int tmpvalue4 = 0;
        long long int run = 0;//遍历子网个数变量
        long long int runtime = 0;//子网个数
        unsigned int ip[4] = {0};
        int res = -1;
        char iptemp[64];
        unsigned int need_ip[4] = {0};//IP中转变量
        if (strstr(argv[3], "/")) {//按子网前缀划分
            changenum = atoi(argv[3] + 1) - prefix;
            if (changenum < 0) {
                printf("error select prefix should be more than ip_prefix!\n");
                return 1;
            }
        } else {//按需要的子网个数划分
            int testnum = atoi(argv[3]); //要划分的个数/划分的子网
            double lognum = (log10(testnum) / log10(2));
            if (floor(lognum + 0.5) == (lognum)) {//取整
                changenum = round(lognum); //取划分的子网数跟2的对数
            } else {
                changenum = round(lognum + 0.5); //取划分的子网数跟2的对数
            }
        }
        need_prefix = prefix + changenum;
        res = str_to_ip(ipstr, ip);
        if (res < 0) {
            printf("str_to_ip error!\n");
            return 0;
        }
    
        runtime = pow(2, changenum);
        if (runtime <= 0) {
            runtime = 1;
        }
        for (run = 0; run < runtime ; run++) {
            need_ip[0] = ip[0];
            need_ip[1] = ip[1];
            need_ip[2] = ip[2];
            need_ip[3] = ip[3];
            if (need_prefix <= 32) {//结果子网小于等于32,操作整型IP地址的第一位
                tmpvalue = htonl(need_ip[0]);//主机字节序转网络字节序
                movenum = 32 + changenum - need_prefix;
                if (movenum < 0) {
                    printf("error no more subnet!\n");
                    return 0;
                }
                tmpvalue2 = (((tmpvalue >> (movenum)) << changenum)  | run) << (movenum - changenum);
                need_ip[0] = ntohl(tmpvalue2);
            } else if (need_prefix <= 64) {//结果子网小于等于64大于32,操作整型IP地址的第一和二位
                movenum = 64 - need_prefix;
                if (movenum < 0) {
                    printf("error no more subnet!\n");
                    return 0;
                }
                runmove =  need_prefix - 64;
                tmpvalue = htonl(need_ip[0]);
                tmpvalue2 = (tmpvalue | (run >> runmove));
                need_ip[0] = ntohl(tmpvalue2);
                tmpvalue3 = htonl(need_ip[1]);
                tmpvalue4 = (((tmpvalue3 >> (movenum - 1)) + run) << movenum);
                need_ip[1] = (ntohl(tmpvalue4));
            } else if (need_prefix <= 96) {//结果子网小于等于96大于64,操作整型IP地址的第一和三位
                movenum = 96 - need_prefix;
                if (movenum < 0) {
                    printf("error no more subnet!\n");
                    return 0;
                }
                runmove =  need_prefix - 96;
                tmpvalue = htonl(need_ip[1]);
                tmpvalue2 = (tmpvalue | (run >> runmove));
                need_ip[1] = ntohl(tmpvalue2);
                tmpvalue3 = htonl(need_ip[2]);
                tmpvalue4 = (((tmpvalue3 >> (movenum - 1)) + run) << movenum);
                need_ip[2] = (ntohl(tmpvalue4));//网络字节序转主机字节序
            } else {//结果子网大于96,操作整型IP地址的第一和四位
                movenum = 128 - need_prefix;
                if (movenum < 0) {
                    printf("error no more subnet!\n");
                    return 0;
                } else {
                    tmpvalue2 = (((tmpvalue >> (movenum - 1)) + run) << movenum);
                }
                runmove =  need_prefix - 128;
                tmpvalue = htonl(need_ip[2]);
                tmpvalue2 = (tmpvalue | (run >> runmove));
                need_ip[2] = ntohl(tmpvalue2);
                tmpvalue3 = htonl(need_ip[3]);
                tmpvalue4 = (((tmpvalue3 >> (movenum - 1)) + run) << movenum);
                need_ip[3] = (ntohl(tmpvalue4));
            }
            memset(iptemp, 0, sizeof(iptemp));
            res = ip_to_str(iptemp, need_ip);
            if (res < 0) {
                printf("ip_to_str error!\n");
                return 0;
            }
        }
        return 0;
    }
    
    

    我自己的基本测试是没什么问题的,有的问题就是当子网的地址数或者子网数过多超过double最大值时,会有问题,所以如果使用尽量不要计算过大的子网。(其实我也是一知半解,所以不太好描述为什么这样写,反正代码他就是能用了哈哈哈哈哈哈哈哈)等我真的搞懂了我就再解释下吧。哈哈哈!

    展开全文
  • IPv6地址组成IPv6地址由被划分为8个16位块的128位组成。 然后将每个块转换为由冒号符号分隔的4位十六进制数字,如: 2001:0000:3238:00E1:0063:0000:0000:FEFB每一块多个前导的0可以省略,一个块全为0可以简写为一个...
  • 网络划分之IP地址计算器

    千次阅读 2021-04-11 17:23:49
    网络划分 IP地址计算器:点击进入
  • 这是一款非常实用的子网划分和子网计算的工具,能够很方便地计算出你所想要的子网划分信息,适合网络管理人员使用,可以节省网管很多时间
  • 二进制和十进制的关系二进制和十六进制的关系16进制的每个位是2进制的4位F=1111二进制转16进制,按上面4位一组分开转2.IP地址和二进制十进制:0-9逢10(到9)进1十六进制:0-F(10为A),逢F进1PS:归位到(某个进制数...
  • 子网掩码计算器(保证是你见过的最好的支持IPV6) 子网掩码计算器(功能最强大.网络上几乎找不到)是CSDN上的,不过我这个是最新版的支持IPV6,一旦拥有,别无所求。子网划分最好的工具
  • IPV6地址格式

    2016-12-01 14:16:45
    IPV6地址格式
  • 方便以后相关数据查询需求,本人未设置过相关划分子网,子网掩码,网关,路由表等,因此篇仅是相关工具测验实例。针对平台linux和win,文中涉及的ip是我瞎写的。具体实验请根据需求更改。 搜索的话,基本都是域名为...
  • 相比之下,IPv6(互联网协议第六版)凭借地址资源丰富、安全可靠等优势,成为了解决当今互联网发展瓶颈的有效手段,受到业界及各国政府的高度重视。IPv6的大规模商用部署顺势在全世界范围内快速展开,近几年来全球...
  • 计算机网络-子网划分【Java版】 package com; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { // 输入流 public static Scanner sc = new ...
  • 1.划分新的分区,parted分区工具(专门用于划分GPT分区模式) GPT分区模式:支持128个主分区,最大空间支持18EB 1EB=1024PB 1PB=1024TB [ root@server0 ~ ] # parted /dev/vdb ( parted ) mktable gpt #制定分区...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,358
精华内容 2,943
关键字:

ipv6地址划分工具