IPV6 简单总结

1. 转帖别人的内容

来源:https://www.2cto.com/net/201112/114937.html

2. 本地用IPV6单播地址 (包括链路本地单播地址 和 站点本地单播地址)

2.1  链路本地单播地址

规定了链路本地和站点本地两种类型的本地使用单播地址。链路本地地址用在单链路上,

而站点本地地址用在单站点上。

链路本地地址格式表示如下:

\

注意此地址就是以FE80::x:x:x:x开头的IPV6地址

设计链路本地地址的目的是为了用于诸如自动地址配置、邻居发现或无路由器存在的单链路的寻址。

路由器不能将带有链路本地源地址或目的地址的任何包转发到其他链路上去。

 

2.2  站点本地地址具有下面的地址格式:

\

16进制表示为: FEC0::X:X:X:X:X

站点本地地址的设计目的是为了用于无需全球前缀的站点内部寻址。路由器不应转发站点外具有站点本地源或

目的地址的任何包 

 

然后查看自己机器

 

 

单播地址能自动寻找。

 

接口地址的换算方法

IPv6 接口标识
IPv6 地址的最后 64 位是对于 IPv6 地址的 64 位前缀而言唯一的接口标识。确定接口标识的方法如下:

  • RFC 2373 声明,所有使用前缀 001 到 111 的单播地址,必须使用由“扩展唯一标识 (EUI) - 64”地址派生的 64 位接口标识。 
  • RFC 3041 描述了随时间变化而随机生成的接口标识,以提供某种程度的匿名。 
  • 将在有状态的地址自动配置(例如,通过 DHCPv6)过程中指派接口标识。DHCPv6 标准目前正在定义中。用于 Windows Server 2003 家族产品和 Windows XP 的 IPv6 协议不支持有状态地址配置或 DHCPv6。 
  • 手动配置的接口标识。



基于 EUI-64 的IPv6 接口标识(Interface ID)

64 位 EUI 64 地址是由电气和电子工程师协会 (IEEE) 定义的。将 EUI-64 地址指派给网络适配器,或从 IEEE802 地址派生得到该地址。
在IPv6无状态地址自动配置过程以及接口下生成的Link-local链路本地地址的过程中,一般是根据EUI-64规则来生成接口ID部分:也就是IPv6地址128位长度中的后64位部分。

IEEE 802 地址

用于网络适配器的传统接口标识可使用称为 IEEE 802 地址的 48 位地址。此地址由 24 位公司 ID(也称为制造商 ID)和 24 位扩展 ID(也称为底板 ID)组成。公司 ID(唯一指派给每个网络适配器的制造商)和底板 ID(在装配时唯一指派给每个网络适配器)的组合,即可生成全局唯一的 48 位地址。这个 48 位地址也称为物理地址、硬件地址或媒体访问控制 (MAC) 地址。

IEEE 802 地址中的已定义位如下:

  • 全局/本地 (U/L) 

    U/L 位是第一个字节的第七位,用于确定该地址是全局管理的还是本地管理的。如果将 U/L 位设置为 0,那么通过分配唯一的公司 ID,IEEE 已对地址进行了管理。如果 U/L 位被设置为 1,则地址是本地管理的。网络管理员已覆盖制造地址,并指定其他地址。
  • 个人/组 (I/G) 

    I/G 位是第一个字节的最低位,用来确定地址是个人地址(单播)还是组地址(多播)。设置为 0 时,地址是单播地址。设置为 1 时,地址是多播地址。对于典型的 802.x 网络适配器地址,U/L 和 I/G 位均设置为 0,对应于全局管理的单播 MAC 地址。



IEEE EUI-64 地址

IEEE EUI-64 地址代表网络接口寻址的新标准。公司 ID 仍然是 24 位长度,但扩展 ID 是 40 位,从而为网络适配器制造商创建了更大的地址空间。EUI-64 地址使用 U/L 和 I/G 位的方式与 IEEE 802 地址相同。


将 IEEE 802 的MAC地址映射到 EUI-64 地址

要从 IEEE 802 的MAC地址创建 EUI-64 地址,则 16 位的 11111111 11111110 (0xFFFE) 将被插入到公司 ID 和扩展 ID 之间的 IEEE 802 地址中。
如下图中所示:


将 EUI-64 地址映射到 IPv6 接口标识

要获取用于 IPv6 单播地址的 64 位接口标识,EUI-64 地址中的 U/L 位将进行求反(如果是 1,则被设置为 0;如果是 0,则被设置为 1)。如下图中所示:


IEEE 802 地址转换示例

