目录

前文列表

IPv6 — 网际协议第 6 版

IPv6 — 地址格式与寻址模式

IPv6 协议头格式

IPv6 数据报文是 IPv4 的 4 倍,IPv6 数据报文主要由两个部分组成:Header(首部)和 Payload(负载)。其中,IPv6 Header 的大小是 IPv4 的 2 倍,包括以下字段:

  • 协议版本
  • 流量类:分为两部分,前 6 位用于服务类型,以便让路由器知道应该向该数据包提供什么服务,也标识了数据包的优先级。后 2 位用于显式拥塞通知(ECN)。
  • 流标记:标识数据包的 QoS,用于维护数据包的顺序。源标记序列帮助路由器识别特定数据包所属的特定信息流,此字段有助于避免数据包的重新排序,是为了流媒体、实时媒体而设计的。
  • 有效负载长度:有效载荷由扩展报头和上层数据组成。该字段为 16 位,可以表示最大 65535 个字节, 如果扩展报头设置了 “jumbo payload” 选项,则有效载荷可能超过 65535 字节,则此字段值应该被置为 0。
  • 下一个头部:用于标识扩展报头的类型,或者当扩展报头不存在时,则用于标识上层 PDU。 上层 PDU 的类型与 IPv4 的相同。
  • 跳跃限制:标识数据报文的生存时间,相当于 IPv4 中的 TTL。
  • 源地址
  • 目的地址

扩展报头

在 IPv6 的设计中,固定报头只包含了最低程度所需的信息,避免出现那些不需要的,或者很少使用的信息。所有这些信息以扩展报头的形式被放在固定报头和上层报头之间。

每个扩展报头由不同的 Next Header 值标识:当使用扩展报头时,IPv6 固定报头的 Next Header 字段指向下一个扩展报头,依此类推。最后一个扩展头的 Next Header 指向上层报头。 因此,所有报头以链接列表方式指向下一个报头。如果 Next Header 的值为 59,则表示在此报头之后就再没有报头了。

根据 RFC 2460 要求必须支持以下扩展报头:

扩展报头的顺序应该是:

扩展报头以链表方式一个接一个地排列,如下图所示:

