zoukankan      html  css  js  c++  java
  • 【网络/通信】概念的理解 —— 带宽、吞吐量、净荷

    • 净荷(payload):净荷(Payload)是指异步转移模式(ATM)信元(含义进一步扩展)中除去信头的纯信息部分,ATM信元一般有48字节的净荷,但净荷大小也与数据类型和AAL层(适配层)有关。

    1. 吞吐量与实际吞吐量

    throughput:吞吐量,goodput:实际吞吐量。

    计算机网络的实际吞吐量指的是单位时间传输到特定目的地的有用信息的数目(以 bit 为单位)。

    造成实际吞吐量低于预期吞吐量的原因主要在于:

    • protocol overhead(协议开销):传输层(transport layer)、网络层(network layer)有时也包括数据链路层(datalink layer)的协议开销会包含在吞吐量(throughout)的计算中,计算实际吞吐量(goodput)时,因为仅考虑传输到目的地的有用信息(useful information);
    • 传输层(transport layer)的流量控制(flow control)及拥塞避免(congestion avoidance),比如 TCP 的慢开始;
    • 丢包以及损坏的包的重传(运输层的 automatic repeat request,ARQ),

    Goodout 的相关计算,假定一个文件通过 http 协议在一个以太网连接的带宽 100Mbit/s 传输。文件不可以在以太网上以一个单独连续的流式传输,而需要划分为多个独立的块(chunks),这些块不超过 IP 协议在以太网传输的最大传输单元(MTU,maximum transmission unit),也就是 1500 字节(1500 bytes)。又每一个数据包(packet)需要携带 20 bytes 的 IPv4 头,和 20 bytes 的 TCP 协议头,因此每个数据包仅有 1500-20-20=1460 bytes 携带的有用信息(对于 Linux 和 Mac OS 还需再减去 12 bytes 的时间戳信息)。进一步,数据在以太网上以帧(frame)的形式传输,在每一个数据包(packet)上还需 26 bytes 的开销(注意这 26 加在什么位置):

    因此,最大实际吞吐量 1460/1526 x 100Mbit/s = 95.67 Mbit/s = 11.959 MB/s

    2. 带宽

    带宽的单位一般为 bit/s。

  • 相关阅读:
    JS高级拖拽
    JS高级Date类
    JS高级闭包
    JS笔记整理
    JS高级解决函数内的this指向
    JS高级事件委托
    JS高级 事件对象
    JS中级面向对象
    JS中级
    JS高级
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421631.html
Copyright © 2011-2022 走看看