网络传输中的重要参数-谈谈带宽

这篇具有很好参考价值的文章主要介绍了网络传输中的重要参数-谈谈带宽。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
  • 带宽
  • 带宽和延时、丢包的关系
  • 带宽的估算方法
  • 小结以及一些值得注意的点

除了上篇提到的RTT与丢包率,大多数人更关心的也许是网络的带宽(Bandwidth,Bw),毕竟电信、联通等公司广告主打的就是一个百兆、千兆带宽,听着嘎嘎猛。

很自然的一个认知是,带宽好的链路在同样的数据源与流控策略的前提下,相对RTT也丢包率也会更好。但深究一下原因又会觉得模糊,本文便从带宽的概念开始详细解释下上面问题的原因。

带宽

此带宽非彼带宽,作为信电系出身的我,之前常用的带宽表示无线信号对应的频带宽度,而在网络传输的数字信号中,带宽是指单位时间内链路能够通过的数据量。即发端到收端单位时间内能够交付的最大数据量(最大吞吐量)。

对于一个固定的发送端和接收端而言(暂时不考虑中间路由器交换机等设备的中转,当做一个非共享介质的单个数据链路传输),Bw主要受限于客观物理因素,即具体传输链路能够实现的最大传输速率,这一最大传输速率又受限于发送端和接收端的最大交付/接受能力。举个例子,假设发端能够将数字信号转换为模拟信号交付到数据链路中的最快速度为\(v_{send}\),单位是Bytes/s,收端能够从数据链路中将模拟信号转换为数字信号反馈给上层的速率为\(v_{recv}\),如果\(v_{send} \ge v_{recv}\),那么收端的接收速率为\(v_{recv}\),因为有处理不完的数据源源不断到达,收端可以以最大的速率处理并向上交付数据,反之,如果\(v_{send} < v_{recv}\),那么收端的接收速率为\(v_{send}\),因为收端的处理能力超过的数据到达的速度,发端发送的速度决定了整个链路的传输上限。因此可以认为:

\[Bw = \min(v_{send},v_{recv}) \]

进一步,在将传输路径中所有中转节点考虑进来后,带宽即变为了发端、收端以及路径中所有节点加在一起,交付速率最慢的一个,就像一根长长的水管,有的地方粗,有的地方细,水管流出的最大速率受限于最细的那个地方。所以当你开通了千兆带宽又访问网页很慢的时候,先别着急喷垃圾电信(手动狗头)。
网络传输中的重要参数-谈谈带宽

上面的场景只考虑了一个发送端-接收端的场景,实际上很多网络链路中都是有多个用户在同时传输的。以家庭最常见的WiFi场景为例,当你家人开始刷抖音的时候,你的游戏很可能就会出现卡顿了,假设你独享WiFi的带宽为\(Bw_{along}\),在另一个使用相同传输策略的终端接入后,你就很难有\(Bw_{along}\)甚至\(Bw_{along}/2\)的传输体验了,WiFi的监听退避机制以及拥塞控制的策略能够尽量避免链路的丢包和拥塞,但也会导致你损失一部分传输体验。这时,能让你稳定以接近\(Bw_{along}/2\)的速率进行传输已经成为了传输流控策略的优化目标。

带宽和延时、丢包的关系

开头提到“带宽好的链路在同样的数据源与流控策略的前提下,相对RTT也丢包率也会更好”,结合上一篇中RTT和丢包率的定义,就可以知道在带宽较低的链路中,如果发送策略过于激进,或者是有其他的用户加入传输,导致数据进入链路的速度大于带宽,那么数据就会在链路中发生堆积(在收端或者中间节点的缓存队列中),那么这里的排队时延就会逐渐增高,即链路的时延/RTT会发生增长。当堆积进一步加重,缓存已经堆满时候,链路就发生了拥塞,新到达的数据会发生丢失,即产生拥塞丢包。上述的场景常常发生在网络带宽较差或不稳定的用户身上,而对于那些网络带宽较大的用户,即使发生了用户数目波动或者数据源发送激进,也很难超过剩余的带宽大小,用户依然能够以低延时零丢包体验网络服务。

带宽的估算方法

这个坑留在后面整理CC拥塞控制的时候再填,在实际应用场景中,最简单的方法就是对一段时间(记为t)内被ACK的所有数据包大小进行求和(记为D),\(D/t\)就是这段时间采样得到的接收速率,或者是数据成功交付的速率,随着时间的推移持续对该值进行采样,采样得到的最大值就是最靠近带宽的值。(比较简单、实用但不准确的方法)