主机 A 的以太网 MAC 地址是 00-AA-00-3F-2A-1C。首先,通过在第三个和第四个字节之间插入 FF-FE 将其转换为 EUI-64 格式,其结果是 00-AA-00-FF-FE-3F-2A-1C。然后,对 U/L 位(第一个字节中的第七位)求反。第一个字节的二进制形式为 00000000。将第七位求反后,变为 00000010 (0x02)。最后的结果是 02-AA-00-FF-FE-3F-2A-1C,当转换为冒号十六进制符号时,成为接口标识 2AA:FF:FE3F:2A1C。结果是,对应于 MAC 地址 00-AA-00-3F-2A-1C 的网络适配器的链接本地地址是 FE80::2AA:FF:FE3F:2A1C。
注意:

  • 对 U/L 位求反时,如果 EUI-64 地址是全局管理的,则第一个字节将加 0x2,而如果 EUI-64 地址是本地管理的,则从第一个字节减去 0x2。



在路由器设备上查看该接口的网卡MAC地址:

  1. Router# show interface f0/0
  2. FastEthernet0/0 is up, line protocol is down
  3.   Hardware is Gt96k FE, address is 0012.7feb.6b40 (bia 0012.7feb.6b40)
复制代码

我们再查看根据该地址与EUI-64生成的链路本地地址与全球单播地址:

  1. Router(config)# interface f0/0
  2. Router(config-if)# ipv6 address 2001:db8::/64 eui-64
  3. Router(config-if)# do show ipv6 interface f0/0
  4. FastEthernet0/0 is up, line protocol is down
  5.   IPv6 is enabled, link-local address is FE80::212:7FFF:FEEB:6B40 [TEN]
  6.   No Virtual link-local address(es):
  7.   Global unicast address(es):
  8.     2001:DB8::212:7FFF:FEEB:6B40, subnet is 2001:DB8::/64 [EUI/TEN]
复制代码

/***********************************************************/

IPv6无状态地址自动配置
以太网接口的接口标识(Interface Identifier)是基于EUI-64(64-bit extended unique identifier)标识的。而该网卡的EUI-64标识是由网卡内建的48位IEEE802地址扩展的。下面先介绍EUI-64的构造方法。
以太网地址的OUI(Organizationally Unique Identifier)部分(即前3个字节)构成EUI-64的company_id部分(即前3字节),EUI的第四、第五个字节是固定的16进制值FFFE。以太网地址的最后3个字节构成EUI-64的最后3个字节。
接口标识是通过将EUI-64的“全球/本地”("Universal/Local")位取反得到的。该位是EUI-64的第一个字节的次低位。由于网卡的内建地址是全球统一管理分配的,因此得到的标识也是全球唯一的。IEEE802或者EUI-64地址的该位为0,而全球唯一的IPv6接口标识的该位为1。
例如一块网卡的MAC地址为:34-56-78-9A-BC-DE,那么其对应的接口标识应该为:36-56-78-FF-FE-9A-BC-DE。
对于手工设置的或者软件设置的网卡地址,不应该用来构造接口标识。如果一定要使用这类地址来构造接口标识,那么应该在“U/L”位上反映出该地址是否全球唯一。
用来对一块以太网卡进行无状态自动配置的IPv6地址前缀(IPv6 address prefix)的长度必须是64位。

Link-Local Address
以太网卡的IPv6 Link-Local Address是通过该接口的接口标识来构造的。构造方法是:最高的10位为“1111111010”,之后的54位为全0,最后64位为该接口的接口标识。
例如接口标识为:36-56-78-FF-FE-9A-BC-DE,那么对应的IPv6 Link-Local Address为:FE80::3656:78FF:FE9A:BCDE。

临时地址接口标识
在当今基于 IPv4 的 Internet 中,通常 Internet 用户连接到 Internet 服务提供商 (ISP),并通过使用点对点协议 (PPP) 和 Internet 协议控制协议 (IPCP) 获取 IPv4 地址。用户每次连接时,可能获得不同的 IPv4 地址。因此,根据 IP 地址很难跟踪用户在 Internet 上的通信。

对于基于 IPv6 的拨号连接,通过路由器发现和无状态地址自动配置建立连接之后,将给用户指派一个 64 位前缀。如果接口标识总是基于 EUI-64 地址(从静态 IEEE 802 地址派生得到),就可以标识指定节点的通信,而不用考虑其前缀,从而轻松跟踪指定用户及其使用 Internet 的情况。为了解决这个问题并提供某种程度的匿名,在 RFC 3041 中描述了一种备用的 IPv6 接口标识,它是随机生成的,并且随时间变化而变化。

