• 内容取自华为文档,自己摘抄,用于记录学习。
  1. IPv6地址表示方法
  • IPv6地址总长度为128比特,通常分为8组,每组为4个十六进制数的形式,每组十六进制数间用冒号分隔。例如FC00:0000:130F:0000:0000:09C0:876A:130B,这是IPv6地址的首选格式。
  • 为书写方便,IPv6还提供压缩格式,压缩原则为:
    • 每组中的前导“0”都可以省略,上述地址可以写为:FC00:0:130F:0:0:9C0:876A:130B。
    • 地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替,所以上述地址可写为:FC00:0:130F::9C0:876A:130B。
    • 在一个IPv6地址中只能使用一次双冒号“::”,否则当计算机将压缩后的地址恢复为128位时,无法确认每个“::”代表的个数。
  1. IPv6地址的结构
  • 可分为如下两部分:

    • 网络前缀:n比特,相当于Ipv4地址中的网络ID;
    • 接口标识:128-n比特,相当于ipv4地址中的主机ID。
    • 对于IPv6单播地址来说,如果地址的前三比特不是000,则接口标识必须为64位;如果地址的前三位是000,则接口标识长度无限制。
  • 接口标识可以通过三种方法生成:手工配置,系统通过软件自动生成,IEEE EUI-64规范生成。其中根据IEEE EUI-64规范生成最为常用。
    • IEEE EUI-64规范是将接口的mac地址转换为ipv6接口标识的过程。
    • 转换过程:mac地址的前24位为公司标识,后24位为扩展标识符。从高位开始数,第七位是0表示该mac地址本地唯一。转换的第一步将0xfffe插入mac地址的供公司标识和扩展标识符之间,第二步将从高位开始的第七位的0改为1,表示此接口标识全球唯一。例如:mac地址:000E-OC82-C4D4;转换后为:020E:0CFF:FE82:C4D4。
    • 这种由mac地址产生IPv6地址接口标识的方法可以减少配置的工作量,尤其是采用无状态地址自动配置时。但是使用这种方式最大的缺点是任何人都可以通过二层mac地址推算出三层IPv6地址。
  1. IPv6地址分类
  • 分为单播地址、任播地址(Anycast Address)、组播地址;和ipv4相比,取消了广播地址类型,以更丰富的组播地址代替,同时增加了任播地址类型。
  • 单播地址
    • IPv6定义了多种单播地址、目前常用的单播地址有:未指定地址、环回地址、全球单播地址、链路本地地址、唯一本地地址ULA(Unique Local Address)。

    • 未指定地址:0:0:0:0:0:0:0:0/128或者::/128。改地址可以表示某个接口或者节点还没有ip地址,可以作为某些报文的源ip地址。源IP地址是::的报文不会被路由设备转发。

    • 环回地址:0:0:0:0:0:0:0:1/128或者::1/128。环回地址和iPv4中的127.0.0.1作用相同,主要用于设备给自己发送报文。该地址通常用来作为一个虚拟口的虚拟地址(如loopback接口)。实际发送的数据包中不能使用环回地址作为源IP地址或者目的IP地址。

    • 全球单播地址:带有全球前缀IPv6地址,其作用类似ipv4中的公网地址。这种类型的地址允许路由前缀的聚合,从而限制了全球路由表项的数量。全球单播地址由全球路由前缀(Global routing prefix)、子网ID(Subnet ID)和接口标识(Interface ID)组成。全球路由前缀,由提供商指定给一个组织机构,通常全球路由前缀至少为48位。目前已经分配的全球路由前缀的前3bit均为001。子网ID,组织结构可以用子网ID来构建本地网络(site),子网id通常最多分配到第64位。子网ID和ipv4中的子网号作用相似。接口标识,用来标识一个设备。

    • 链路本地地址:链路本地地址是ipv6中的应用范围受限的地址类型,只能在连接到同一本地链路的节点之间使用。它使用了特定的本地链路前缀FE80:/10(最高10位值为1111111010),同时将接口标识添加在后面作为地址的低64bit。当一个节点启动ipv6协议栈时,启动时节点的每个接口会自动配置一个链路本地地址(其固定的前缀+eui-64规则形成的接口标识)。这种机制使得两个连接到以链路本地地址的ipv6节点不需要做任何配置就可以通信。所以链路本地地址广泛用于邻居发现,无状态地址配置等应用。以链路本地地址为源地址或目的地址的ipv6报文不会被路由设备转发到其他链路。

    • 唯一本地地址:唯一本地地址是另一种应用范围受限的地址,它仅能在一个站点内使用。由于本地站点地址的废除(rfc3879),唯一本地地址被用来代替本地站点地址。唯一本地地址的作用类似于ipv4中的私网地址,任何没有申请到提供商分配的全球单播地址的组织机构都可以使用唯一本地地址。唯一本地地址只能在本地网络内部被路由转发而不会在全球网络中被路由转发。唯一本地地址格式:前缀:固定为FC00::/7;L标志位:值为1代表该地址为在本地网络范围内使用的地址,值为0被保留,用以以后扩展;GloalID:全球唯一前缀,通过随机方式产生,40bit;subnetID:子网ID,划分子网使用;interfaceID:接口标识。

      • 具有全球唯一的前缀(虽然是随机方式产生,但是冲突的概率很低);
      • 可以进行网络间的私有连接,不必担心地址冲突问题;
      • 具有知名前缀,方便边缘设备进行路由过滤;
      • 如果出现路由泄露,该地址不会和其他地址冲突,不会造成Internet路由冲突;
      • 应用中,上层应用程序将这些地址看作全球单播地址对待;
      • 独立于互联网服务提供商ISP(Internet Service Provider)。
  1. ipv6组播地址
  • 与ipv4组播相同,用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于0到多个组播组。发往组播地址的报文被组播地址标识的所有接口接收。例如组播地址FF02::1表示链路本地范围的所有节点,组播地址FF02::2表示链路本地范围的所有路由器。
  • 格式
    • 前缀:FF00::/8
    • 标志字段(Flag):长度为4bit,目前只使用了最后一个比特(前三位必须置0)。当该位值为0时,表示当前的组播地址是由iana所分配的一个永久分配地址;当该值为1时,表示当前的组播地址时一个临时组播地址(非永久分配地址)
    • 范围字段(Scope):长度4bit,用来限制组播数据流在网络中发送的范围,该字段有特殊含义
    • 组播组id(group ID):长度112bit,用以标识组播组。目前,RFC2373并没有将所有的112位都定义位组标识,而是建议仅仅使用该112位的最低32位作为组播组id,将剩余的80位都置0。这样每个组播组ID都映射到一个唯一的以太网组播mac地址。
    • 被请求节点组播地址:被请求组播地址通过节点的单播或任波地址生成。当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。一个单播地址或任播地址对应一个被请求节点组播地址。该地址主要用于邻居发现机制和地址重复检测功能。
  • ipv6中没有广播地址,也不使用arp。但是仍然需要从ip地址解析到mac地址的功能。在ipv6中,这个功能通过邻居请求NS(Neighbor Solicitation)报文完成。当一个节点需要解析某个IPv6地址对应的mac地址时,会发送NS报文,该报文的目的ip就是需要解析IPv6地址对应的被请求节点组播地址;只有具有该组播地址的节点会检查处理。
  • 被请求节点组播地址由前缀FF02::1:FF00:0/104和单播地址的最后24位组成。
  1. ipv6任播地址
  • 任播地址标识一组网络接口(通常属于不同的节点)。目标地址时任播地址的数据包将发送给器中路由意义上最近的一个网络接口。
  • 任播地址设计用来在给多个主机或者节点提供相同服务时提供冗余功能和负载分担功能。目前,任播地址的使用通过共享单播地址方式来完成。将一个单播地址分配给多个节点或者主机,这样在网络中如果存在多条该地址路由,当发送者以任播地址为目的IP的数据报文时,发送者无法控制哪台设备能够收到,者取决于整个网络中路由协议计算的结果。这种方式可以适用于一些无状态的应用,例如dns等。
  • ipv6中没有为任播规定单独的地址空间,任播地址和单播地址使用相同的地址空间。目前ipv6中任播主要应用与移动IPv6。
  • 任播地址仅仅可以分配给路由设备,不能应用于主机。任播地址不能作为IPv6报文的源地址。
  • 子网路由器任播地址:子网路由器任播地址是已经定义好的一种任播地址(RFC3513)。发送到子网路由器任播地址的报文会被发送到该地址标识的子网中路由意义上最近的一个设备。所有设备都必须支持子网任播地址。子网路由器任播地址用于节点需要和远端子网上所有设备中的一个(不关心具体是哪个)通信时使用。例如,一个移动节点需要和它的“家乡”子网上的所有移动代理中的一个进行痛惜。
  • 子网路由器任播地址由n比特子网前缀标识子网,其余用0填充。

