数据包
数据包是通过网络发送的一小部分数据,例如通过LAN或Internet发送的数据。类似于现实生活中的包裹,每个数据包都包含源地址和目标地址,以及正在传输的内容(或数据)。数据包到达目标地址后,会被重新组装成一个完整的文件或其他连续的数据块。
虽然数据包的具体结构因协议而异,但典型的数据包包含两个部分——报头和有效载荷。有关数据包的信息存储在报头中。例如,IPv6报头包含以下字段:
- 源地址(128 位)- 数据包来源的 IPv6 地址
- 目标地址(128 位)- 数据包目标地址的 IPv6 地址
- 版本(4 位)- IPv6 使用“6”
- 流量类别(8 位)- 数据包的优先级设置
- 流标签(20 位)- 可选 ID,用于标记数据包属于特定数据流;用于区分来自同一来源的多次传输
- 有效载荷长度(16 位)- 数据大小,以八位字节为单位
- 下一个报头(8 位)- 当前数据包之后的报头 ID;可能是TCP、UDP或其他协议
- 跳数限制(8 位)- 数据包被丢弃前允许经过的最大网络跳数(路由器、交换机等设备之间);在 IPv4 中也称为“TTL”
数据包的有效载荷部分包含实际传输的数据。由于单个数据包相对较小,其中通常只有文件、网页或其他数据传输的一小部分。例如,IP数据包有效载荷的最大大小为 65,535 个字节,即 64 个千字节。Ethernet数据包或“帧”的最大大小只有 1,500 字节,即 1.5 千字节。
数据包旨在可靠、高效地传输数据。与其将大文件作为一个数据块传输,不如发送较小的数据包,这有助于确保每个部分都能成功传输。如果某个数据包未被接收或被“丢弃”,只需重新发送被丢弃的数据包即可。此外,如果数据传输因多个传输同时进行而遇到网络拥塞,其余数据包可以通过拥塞较少的路径重新路由。
测试你的知识