1. IPv6第二层寻址

IPV6地址以两种方式与第2层地址相关。第一种方式是IPV6独有的,提供了从第2层地址构建接口ID的机制。第二种方式对IPv4和IPV6都是一样的,提供了将一个IP组播地址映射为一个第2层组播地址的机制。

  • EU1-64接口标识符

IEEE规定了EUI-64标识符的格式。为了使IPv6接口ID成为这样的一个标识符,即以Internet标准顺序(全局/本地位)将第6位反位。

IEEE规范也给出从一个48位第2层地址产生一个64位EU1-64标识符的机制。因为有这样的一种机制,在接口的MAC地址和IPV6地址的接口lD部分之间能够建立一种关联。例如,这种类型的ID在Cisco路由器上由链路本地地址使用。

下图展示了从一个MAC地址产生一个IPV6接口ID的两步骤过程。第一步是产生一个EU1-64标识符;第二步是修改它使之成为一个IPV6接口ID。

在MAC地址的组织唯一标识符(高24位)和节点ID(低24位)中间插入FFFE。

将MAC地址的U/L位(高7位)反转。(0<—>1)

  

  

如何计算?

一个EUI-64地址可以由EUI-48地址形成,将EU1-48地址的24位OUI值复制到EU1-64地址,并将EUI-64地址的第4和第5个字节的16位替换为1111 1111 1111 1110 (十六进制FFFE),然后复制由组织分配的剩余位。例如,EUI-48地址00-11-22-33-44-55在EUI-64地址中将会变成00-11-22-FF-FE-33-44-55这个映射的第一步是当可以用基本EUI-48地址时由IPv6构造接口标识符。修改的EUI-64用于形成IPv6地址的IID,但是需要对u位取反。

MAC地址:00-04-6d-7f-7c-1a——>00-04-6D-FF-FE-7F-7C-1A——>

u位(高7位)取反,02-04-6D-FF-FE-7F-7C-1A——>使用保留的链路本地前缀 fe80::/10 ——>

链路本地地址:FE80 : : 204 : 6DFF : FE7F : 7C1A

  

  MAC地址:00 : 30 : 48 : 2A : 19 : 89——>00 : 30 : 48 : ff : fe  2a : 19 : 89——>

  u位取反,02 : 30 : 48 : ff : fe : 2a : 19 : 89——>使用保留的链路本地前缀 fe80::/10 ——>

  链路本地地址:FE80 : : 230 : 48ff : fe2a : 1989

  • 第2层组播地址

类似于IPV4,IPV6目前将第3层组播地址映射到第2层地址。对于组播IPv6流量,MAC地址的第一个16高位位标识第2层组播地址:3333.xxxxxxxx。IPv6组播地址的低位31位接贝到MAC地址的剩余部分。图2-14展示了这种映射机制的示例,是以被请求节点组播IPV6地址来说明的。

  

说明:

在IEEE标准中, EUI表示扩展唯一标识符。EU1-64标识符开始于一个24位的组织唯一标识符(OUI),接着是一个由组织分配的40位扩展标识符,它由前面24位识别。ouI由IEEE注册权威机构[IEEERA]来维护和分配。在Intemet环境下,这种地址通常是统一管理的。

OUI的长度是24位,并占据EU1-48和EU1-64地址的前3个字节。这些地址的第一个字节的低两位分别是u位和g位。

多年来,很多IEEE标准兼容的网络接口(例如以太网)在使用短格式的地址(48位的EUI)。EU1-48和EU1-64格式之间的显著区别是它们的长度。

  

第7位(u位)设置为1时,就定义了一个全局单播地址(全局唯一);

第8位(g位)被设置为1时, 表示该地址是一组或组播类型的地址。

基于单播前缀产生全局惟一IPV6组播地址机制,如图2-10所示。

  

2. IPv6对于接口的要求

  • 为了确保IPV6协议的正确运行,每台支持IPv6的主机必须支持下列类型的地址:
    • 回环地址:
    • 链路本地地址:
    • 如果配置了的话,需支持单播或任意播地址:
    • 注册到所有节点组播地址:
    • 主机注册了的所有组的组播地址:
    • 注册到其自身的被请求节点组播地址。

依赖于节点类型、配置和支持的协议,也许存在其他地址或者加入组播组。―台路由器必须支持为主机列出的地址,以及下列地址:

    • 子网路由器任意播地址:
    • 所有配置的组播地址:
    • 所有路由器组播地址。

这些地址用于控制和数据平面相关的流量。

IPv6第二层寻址,IPv6接口要求的更多相关文章

  1. Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6642463 在前面几篇文章中,我们详细介绍了A ...

  2. 光猫和路由器都支持ipv6,却无法使用ipv6?

    这些年很多地方的光猫都能获得ipv6地址了,而且新出的路由基本都支持ipv6,但是还是有很多人在http://test-ipv6.com看不到自己的ipv6地址,也上不了ipv6网站. 我也遇到这个问 ...

  3. 23、ASP.NET MVC入门到精通——业务层和数据层父类及接口-T4模板

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在上一篇中,我们已经把项目的基本框架搭起来了,这一篇我们就来实现业务层和数据层的父接口及父类. 1.我们先来定义一个业务层父接口IBaseB ...

  4. 第二部分 MediaPlayer的接口与架构

    第二部分 MediaPlayer的接口与架构 2.1 整体框架图         MediaPlayer的各个库之间的结构比较复杂,可以用下图的表示     在各个库中,libmedia.so位于核心 ...

  5. .net通用权限框架B/S (四)--DAL数据层以及数据接口

    数据层以及数据接口设计如下图(以g_orga组织机构和g_role角色)为例,这几个类可以通过.tt模版生成 设计参考学习http://www.cnblogs.com/hanyinglong/arch ...

  6. iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6

    一. iOS----如何检查域名是否支持ipv6 iOS----------如何检查域名是否支持ipv6 1.检查你所用到的库,像af 3.0以上什么的(不用改),其他的库自己去搜下是否支持ipv6吧 ...

  7. [MyBatis]DAO层只写接口,不用写实现类

    团队开发一个项目,由老大架了一个框架,遇到了DAO层不用写接口了,我也是用了2次才记住这个事的,因为自己一直都是习惯于写DAO层的实现类,所以,习惯性的还是写了个实现类.于是遇到错误了. 找不到那个方 ...

  8. iview框架 两侧弹框 出现第二层弹框 一闪而过的问题

    分析原因:寡人怀疑可能是,两层弹出框 采用的是一个开关值,发生了覆盖 解决方式 是在第二层弹框外套层计时器 源代码如下: 修改后为:

  9. Ajax -异步请求 -jquery中ajax分类 -第一层 $.ajax -第二层($.get /$.post) -第三层($.getJson/$.getScript) -相应演示

    Ajax 1.标准请求响应时浏览器的动作(同步操作) 1.1浏览器请求什么资源,跟随显示什么资源2.ajax:异步请求. 2.1局部刷新,通过异步请求,请求到服务器资源数据后,通过脚本修改页面中部分内 ...

随机推荐

  1. Codeforces 991E. Bus Number (DFS+排列组合)

    解题思路 将每个数字出现的次数存在一个数组num[]中(与顺序无关). 将出现过的数字i从1到num[i]遍历.(i from 0 to 9) 得到要使用的数字次数数组a[]. 对于每一种a使用排列组 ...

  2. UVa 10106 Product 【大数相乘】WA

    虽然是错的代码,但是还是想贴出来,最开始WA发现是没有考虑到乘积为0的情况,后来把a*0,0*a,a*0---0(若干个0),0--0(若干个0)*a都考虑进去了:可是还是WA,实在不懂先留在这儿. ...

  3. ZBrush中Mrgb、Rgb和M的使用

    ZBrush®软件工具架中所有的命令选项都是我们平时较为常用的,位于工具架的中间位置,有一个Mrgb.Rgb和M选项它们所表示的是材质及颜色,那么,在Zbrush中只要选择相应的选项,就可以同时绘制材 ...

  4. webpack不打包指定的js文件

    背景: 在项目实际开发中,有一些IP地址需要随时修改,进行部署,例如websocket的地址.因此在项目打包的时候,不希望保持IP地址的文件被打包,因此就需要把需要修改的常量独立出来,存放在一个js文 ...

  5. python_函数、局部变量与全局变量

    #函数优点:代码重用.保持一致性.可扩展性import time def logger(): """时间年-月-日 分""" time_fo ...

  6. Ajax得到JSON数据

    Ajax得到JSON数据

  7. React基础知识点全解

    •      propTypes.defaultProps 作为 properties 定义,也可以在组件外部通过键值对方式进行设置. •      设置组件初始的 state不支持 getIniti ...

  8. BestCoder Round #52 (div.2) HDU 5418 Victor and World (DP+状态压缩)

    [题目链接]:pid=5418">click here~~ [题目大意]: 问题描写叙述 经过多年的努力,Victor最终考到了飞行驾照. 为了庆祝这件事,他决定给自己买一架飞机然后环 ...

  9. leetcode第一刷_Subsets II

    要求子集,有很现成的方法.N个数.子集的个数是2^N.每一个元素都有在集合中和不在集合中两种状态,这些状态用[0,pow(2,N)]中每一个数来穷举,假设这个数中的第i位为1,说明当前集合中包括源数组 ...

  10. Tesseract 3.04 + VS2013 配置心得(包括静态库版本号和Release版本号)

    研究Tesseract也有几个星期了 走了一些弯路 网上有非常多VS2010的配置心得 但没有VS2013的, 找到一篇之后, 又发现会有一些小问题, 这里记录下来, 也为新人提供一些帮助. Tess ...