网络相关基础知识总结(一)吞吐量测试吞吐量与带宽区别

2024-06-17 12:18

本文主要是介绍网络相关基础知识总结(一)吞吐量测试吞吐量与带宽区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.概念

网络中的数据是由一个个数据包组成,防火墙对每个数据包的处理要耗费资源。吞吐量是指在没有帧丢失的情况下,设备能够接受的最大速率。

1.作用地位

网络吞吐量测试是网络维护和故障查找中最重要的手段之一,尤其是在分析与网络性能相关的问题时吞吐量的测试是必备的测试手段。 作为验证和测试网络带宽最常用的技术就是吞吐量测试。

 

二.测试方法与思想

吞吐量的测试需要由被测试链路的双端进行端对端的测试,对于企业的网管和维护工程师来说在进行端对端的测试中是不需要了解或测试物理网络的,由于 IP是承载应用业务的网络互联平台,这样的端对端链路测试中的物理网络可以是无线网络、路由环境、透明网络甚至是非对称的网络(如 xDSL和Cable Modem)。

1 测量手段-----分为软件与硬件设备

端对端测试有很多的测试手段和方法,主要分起来有两类:

1.基于PC软件的测试,

2.是使用专门的测试仪器进行的测试手段。

通常对于流量比较大的(如:大于30Mbps以上)测试主要是使用测试仪器进行的,这是因为测试仪器不象基于PC的测试软件那样要受到操作系统、网卡、设备驱动和配置等诸多方面的影响,测试仪能提供稳定、独立和可重复性的测试结果。

 

2 主要测量思想:如何计算吞吐量

1.一种是在测试中以一定速率发送一定数量的帧,并计算待测设备传输的帧,如果发送的帧与接收的帧数量相等,那么就将发送速率提高并重新测试;如果接收帧少于发送帧则降低发送速率重新测试,直至得出最终结果。吞吐量测试结果以bit/s或byte/s表示。

2. 另外一种典型的吞吐量测试方法是从网络的一个设备向另一个设备发送流量并且确定一个速率和发送时间间隔,而接收端的设备计算接收到的测试帧,测试结束时系统计算接收率――即吞吐速率。这种测试也被称作端到端网络性能测试,它被广泛地应用在局域网内、局域网间和通过广域网互联的网络测试环境中。

具体过程

最简单(也是最常用和有效)的吞吐量测试方法就是将测试接入点选在链路两端的以太网网络上的测试方法。测试时在发送端指定发送速度,在接收器上计算收到的帧的速度。吞吐量是接收器收到的好帧数量/时间,测试通过改变帧长度,重复以上测试得到不同速率下的测试结果。(注:可以反复进行测试,来确定在不同的传输速度时的吞吐量)

有一点需要强调的是,在维护一个运行中的网络时,吞吐量测试是必须在线进行的,即不能中断现有的网络业务和网络连接,测试过程中有其它的网络流量存在。这种情况下的测试结果对于评估现有业务上的网络能力,计划增加网络站点和扩充网络应用的评估是非常有意义的。

注意:

测试结果以比特/秒(bps)或字节/秒表示采用FDT(全双工吞吐量)

 

三.吞吐量与带宽的区分

两者的单位均为Mbps,但是所表示的含义并不相同

1.吞吐量(throughput)

实际链路中每秒所能够传送的比特数

 

2.带宽(Max net bitrate)

一般是指链路上每秒所能够传送的比特数,取决于链路的时钟速率和信道的编码在计算机网络中又称为线速。

假设以太网的带宽是10Mbps,也就是表示这个链路最大可以承载10Mbps的流量,但是实际中由于各种效率因素的影响,真正能够传送的只有2Mbps(吞吐量)。也就是表示一个主机上的应用只能够以2Mbps的速度向另外一个主机发送数据。

 

 

 

 

这篇关于网络相关基础知识总结(一)吞吐量测试吞吐量与带宽区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069423

相关文章

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

C++中全局变量和局部变量的区别

《C++中全局变量和局部变量的区别》本文主要介绍了C++中全局变量和局部变量的区别,全局变量和局部变量在作用域和生命周期上有显著的区别,下面就来介绍一下,感兴趣的可以了解一下... 目录一、全局变量定义生命周期存储位置代码示例输出二、局部变量定义生命周期存储位置代码示例输出三、全局变量和局部变量的区别作用域

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v