IPv6地址简单介绍相关推荐

  1. ipv6地址的分类(关于FE80开头, FEC0开头的IPV6地址等的介绍)

    自<IPV6详解> ipv6地址总的来说可分为三大类:单播地址,泛播地址和组播地址     (后面两种网上很多介绍) 单播地址还可分为几类:可集聚全球单播地址,链路本地单播地址和站点本地单 ...

  2. c语言中打印ipv6地址,IPv6地址介绍

    1. 认识IPv6地址 IPv4地址是类似 A.B.C.D 的格式,它是32位,用\".\"分成四段,用10进制表示:而IPv6地址类似X:X:X:X:X:X:X:X的格式,它是1 ...

  3. zabbix实现简单的IPV6地址监控(可仿照实现延迟和丢包)

    zabbix自定义监控ipv6 前提条件 1.需要zabbix-server端和zabbix-agent端 2.agent端需要开启Include模块和UnsafeUserParameters参数 3 ...

  4. ipv6单播地址包括哪两种类型_超简单!一文搞懂IPv6地址

    为什么要使用IPv6地址 由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展.IPv6地址长度为128位,是v4长度的4倍.现有标准IPv4只支持大概40亿(4×109)个网络地 ...

  5. postman本地请求ip地址变成ipv6_华为认证-IPv6技术-ICMPv6介绍

    ICMPv6协议 ICMPv6的协议类型是58 除了IPv4中的作用外 还添加了邻居发现.无状态自动配置.PMTU 等作用 邻居发现协议NDP NDP 邻居发现协议 有如下功能 NDP使用ICMPv6 ...

  6. IPv6专题系列:01. IPv6地址介绍

    IPv6地址格式 IPv6地址从IPv4地址的32 bits扩展到128 bits,IPv6地址的表示.书写方式也从IPv4的点分十进制,如192.168.1.1,转变为: 即,16 bits一组,采 ...

  7. CCNA课堂练习二:路由协议EIGRP简单介绍与配置

    EIGRP协议是Cisco的私有路由协议,它综合了距离矢量和链路状态2者的优点.它的英文全称是"Enhanced Interior Gateway Routing Protocol" ...

  8. IPV6地址校验(java)

    IPv6介绍 IPV6的长度是128位,相比于ipv4的32位,极大的扩展了ip地址可用空间.ipv4地址现在被视为一种稀缺资源,而ipv6地址相当充足,在可以预见的未来是用不完的.这有一段描述:如果 ...

  9. socket通信简单介绍

    "一切皆Socket!" 话虽些许夸张,可是事实也是,如今的网络编程差点儿都是用的socket. --有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间怎样通 ...

