闲谈IPv6-IPv6地址的scope到底是什么?

2023-11-07

一台主机启动后,每一块网卡都会自动生成一个fe80打头的 链路本地地址 ,这个地址在Linux上你删都删不掉,不信你试试,在Windows是可以删掉的,但是只要你重置网卡,它就会自动生成…

这个所谓的链路本地地址到底有何怪异?

我的主机安装两块网卡,分别连接两个网络, 在系统初启的时候,两块网卡分别自动获得了两个IPv6地址:
enp0s8:fe80::fbb2:a1e:e59:15eb/64
enp0s9:fe80::ac5b:e7c6:9d00:797d/64

其中enp0s9的对端连接着另外一台机器的网卡,其网卡IP是:
eth0:fe80::ebad:9145:fe66:55cc/64

这里,enp0s9和eth0是直连的,二者可以直接ping通吗?

不能!

如果像IPv4那样理解为仅仅 二者是直连的 以及 二者是同一网段的 就可以ping通的话,那就错了。

事实上,你会发现, 全世界所有的网卡的链路本地地址都是同一个fe80::/16一个网段的! ,但是它们却不一定能彼此ping通。这是和IPv4之间的大不同。

IPv4之所以直连的同一网段的两个地址之间可以互通,完全是因为当你配置IP地址的时候,系统自动生成的 链路路由 使其可以互通,但是IPv6的所有链路本地地址都在一个网段,仅仅靠IP路由,便不足以使其互通。

IPv6地址是有严格scope限制的, 两个地址首先要被限制在自己的scope内,其次才考虑路由的连通性。

比如两个链路本地地址,必须是二层直连的,才能相互ping通。为了避免歧义,在上面的例子中,在操作上,如果你想从enp0s9这块网卡的链路本地地址ping通对端的eth0链路本地地址,那么你必须使用下面的命令:

ping6 fe80::ebad:9145:fe66:55cc%enp0s9
1
注意,后面的 %enp0s9 是必须的,它规定了 一条链路的维度! 否则,没有这个维度限制的话,ping6命令接下来的底层就会按照全球地址最长前缀匹配规则去寻址,全世界所有网卡,包括该主机自己的多块网卡,均拥有相同网段fe80::/16的地址,按照IPv4的规则,这实属同一网段,这会令其费解!左边也有链路路由,右边也有同样的链路路由,到底往哪走!?

有了链路scope维度的限制,链路路由又成了唯一的了,这样自然就通了。

IPv6声称自己实现了严格的地址scope,然而IPv6除了链路本地地址以及本地主机地址有着严格的scope限制之外,别的scope再也没有类似的限制了。我们知道IPv6的socpe包括host,link,site,global,但是site被废弃了,因此就再也没有了严格的限制。

不过,思想还是重要的,这是IPv6的创举,IPv4就没有类似的机制。但是IPv4模拟了scope,比如169.254这个网段的地址,就模拟了link-local链路本地地址。

总结一下:

IPv6的连通性首先要在自己的scope内考虑。
IPv6地址在自己的scope内基于IP路由来确保连通性。
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

闲谈IPv6-IPv6地址的scope到底是什么? 的相关文章

  • 地产变革中,物业等风来

    2023年7月 也许是中国房地产行业变局中的一个大拐点 中信建投研报表示 政治局会议指出当前我国房地产形势已发生重大变化 要适时调整优化政策 为行业形势定调 当前房地产行业 已至 不久前 国家统计局公布了2023年上半年房地产数据 数据显示
  • Git:重新提交没有更新的commit

    应用场景 一般来讲 我们push一个commit的流程是这样的 git add

