【虹科干货】TWAMP:什么是双向主动测量协议?
TWAMP(双向主动测量协议)是什么?它在网络性能测量中有什么作用?如果您对IP网络中设备之间的性能问题感兴趣,或者想了解TWAMP与OWAMP之间的区别,以及TWAMP测试的好处。
一、TWAMP是什么?
TWAMP代表“双向主动测量协议”,如RFC 5357中所述,它是一种用于测量IP网络中任意两个设备或端点之间的网络性能的协议。TWAMP旨在执行往返性能测量,并在第3层提供QoS(服务质量)分析。
简而言之,TWAMP将测试数据包发送到一个设备,然后该设备将其反射回来,以帮助识别延迟和数据包丢失等性能问题。
二、OWAMP与TWAMP的区别
TWAMP基于与RFC 4656中的单向测量协议OWAMP相同的方法,但OWAMP只是单向的,而TWAMP是双向的,并添加了双向测量功能。
双向测量很有优势,因为在进行往返测量时,无需确保测量源和目标设备的时钟同步,而且远程支持可以简单地通过回显功能实现。尽管网络控制消息协议(ICMP)的Echo请求/响应(也称为ping)可能看起来是个可行的替代方案,但它存在太多错误和不确定性,因此无法保证可靠性。
TWAMP使用在回显目标上应用的时间戳,可以考虑到延迟处理的影响,从而提供了更高的准确性。
三、TWAMP架构
TWAMP测量架构通常由两种协议以及两台主机组成:客户端和服务器,每台主机都有不同的任务。
- 一台主机,即TWAMP客户端,充当控制客户端和会话发送方。控制客户端负责建立、启动和终止测试会话,而会话发送方生成要在两个网络设备之间交换的测试数据包。
- 另一台主机是TWAMP服务器,它同时充当服务器和会话反射器。服务器接收控制消息并管理测试会话。会话反射器为收到的每个测试数据包进行时间戳标记,并将测量数据包发送回会话发送方。与OWAMP架构不同的是,服务器不会保留数据包信息或测试结果的记录。
在这种情况下,两台主机都运行控制协议(在控制客户端和服务器之间)和测试协议(在会话发送方和会话反射器之间),如下图所示。
流量生成器可以作为TWAMP客户端使用,控制测试启动过程和生成的数据包。路由器可以用作会话反射器。流量生成器向会话反射器或路由器发送测试数据包,并接收带有时间戳的测量数据包作为回应。
四、使用流量生成器进行TWAMP测试的好处
- 可以同时模拟多个TWAMP会话,以大规模测量关键性能指标,如丢包率、延迟和抖动。
- 通过易于使用的图形用户界面,简化测试配置,同时简化复杂性能指标的报告和分析。
- 可以生成授权和恶意流量的混合,以确保在网络遭受安全攻击时不会出现性能损失。
- 可以为多个设备和应用类型的各个模拟客户端执行网络QoS测试,以确保满足SLA(服务级别协议)要求。
相关文章:

【虹科干货】TWAMP:什么是双向主动测量协议?
TWAMP(双向主动测量协议)是什么?它在网络性能测量中有什么作用?如果您对IP网络中设备之间的性能问题感兴趣,或者想了解TWAMP与OWAMP之间的区别,以及TWAMP测试的好处。 一、TWAMP是什么? TWAMP代…...

bool型的盲注
bool型的盲注...
聊聊logback的ShutdownHook
序 本文主要研究一下logback的ShutdownHook ShutdownHook ch/qos/logback/core/hook/ShutdownHook.java /*** Interface describing a logback shutdown hook implementation* * author Mike Reinhold*/ public interface ShutdownHook extends Runnable, ContextAware { }…...

【第2章 Node.js基础】2.4 Node.js 全局对象...持续更新
什么是Node.js 全局对象 对于浏览器引擎来说,JavaScript 脚本中的 window 是全局对象,而Node.js程序中的全局对象是 global,所有全局变量(除global本身外)都是global 对象的属性。全局变量和全局对象是所有模块都可以调用的。Node.is 的全局…...

