ToB企服应用市场:ToB评测及商务社交产业平台

标题: 网络网络层之(5)IPv6协议 [打印本页]

作者: 莱莱    时间: 2024-6-28 07:09
标题: 网络网络层之(5)IPv6协议
网络网络层之(5)IPv6协议

  
   Author: Once Day Date: 2024年5月12日


  一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,大概尽头只是一场白日梦…


   漫漫长路,有人对你微笑过嘛…


  全系列文档可参考专栏:通讯网络技能_Once-Day的博客-CSDN博客。


  参考文章:
  
  

  
1. 先容

1.1 IPv6协议

随着互联网的快速发展,IPv4地点空间面临耗尽的题目。为相识决这一题目,互联网工程使命组(IETF)在20世纪90年代初开始研究下一代互联网协议。经过多年的努力,IPv6协议最终于1998年12月由IETF正式发布。
IPv6(互联网协议版本6)是互联网协议(IP)的最新版本,旨在办理IPv4地点枯竭题目,并为将来互联网的发展提供更好的支持。
主要特点如下:
与IPv4的区别和接洽:
IPv6是互联网协议的将来,它办理了IPv4地点枯竭题目,并为将来互联网的发展提供了更好的支持。
1.2 IPv6相关协议

这些协议族协同工作,构建了一个完整的IPv6网络架构,每个协议都有其特定的功能和用途:

1.3 相关RFC文档

以下是与IPv6相关的主要RFC文档:

1.4 RFC2460和RFC 8200区别

RFC 2460和RFC 8200都是关于IPv6协议规范的文档,但RFC 8200是RFC 2460的更新版本:
RFC 8200在保持IPv6协议基本稳定的环境下,对一些细节做了优化和调解,以进步协议的安全性、效率和实现的灵活性
2. 报文格式

2.1 IPv6报文格式

IPv6数据包由两部分组成:IPv6基本首部和有效载荷。IPv6基本首部是固定长度的40字节。

IPv6首部字段先容如下:

2.2 IPv4首部和IPv6首部差别

IPv6首部相对于IPv4首部进行了一些字段的删除和更改:

2.3 IPv6流标签

IPv6首部中的流标签(Flow Label)字段是一个20位的标识符,用于标识一个特定的数据流。流标签的主要功能是为IPv6数据包提供一种特殊的处理方式,以满足某些应用或服务的需求。

需要注意的是,流标签的使用是可选的,并非所有的IPv6数据包都必须使用流标签。流标签的值由源节点生成,并在数据包的整个生命周期内保持稳定,中间节点不能修改流标签的值,但可以根据流标签提供特定的处理
2.4 IPv6扩展首部

   参考华为产品支持文档:IP 报文格式大全 (huawei.com)
  扩展报头。IPv6取消了IPv4报头中的选项字段,并引入了多种扩展报文头,在进步处理效率的同时还增强了IPv6的灵活性,为IP协议提供了良好的扩展本领。当高出一种扩展报头被用在同一个分组里时,报头必须按照下列顺序出现:

除了目的选项扩展报头出现两次(一次在路由扩展报头之前,另一次在上层扩展报头之前),别的扩展报头只出现一次。不是所有的扩展报头都需要被转发路由装备检察和处理的。路由装备转发时根据基本报头中Next Header值来决定是否要处理扩展头。
2.5 IPv6逐跳选项和目的地选项

IPv6逐跳选项和目的选项都是IPv6扩展头部,用于在IPv6数据包中携带额外的信息。它们的编码格式如下:
  1. |动作(2位)|chg(1位)|类型子字段(5位)|选项数据长度(8位)|选项数据.....
  2. |-----   Type(选项类型)    ------|
复制代码

选项范例的前两位“动作”字段用于确定不辨认选项时的处理方式:

下面是携带在逐跳选项(H)或者目的地选项(D)扩展头部中的IPv6选项:
选项名头部(H/D)动作改变范例长度RFC文档填充1(Pad1)H/D0000N/ARFC 8200填充N(PadN)H/D0001可变RFC 8200超大有效载荷(Jumbo Payload)H1101948RFC 2675隧道封装限制(Tunnel Encapsulation Limit)D00044RFC 2473路由器告诫(Router Alert)H00054RFC 2711快速启动(Quick-Start)H00168RFC 4782家乡地点(Home Address)D01020116RFC 6275CALIPSOD00078-256RFC 5570 表格说明:

2.6 IPv6超大有效载荷

IPv6超大有效载荷(Jumbo Payload)选项是一种IPv6逐跳选项,用于支持长度高出65535字节的IPv6数据包。在IPv6基本头部中,有效载荷长度字段为16位,最大值为65535。当数据包长度高出此限制时,就需要使用Jumbo Payload选项。

使用场景:

2.7 IPv6隧道封装限制

IPv6隧道封装限制(Tunnel Encapsulation Limit)选项是一种IPv6目的地选项,用于限制IPv6数据包在封装隧道中的嵌套深度。当IPv6数据包通过多个隧道传输时,每个隧道都会为数据包添加一层新的封装。如果嵌套深度过大,大概会导致数据包处理耽误增加、网络性能降落,甚至出现环路。

使用场景:

2.8 IPv6路由头部

IPv6路由头部(Routing Header)是一种IPv6扩展头部,用于指定数据包在到达最终目的地之前经过的一个或多个中间节点。通过使用路由头部,源节点可以控制数据包的转发路径,实现诸如源路由、移动IPv6等功能。
  1. |下一个头部(1字节)|头部扩展长度(1字节)|路由类型(1字节)|剩余部分(1字节)|保留(4字节)|N个IPv6地址...
复制代码

常见的路由范例:

处理流程:
过度使用路由头部大概会引入安全风险(如IP诱骗、DOS攻击等)和性能题目,一些路由范例(如范例0)由于安全题目已被弃用
2.9 IPv6分片头部

IPv6分片头部(Fragment Header)是一种IPv6扩展头部,用于支持IPv6数据包的分片和重组功能。当一个IPv6数据包的大小高出传输路径的MTU(最大传输单元)时,需要对数据包进行分片。分片头部包含了分片相关的信息,以便目的节点可以大概精确地重组分片。
  1. |下一个头部(8位)|保留0(8位)|分片偏移(13位)|Res(2位)|M(1位)|标识符(32位)
复制代码

处理流程
IPv6的分片功能与IPv4有所差别。在IPv6中,只有源节点可以执行分片,中间节点不允许对数据包进行分片。这种计划可以简化网络处理,进步效率。







   Once Day

  

    也信尤物终作土,不堪幽梦太急忙......
    如果这篇文章为您带来了资助或启发,不妨点个赞




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4