随机推荐

  • 据结构(三)-- 用栈实现汉诺塔(python)

    数据结构C语言版 P55 算法思想 为了把n块盘从X塔座移到Z塔座借助Y塔座 就必须把n 1块盘从X塔座移到Y塔座借助Z塔座 再将X塔座上剩余的第n块盘移到Z塔座上 最后将Y塔座上的n 1块盘移到Z塔座上借助X塔座 结束程序 而在实现将n
  • 计算机网络2——数据链路层

    数据链路层主要干什么 mtu概念 mtu最大值和最小值是多少 以太网帧的格式 ARP协议 RARP地址解析 逆地址解析 说白了就是网卡的mac地址和ip地址互查的机制 ARP高效运行的关键 其弱点 ARP代理的概念和应用场景 免费ARP w
  • tomcat缓存清理

    有的时候我们正常启动tomcat发布工程后会出现java拒绝链接的问题 这个时候有必要去清理一下tomcat缓存来解决这个问题 1 tomcat目录下的temp文件夹 2 tomcat work目录下 Catalina文件夹 重启tomca
  • 常见的JVM调优参数

    常见的JVM调优参数 Xms3072m 堆内存初始容量为3072M Xmx3072m 堆内存最大容量为3072M Xmn2g 年轻代容量为2G Xss256k 每个线程栈的大小为256K XXNewRadio 4 年轻代与老年代的比值 不包
  • 知识体系太庞大无法理清?教你用XMind+印象笔记搭建个人知识体系!

    面对杂乱无章的思维和浩瀚的知识 我们有时候不知道该从何处下手去整理自己的知识储备 今天和大家聊一聊如何用 XMind ZEN 印象笔记的组合方式来进行高效的知识管理 一个是专业的思维导图工具 一个是专业的笔记工具 一个掌控全局 一个掌控细节
  • 反向shell与反向ssh隧道,远程控制内网机器

    反向shell ssh隧道 打通局域网机器与外网的墙壁 最新了解到的 方法二的进阶 更方便 首先需要在公网IP的这台机器上配置ssh服务 使能其端口转发 sudo vi etc ssh sshd config 添加如下行 GatewayPo
  • java判断流是否为空_java-如何在不读取InputStream的情况下检查InputStream是否为空?...

    基于使用PushbackInputStream的建议 您将在此处找到一个示例实现 author Lorber Sebastien lorber sebastien gmail com public class NonEmptyInputSt
  • 高并发编程之ArrayBlockingQueue讲解

    一 ArrayBlockingQueue介绍 ArrayBlockingQueue 是一个用数组实现的有界阻塞队列 此队列按照先进先出 FIFO 的原则对元素进行排序 支持公平锁和非公平锁 注 每一个线程在获取锁的时候可能都会排队等待 如果
  • Ubuntu上安装和配置MySQL教程

    1 1提升的权限 到 root 你可以通过执行以下命令来执行此操作 sudo i 或者 sudo su 1 2确保系统中的所有软件包和存储库都是最新的 sudo apt update 1 3现在 我们将通过 apt 包管理器安装 MySQL
  • QT容器类(三) 之 QMap、QHash

    一 介绍 QMap QMap中的key value对是升序排列的 插入和删除操作中都可以使用 运算符 其下标为key 为避免创建不必要的空值 推荐用vlaue 而不是 从QMap中取值 QMap
  • 在编译ASIO 时,出现编译警告Please define _WIN32_WINNT 解决办法

    最近在学习ASIO库时 出现编译警告 Please define WIN32 WINNT or WIN32 WINDOWS appropriately For example n add D WIN32 WINNT 0x0501 to th
  • Chromium revision is not downloaded. Run "npm install"

    在使用依赖puppeteer的组件com时 使用npm install 安装组件 报错 Chromium revision is not downloaded Run npm install 解决思路 1 先安装 puppeteer 2 删
  • 前后端分离项目实现登录(登录)

    现在大部分的项目都是前后端分离项目 在前后端分离项目中的身份验证我们经常采用JWT认证 关于JWT认证的详细内容 请移步上一篇博客 最近做的项目恰好用到了JWT的身份验证 今天拿出来说一下 login vue
  • CentOS停止维护那就用Alibaba Cloud Linux替代吧

    Alibaba Cloud Linux是阿里云推出的Linux镜像系统 CentOS停止维护可以选择Alibaba Cloud Linux替代 Alibaba Cloud Linux全面兼容RHEL CentOS生态 CentOS RHEL
  • Echarts实现3d图表

  • “定点打击”——XPath 使用细则(Just For Selenium WebDriver)(md重制版)

    定点打击 XPath 使用细则 Just For Selenium WebDriver md重制版 该系列文章系个人读书笔记及总结性内容 任何组织和个人不得转载进行商业活动 Selenium WebDriver中有关元素定位的学习 需要XP
  • ts类型声明文件的正确使用姿势

    ts类型声明文件的正确使用姿势 ts声明文件类型 DefinitelyTyped社区已定义 npm install types jquery save dev 与npm一同发布 解释 package json 中有 types 字段 或者有
  • 动态链表

    define CRT SECURE NO WARINGS include
  • 数据库相关

    目录 第一章 数据库概述 1 1 数据库的好处 1 2 数据库的常见概念 1 3 数据库的存储特点 1 4 数据库的常见分类 1 5 SQL语言的分类 第二章 MySQL概述 2 1 MySQL的背景 2 2 MySQL的优点 2 3 My
  • 闲谈IPv6-IPv6地址的scope到底是什么?

    一台主机启动后 每一块网卡都会自动生成一个fe80打头的 链路本地地址 这个地址在Linux上你删都删不掉 不信你试试 在Windows是可以删掉的 但是只要你重置网卡 它就会自动生成 这个所谓的链路本地地址到底有何怪异 我的主机安装两块网