IPv6的地址家族:
Unicast :单播地址家族
1,未指定地址:代表接口没有IP地址,也可作为报文的源IP地址
(如:NS报文的重复地址 检测,DHCPv6初始化报文)
这种报不会被路由设备转发。 Ipv4--(0.0.0.0)
2,环回地址:本地回环 用于测试 ipv4--(127.0.0.1)
3,全球单播地址:公网地址 全球唯一
格式:全局路由前缀+子网ID+接口ID
---通常的全球单播地址 全局路由前缀都是48位(前三位固定为001)
IANA 分发地址,12位的路由前缀给到国家 国家再管理地址 分配给运营商/32位的地址
也有特例如较大的互联网公司主动申请/32的地址 地址层级化管理,对比ipv4的混乱有明显优势
4,链路本地地址: 概念:只存在于一条链路上 不同的链路地址是可以重复的
生成方式: 手动配置 自动生成:EUI64
作用: 邻居发现、路由选路、地址自动配置
地址格式:固定的前缀 FE80::0 /10 + 接口ID
EUI64:接口ID自动生成的方式
在48位的MAC地址中间插入固定的16进制 FFFE / 将第七位值由0反转为1
例子:mac地址 F8-A9-63-1E-A1-07 接口ID 为 FE80::FAA9:63FF:FE1E:A107 /10
5,唯一本地地址: 概念:只存在于一个站点中 ipv4 (私网地址)
L:值为1代表该地址为在本地网络范围内使用的地址;值为0被保留用于以后扩展。
即目前仅使用了FD00::/8地址段,FC00::/8预留为以后拓展用。
Global ID:全球唯一前缀,通过伪随机方式产生(重复率很低)。
Multicast:组播地址家族
组播地址结构:FF00 :: /8 固定前缀
常见组播地址:
地址层级化概览:
组播MAC:
33-33是专门为IPv6组播预留的MAC地址前缀,MAC地址的后32bit从对应 的组播IPv6地址的后32bit拷贝而来。
被请求节点组播地址:Solicited-Node Multicast Address
- 通过节点的单播或任播地址生成。
- 主要用于邻居发现机制和地址重复检测功能。 (IPV4--ARP)
- 开头=FF02::1:FF00/104,加上单播地址最后24位。
IPV6中已经取消了广播地址和ARP 功能
使用此地址来代替广播地址 当需要做地址重复检测和邻居发现时 发包的对象就是请求节点组播组地址
ANY cast: 任播地址
• 标识一组网络接口(通常属于不同的节点) eg: 相同的服务 HTTP DNS 等
• 发往任播的报文只会被发送到最近的一个接口。
• 任播地址与单播地址使用相同的地址空间,因此配置时须明确表明是任播地址。
• 目前任播主要应用于移动IPv6。
PS:
IPv6任播地址仅可以被分配给路由设备,不能应用于主机。任播地址不能作为IPv6报文的源地址。
IPv6报文格式
IPv6报文头的处理较IPv4大大简化,提高了处理效率
基本包头:
红色:被删除的部分
IHL :包头长度 ipv6包头设计成固定的40字节 所以取消此字段
Identification : 标识 Flags :标记 Fragment Offsset : 片偏移 这3个字段都是因为ipv6不允许对包进行分段而取消
header checksm :头部校验 二层和四层都有校验的方法 就不需要再三层再次校验 影响包的转发效率
Options :选项 功能搬运到 拓展包头中了
Padding :填充 因为包头长度设定好了,不再需要填充
蓝色:改名的部分
Traffic Class: TOS(type of sercice)服务于QOS eg:优先级 队列
Payload Length :有效净载荷 16bit。指跟IPv6报头的数据报的其它部分(即扩展报头和上层协议数据单元)
Next Header : 下一个报头,8bit 跟在IPv6报头后面的第一个扩展报头的类型,或上层协议数据单元中的协议类型。
Hop Limit : 原ipv4中的TTL 最大可达跳数
屎绿色:增加的一个字段
Flow Label: 流标签 作用于标识同一个数据流,主要服务于QOS 使设备可以根据此标签来识别数据流,提高处理数据的能力
IPv6扩展报头
背景:IPv4报头Options 内容:security、Timestamp、Record route等,这些Options可以将IPv4报头长度从20字节扩充到60字节。
在转发过程中,处理携带这些Options的IPv4报文会占用设备很大的资源,因此实际中也很少使用。
IPv6: 这些功能都集中放在了拓展包头中,有需要再加上 避免不必要的带宽浪费
仔细观察 会发现,其实就是TLY架构 类型 长度 值
6种拓展包头:
报头类型 | Next Header | 描述 |
逐跳选项报头 | 0 | 该选项主要用于为在传送路径上的每跳转发指定发送参数,传送路径上的每台中间节点都要读取并处理该字段。逐跳选项报头目前的主要应用有以下三种: 用于巨型载荷(载荷长度超过65535字节)。 用于设备提示,使设备检查该选项的信息,而不是简单的转发出去。 用于资源预留(RSVP)。 |
目的选项报头 | 60 | 目的选项报头携带了一些只有目的节点才会处理的信息。目前,目的选项报文头主要应用于移动IPv6。 |
路由报头 | 43 | 路由报头和IPv4的Loose Source and Record Route选项类似,该报头能够被IPv6源节点用来强制数据包经过特定的设备。 |
分段报头 | 44 | 同IPv4一样,IPv6报文发送也受到MTU的限制。当报文长度超过MTU时就需要将报文分段发送,而在IPv6中,分段发送使用的是分段报头。 |
认证报头 | 51 | 该报头由IPsec使用,提供认证、数据完整性以及重放保护。它还对IPv6基本报头中的一些字段进行保护。 |
封装安全净载报头 | 50 | 该报头由IPsec使用,提供认证、数据完整性以及重放保护和IPv6数据报的保密,类似于认证报头。 |
路由设备转发时根据基本报头中Next Header值来决定是否要处理扩展头
并不是所有的扩展报头都需要被转发路由设备查看和处理的。