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

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

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

第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

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

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

000000000001000100100010101010101011101111001100

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

000000100001000100100010101010101011101111001100

第4步:再转换成16进制

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

得到的结果是: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,如下图所示:

所上图所示,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地址分类 java_IPv6的本地联网地址计算方法详解相关推荐

  1. ipv6+ssh+java_IPv6的本地联网地址计算方法详解

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

  2. Hadoop入门(二)——VMware虚拟网络设置+Windows10的IP地址配置+CentOS7静态IP设置(图文详解步骤2021)

    Hadoop入门(二)--VMware虚拟网络设置+Windows10的IP地址配置+CentOS7静态IP设置(图文详解步骤2021) 之前在上一篇文章中讲述了 CentOS7下载+VM上安装(手动 ...

  3. linux中etc下的hosts(本地IP解析)文件详解

    linux中etc下的hosts(本地IP解析)文件详解 1./etc/hosts(本地解析) 很多人一提到更改hostname首先就想到修改/etc/hosts文件, 认为hostname的配置文件 ...

  4. FastText 总结:文本分类、词向量训练、参数详解

    FastText:文本分类.词向量训练.参数详解 前言 - FastText 简介 一.FastText - 安装 1.1 - Github下载安装 1.2 - 编译器安装 二.FastText - ...

  5. 【转】什么是场效应管(FET)-场效应管(FET)分类、原理、用途等知识详解

    什么是场效应管(FET)-场效应管(FET)分类.原理.用途等知识详解 场效应管和双极晶体管不同,它属于仅以电子或空穴中的一种载子动作的晶体管.按照结构.原理可以分为:1.接合型场效应管 2.MOS型 ...

  6. html5 php 数据库操作,HTML_HTML5本地数据库基础操作详解,下面分别介绍本地数据库的各 - phpStudy...

    HTML5本地数据库基础操作详解 下面分别介绍本地数据库的各个API及其使用方法. 1.利用openDatabase创建数据库 我们可以利用openDatabase方法创建数据库.openDataba ...

  7. ipv6单播地址包括哪两种类型_IPv6基础详解,地址分类,基本IPv6配置,两分钟快速掌握...

    一.IPv6基础 1.IPv6地址总长度为128比特,冒分十六进制,地址中包含的连续两个或多个均为0的组,可以用双冒号"::"来代替 2.IPv6地址分为两部分: 网络前缀(相当于 ...

  8. 为什么百度查到的ip地址和ipconfig查到的不同;详解公网Ip和私网ip; 网络分类ABC类;

    文章目录 1.百度查到的ip和ipconfig查到的不同 1.1引出问题 1.2不一样的原因 2.IP地址分类 2.1IP类别 2.1 Public IP和Private IP 3.总结 3.1整理上 ...

  9. python输入ip地址_python批量生成本地ip地址的方法

    本文实例讲述了python批量生成本地ip地址的方法.分享给大家供大家参考.具体分析如下: 这段代码用于在本地计算机上生成本地ip地址绑定到网卡,生成的是一个bat的批处理文件,运行此批处理文件,可以 ...

最新文章

  1. java864位官网_jdk8 64位下载-jdk8 64 bit windows官方版 - 极光下载站
  2. 【ES6】字符串的拓展
  3. android eclipse 环境
  4. 门限的限意思是什么_门限是什么意思_门限英文翻译
  5. 免费报名丨网易、腾讯、唯品会等100位名企超资深营销增长官,约你闭门“搞事情”...
  6. 请写一段 PHP 代码 ,确保多个进程同时写入同一个文件成功
  7. Fedora开机自动登录指定用户(root或普通用户)
  8. 前端每日实战:163# 视频演示如何用原生 JS 创作一个多选一场景的交互游戏(内含 3 个视频)...
  9. http协议(十)实体首部字段
  10. 20200316:H指数(leetcode274)
  11. Java 理论与实践: 修复 Java 内存模型,第 1 部分
  12. 已解决:如何使用IDEA生成java帮助文档java doc?
  13. 天网防火墙存在一个安全隐患
  14. 如何在虚拟机下安装一个Linux操作系统?(简简单单30步,安装Linux详细教程)
  15. 初识JAVA:华为面试写一个程序:要求出用1,2,5这三个数不同个数组合的和为100的组合个数
  16. c语言过磅系统,衡安无人值守地磅称重系统过磅流程
  17. v4l2接口解析和摄像头数据采集
  18. 【ubuntu拷贝目录】cp: omitting directory”错误的解释和解决办法
  19. Code128 编码规则
  20. 计算机发布信息的方法,介绍两种用电脑给手机发短信的方法

热门文章

  1. 服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document
  2. Jenkins--创建自己的第一个Jenkins任务
  3. 操作系统——进程管理思维导图(一)
  4. 计算机开机主机不停地重启,求救:电脑一直重启,开机自检后,一会就重启
  5. IDEA运行卡顿,网页刷新不及时,网页报404错误以及Ajax收不到servlet返回的数据(已解决)
  6. 计算机网络 --- 计算机和因特网2
  7. c语言小鱼的游泳时间,小鱼系列简单题参考代码
  8. 为什么你还没有买新能源汽车? 1
  9. MAC去掉更新小红点
  10. app版本更新的五种实现方式