如何给局域网 做网站,温州公司网站开发,企业网站策划书1000字,网页设计课【网络协议】----IPv6协议简介 【网络协议】----IPv6协议简介IPv6特点IPv4 和 IPv6报文结构IPv6报文格式-拓展报头 IPv6地址分类IPv6地址表示IPv6单播地址可聚合全球单播地址链路本地地址唯一本地地址特殊地址补充 接口标识#xff08;主机位#xff09;生成方法通过EUI-64规… 【网络协议】----IPv6协议简介 【网络协议】----IPv6协议简介IPv6特点IPv4 和 IPv6报文结构IPv6报文格式-拓展报头 IPv6地址分类IPv6地址表示IPv6单播地址可聚合全球单播地址链路本地地址唯一本地地址特殊地址补充 接口标识主机位生成方法通过EUI-64规范根据MAC地址生成接口ID IPv6组播地址预定义组播地址被请求节点组播地址IPv6组播的MAC地址映射 【网络协议】----IPv6协议简介
IPv6特点
IPv6诞生背景
1、IPv4公网地址耗尽2、Internet用户快速增长3、NAT确实能解决私有地址空间与公网互访的问题但是却破坏了端到端通信的完整性4、IPv4对移动性的支持不够理想等
IETF在20世纪90年代提出下一代互联网协议——IPv6目前IPv6已成为公认IPv4未来的升级版本
IPv6技术特点
地址空间巨大精简报文结构实现自动配置和重新编址支持层次化网络编址支持端对端安全更好的支持QOS、支持移动特性 IPv4 和 IPv6报文结构
IPv4报文结构 前面的文章有写过IPv4报文结构和各个字段作用感兴趣的朋友可以看看 《数据帧、IP数据包、TCP、UDP报文格式详解》 Version版本号长度为4bit。对于IPv6该值为6。Traffic Class流类别长度为8bit。等同于IPv4中的Type Of Service字段表示IPv6数据报的类或优先级主要应用于QoSFlow Label流标签长度为20bit。IPv6新增字段用于区分实时流量。不同流标签加源地址可以唯一确定一条数据流中间网络设备可以根据这些信息更加高效率的区分数据流。Payload Length有效载荷长度长度为16bit。有效载荷是指紧跟IPv6报头的数据报的其它部分即扩展报头和上层协议数据单元Next Header下一个报头长度为8bit。指明下一个扩展报头(如果存在)或上层协议的类型。Hop Limit跳数限制长度为8bit。该字段类似于IPv4中的Time to Live字段它定义了IP数据报所能经过的最大跳数。每经过一个路由器该数值减去1当该字段的值为0时数据报将被丢弃。Source Address源地址长度为128bit。表示发送方的地址。Destination Address目的地址长度为128bit。表示接收方的地址。
IPv6报文格式-拓展报头
扩展报头是可选的只有需要该扩展报头对应的功能时数据的发送者才会添加相应扩展报头。 1、在IPv4中IPv4报头包含可选字段Options内容涉及security、Timestamp、Record route等这些Options可以将IPv4报头长度从20字节扩充到60字节。在转发过程中处理携带这些Options的IPv4报文会占用路由器很大的资源因此实际中也很少使用 2、在IPv6中这些Option从基本报文格式中剥离放到基本报头和上层协议数据单元之间一个IPv6报文可以包含0个、1个或多个扩展报头仅当需要路由器或目的节点做某些特殊处理时才由发送方添加一个或多个扩展头。与IPv4不同IPv6扩展头长度任意不受40字节限制这样便于日后扩充新增选项这一特征加上选项的处理方式使得IPv6选项能得以真正的利用。但是为了提高处理选项头和传输层协议的性能扩展报头总是8字节长度的整数倍。 3、当使用多个扩展报头时前面报头的Next Header字段指明下一个扩展报头的类型这样就形成了链状的列表 extension header length 路由设备转发时根据基本报头中的Next Hesder值来决定是否要处理扩展头并不是所有扩展报头都需要被路由转发设备查看和处理除了目的选项扩展报头可能在一个IPv6报文中出现一次活两次一次在路由扩展报头之前另一次在上层协议数据报文之前其余1扩展报头只能出现一次 IPv6地址分类 IPv4地址分为单播地址、组播地址、广播地址。而IPv6中没有广播地址增加了任播地址IPv6地址被分为单播地址、组播地址、任播地址
单播地址用于标识一个接口发往该目的地址的报文会被送到被标识的接口一个接口拥有多个IPv6地址是非常常见的现象组播地址用于标识多个接口发往该目的地址到的报文会被送到被标识的所有接口任播地址用于标识多个一组网络接口通常属于不同节点发往该目的地址的报文会被送到被标识的所有接口中最近的一个接口上实际上任播地址与单播地址使用同一个地址空间就是说由路由器决定数据包是做任播转发还是单播转发(任播地址只能作为目标地址)
IPv6地址表示
IPv6地址总长128比特通常为8组每组为4个十六进制数的形式每组十六进制数间用冒号分隔例FC00:0000:130F:0000:0000:09C0:876A:130B这是IPv6地址的首选格式 压缩每组中的前导“0”都可以省略所以上述地址可写为FC00:0:130F::90C:876A:130B 地址中包含两个连续或多个连续均为“0”的组可用冒号::来代替 注意在一个IPv6地址中只能出现一次双冒号“::”
IPv6单播地址
可聚合全球单播地址
全球单播地址定义用于IPv6 Internet是全局唯一和全局可达路由
类似于IPv4公网地址 由前缀、子网ID和接口标识组成 2 进制表示0010 0000 0000 0000:: 16 进制表示2 0 0 0 :: 2 进制表示0011 1111 1111 1111:: 16 进制表示 3 E E E :: 全局路由前缀由提供商指定给一个组织机构一般至少为48bit。目前已分配的全局路由前缀前3bit均为001。前缀为2000::/3。子网组织机构用子网ID来构建本地网络与IPv4中的子网号作用类似。主机位与IPv4中的主机ID作用相同
链路本地地址
在一个节点启动ipv6协议栈时节点每个接口会自动分配一个链路本地地址专门用来和相同链路上的其它主机通信
只能在连接到同一本地链路的节点之间使用用于邻居发现无状态地址路由协议等链路本地地址前缀FE80::/10,将接口ID添在后面作为地址的低64位每个IPv6接口都必须具备一个链路本地地址
唯一本地地址
因为IPv6要实现端到端的特性导致此地址没有实施的可能性类似于IPv4中的私网地址仅能在本地网络中使用在公网Internet上不可被路由
唯一本地地址固定前缀FC00::/7。他被分为两块其中FC00::/8暂未定义另一块是FD00::/8其格式如下
特殊地址
未指定地址。 0:0:0:0:0:0:0:0/128 或者::/128。 该地址作为某些报文的源地址比如作为重复地址检测时发送的邻居请求报文NS的源地址或者DHCPv6初始化过程中客户端所发送的请求报文的源地址。 环回地址 0:0:0:0:0:0:0:1/128 或者::1/128。 与IPv4中的127.0.0.1作用相同用于本地回环发往::/1的数据包实际上就是发给本地可用于本地协议栈回环测试。 IPv4兼容地址。 在过渡技术中为了让IPv4地址显得更加突出一些定义了内嵌IPv4地址的IPv6地址格式。在这种表示方法中IPv6地址的部分使用十六进制表示IPv4地址部分可用十进制格式。如64:FF9B::11.11.11.11 用于过渡技术NAT64 翻译。 该地址已经几乎不再使用。
补充 接口标识主机位生成方法
关于接口ID接口ID位64bit用与标识链路上的接口在每条链路上接口ID必须唯一
接口ID可通过3种方法生成手工配置、系统自动生成和IEEE EUI-64规范生成
通过EUI-64规范根据MAC地址生成接口ID 假设一个接口的MAC地址如上图所示那么采用EUI-64规范接口可根据该MAC地址计算得到接口ID由于MAC地址全局唯一因此该接口ID也相应的具备全局唯一性。计算过程如下。将48bit的MAC地址对半劈开然后插入“FFFE”再对从左数起的第7位也就是U/L位取反即可得到对应的接口ID。而在在EUI-64接口ID中第7bit的含义与MAC地址正好相反0表示本地管理1表示全球管理所以使用EUI-64格式的接口IDU/L位为1则地址是全球唯一的如果为0则为本地唯一。这就是为什么要反转该位。 IPv6组播地址
用来表示一组接口。发往组播地址的数据将被转发给侦听该地址的多个设备地址范围FF00::/8
预定义组播地址
Node-local FF01::1所有节点的组播地址。 FF01::2所有路由器的组播地址。 Link-local FF02::1所有节点的组播地址。 FF02::2所有路由器的组播地址。 FF02::1:FFXX:XXXX Solicited-Node组播地址。 FF02::5所有OSPF路由器组播地址。 FF02::6所有OSPF的DR路由器组播地址。 FF02:所有PIM路由器组播地址。
被请求节点组播地址
被请求节点组播地址通过节点的单播或任播地址生成。当一个节点具有单播或任播地址就会对应生成一个被请求节点组播地址并且加入这个组播组
一个单播或任播地址对应一个被请求节点组播地址用于地址解析和地址重复检测等功能被请求节点组播地址由固定前缀FF02::1:FF00:0/104和对对应IPv6地址最后24比特组成。被请求节点组播地址的有效范围为本地链路范围。 IPv6组播的MAC地址映射
以太网环境中一个组播IPv6报文必须执行以太网封装
组播IPv6报文的目的地址是组播IPv6地址而目的MAC地址必须是组播MAC地址并且必须与对应组播IPv6地址对应3333是专门为IPv6组播预留的MAC地址前缀组播MAC地址的后32bit从对应的组播IPv6地址的后32bit拷贝而来。 例 例如 1、一个接口MAC地址为 00E0-FC10-2E1B 48bit 2、根据EUI-64生成接口ID 。第7bit取反插入FFFE 02E0:FCFF:FE10:2E1B 3、 链路本地地址前缀FE80::/10 接口ID作为后64bit FE80::2E0:FCFF:FE10:2E1B 4、对应链路本地地址的组播地址固定前缀FF02::1:FF00:0/104加上对应IPv6地址收24bit FF02::1:FF10:2E1B 5、对应组播地址的MAC地址固定前缀3333-后32bit从对应组播IPv6地址后的32bit拷取 3333-FF10-2E1B
接口MAC为 00E0-FC10-2E1B 组播MAC为 3333-FF10-2E1B 悟了
下一篇打算写下NDP协议