快捷搜索:  汽车  科技

每一粒沙子都有一个ip地址(每一粒沙子都可以拥有的IPv6地址分类)

每一粒沙子都有一个ip地址(每一粒沙子都可以拥有的IPv6地址分类)子网 ID 会分配到 64bit。也就是通常全球路由前缀 子网 ID=64bit。子网 ID:由组织机构得到全球路由前缀之后自行分配子网,进行子网划分;通常全球单播地址:类似于 IPv4 的公网地址,要求全球唯一。全球路由前缀:由 provider 分配给相应的组织机构,目前已经被分配出去的前三个 bit 为 001;全球路由前缀通常不小于 48bit。

一、ipv6地址分类

1、单播地址

特殊地址:

::1/128:环回地址,114 个 0,类似于 IPv4 的 127.0.0.1。

::/128:未指定地址,128 个 0,类似于 IPv4 的 0.0.0.0。

全球单播地址:类似于 IPv4 的公网地址,要求全球唯一。

每一粒沙子都有一个ip地址(每一粒沙子都可以拥有的IPv6地址分类)(1)

全球路由前缀:由 provider 分配给相应的组织机构,目前已经被分配出去的前三

个 bit 为 001;全球路由前缀通常不小于 48bit。

子网 ID:由组织机构得到全球路由前缀之后自行分配子网,进行子网划分;通常

子网 ID 会分配到 64bit。也就是通常全球路由前缀 子网 ID=64bit。

接口标识:通常为 64bit。

2、唯一本地地址

类似于 IPv4 的私网地址,但是该地址也是全球唯一。用于私网网络本地管理使用。

每一粒沙子都有一个ip地址(每一粒沙子都可以拥有的IPv6地址分类)(2)

唯一本地地址前缀:7bit,固定为全球知名前缀 FC00::/7。

L bit 位:1bit,值为 1 表示本地管理地址;值为 0 用作扩展。

全球唯一前缀:40bit,由提供商提供,通过伪随机方式生成,属于全球唯一。

子网 ID:16bit,在得到 48bit 的唯一前缀后,可以进行 16bit 的子网划分。

接口标识:64bit。

3、链路本地地址

该地址在 IPv6 启动后自动生成,可以实现单链路的天然通信能力,但是该

地址只能在链路上生效,不能跨链路通信,不能被路由。一般用于链路上的 IPv6 邻居发现

(NDP:邻居状态追踪,地址解析,DAD 等),以及用做 IPv6 路由协议比如 OSPFv3,

RIPng 等协议的下一跳。

每一粒沙子都有一个ip地址(每一粒沙子都可以拥有的IPv6地址分类)(3)

网络前缀:64bit,前 10bit 为固定全球知名前缀 FE80::/10,后 54bit 为 0 填充。

接口标识:64bit。华为设备使用 eui-64 自动生成。

4、组播地址

每一粒沙子都有一个ip地址(每一粒沙子都可以拥有的IPv6地址分类)(4)

组播前缀:8bit,固定为全球知名前缀 FF00::/8

flag:4bit,目前只是用最后一个 bit,前三个 bit 为 000,最后一个 bit 为 0 表示

该地址为永久组地址,最后一个 bit 为 1 表示该地址为临时组地址。

scope:4bit,用于表示该地址定义的组播流传递的范围。

group id:112bit,目前其中前 80bit 用 0 填充,后 32bit 用于表示组播组 ID。

5、请求节点组播地址:FF02::1:FFXX:XXXX/104

在 IPv6 中没有广播地址,所以在进行 DAD 检测或地址解析时需要使用广播地址,此时在 ipv6 中定义

了一个被请求节点组播地址实现广播地址的功能。每个 IPv6 节点对应的被请求节点组播地址都不一

样。该地址的前 104bit固定为 FF02::1:FF00:0/104,后 24bit 为该 IPv6 节点的单播地址的后 24bit。当

某个 IPv6 节点生成了一个 IPv6 单播地址之后,会默认加入该单播地址对应的被请求节点组播地址的