初始接口标识通过使用随机数字来生成。对于不能存储历史信息以便生成将来的接口标识的 IPv6 系统,每次初始化 IPv6 协议时都将随机地生成一个新的接口标识。对于有存储能力的 IPv6 系统,将存储历史值,在初始化 IPv6 协议时,通过以下进程创建新的接口标识:

  • 从存储区中检索历史值,并根据适配器的 EUI-64 地址附加接口标识。 
  • 对步骤 1 中的数量计算“消息摘要 5 (MD5)”单向加密哈希。 
  • 将步骤 2 中计算的 MD5 哈希的最后 64 位另存为用于下次接口标识计算的历史值。 
  • 提取步骤 2 中计算的 MD5 哈希的前 64 位,并将第七位设置为 0。第七位对应于 U/L 位,当设置为 0 时,表示本地管理接口标识。其结果即为该接口标识。



根据此随机接口标识得到的 IPv6 地址就称为临时地址。临时地址是为使用无状态地址自动配置的公用地址前缀生成的。临时地址用于降低下列有效生存期和首选生存期的值:

  • 生存期包括在收到的“路由器公告”消息中的“前缀信息”选项中。 
  • 有效生存期的本地默认值是 1 周,首选生存期的本地默认值是 1 天。



临时地址的有效生存期过期之后,将生成新的接口标识和临时地址。

默认情况下, Windows Server 2003 的 IPv6 协议不会为全局地址前缀创建临时地址。可以使用 netsh interface ipv6 set privacy state=enabled 命令修改此默认设置。
而Windows XP既有公共(public)全局地址,又有临时(temporary)全局地址,因为公共全局地址的接口标识部分是根据用户网卡的硬件地址演化生成,可能会暴露用户隐私,而临时全局地址的接口标识部分是随机生成的,且有时效限制,可以避免用户隐私泄漏。所以,实际进行IPv6网络连接时用到的是临时全局地址。

IEEE相关标准与RFC文档
也许大家会觉得我们为什么要插入0xFFFE,而且是插入IEEE 802的MAC地址中间?而地址还要进行U/L位的计算等?或者您是IPv6的协议栈开发人员、科研人员,可能对相关标准比较感兴趣,那么大家可直接参考IEEE 上的文档:
GUIDELINES FOR  64-BIT GLOBAL IDENTIFIER (EUI-64)   REGISTRATION AUTHORITY:
http://standards.ieee.org/regauth/oui/tutorials/EUI64.html
同时最初是在RFC 2373中进行相关定义,但后续RFC 2373又被RFC 3513所废除,而IPv6的逐步发展中,RFC 3513又再次被RFC 4291所废除。
因此目前最新的规范大家可查阅RFC4291,可适当了解各个RFC之间的继承关系,可能部分书籍与资料也有所介绍相关的RFC编号,但随着IETF对相关协议的更新与完善,协议标准相关最新的文档编号也是有所变化的,也是IPv6相关开发或研究人员需要注意的。
http://www.rfc-editor.org/rfc/rfc4291.txt
同时在RFC 5952中也对RFC4291进行了部分更新:
http://www.rfc-editor.org/rfc/rfc5952.txt

 

来源: http://www.ipv6bbs.cn/thread-210-1-1.html

转载于:https://www.cnblogs.com/jinanxiaolaohu/p/9770368.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向对象第一单元总结

一、对面向对象的理解 有位同学给java的面向对象做了一个形象生动的类比,我觉得很有道理,大概按我的理解如下: 结构的形成看图之前,我们要先明白,世界上是先有了实体,才有了一步步抽象至以上的体系结构&…

理解HTML语义化

1、什么是HTML语义化&#xff1f; <基本上都是围绕着几个主要的标签&#xff0c;像标题&#xff08;H1~H6&#xff09;、列表&#xff08;li&#xff09;、强调&#xff08;strong em&#xff09;等等> 根据内容的结构化&#xff08;内容语义化&#xff09;&#xff0c;…

基本动态规划题集

观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径&#xff0c;使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。 在上面的样例中,从13到8到26到15到24的路径产生了最大的和86。 【输入】 第一个行包含R(1≤ R≤1000)&…

python入门学习的第三天

step 1 时间 Python有两个模块&#xff0c;time和calendar&#xff0c;它们可以用于处理时间和日期 首先 import time 导入时间模块 然后 print time.time() 这个叫时间戳&#xff0c;它是从1970年1月1日午夜到现在时刻的秒数 print time.localtime(time.time()) print time.st…

.Net Core应用框架Util介绍(五)

上篇简要介绍了Util在Angular Ts方面的封装情况&#xff0c;本文介绍Angular封装的另一个部分&#xff0c;即Html的封装。 标准组件与业务组件 对于管理后台这样的表单系统&#xff0c;你通常会使用Angular Material或Ng-Zorro这样的UI组件库&#xff0c;它们提供了标准化的U…

Thunar 右键菜单等自定义

Thunar 右键菜单等自定义 可以使用图形界面或者直接编辑配置文件&#xff0c;二者是等价的。 图形界面&#xff1a; 以给“zip&#xff0c;rar&#xff0c;7z”等文件添加“在此位置使用unar解压缩”的右键菜单为例&#xff1a;&#xff08;unar可以很好地处理编码问题&#xf…

学习网站大汇集

一.综合类学习网站&#xff08;中文&#xff09; 1.网易公开课&#xff1a;https://open.163.com/。上面有TED、可汗学院、国内外高校公开课的免费资源。站内内容完全免费&#xff0c;良心推荐。 2.网易云课堂&#xff1a;http://study.163.com/。网易旗下付费学习平台&#…

@Scheduled

Scheduled注解的使用这里不详细说明&#xff0c;直接对8个参数进行讲解。 参数详解 cron 该参数接收一个cron表达式&#xff0c;cron表达式是一个字符串&#xff0c;字符串以5或6个空格隔开&#xff0c;分开共6或7个域&#xff0c;每一个域代表一个含义。 cron表达式语法 […

eclipse2019-03设置代码编辑区背景为图片

一、我的主题设置如下所示 二、找到如下所示或类似的文件夹 三、在该文件夹里的images文件夹里添加图片 四、在CSS目录下的e4-dark_win.css文件中添加如下代码   .MPart StyledText {     background-image: url(./bg.jpg);     background-repeat: no-repeat;  …

idea集成gitlab使用ssh免密登录

网上有很多介绍ssh免密登录的文章&#xff0c;具体步骤如下&#xff1a; 1. 生成SSH Key ssh-keygen -t rsa -C "your_emailexample.com" 默认会在相应路径下&#xff08;/your_home_path&#xff09;生成id_rsa和id_rsa.pub两个文件&#xff0c;此时终端会显示&…

网络(图)(数学)

转载于:https://www.cnblogs.com/fengxunling/p/9781575.html

DES加解密时 Given final block not properly padded 的解决方案

事情的经过是这个样子的。。。。。。 先说说问题是怎么出现的。根据客户需求&#xff0c;需要完成一个一键登录的功能&#xff0c;于是我的项目中就诞生了DesUtil&#xff0c;但是经过几百次测试&#xff0c;发现有一个登录直接报错&#xff01;难道又遇到神坑啦&#xff01;&a…

appium工作原理

Appium原理 面试的时候&#xff0c;被问到appium原理&#xff0c;一点不会&#xff0c;实在尴尬。大家可以直接翻看原作https://blog.csdn.net/jffhy2017/article/details/69220719 appium运行时安装的2个应用&#xff1a;Appium Settings和Unlock。 一、appium加载的过程图解&…

【Linux基础】crontab定时命令详解

周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件&#xff0c;这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”&#xff0c;是“cron table”的简写。 一、cron服务  cron是一个linux下 的定时执行工具&a…

5个Vue.js项目的令人敬畏的模板

开发人员查看使用SPA&#xff0c;Webpack&#xff0c;身份验证&#xff0c;GraphQL&#xff0c;文档和测试的Vue开发人员的资源。 你准备开始一个重要的Vue项目吗&#xff1f;为了确保从坚实的基础开始&#xff0c;您可以使用模板&#xff08;也就是样板&#xff0c;骨架&#…

测试多个输入条件的方法

转载于:https://www.cnblogs.com/www-qcdwx-com/p/10641281.html

Sublime text 2/3 中 Package Control 的安装与使用方法

Package Control 插件是一个方便 Sublime text 管理插件的插件&#xff0c;但因为 Sublime Text 3 更新了 Python 的函数&#xff0c;API不同了&#xff0c;导致基于 Python 开发的插件很多都不能工作&#xff0c;Package Control 原来的安装方法都失效了。 网上有2种使用 Git…

vue从入门到精通之进阶篇(一)vue-router基础

路由原理 传统开发方式 url改变后 立刻发起请求&#xff0c;响应整个页面&#xff0c;渲染整个页面SPA 锚点值改变后 不会发起请求,发起ajax请求,局部改变页面数据 页面不跳转 用户体验更好 SPA single page application(单页应用程序)前端路由 锚点值监视ajax获取动态数据…

微观经济学

chapter1 导论 学经济学有啥用&#xff1f;找工作有用吗&#xff1f;没有用&#xff0c;但是当你失业的时候你就知道为什么了。为什么会有经济学&#xff1f;资源的稀缺性导致的问题&#xff01; 1.1.稀缺性 既定的资源无法满足人们的欲望。稀缺性存在于任何地方&#xff0c;产…

vue从入门到精通之进阶篇(五)脚手架vue-cli

vue-cli2.x脚手架的使用 参考链接&#xff1a;https://github.com/vuejs/vue-cli/tree/v2#vue-cli-- 安装&#xff1a; npm install -g vue-cli用法&#xff1a; $ vue init < template-name > < project-name >例&#xff1a; $ vue init webpack my-projec…