5.5.2 IPv6数据报格式

news2024/11/16 23:55:12

5.5.2 IPv6数据报格式

首先我们来回忆一下IPv4数据报首部格式(5.2.3 IP数据报(一)IP数据报的格式),包括20个字节的固定部分和长度可变的选项部分,如图

比较

红色方框标注的是在IPv6中会消失的字段,椭圆标注的是在IPv6中仍然存在但会发生变化的字段,由此我们可以看出相比IPv4,IPv6数据报的首部发生了很大的变化,下面我们就通过认识IPv6首部格式来发现IPv6协议的特点。

如图

IPv6

IPv6数据报它是由40个字节的基本首部和可变长度的有效载荷两个部分组成。有效载荷部分还包含了扩展首部和数据部分。

  1. 如图在基本首部中版本字段还是4位,取值为6
  2. 紧接着一个字段是通信量类(traffic class),这个字段的作用类似于IPv4中的服务类型字段,主要用来区分数据报所属的类别,或优先级别,从而实现不同类别通信流量的区分服务,该字段占8比特,目前正在进行不同的通信量类性能的实验。
  3. 流标号(flow label)字段占20个比特位,IPv4中并没有流的概念,“流”代表互联网中从特定源点到特定终点的一系列数据报,“流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有相同的流标号,这里我们要理解为什么要引入流的概念,在IPv6中特定的流往往是与特定的服务关联在一起,换句话说流所经过的传输路径上所有的路由器在进行数据报处理的时候都应该尽量的保证该“流”所指定的服务质量,通过引入流的概念,IPv6可以克服IPv4网络服务上的不足从而满足许多新型网络应用的个性化的服务质量的需求。
  4. 有效载荷长度(payload Length)一共占16个比特位,给出了数据报中除了基本首部之外包含的字节的数量,即指明了IPv6数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是64KB。
  5. 下一个首部(next header)占8个比特位。它相当于是IPv4的协议字段或可选字段。用于说明下一个扩展首部的类型或者数据所属的协议。
  6. 跳数限制(hop limit)占8比特位,源站在数据报发出时及设定跳数限制,相当于IPv4的TTL字段,每经过一个路由器就会被减1,如果该值为零,直接会被路由器丢弃,这个字段是防止网络中出现路由环路。
  7. 源地址和目的地址字段都是从原来的4字节32个比特位,扩展到了16个字节也就是128位。

在我们认识了IPv6中数据报的各个字段之后我们一起对比一下相比IPv4,IPv6在数据报格式上带了那些具体的变化。

先来看基本首部

  1. 取消了IPv4的首部长度字段,IPv4中的数据报总长度字段被有效载荷长度字段所取代。
  2. 源、目的地址由4字节增大到16字节。
  3. 分片有关字段不再出现在基本首部,被转移到了“分片扩展首部”。
  4. 生存时间字段改名为跳数限制(hop limit)字段。
  5. 服务类型字段改名为通信量类别字段,增加流标号字段,用于资源预分配。
  6. 协议字段由指明后续内容格式的下一首部字段替代,这里需要注意的是下一首部可能是IPv6数据报的扩展首部,也可能是ICMP、TCP、UDP、IGMP、OSPF等首部。

再看扩展首部

  1. 与IPv4相比IPv6在数据报格式上相比最大的变化就是引入了扩展首部字段,实质上扩展首部的作用类似于IPv4中的选项字段。对于IPv4来说是通过一些长度可变的选项字段提供一些增强型的功能,比如记录路由、源路由等等,但由于选项字段是可选的,而且长度也是可变的势必会影响路由器对分组的处理和效率。IPv6将原来IPv4首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。
  2. 这里需要注意的是IPv6中扩展首部一般都不会在中间的路由器上处理,除了极个别的逐跳选项扩展首部之外,这样做的好处就是可以提高路由器处理数据分组的速度,还能够灵活引用更多的扩展首部来增强网络服务的能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/676737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小白也会的------新建Python虚拟环境,查看该虚拟环境的路径,将该虚拟环境的所有库和版本号导出到一个 requirements.txt 文件中