组播组。

6、任播地址

主要用于 IPv6 的移动特性,以及访问路径优化;没有独立的地址空间,使用和 IPv6

单播地址共同的地址空间。IPv6 任播地址仅可以被分配给路由设备,不能应用于主机。任

播地址不能作为 IPv6 报文的源地址。

每一粒沙子都有一个ip地址(每一粒沙子都可以拥有的IPv6地址分类)(5)

二、ICMPV6

1、ICMPv6 是 IPv6 的基础协议之一,用于向源节点传递报文转发的信息或者错误

协议类型号(即 IPv6 Next Header)为 58。

在 IPv6 中,ICMPv6 除了提供 ICMPv4 的对应功能之外,还有其它一些功能的基础,

邻居发现、无状态地址配置、重复地址检测、PMTU 发现等。

类似于 IPv4 的 ICMPv4,基于 IPv6 协议,next-header 值为 58。

每一粒沙子都有一个ip地址(每一粒沙子都可以拥有的IPv6地址分类)(6)

Type:表明消息的类型,0 至 127 表示差错报文类型,128 至 255 表示消息报文

类型。

Code:表示此消息类型细分的类型。

2、差错检查报文

每一粒沙子都有一个ip地址(每一粒沙子都可以拥有的IPv6地址分类)(7)

(1)目的不可达

当数据包无法被转发到目标节点或上层协议时,路由器或目标节点发送 ICMPv6 目标

不可达差错报文。在目标不可达报文中,类型(Type)字段值为 1,代码(Code)字段值

为 0-4,每一个代码值都定义了具体含义(RFC2463)

0:没有到达目标的路由。

1:与目标的通信被管理策略禁止。

2:未指定。

3:地址不可达。

4:端口不可达。

(2)数据包过长(Packet Too Big)

如果由于出口链路的 MTU 小于 IPv6 数据包的长度而导致数据包无法转发,路由器就

会发送数据包超长报文。该报文被用于 IPv6 路径 MTU 发现的处理 。数据包超长报文的类

型字段值为 2,代码字段值为 0。

(3)超时(Time Exceeded)。

当路由器收到一个 IPv6 报头中的跳限制(Hop Limit)字段值为 0 的数据包时,会丢弃

该数据包并向源发送 ICMPv6 超时报文。在超时报文中,类型字段的值为 3,代码字段的

值为 0 或 1:

0:在传输中超越了跳限制;1:分片重组超时。

(4)参数错误(Parameter Problem)。

当 IPv6 报头或者扩展报头出现错误,导致数据包不能进一步处理时,IPv6 节点会丢弃

该数据包并向源发送此报文,指明问题的位置和类型。参数问题报文中,类型字段值为

4,代码字段值为 0~2,32 位指针字段指出错误发生的位置。其中代码字段是这样定义

的:

0:遇到错误的报头字段。

1:遇到无法识别的下一个报头(Next Header)类型。

2:遇到无法识别的 IPv6 选项。

(5)在 RFC2463 中只定义了两种信息报文:回送请求 Echo Request 以及回送应答 Echo

Reply。

回送请求报文 Echo Request

回送请求报文用于发送到目标节点,以使目标节点立即发回一个回送应答报文。回送

请求报文的类型字段值为 128,代码字段的值为 0。标志符(Identifier)和序列号

(Sequence Number)字段有发送方主机设置,用于将即将收到的回送应答报文与发送的

回送请求的报文进行匹配。

回送应答报文 Echo Reply

当收到一个回送请求报文时,ICMPv6 会用回送应答报文响应。回送应答报文的类型字

段的值为 129,代码字段的值为 0。标志符(Identifier)和序列号(Sequence Number)字

段的值被指为与回送请求报文中的相应字段一样的值。

2、信息报文

(1)echo request 和 echo relay:一般用于 ping 功能检测连通性

(2)RS,RA,NS,NA:NDP 协议中使用

猜您喜欢: