华为数通HCIE面试看这个就够了系列——IPv6
作者:互联网
文章目录
一、IPv6基础。
1.包头格式。
- Version:版本号,长度为4bit。对于IPv6,该值为6。
- Traffic Class:流类别,长度为8bit。等同于IPv4中的ToS字段,表示IPv6数据包的类或优先级,主要应用于QoS。
- Flow Label:流标签,长度为20bit。IPv6中的新增字段,用于区分实时流量,不同的流标签+源地址可以唯一确定一条数据流,中间网络设备可以根据这些信息更加高效的区分数据流。
- Payload Length:有效荷载长度,长度为16bit。有效荷载是指紧跟IPv6包头的数据包的其他部分(即拓展包头和上层协议数据单元)。
- Next Header:下一个包头,长度为8bit。该字段定义紧跟在IPv6包头后面的第一个拓展包头的类型,或者上层协议数据单元中的协议类型。
- Hop Limit:跳数限制,长度为8bit。该字段类似于IPv4中的Time to Live字段,它定义了IP数据包所能经过的最大跳数。没经过一个路由器,该值减去1,当该字段的值为0时,该数据包将被丢弃。
- Source Address:源地址,长度为128bit。表示发送方的地址。
- Destination Address:目的地址,长度为128bit。表示接收方的地址。
2.IPv6包头和IPv4包头的对比。
3.IPv6拓展包头。
IPv6的拓展包头其实是将IPV4的Option字段,从IPv6基本包头中剥离,放到了扩展包头中。扩展包头被置于IPv6基本包头和上层协议数据单元之间,一个IPv6报文可以包含0个、1个或多个扩展包头,仅当需要路由器或目的节点做某些特殊处理时,才由发送方添加一个或多个扩展头。与IPv4不同,IPv6扩展头长度任意,不受40 Byte限制,这样便于日后扩充新增选项。这一特征加上选项的处理方式使得IPv6选项能得以真正的利用。但是为了提高处理选项头和传输层协议的性能,扩展包头总是8 Byte长度的整数倍。
(1)格式。
- Extension Header Length:扩展包头长度,长度为8 bit。表示扩展包头的长度(不包含Next Header字段)。
- Extension Header Data:扩展包头数据,长度可变。扩展包头的内容,为一系列选项字段和填充字段的组合。
当超过一种扩展包头被用在同一个IPv6报文里时,包头必须按照下列顺序出现:
- 逐跳选项包头:字段值0,主要用于为在传送路径上的每跳转发指定发送参数,传送路径上的每台中间节点都要读取并处理该字段。
- 目的选项包头:字段值60,携带了一些只有目的节点才会处理的信息,可以多次出现。
- 路由包头:字段值43,IPv6源节点用来强制数据包经过特定的设备。
- 分段包头:字段值44,当报文长度超过MTU时就需要将报文分段发送,而在IPv6中,分段发送使用的是分段包头。
- 认证包头(AH):字段值51,该包头由IPsec使用,提供认证、数据完整性以及重放保护。
- 封装安全净载包头(ESP):字段值50,该包头由IPsec使用,提供认证、数据完整性以及重放保护和IPv6数据包的保密。
4.IPv6地址接口ID的生成。
接口ID可通过3种方法生成:手工配置、系统自动生成和IEEE EUI-64规范生成。
- 手工配置:建议在服务器和重要网络设备上配置。
- 系统通过软件自动生成:保护主机的私密性。
- IEEE EUI-64规范自动生成:最常用的方法。
下面主要介绍IEEE EUI-64生成规范:
为什么需要将MAC地址的第七个比特位反转?
答:在单播MAC地址中,第1个Byte的第7bit是U/L(Universal/Local,也称为G/L,其中G表示Global)位,用于表示MAC地址的唯一性。如果U/L=0,则该MAC地址是全局管理地址,是由拥有OUI的厂商所分配的MAC地址;如果U/L=1,则是本地管理地址,是网络管理员基于业务目的自定义的MAC地址。而在EUI-64接口ID中,第7bit的含义与MAC地址正好相反,0表示本地管理,1表示全球管理,所以使用EUI-64格式的接口ID,U/L位为1,则地址是全球唯一的,如果为0,则为本地唯一。这就是为什么要反转该位。
二、IPv6地址。
IPv6地址可以分为以下几类:
- 单播地址:标识一个接口,目的为单播地址的报文会被送到被标识的接口。
- 组播地址:标识多个接口,目的为组播地址会被送到被标识的所有接口。
- 任播地址:标识多个接口,目的为任播地址的报文会被送到最近的一个被标识接口,最近节点是由路由协议来定义的
1. 单播地址。
(1)全球单播地址。
全球单播地址是带有全球单播前缀的IPv6地址,其作用类似于IPv4中的公网地址。这种类型的地址允许路由前缀的聚合,从而限制了全球路由表项的数量。全球单播地址由全球路由前缀(Global routing prefix)、子网ID(Subnet ID)和接口标识(Interface ID)组成,其格式如上图所示:
- Global routing prefix:全球路由前缀。由提供商指定给一个组织机构,通常全球路由前缀至少为48位。目前已经分配的全球路由前缀的前3bit均为001。
- Subnet ID:子网ID。组织机构可以用子网ID来构建本地网络。子网ID通常最多分配到第64位。子网ID和IPv4中的子网号作用相似。
- Interface ID:接口标识。用来标识一个设备。
(2)链路本地地址。
- 链路本地地址是IPv6中的应用范围受限制的地址类型,只能在连接到同一本地链路的节点之间使用。
- 它使用了特定的本地链路前缀FE80::/10(最高10位值为1111111010),同时将接口标识添加在后面作为地址的低64比特。
- 当一个节点启动IPv6协议栈时,启动时节点的每个接口会自动配置一个链路本地地址(其固定的前缀+EUI-64规则形成的接口标识)。
- 链路本地地址广泛应用于邻居发现,无状态地址配置等应用。
(3)唯一本地地址。
- Prefix:前缀;固定为FC00::/7。
- L:L标志位;值为1代表该地址为在本地网络范围内使用的地址;值为0被保留,用于以后扩展。
- Global ID:全球唯一前缀;通过伪随机方式产生(跟时间有关)。
- Subnet ID:子网ID;划分子网使用。
- Interface ID:接口标识。
唯一本地地址的作用类似于IPv4中的私网地址,任何没有申请到提供商分配的全球单播地址的组织机构都可以使用唯一本地地址。唯一本地地址只能在本地网络内部被路由转发而不会在全球网络中被路由转发。唯一本地地址具有如下特点:
- 具有全球唯一的前缀(虽然随机方式产生,但是冲突概率很低)。
- 可以进行网络之间的私有连接,而不必担心地址冲突等问题。
- 具有知名前缀(FC00::/7),方便边缘路由器进行路由过滤。
- 如果出现路由泄漏,该地址不会和其他地址冲突,不会造成Internet路由冲突。
- 应用中,上层应用程序将这些地址看作全球单播地址对待。
- 独立于互联网服务提供商ISP(Internet Service Provider)。
(4)其他单播地址。
- 未指定地址
- 0:0:0:0:0:0:0:0/128 或者::/128。
- 表示某个接口或者节点没有IP地址。
- 环回地址
- 0:0:0:0:0:0:0:1/128 或者::1/128。
- 与IPv4中的127.0.0.1作用相同。
- 实际发送的数据包中不能使用环回地址作为源IP地址或者目的IP地址。
标签:数通,HCIE,就够,单播,地址,接口,IPv6,包头,ID 来源: https://blog.csdn.net/qq_40909772/article/details/114701419