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. SwipeRefreshLayout实现下拉刷新上滑加载

    1. 效果图 2.RefreshLayout.java package myapplication.com.myapplication; import android.content.Context; ...

  2. 关于app夜间模式那点事

    大半年没写过代码了 一直在忙一些其他的事情  这几天想起来看了一点  心惊肉跳的 发现好陌生  所以打算今后慢慢的拾起来  往深度和广度去发展 发现好久之前写的一个微博项目  有一个夜间模式的功能没有 ...

  3. c#将http调用返回额json中的有关中文的unicode转换为中文

    c#将http调用返回额json中的有关中文的unicode转换为中文 中文转Unicode:HttpUtility.UrlEncodeUnicode(string str);转换后中文格式:&quo ...

  4. SQL Server中怎样可以从SELECT语句的结果集中删除重复行

    首先要分析出现重复记录的原因,是不是有一些where条件没有加上,把该加的条件都加上如果还有结果集重复,考虑以下方法去重: 结果集中去除重复行可以使用函数[distinct]也可以使用分组语句[gro ...

  5. UNP学习笔记3——基本UDP套接字编程

    1 概述 TCP和UDP网络编程存在一些本质的差异,主要是由于传输层的差别:UDP是无连接的不可靠的数据报协议,而TCP是面向连接的字节流协议. 下图是典型的UDP客户端和服务器之间的通信流程.客户不 ...

  6. iOS性能优化专题

    http://wereadteam.github.io/2016/05/03/WeRead-Performance/ https://www.cnblogs.com/oc-bowen/p/599999 ...

  7. Unity 围绕X、Y、Z旋转图例

    绿色:绕X 红色:绕Y 蓝色:绕Z PS:这是右手坐标系,Unity为左手坐标系 不知道啥叫左手右手?参见我的另一篇文章http://www.cnblogs.com/36bian/p/7571727. ...

  8. 代理上网环境配置docker私有库

    最后更新时间:2018年12月27日 Docker使用代理上网去 pull 各类 images,需要做如下配置: 创建目录: /etc/systemd/system/docker.service.d ...

  9. code-reading-notes--xml 解析

  10. Android开发进度03

    1,今日:目标:实现登录界面 2,昨天:实现第一个Android项目Helloworld 3,收获:会使用手机进行测试,会使用SQlite数据库 4,问题:创建项目时出错