在这组对于网络层 IP 的讨论文章的最后,我们将对 IPv6 数据包结构的讨论,作为我们的收官之战。
在此之前,我们先介绍 数据流 。
数据流:适应动态变化数据的一种方案
在早期的网络之中,我们倾向于传输文档、文件这些固定字节快的数据,它们的共同特点是,具有明确的字节数目,可以方便地打包为数据包。
但当我们的网络走向现代化之后,情形发生了变化,越来越多的动态数据,走向台前,面向用户,提供服务(如直播,如在线流视频)。
这些动态数据的特点在于:自启动服务之后,就源源不断,像流水一般,而不像传统的文件那样,有明显的界限,可以像快递一样一份份传输。
为了应对这种全新的状况,一种被称为“数据流"的方案得以提出,它类似于 C语言 中的“文本流"模型,依靠数据中某种特定特性展开工作(比如,C语言喜欢将 换行 作为数据分割的界限,这可以视作为一种小数据包),由此有效应对动态变化的数据。
IPv6 数据包格式解析
在顺利介绍完成数据流之后,我们正式开始介绍 IPv6 的数据包格式。
版本号
与 IPv4 时代一致,我们仍然需要先提供出我们的版本号,在这里,答案是 6 (代表 IPv6)
流量类型
它可以帮助我们的链路层提供更合适的服务,进而有效的应对我们的数据包。
数据长度
指出了我们数据包的尺寸信息。
TTL
与 IPv4 时代一样,削减至 0 的时候,数据包会被丢弃。
协议标识
指出我们的数据包究竟为哪一种传输层协议服务。
地址信息
储存本地主机与目标主机的地址信息。
拓展头
为一些特殊功能提供支持,比如 分片。