小结以及一些值得注意的点

本文对网络传输中的带宽进行了解读,结合延时与丢包,网络画像的基本要素已经相对齐全了,即将踏上进阶之路。

一些值得注意的点

  1. 带宽并不是发送速率的上限,发送速率是可以超过带宽的,而长期超过带宽的代价就是上文的拥塞;
  2. 数据成功交付的速率的上限是带宽;
  3. 想到了再回来补充...

本文来自博客园,转载请注明原文链接:https://www.cnblogs.com/mapleumr/p/17469513.html

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。文章来源地址https://www.toymoban.com/news/detail-477171.html

到了这里,关于网络传输中的重要参数-谈谈带宽的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详解TCP/IP协议第五篇:详细介绍网络传输中的地址

    😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月07日
    浏览(44)
  • 计算机网络中的应用层和传输层(http/tcp)

    目录 1、协议的通俗理解 1.1 理解协议 2.应用层 2.1 http协议 2.2 HTTP的方法  2.3 HTTP的状态码 2.4 HTTP常见Header 3、传输层 3.1 端口号 3.1.1 端口号范围划分 3.1.2 netstat 3.1.3 认识知名端口号(Well-Know Port Number) 3.2 UDP协议 3.2.1 UDP协议端格式 3.2.2 UDP的特点 3.2.3 基于UDP的应用层协议 3.3 TCP协

    2024年02月08日
    浏览(44)
  • 网络层IP协议中的协议号&传输层端口号对应的服务

    ip协议是网络层协议,三层的, 协议号标识上层是什么协议 ,eg:17号表示是上层即传输层是udp协议,6号表示上层即传输层是tcp协议,89标识上层是ospf协议等等 按端口号可分为2大类: 1、公认端口(Well-KnownPorts):范围从0到1023。 2、动态端口(Dynamic Ports):范围从1024到65

    2023年04月26日
    浏览(36)
  • 网络传输(传输介质、通信方式、交换方式)

    1.双绞线 双绞线 :将多根铜线按规则缠绕在一起,能够减少干扰;分为 无屏蔽双绞线UTP 和 屏蔽双绞线STP ,都是由一对铜线簇组成。即我们常说的 网线 ;双绞线的 传输距离在100m以内 。 无屏蔽双绞线UTP :价格低,安装简单,但可靠性相对较低,分为: CAT3:3类UTP,速率为

    2024年02月07日
    浏览(38)
  • 【计算机网络笔记】传输层服务概述、传输层 vs. 网络层

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月08日
    浏览(50)
  • 网络基础之网络传输基本流程

    此小节介绍网络基础概念 首先要明确的是 网络是层状结构!分层-OP-解耦 网络发展:最早的时候,每台计算机之间是相互独立的。后续发展到网络互联,就是将多台计算机连接在一起,完成数据共享。 协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组

    2023年04月26日
    浏览(38)
  • 【计算机网络】网络基础--协议/网络协议/网络传输流程/地址管理

    网络的发展分为一下几个阶段: 独立模式: 计算机之间相互独立: 此时计算机之间是相互独立的,每个人在执行任务的时候是独立的,需要等待前一个将任务完成之后,自己才能进行执行任务,是串行执行的,效率很低。 网络互联: 多台计算机连接在一起, 完成数据共享:

    2024年02月03日
    浏览(50)
  • 计算机网络--网络层传输层复习

    R1. 问题: Let\\\'s review some of the terms used in this book. Earlier, we talked about how the name of a packet at the transport layer is a message segment, and the name of a packet at the data link layer is a frame. What is the name of the network layer packet? As mentioned earlier routers and link layer switches are called packet switches. What is the fu

    2024年02月09日
    浏览(103)
  • 网络传输(TCP)

    前言 我们tcpdump抓包时会看到除报文数据外,前面还有一段其他的数据,这段数据分为两部分,ip包头(一般20字节)和tcp包头(一般20字节),一般这两个头长度和为40,我们直接跳过抓取的数据前40字节及为我们需要分析的有效数据。 测试环境为centos7,以下截图使用netcat(

    2024年01月23日
    浏览(37)
  • Linux的网络传输

    可以通过ping命令,检查指定的网络服务器是否是可联通状态 语法: 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查 参数:ip或主机名,被检查的服务器的ip地址或主机名地址 示例: 检查到baidu.com是否联通 wget是非交互式的文件下载器,可以在命令行内下载网络文

    2024年04月17日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包