IPv6 — 协议头的更多相关文章

  1. ****** 四十二 ******、软设笔记【网络基础】-IPv6协议、常用的网络协议

    一.IPv6协议 IPv6协议,全称"互联网协议第6版",即下一代的网际协议. 相对于IPv4来说,IPv6协议主要改进: *扩展的地址.IPv6地址长度为128位. *IPv6使 ...

  2. TCP系列01—概述及协议头格式

    一.TCP简单介绍 我们经常听人说TCP是一个面向连接的(connection-oriented).可靠的(reliable).字节流式(byte stream)传输协议,  TCP的这三个特性该怎么 ...

  3. IP封包协议头/TCP协议头/TCP3次握手/TCP4次挥手/UDP协议头/ICMP协议头/HTTP协议(请求报文和响应报文)/IP地址/子网掩码(划分子网)/路由概念/MAC封包格式

    IP协议头IP包头格式: 1.版本号:4个bit,用来标识IP版本号.这个4位字段的值设置为二进制的0100表示IPv4,设置为0110表示IPv6.目前使用的IP协议版本号是4. 2.首部长度:4个 ...

  4. IPv6协议介绍

    IPv6是为了解决基于IPv4的TCP/IP协议簇遇到的问题而推出的下一代IP协议.由于IPv4中采用的编制方式使得可用的网络地址和主机地址的数目远低于理论数目,随着全球互联网的快速发展,现有的IPv ...

  5. 基于byte[]的HTTP协议头分析代码

    smark 专注于高并发网络和大型网站架规划设计,提供.NET平台下高吞吐的网络通讯应用技术咨询和支持 基于byte[]的HTTP协议头分析代码 最近需要为组件实现一个HTTP的扩展包,所以简单地实现 ...

  6. 老李分享:HTTP协议之协议头

    老李分享:HTTP协议之协议头   当我们打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后网站服务器根据HTTP请求头的内容生成当次请求的内容发送给浏览器.你明白HTTP请求头的具体含 ...

  7. c++ 常见网络协议头

    //NTP协议 typedef struct _NTP_HEADER { uint8_t _flags;//Flags 0xdb uint8_t _pcs;//Peer Clock Stratum u ...

  8. HTTP协议头注射漏洞实例

    HTTP 响应头文件中包含未经验证的数据会引发 cache-poisoning.cross-site scripting.cross-user defacement.page hijacking.co ...

  9. HTTP协议头域详解

    HTTP协议头域详解 Requests部分 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编 ...

  10. webapi net 直接更改协议头

    1.直接更改协议头 [HttpGet] public HttpResponseMessage Users() { var sites = new object(); string str = tool ...

随机推荐

  1. #分块,可撤销并查集#洛谷 3247 [HNOI2016]最小公倍数

    题目 分析 考虑将询问和边权按 \(a\) 分别从小到大排序,考虑最暴力的做法就是将不超过 \(a'\) 且 不超过 \(b'\) 的边抽取出来 放进并查集判断 \(a,b\) 的最大值都能达到 \( ...

  2. #Kruskal,分治#AT4569 Connecting Cities

    题目传送门 考虑如何去掉这个绝对值, 换句话说,如何减少边数并且能建出 MST. 在求解偏序问题时,往往会分而治之, 这样原来 \(O(n^2)\) 的做法就能够被优化. 考虑将所有点对半折开, 左半 ...

  3. #Tarjan,SPFA#洛谷 3627 [APIO2009] 抢掠计划

    题目 分析 首先重复走,钱只会计算一次,而且与路程长度无关,考虑有向图缩点,然后跑最长路,这里吧边权取反跑最短路,然后在酒吧结束也就是求\(-dis[col_x]\)的最大值,\(col_x\)也就是 ...

  4. 单元测试篇2-TDD三大法则解密

    引言 在我们上一篇文章了解了单元测试的基本概念和用法之后,今天我们来聊一下 TDD(测试驱动开发) 测试驱动开发 (TDD) 测试驱动开发英文全称是Test Driven Development 简称 ...

  5. C++ STL 容器和算法:详解和实例演示

    C++ STL(标准模板库)提供了一组丰富的容器和算法,使得开发者能够更加高效地编写程序.本文将介绍STL中的一些常用容器和算法. 容器 vector vector是一个动态数组,可以在运行时调整大小 ...

  6. Python - 字典1

    字典用于存储键值对形式的数据.字典是一个有序.可更改的集合,不允许重复.从 Python 3.7 版本开始,字典是有序的.在 Python 3.6 及更早版本中,字典是无序的.字典用花括号编写,具有键 ...

  7. C#读 .properties文件

    引用:https://www.cnblogs.com/wardensky/p/5331851.html properties文件 MONGO_URL = mongodb://172.16.20.3/s ...

  8. Health Kit接入资质要求详解,开发不迷路!

    开发运动/健康应用过程中,需要使用Health Kit提供的数据能力,作为独立的个人开发者或是企业开发者,接入时分别需要满足什么样的条件呢? 个人开发者接入资质审核要求 •个人开发者应用需上架至华为应 ...

  9. vue3 快速入门系列 —— vue3 路由

    vue3 快速入门系列 - vue3 路由 在vue3 基础上加入路由. vue3 需要使用 vue-router V4,相对于 v3,大部分的 Vue Router API 都没有变化. Tip:不 ...

  10. 知识图谱在RAG中的应用探讨

    在这篇文章中,我们来详细探讨知识图谱(KG)在RAG流程中的具体应用场景. 缘起 关于知识图谱在现在的RAG中能发挥出什么样的作用,之前看了360 刘焕勇的一个分享,简单的提了使用知识图谱增强大模型的 ...