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. DB2load遇到SQL3508N错误

    SQL3508N装入或装入查询期间,当存取类型为 "<文件类型>" 的文件或路径时出错.原因码:"<原因码>".路径:"< ...

  2. Django中ORM之查询表记录

    查询相关API from django.db import models # Create your models here. class Book(models.Model): title = mo ...

  3. 第一章 关于python

    Python简介 Python是什么?   python的创始人为吉多·范罗苏姆(Guido van Rossum).  “Python is a great object-oriented, int ...

  4. Pyhton学习——Day48

    # 转载:http://www.cnblogs.com/yuanchenqi/articles/6437362.html#python关于mysql的API--pymysql模块# 执行sql语句# ...

  5. 利用after和before伪类实现chrome浏览器tab选项卡斜边纯css无图制作笔记

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  6. Python及相应软件安装

    Python安装 这是下载地址:Linux下载链接,windows下载链接 1.下载压缩包 wget https://www.python.org/ftp/python/3.7.1/Python-3. ...

  7. javascript-datatable错误提示

    datatables插件在使用的时候出现了如下错误提示**出现此错误的原因可能是你写的table中没有加上<thead>和<tbody>标签所致**     来自为知笔记(Wi ...

  8. Tarjan强联通分量【模板】

    #include <algorithm> #include <cstdio> using namespace std; ); int n,m,v,u; int edgesum, ...

  9. bzoj-1492 货币兑换Cash (1)——平衡树维护凸包

    题意: 有n天和m的初始金钱,用来购买AB两种纪念券: n天里每天都有AB的价格.每天能够进行这种操作. 1.卖出手中x%的纪念券(AB分别都卖出x%). 2.用x的金钱买入纪念券.买入AB券的比例在 ...

  10. IIS身份验证的配置

    前4者配置:localhost applicationHost.config <location path=""> 后2者配置:web.config 要点: 这6项尽管 ...