最新文章

  1. MIDP2.0引入了Push注册机制
  2. NDC 2010视频下载:看看其他微软平台程序员们都在做什么
  3. vmstat使用简介各种linux命令使用
  4. 计算机三级网络操作题,计算机等级考试三级网络技术考试模拟试题
  5. 用python编写daemon监控进程并自动恢复(附Shell版)
  6. html5响应式网站建设网络类织梦模板
  7. Spring Boot系列教程四:配置文件详解properties
  8. 881.BoatstoSavePeople
  9. WiFi音箱在国内普及需解决的三点
  10. Mac vmvare vmdk文件使用
  11. 汇编学习软件推荐 - 汇编金手指
  12. java+poodle漏洞修复_SSL POODLE漏洞修复
  13. 突破老旧OA系统局限,打通五大业务管理体系,让效率“狂飙”
  14. 什么是DBMS以及DBMS的分类
  15. android 获取系统语言版本,Android 获取系统语言的实例(兼容7.0)
  16. 数据结构(C语言描述)——顺序表
  17. c语言可以设计那些游戏,语言游戏设计(c语言怎样设计游戏)
  18. 共轭梯度算法之FR算法
  19. 2分钟!教你把Win电脑桌面秒变高端MacOS风格,这是要逆天了吗?
  20. “都叫兽”背后的韩国文化

热门文章

  1. Tomcat启动成功能访问主页面但是不能访问应用解决办法
  2. stm32f4下载异常问题处理
  3. 基于java的婚恋交友相亲网
  4. Microsoft Visual C++2010 Express 2010学习版
  5. Flutter 小技巧之 ListView 和 PageView 的各种花式嵌套
  6. printf花式输出图形
  7. Altium PCB总结
  8. 06-07 | 设计模式之美——王争
  9. 安卓之百度地图定位图层显示方式
  10. Python调用外部EXE程序遍历窗体及控件并获取控件信息。