我的目录标题 1、新建Python虚拟环境2、查看该虚拟环境的路径3、将该虚拟环境的所有库和版本号导出到一个 requirements.txt 文件中4、如果你只需要将当前虚拟环境中安装的所有库和版本号导出到一个 requirements.txt 文件中,而不需要包括每个库的来源,可…

KMP算法基础

前言 KMP算法是我们数据结构串中最难也是最重要的算法。难是因为KMP算法的代码很优美简洁干练,但里面包含着非常深的思维。真正理解代码的人可以说对KMP算法的了解已经相当深入了。而且这个算法的不少东西的确不容易讲懂,很多正规的书本把概念一摆出直接…

C++——命名空间(namespace)

目录 1. C语言命名冲突 2. 命名空间定义 3. 命名空间使用 可能大家在看别人写的C代码中&#xff0c;在一开始会包这个头文件&#xff1a;#include<iostream> 这个头文件等价于我们在C语言学习到的#include<stdio.h>&#xff0c;它是用来跟我们的控制台输入和输出…

带你见见红黑树-概念+插入篇

写的不好&#xff0c;见谅~ 目录 概念理解 红黑树规则 AVL树与红黑树的相爱相杀 红黑树的插入时的上色与旋转。 不上色&#xff08;shǎi&#xff09; 情况一&#xff1a;空树 情况二&#xff1a;非空树&#xff0c;父节点为黑 上色&#xff08;shǎi&#xff09; 情况…

【Linux】深入理解文件系统

系列文章 收录于【Linux】文件系统 专栏 关于文件描述符与文件重定向的相关内容可以移步 文件描述符与重定向操作。 可以到 浅谈文件原理与操作 了解文件操作的系统接口。 想深入理解文件缓冲区还可以看看文件缓冲区。 目录 系列文章 磁盘 结构介绍 定位数据 抽象管理…

【Linux】MySQL 高级 SQL 语句 (二)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 MySQL 高级 SQL 语句 连接查询CREATE VIEW 视图UNION 联集交集值无交集值CASE空值(NULL) 和 无值() 的区别正则表达式 连接查询 mysql> select * from xjz; #xjz表格 ---…

Linux5.8 MySQL主从复制与读写分离

文章目录 计算机系统5G云计算第四章 LINUX MySQL主从复制与读写分离一、概述及原理1&#xff09;什么是读写分离2&#xff09;为什么要读写分离呢3&#xff09;什么时候要读写分离4&#xff09;主从复制与读写分离5&#xff09;mysql支持的复制类型6&#xff09;主从复制的工作…

Rust语言从入门到入坑——(5)Rust 所有权

文章目录 0 引入1、所有权2、内存和分配3、移动与克隆3.1、移动3.2、克隆 4、引用与租借4.1、引用4.1、垂悬引用 5、函数中变量5.1 参数变量5.2 、返回值变量 0 引入 主要介绍Rust所有权的知识&#xff0c;涉及到变量的作用域&#xff0c;内存释放机制&#xff0c;移动&#x…

Python|Pyppeteer启动浏览器窗口,右侧出现空白区域怎么解决?(13)

前言 本文是该专栏的第13篇,结合优质项目案例持续分享Pyppeteer的干货知识,记得关注。 有些同学可能在使用pyppeteer的时候,在配置项里面,明明已经设置好了窗口最大化,而启动Chromium窗口,打开的窗口最右侧却是一大片空白区域,具体如下图所示: 那么,出现上述情况,需…

AutoGPT 英文版安装过程

自从2022年11月chatGPT的发布3.0GPT大模型&#xff0c;在中国掀起一股AI学习热潮&#xff0c;国内百度2023年4月份发布文心一言&#xff0c;把AI推上另一个高潮&#xff0c;最直接的是问答&#xff0c;我输入一句话&#xff0c;AI帮生成一段文字或一个视频&#xff0c;但是国内…

畅捷通T+ 反序列化漏洞复现(QVD-2023-13615)

