zoukankan      html  css  js  c++  java
  • 【计算机网络】聊一聊那些常见的网络通信的性能指标

    带宽

     
    信道传输的是电磁波信号,而电磁波是有一定的频率范围,带宽指的就是这段有效的频率范围的值
    即:带宽 = 最高有效频率 - 最低有效频率
     
    好比我们人的耳朵能听见一定频率范围内的声音(20 -20000Hz),那么19000Hz就是我们耳朵的“带宽”
     
    不同的信道,其带宽(频率范围)是不一样的,根据带宽的不同,可将信道划分为窄带信道(0 - 300Hz), 音频信道(300 - 3400Hz)和宽带信道(带宽为3400Hz以上)。我们平常说的“装宽带”,意思就是安装3400Hz以上带宽的信道的意思
     

    数据传输速率

     
    数据传输速率信道每秒能传输的比特数,所以它的单位自然就是bps(比特每秒),除此外还有Kbps,Mbps等
     
    【注意】理论分析证明,信道的最大数据传输速率和带宽有直接联系,信道带宽越宽,数据传输速率就越大,因此在许多情况下,“带宽”和“传输速率”是可以互换的。
     

    时延

     
    分组交换网络的时延为例(因为当前因特网和计算机网络主要采用的数据交换技术是分组交换)
    时延
    当一个分组在节点间传输时,主要的时延分为四种类型: 节点处理时延(nodal processing delay),排队时延(queuing delay),传输时延(transmission delay)和传播时延(propagation delay)
     
    如果将这四种类型的时延分别表示为d(proc),  d(queue),d(trans), d(prop)
    对一个分组而言,两个节点间的总时延d = d(proc) + d(queue)  + d(trans) + d(prop)
     
    假设发送端到接收端间有N条链路
    则对一个分组而言,忽略其他因素,端到端总时延d(end-end) = N × (   d(proc) + d(queue)  + d(trans) + d(prop)  )
     
    下面我将从单个分组从路由器A到相邻的路由器B的传输的情况入手,分别介绍这四种不同类型的时延
    图示如下:
     
     
     

    处理时延

    当分组到达路由器A时,首先要做的是检查分组首部并决定将该分组导向何处,并检查比特级差错,这部分的时间消耗叫做处理时延。
     

    排队时延

    分组在经过路由器A的处理后,下一步就是传输出去。一个分组的排队时延取决于先到达的,正在排队等待向链路传输的分组的数量
    1.如果前面没有分组正在从路由器A向链路传输的话,排队时延为0
    2.如果流量很大,前面有很多分组正在传输或也在等待传输,那么就要消耗很大的排队时延了。
     

    传输时延

    传输时延是路由器A将分组的所有比特推出路由器A,推向链路所需要的时间。传输时延取决于两个因素:
    1. 单个分组长度
    2. 数据传输速率
    假设分组的长度为L比特,数据传输速率为R (bps) 那么  传输时延 = L/R
    【注意】传输时延又叫做存储转发时延
     

    传播时延

    (这个概念听起来和传输时延很相似,区别我下面会讲)
     
    传播时延指的是分组的一个比特从路由器A到达到路由器B所需要的时间,传播时延取决于两个因素:
    1.链路介质(双绞线,光纤)的传播速率
    2. 节点间的距离(两个路由器间的距离)
    假设路由A,B距离为d, 链路介质传播速率为s,那么传播时延 = d/s
     
    传输时延和传播时延的比较
     
    我们把一个分组从路由器A传输到路由器B的过程,比作一批车队(10辆汽车), 全部从收费站A行驶到收费站B的过程(中间经过高速公路
     
    一批车队 == 一个分组
    一辆汽车 == 一个比特 (暂时不管分组长度是否合理)
    收费站A,B == 路由器A,B
     
    这批车队遵守一个“奇怪”的规则,那就是无论哪一辆汽车先到达收费站A,它都必须等待其他9辆汽车也都尾随其后到达了A,才带领这批车队依次驶出收费站A。(这就是存储转发机制,只有当一个分组的所有比特都到达了路由器,“存储完毕“后,才能转发整个分组
     
    传输时延就是这批车队依次(前后紧跟)地驶出收费站A所用的时间(将分组的所有比特推出路由器A,推向链路所用的时间)
    传播时延就是每辆汽车经过高速公路,从收费站A到达收费站B所用的时间(分组的一个比特从路由器A到达到路由器B所需要的时间)
     
    假设收费站办理手续,通过汽车的效率是 5 (辆/每分钟),而汽车在高速公路上行驶速度是100km/h。那么,因为两个收费站间距离为100km,一批汽车有10辆
     
    我们可以得出,这批汽车通过收费站所用的时间为10辆 ÷ 5(辆/每分钟) = 2分 (传输时延)
    汽车在高速公路上行驶所用的时间为100km ÷  100km/h = 1h (传播时延)
    总共用时62分钟
     
     
     

    丢包率

     
    丢包意为分组丢失,什么原因会导致分组丢失呢? 这和我们上面所说的”排队时延“有关,我们说到:当大量分组在短时间内到达路由器的时候,因为无法一次性处理完毕,分组需要”排队“,但是基于路由器的设计和成本,分组队列的长度是有限的。所以,当队列满了的时候,下一个分组到达的时候,路由器会选择丢弃(drop)该分组, 这个分组便丢失了(lost),这就是所谓的丢包
     
    丢包率与分组长度以及分组发送频率相关。
     

    吞吐量

     
    吞吐量的单位和数据传输速率一样,也是bps,所以它虽然名为“量”,其实也还是一种“速率”
     
    瞬时吞吐量和平均吞吐量
     
    从服务器到客户机通过计算机网络传送一个大文件,任意时刻客户机接收该文件的速率叫做瞬时吞吐量(instantaneous throughput)
    假设客户机接收该文件的所有F比特用了T秒,那么 F/T就叫做平均吞吐量(average throughput)
     
    吞吐量 == 瓶颈链路的传输速率
     
    吞吐量等于瓶颈链路(bottle link)的传输速率
     
    让我们考虑下图中尽可能简单的情况,R(s)表示服务器和路由器之间的链路速率,R(c)表示路由器和客户机之间的链路速率,显然,该服务器不能以快于R(s)的速率向链路中输送比特,路由器也不能以快于R(c)的速率转发比特。
     
     
    如果R(s) < R(c),那么服务器输送的比特能够"畅快地"通过路由器和客户机间的链路到达客户机。速率为R(s)
    如果R(s) > R(c) 则因为路由器将不能以接收的速率转发比特,所以链路速率为R(c)
     
    所以 上图中吞吐量为min{ Rc, Rs } bps
     
     
    同样的,对下面这n条链路
     
     
    吞吐量为min{ R1, R2, ... Rn }
     

    误码率

    误码率是衡量通信系统传输可靠性的指标,它指的是错误接收的码元数在所传输的总码元数的比例
    计算公式: 误码率=错误码元数/传输总码元数
     
     

    参考书籍

    《计算机网络-自顶向下》  作者 James F. Kurose
    《计算机网络技术基础教程》作者 刘四清
     
     
     
     
  • 相关阅读:
    百度音乐搜索API
    浅谈对设计模式的理解
    AS3 Embed
    AS3.0中遍历删除容器内子对象的误区。
    如何获取GridView的总记录数?
    分享几个国外的Ajax&Jquery网站
    SQL2000: MMC 不能打开文件
    结合.net开发 谈谈 access 中 模糊查询语句 like的用法
    [转]C#里巧用DateTime预设一些可选的日期范围(如本年度、本季度、本月等)
    根据条件动态改变GridView某行或某个单元格的背景色
  • 原文地址:https://www.cnblogs.com/penghuwan/p/7692573.html
Copyright © 2011-2022 走看看