用HoloWAN测试网络应用

前言

        随着数据中心、虚拟化、云计算、远程办公快速发展以及人们对无线技术的越发依赖,通过广域网、ADSL、GPRS、3G/4G、5G、光纤、云服务、无线电、卫星网络等网络环境部署的应用的趋势越发明显。尽管如此,主流应用程序开发中仍然存在一个明显的问题,软件开发、软件性能测试仍经常只在测试实验室中的快速可靠的局域网(Lan)中进行。

        在完美的局域网条件下通过应用程序性能测试,并不能保证应用在非局域网环境下性能可靠,LAN和WAN(为了简洁,假设文中的WAN包括并不限于对WAN进一步引用如无线、卫星、无线电等类似网络)是差异巨大的网络,我们有理由相信在LAN条件下测试的能够给用户提供良好体验的应用部署在复杂的WAN环境中不能良好运行。

        让我们一起探讨LAN与其他网络下应用程序运行有什么不同,为什么这些差异可能导致您当前的测试环境不适合稳健的产品开发以及使用HoloWAN能在测试网络应用时发挥什么作用。

可用宽带

        在LAN环境中可用带宽很少会成为问题,然而广域网成本高可用带宽更少。随着越来越多的应用争夺带宽,个别应用的可用宽带会降低,这可能会对其性能产生巨大影响。除此之外,网络管理员可以(也如此做)设置他们的网络 QoS 来支持某些应用程序,例如 在“传统”应用上实现IP 语音 (VoIP)。这实际上降低了其他应用程序的优先级,由于其他应用程序具有更高的优先级,因此您正在测试的软件在部署在生产环境中时的可用带宽可能非常有限。但是,您的产品仍然需要并期望在较低的带宽上运行并达到使用可接受的水平。所以,您需要在开发测试中考虑带宽限制。而HoloWAN能在LAN环境下快速模拟带宽不足给您的应用带来的影响。

延迟

        虽然有限的带宽对应用程序的影响对我们使用者来说是十分明显的,但其他网络条件(如延迟、抖动、丢失、错误、Qos)对产品的性能也不可忽视。但是这些问题和带宽不一样,您只去您的网络运营商交钱对网络进行升级,并不能直接了当的解决这些问题。

       计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议(protocol)。TCP/IP 是互联网相关的各类协议族的总称, TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP。TCP协议全称是传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构,你可以把它想象成排水管中的水流。UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。这两种协议在有限的带宽、延迟、抖动、丢包等情况时有不同表现。运用HoloWAN对链路进行带宽限制、增加延迟、丢包等设置,您能直观地发现基于TCP和UDP两种程序在不同网络环境之中的表现。

        TCP连接负责处理Http/Https(www)流量、FTP、Microsoft网络和大多数其他的通用流量,包括自定义应用程序协议,上述都对更高的延迟和丢包敏感。下面给出一个延迟的示例:如上图所示,如果您在广东和新加坡之间的服务器与终端上运行一个基于TCP的应用程序,网络不会一次发送所有的数据。相反,它将数据分成数据包并在发送之前尽可能多地发送确认(ACK)数据包从接收端返回,以确认数据能成功到达,因此传输能够准确地开始或停止。显然这种模式会导致延迟,随着延迟越来越高,ACK到达所需的时间就越长。从广东到新加坡,90毫秒的往返延迟并不少见;和LAN中不到1ms对比,在一个64兆字节的文件上添加一些数字从文件服务器复制到LAN中的本地计算机可能需要大约10秒(在一个100Mbit的LAN),而从广东到新加坡(假设你有一个1001Mbit的WAN可供试用—)大约需要420秒(7分钟)。很明显同样带宽情况下,延迟的高低影响传输所需要的时间。

数据包丢失、抖动、错误和重新排序