大数据毕业设计选题推荐-河长制大数据监测平台-Hadoop-Spark-Hive
✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...
Unity与java后端UDP通信
1. unity客户端代码: using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Net.Sockets; using System.Net; using System.Threading; using System.Text; using System;public class Udp : MonoBehaviour {static Sock…...

vue3 - swiper插件 实现PC端的 视频滑动功能(仿抖音短视频)
swiper官网 swiper属性/组件查询 vue中使用swiper 步骤: ① npm install swiper 安装 ② 基础模板: <div><swiper class"swiper-box" :direction"vertical":grabCursor"true" :mousewheel"tr…...
简述SVM
概述 SVM,即支持向量机(Support Vector Machine),是一种常见的监督学习算法,用于分类和回归问题。它是一种基于统计学习理论和结构风险最小化原则的机器学习方法。 SVM的主要思想是在特征空间中找到一个最优的超平面…...
【DevOps】Rundeck以及Jenkins
Rundeck是一个DevOps常用的工具,是PagerDuty公司开发的产品,能够很好的和PagerDuty进行集成。 但是平常我们听得或用得更多的是Jenkins,一个非常流行的CI工具,具有很好的可扩展性。 可是为什么那家公司会用Rundeck而不是Jenkins呢…...

数字滤波器分析---零极点分析
数字滤波器分析---零极点分析 zplane 函数绘制线性系统的极点和零点。 例如,在 -1/2 处为零且在 0.9e−j2π0.3 和 0.9ej2π0.3 处有一对复极点的简单滤波器为 zer -0.5; pol 0.9*exp(j*2*pi*[-0.3 0.3]); 要查看该滤波器的零极点图,您可以使用 z…...
HarmonyOS应用开发-网络请求与web组件
前言 当今世界,移动应用已经成为人们日常生活中不可或缺的一部分。无论是社交媒体、新闻、购物还是娱乐,安卓应用的广泛使用已经改变了我们与数字世界互动的方式。然而,这些应用的实际功能远不止界面和用户体验。它们背后的精密技术和网络请…...

频次最高的38道selenium面试题及答案
1、selenium的原理是什么? selenium的原理涉及到3个部分,分别是: 浏览器driver:一般我们都会下载driverclient:也就是我们写的代码 client其实并不知道浏览器是怎么工作的,但是driver知道,在…...

利用MSF设置代理
1、介绍: 通过MSF拿到一个机器的权限后,通过MSF搭建socks代理,然后通内网。 拿到目标权限,有很多方法,比如:①ms17-010 ②补丁漏洞 ③MSF生成后门 在此直接使用MSF生成后门 MSF中有三个代理模块&#x…...

模型剪枝算法——L1正则化BN层的γ因子
ICCV在2017年刊登了一篇经典论文《 Learning Efficient Convolutional Networks through Network Slimming》。在神经网络的卷积操作之后会得到多个特征图,通过策略突出重要的特征达到对网络瘦身的目的。在该论文中使用的剪枝策略就是稀疏化BN层中的缩放因子 。 Bat…...
11.9 知识总结(三板斧、全局配置文件、静态文件的配置、request对象等)
一、 三板斧的使用 三个方法: HttpResponse render redirect def index(request): print(request) # return HttpResponse("request") # 它返回的是字符串 # return render(request, index.html) # 加载HTML页面的 # return redirect(ht…...

CSS 外边距、填充、分组嵌套、尺寸
一、CSS 外边距: CSS margin(外边距)属性定义元素周期的空间。margin清除周围的(外边框)元素区域。margin没有背景颜色,是完全透明的。margin可以单独改变元素的上、下、左、右边距,也可以一次改…...

Exploration by random network distillation论文笔记
Exploration by Random Network Distillation (2018) 随机网络蒸馏探索 0、问题 这篇文章提出的随机网络蒸馏方法与Curiosity-driven Exploration by Self-supervised Prediction中提出的好奇心机制的区别? 猜想:本文是基于随机网络蒸馏提出的intrin…...

Ubuntu22.04配置Go环境
Ubuntu上配置Go环境biCentOS简单多了,有两种方案,一种直接使用apt进行安装,一种自己从官网下载安装包进行安装。 1、使用apt直接安装 更新apt安装包,常规操作 apt update 然后看看apt自带的Go版本是多少 apt list golang 是1…...

Zabbix深入解析与实战
1.Zabbix 1.1.监控概述 监控是指对行为、活动或其他变动中信息的一种持续性关注,通常是为了对人达成影响、管理、指导或保护的目的 监控 监视主机架构状态控制,事后追责目标:早发现早处理(故障、性能、架构) 网站扩容(用数据说话) 为什么要…...

怎么用电脑开发安卓app?能外包吗?
随着智能手机的普及,安卓应用程序的开发需求也越来越高,许多人都想开发自己的安卓应用程序,但苦于缺乏相关知识和技能,本文将介绍如何使用电脑开发安卓应用程序,以及是否可以将开发工作外包给专业的开发团队。 一、了…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...

Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...