Skip to main content

Packet

数据包是通过网络(例如LANInternet )发送的少量数据。与现实生活中的数据包类似,每个数据包都包括源和目标以及正在传输的内容(或数据)。当数据包到达目的地时,它们被重新组合成一个文件或其他连续的数据块。

虽然数据包的确切结构因协议而异,但典型的数据包包括两个部分——标头有效负载。有关数据包的信息存储在标头中。例如,IPv6标头包括以下字段:

  1. 源地址(128 位)- 数据包来源的 IPv6 地址
  2. 目标地址(128 位)- 数据包目标的 IPv6 地址
  3. 版本(4 位)- IPv6 为“6”
  4. 流量类别(8 位)- 数据包的优先级设置
  5. 流标签(20 位)- 将数据包标记为特定流的一部分的可选 ID;用于区分来自单一来源的多个传输
  6. 有效负载长度(16 位)- 数据的大小,以八位字节定义
  7. Next header (8 bits) - 当前数据包后面的头部ID;可能是TCPUDP或其他协议
  8. 跳数限制(8 位)- 丢弃数据包之前(路由器、交换机等之间)的最大网络跳数;在 IPv4 中也称为“ TTL ”

数据包的有效负载部分包含正在传输的实际数据。这通常只是文件、网页或其他传输的一小部分,因为单个数据包相对较小。例如,IP数据包有效负载的最大大小为 65,535字节或 64 KB以太网数据包或“帧”的最大大小仅为 1,500 字节或 1.5 KB。

数据包旨在可靠且高效地传输数据。不是将大文件作为单个数据块传输,而是发送较小的数据包有助于确保每个部分都成功传输。如果一个数据包没有被接收或被“丢弃”,只有丢弃的数据包需要被重新发送。此外,如果数据传输由于多个同时传输而遇到网络拥塞,则剩余的数据包可以通过拥塞较少的路径重新路由。