我们还需要查看数据包的丢失、抖动、错误和重排来解释上图。

        现今社会有许多实时流媒体应用程序,例如语音视频、直播、腾讯会议等等。这些应用程序都依赖于UDP协议。正如上面讨论的那样,UDP受延迟的敏感程度没这么高,但数据包丢失、抖动、错误这些因素明显影响UDP程序,导致语音断续、图像破损等等状况发生。导致这些情况发生的原因之一是当数据包通过网络进行传输时,UDP数据包可能会丢失或被重新排序,因此这些数据包会乱序到达甚至不能到达目标地址。UDP与TCP不同,他是一种不能保证交付的协议,通常情况下并不会重新发送丢失的数据包,就像托陌生人带信给远方的人,你并不能确保这封信能否到达或送错地点或者信件缺失损坏,所以它到达目的地时可能毫无用处。使用HoloWAN模拟高丢包环境,您会发现单纯使用UDP传输文件,文件大概率是损坏的。

        在实验室网络中测试时想要重现这些条件几乎是不可能实现的。无线网络、卫星和手机移动网络(甚至是无线局域网)这些与单纯的有线网络相比会有更高的数据丢失错误的风险,这意味着测试时会遗漏更多的变量。在办公室、医院等场景中越来越多地使用无线网络,并作为一种允许员工在走动中随时随地接收数据的方式,这意味着需要开发应用程序来应对这种情况潜在的延迟、丢失、错误或数据包重新排序。

那么您该如何可靠地测试应用程序在WAN上地性能呢?

        软件的测试网络该如何定义呢,应该表现得像真实的广域网和无线网络,无论是实验室、演示室还是办公室等地方中,您都可以部署您测试时相同的网络环境。它可以让你广泛地模拟构建一个在不同的WAN或者无线条件下的网络,使您能够可以在原型、开发、质量保证期测试软件或设备,甚至针对真实世界的部署进行前测试。软件定义传送网(SDTN)还能是您指哪打哪的伙伴,让您可以完全控制进行测试的条件,且能够一次或者多次重现这些条件。如果你在现实网络环境中进行测试,这意味着你很难或者不可能重现。

        在实时网络中进行测试还存在额外的危险,您的测试可能会影响到当前生产网络上运行的关键业务应用程序,这意味着您并不受欢迎,更有甚者请参考刑法第二百八十六条。这可以使用HoloWAN这类网络损伤仪在局域网内进行模拟测试,这并不会冒犯其他网络管理员,把危害局限在实验室环境,意味着风险降低。

如果测试后发现性能不够好该如何做?

        如果是宽带不足限制了应用,您可以通过HoloWAN在实验室网络增加带宽进行验证,若是验证结果确定了是带宽影响,直接从您的ISP供应商升级相应的线路,这是钱能解决的问题。但是如果HoloWAN网损仪模拟给出的结果并不是带宽带来的问题,那么请不要浪费您的钱在购买带宽上。

        相反,如果你在开发应用程序时考虑到网络因素带来的影响,提高应用在各种网络上的鲁棒性,这能够节省后续补救的花费。如果应用的开发期已过,您则可以在使用HoloWAN进行网络损伤测试后,发现应用的短板,再针对发现的问题进行后期补救,例如使用cdn等等改善应用体验。尝试优化后,您使用HoloWAN对应用进行测试,能快速评估优化效果。

总结

        在 LAN 环境中测试应用程序,数据包只会在局域网中传输。但如果您的应用程序是预计在其他类型的网络中工作,那么在模拟环境中测试是唯一合理且简单经济的解决方案。然而,模拟环境不一定是令人生畏的复杂程序,如HoloWAN的软件定义测试网络在设计中考虑到了易用性,合理的GUI界面、精准的图表,只需要有些网络知识或者仔细读下使用手册,用户能方便快速上手,使您能够快速低成本地复制任何网络进行测试分析。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,193评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,306评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,130评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,110评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,118评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,085评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,007评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,844评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,283评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,508评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,395评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,985评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,630评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,797评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,653评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,553评论 2 352

推荐阅读更多精彩内容