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