0x01 产品简介 畅捷通 T 是一款基于互联网的新型企业管理软件&#xff0c;功能模块包括&#xff1a;财务管理、采购管理、库存管理等。主要针对中小型工贸和商贸企业的财务业务一体化应用&#xff0c;融入了社交化、移动化、物联网、电子商务、互联网信息订阅等元素。 0x02 漏…

Chat2DB数据AI工具开源!对数据分析师行业影响如何?

大家好&#xff0c;我是千与千寻&#xff0c;千寻目前在互联网公司担任算法工程师&#xff0c;也要经常性的和数据打交道。那么数据都存放在哪里&#xff1f;当然是数据库啦&#xff01; 说到数据库&#xff0c;我们就不得不提到一种编程语言——SQL数据语言&#xff0c;后端程…

2023年最新项目管理工具排名推荐,助你提升项目效率!

在当今快速发展的互联网时代&#xff0c;项目管理工具已经成为了越来越多企业和团队必不可少的工具之一。好的项目管理工具能够帮助团队更加高效地协同工作&#xff0c;提高工作效率&#xff0c;节省时间和成本&#xff0c;从而使得整个项目可以更快地达成预期目标。现在让我们…

微信为什么使用 SQLite 保存聊天记录?

概要 SQLite 是一个被大家低估的数据库&#xff0c;但有些人认为它是一个不适合生产环境使用的玩具数据库。事实上&#xff0c;SQLite 是一个非常可靠的数据库&#xff0c;它可以处理 TB 级的数据&#xff0c;但它没有网络层。接下来&#xff0c;本文将与大家共同探讨 SQLite 在…

【Diffusion模型系列1】DDPM: Denoising Diffusion Probabilistic Models

0. 楔子 Diffusion Models(扩散模型)是在过去几年最受关注的生成模型。2020年后&#xff0c;几篇开创性论文就向世界展示了扩散模型的能力和强大: Diffusion Models Beat GANs on Image Synthesis(NeurIPS 2021 Spotlight, OpenAI团队, 该团队也是DALLE-2的作者)[1] Various…

阿里云国际站代理商:如何优化阿里云服务器的性能和响应速度?有哪些调优策略和建议?

随着互联网的发展&#xff0c;阿里云服务器已经成为很多企业和个人的首选解决方案。然而&#xff0c;面对不断增长的需求和复杂的网络环境&#xff0c;如何优化阿里云服务器的性能和响应速度&#xff0c;提高用户体验&#xff0c;是很多用户关心的问题。本文将从以下几个方面&a…

上海阿里云代理商:如何保护阿里云服务器中的敏感数据?有哪些加密和访问控制措施?

如何保护阿里云服务器中的敏感数据&#xff1f;有哪些加密和访问控制措施&#xff1f;   一、阿里云服务器安全概述   阿里云服务器作为云计算服务的主要产品&#xff0c;其安全性备受用户关注。在实际使用中&#xff0c;保护服务器中的敏感数据是至关重要的&#xff0c;而…

Tkinter之GUI界面布局介绍

Tkinter之GUI界面布局介绍 关于Python 的Tkinter窗口基础可参见https://blog.csdn.net/cnds123/article/details/127227651 Tkinter 本身没有提供拖拽放置控件的方式创建 GUI 界面&#xff0c;而是提供了pack、grid和place三种几何管理器&#xff08;geometry manager&#x…

canvas详解05-变形

几何变换 canvas现在被大量地运用于游戏等动画领域,最主要的归功于它提供的一系列几何变换方法,使得动画更加地容易。所以其几何变换是非常重要的一节。 在本教程前面的部分中,我们已经了解了 Canvas 网格和坐标空间。到目前为止,我们只是根据我们的需要使用默认的网格,改…

Unity - 记一次,使用 RenderDoc 调试 渲染 异常 的过程

文章目录 vertex shader - rawfragment shader - raw调试RDC的shader准备选项 - remote - 不要选local先查看 texture, sampler, ubo 数据调试&#xff1a;输出原始的法线数据调试&#xff1a;输出原始法线0\~1>-1\~1&#xff0c;并应用法线强度的法线调试&#xff1a;输出世…