一些应用程序和协议已经添加了语义,帮助将在WAN环境中操作的应用程序的带宽低效率降到最低。例如,现在的web浏览器有内置的客户端缓存功能。通过WAN传输的来自Internet站点和内部网应用程序的对象在协议头中包含元数据,这些元数据向客户机浏览器提供信息,因此允许浏览器决定是否应该对对象使用缓存。通过在这样的应用程序中使用客户端缓存,当相同的用户使用相同的应用程序请求对象时,可以减少对象的重复传输。尽管这可以提高特定用户的性能,但当不同的用户试图访问相同的对象时,这些信息将完全不使用,因为应用程序缓存完全包含在每个单独的客户机上,而不能在多个用户之间共享。应用程序级缓存不仅与缓存对象的用户隔离,而且与用户工作站上的应用程序也隔离。这意味着,虽然用户的浏览器缓存了一个特定的文件,但不同的应用程序无法利用该缓存的对象。一些应用程序需要添加软件升级以提供缓存功能。
尽管前两节主要关注作为应用层性能挑战的延迟和带宽利用率,但下一节“网络基础设施”中讨论的内容也会影响应用层性能。下一节主要关注影响端到端性能的网络基础设施方面,还将讨论这些挑战如何对L4-7和端到端性能产生直接影响。
网络基础设施
网络本身也创造了应用程序性能的障碍一个巨大数字。在许多情况下,在L4-7发现的挑战是由网络基础设施本身体现的挑战加剧。例如,当网络基础设施延迟较高的应用层延迟的影响被放大。当可用带宽的网络中的量不充分的应用层带宽的低效率的影响被放大。数据包丢失对应用性能产生负面影响,通常间接地作为传输协议反应,损失事件正常化连接的吞吐量周围可用的网络容量。本节特别侧重于存在于网络基础设施的影响负面的应用性能,并且还分析了这些问题如何影响L4-7挑战前面讨论过的问题。这些问题包括带宽限制,网络延迟和丢包率和拥塞。
带宽限制
网络带宽会产生与应用程序性能相关的性能约束。局域网的带宽经过多年的发展,从快速以太网(100兆比特/秒),到千兆以太网(1吉比特/秒),再到10吉比特以太网(10吉比特/秒),最终100吉比特以太网(100吉比特/秒)将开始部署。一般来说,从应用程序性能的角度来看,局域网的带宽容量不是一个限制。另一方面,广域网频宽没有LAN频宽增长得那么快,每兆位带宽的价格比LAN上的价格要高得多。这在很大程度上是由于WAN带宽通常是作为一种服务从运营商或服务提供商提供的,并且连接必须穿过网络位置的“云”来连接两个地理上遥远的网络。除了保证带宽的专用线路,大多数运营商都做了大量的研究,以了解他们的客户可以容忍核心网络的超额订阅水平。
然而,广域网路带宽比局域网络带宽昂贵得多,而且今天发现的最常见的广域网路的带宽比在局域网络中部署的要小一个数量级。在今天的远程办公室和分支办公室环境中发现的最常见的WAN链路是T1 (1.544 Mbps),这大约是快速以太网连接容量的1/64,在今天的网络环境中,快速以太网正在被淘汰,取而代之的是千兆以太网。
当检查WAN环境中的应用性能,需要注意的是LAN和WAN环境之间存在的带宽差距,如广域网是什么连接许多不同的地理位置是非常重要的。这样的带宽使得视差其中节点是不同的上LAN和通过WAN易受超额预订了大量的分离的环境。在这些情况下,也就是能够被用于服务的带宽量是极其比的带宽容量的量较小的发现在任连接正在尝试进行通信的设备的LAN段。此问题是由一个事实,即有常见数十,数百,甚至在某些情况下数千正试图为这个珍贵的广域网带宽竞争节点的加剧。
图1 - 3提供了在一个简单的找到的超额预订的一个例子WAN环境具有两个位置,每个位置与通过快速以太网(100 Mbps)的附接至LAN多个节点,争上的T1可用带宽。在这个例子中,与服务器的位置还经由T1,和电势连接到所述广域网为超过500:1个超额预订实现。
网络超额认购在WAN环境
当遇到超额订阅时,竞争可用广域网带宽的流量必须排队到中间网络设备允许的范围内。应用的排队和调度规则可以由在中间网络元素上进行控制和带宽分配(如服务质量,或QoS)的配置策略决定。在任何情况下,如果队列耗尽,必须丢弃数据包,因为在超额订阅的网络设备中没有可用的内存来存储服务所需的数据。丢失数据包可能会影响应用程序的能力达到较高水平的吞吐量,在面向连接的传输协议的情况下,可能导致通信节点调整自己的传播率水平,让他们只使用了可用带宽的公平的份额。
作为一个例子,考虑一个用户发送由文件传输协议(FTP)的方式的文件。用户被连接到快速以太网LAN,由于是服务器,但是T1 WAN两个位置分开。最大可达到的吞吐量将通过T1的限制,因为它是在通信路径的最慢链路。因此,应用程序可以通过(假设100%的效率和没有丢包)将被限制到大约1.544 Mbps的(每秒兆比特),或193 kbps的(每秒千字节)。鉴于分组丢失是迫在眉睫,且没有传输协议是有效的100%时,则很可能的是,用户将看到的线速率的大约90%在应用吞吐量,或大约1.39 Mbps的(174 Kbps)的方面。
采取例如一步,如果两个使用者进行相同的测试(FTP传输在T1),路由器队列(假设没有QoS策略利于一个用户在其它)将很快用尽作为连接开始发现可用带宽。当数据包开始得到路由器掉线,传输协议会有什么反应的损失,并相应地调整产量。最终的结果是,两个节点将迅速收敛到一个地步,他们被公平地分享带宽和连接吞吐量将这个交汇点附近振动(大约50%的1.39 Mbps或695 kbps的,这等于86.8 Kbps)的。这个例子是简单的,因为它假设没有数据包丢失或延迟在广域网中找到。传输协议的影响将进行审查,作为网络延迟,丢失,拥塞讨论的一部分。
网络延迟
上一节末尾的示例没有考虑网络延迟。网络延迟是遍历在两个通信设备之间的网络采取数据的时间量。网络延迟被认为是应用程序的性能“沉默的杀手”,因为大多数网络管理员都通过增加网络带宽的简单尝试(和失败),以规避应用性能问题。简单地说,网络延迟可以对能够由两个通信节点消耗的网络容量量的显著效果。
在校园LAN,等待时间一般是在1毫秒,由接收者接收意义的时间量用于由节点发送的数据小于1毫秒。当然,增加这个数量可以根据如何地理上分散的园区LAN是,还取决于所遇到的利用率和超额认购的水平。在广域网,等待时间在几十或几百毫秒的一般测量,远高于什么是在局域网中。等待时间通过的光或电子的传播延迟,这是光的速度(或2∴10的大致66%而引起8米/秒)。虽然这在表面上看起来非常快,但当延伸到很长的距离时,延迟就会非常明显。例如,在一个横跨3000英里(480万米)的网络中,即从纽约到旧金山的距离,一个数据包从一端穿过网络到另一端大约需要24.1毫秒。当然,这是假设网络中没有串行化延迟、丢失或拥塞,并且通过网络选择的最直接的路由在距离上几乎没有偏差。因此,如果接收方不需要时间来处理接收到的数据,那么传输节点至少需要52.8 ms才能接收到发送的数据段的确认。
图1 - 4展示最简单形式的延迟如何影响电话会话的性能,这类似于通过互连网络进行通信的两个节点,单向延迟为1秒。
网络延迟的挑战
网络延迟对应用程序性能的影响有两个原因。首先,网络延迟引入了影响控制传输速率的机制的延迟。例如,面向连接、保证交付的传输协议(如TCP)使用滑动窗口机制来跟踪对等方已经成功接收了哪些传输数据,以及可以发送多少额外数据。在接收数据时,将生成确认,这不仅通知发送方数据已接收,而且还减轻了窗口容量,以便在可用的情况下可以传输更多数据。传输协议控制消息在网络上的节点之间交换,因此在网络中发现的任何延迟也将影响这些控制消息交换的速率。总的来说,这将影响数据从发送方的传输缓冲区转移到网络的速率。这会产生级联效应,对依赖于传输协议的应用程序的性能产生第二种影响,而传输协议容易受到延迟造成的性能障碍的影响。第二种影响将在本节的后面讨论。
延迟不仅延迟了数据的接收和随后对该数据的确认接收,而且延迟可能太大,以至于它实际上使一个节点无法利用所有可用带宽容量。当网络的容量(即在任何给定时间内可以流动的数据量)大于发送方的滑动窗口容量时,就会遇到此问题。例如,一台延迟为100ms的DS3 (45mbps,或大约5.63 Mbps)在飞行和在任何时间穿越链路(假设链路的利用率为100%)时都有高达563 KB (5.63 Mbps)的数据。这个“网络容量”被称为带宽延迟积(BDP),并且通过延迟的量的网络带宽(转换为字节之后)相乘来计算。鉴于今天许多计算机具有只在分配给每个TCP连接存储器少量(64 KB,除非使用窗口缩放),如果网络BDP超过64 KB,发射节点将不能够成功地“补管。“这主要是由于这样的事实,不能解除窗口的速度不够快,因为延迟和缓冲不够大,以保持联系十足。这还假定接收者对远端足够大的缓冲区,以允许发送者继续无延迟传输。
图1 - 5显示延迟和小缓冲器如何使发射机无法充分利用可用带宽容量的示例。
延迟和较小的传输缓冲区
对应用性能的第二冲击涉及到必须使用延迟敏感的传输协议来交换应用程序特定消息。大多数应用程序现在都非常强大,需要一系列消息的节点之间交换任何真正的“工作”完成之前。在许多情况下,这些控制消息被以串行方式交换,其中每个建立在最后直到可用数据的最终小片被交换。这种类型的行为,其中应用具有发送和等待的行为,也被称为“应用乒乓”,因为许多消息必须按次序,为了之前的任何实际可用的数据交换进行交换。在许多情况下,这些相同的应用程序只交换数据的量小,并且数据的每个小片之后是另一系列控制消息导致到下一小块的数据。
如本节所示,延迟对传输节点的传输协议及其有效利用可用广域网容量的能力有影响。此外,由于在受影响的传输协议上交换应用层消息时遇到的延迟,表现出“乒乓”行为的应用程序会受到进一步的影响。下一节将研究数据包丢失和拥塞对吞吐量和应用程序性能的影响。
损失和交通拥堵
丢包和拥塞也对应用程序的吞吐量造成负面影响。虽然数据包丢失可以通过从信号衰减硬件故障什么造成的,这是最常用的两种以下两种情况的结果:
发射节点内分配的连接存储器的内部超额预订
超额订阅中间网络设备队列