VoIP和分组交换能够更为有效的利用网络资源。但是,最初IP并非设计为为其承载的数据提供服务质量保证(QoS),而是一种用于在网络节点出现拥塞、失效或受到核武器袭击而崩溃时能够以多种路径传输数据以保证冗余性的技术。
当路由器把一个数据流信息分段为可处理的块时,一个IP报文就形成了。然后路由器将会在报文的头部设置两个地址——一个是目的地址,一个是产生报文的设备地址。在路由器的地址表格中查找了报文的目的地址后,路由器将会把这个报文转发到链路上的下一个路由器。
路由器之间会相互进行ping操作以检查是否有路径出现了拥塞、完全阻断的情况或是路径相对而言数据量较小。报文将按照最为合适的路由进行转发,并一步步的继续下去。当报文到达了他们的目的地时,这些报文可能以较大的延迟无序到达。传输控制协议(TCP)将对他们进行重组,恢复正确的顺序。
这样的传输方式对数据库应用和电子邮件而言很好,但对语音则不是这样。呼叫者说出的词语必须实时的到达目的地。任何的延迟(latency)——即从说话方到受话方的语音流延时——都会降低语音的质量,如同抖动(jitter)和丢包(packet loss)一样。如果报文的端到端延迟超过了250毫秒,那么一场交谈听起来就会感觉不真实,就像交谈的一方在月球上一样。抖动就同这点有关——它表示的是各个包到达时间的间隔变化。时快时慢的到达将会导致电话交谈非常不自然。因此,VoIP应用程序都采用了对报文进行缓存的技术,这样就可以更加平滑的对这些报文进行处理。
报文丢失、延迟和抖动等现象随着语音数据融合到其他应用程序的报文中而更加恶化。尤其在语音数据穿越因特网的时候是最为明显。在这些环境下,报文的丢失无法避免,并且没有任何的服务提供商可以保证不出现报文丢失。
在私有网络——局域网、广域网或者是运营商的核心网络中——应用程序性能可以通过两个截然不同的服务质量参数来加以保障:DiffServ以及MPLS。前者是在以太网络中保障应用程序性能的方式,后者则是用于基于IP或是IP封装下广域网。采用DiffServ,关于优先级的信息将会被放在报文的头部,而如果采用MPLS,则会对报文附加额外的头部区域。两者都能够告诉路由器它相对于其他应用程序而言具备什么样的优先级。尤其是采用MPLS,应用程序将会被分为多个级别。有时这些级别会被称为白金、金、银和青铜等等,但一些运营商现在已经能够提供比这些更多的服务级别了。
为了保障语音的质量,评估在局域网和广域网的其他需求很重要,因为其他的需求有可能使得语音数据无法获得其希望获得的处理。本来,语音数据就应该获得高于类似于电子邮件等能够容忍一些延迟的数据的优先级。语音通常而言被给予了最高的优先级,在MPLS术语中就好像是白金,而电子邮件则只是青铜。
使得VoIP这一概念更为让人感到混乱的就是其衍生物的多样性,其中每一种都有自己的技术标准。即使是在商业应用一级的质量范围,都有三种不同的VoIP。
局域网电话(LAN telephony)即IPT是企业在自己的局域网上传输语音信息,这些语音通过IP头戴语音设备或“软电话”(运行在PC上的软件)产生。语音信息将会同数据信息放在一起在相同的内部网络中传输。电话端口同数据端口完全相同。为了控制这种环境下的信息交换,要么需要配置一个媒体网关(media gateway),要么是一个IP-PBX。如果拨打的是公司以外的电话,那么IP-PBX将负责把这些呼叫转换到电路交换网络上,然后这些呼叫将在公共电话网络上进行传输。一些电信运营商已经可以提供VoIP服务,因此呼叫就不再需要转换为电路交换了。
对于那些同时具备一定数量的本地和局域网电话的企业来说,VoIP同样可以直接放在广域网上承载而无需通过电路交换进行转换。
因此,在VoIP面前首当其冲的就是那些即将在广域网中使用VoIP的大型企业,这通常被叫做VoIP中继,即这种技术的第二种衍生物。由于语音信息是从已有的广域网而不是从电话公司网络上通过的,因此这可以节省企业的长途电话费用。如果远程员工或者旅行中的雇员使用IP-×××拨入到数据网络,他们就可以节省一笔费用,因为这些呼叫都是在相同的虚拟专网中通过的。
在其已有PBX需要被更换或扩充,或是有新的办公建筑时,企业还有可能采用局域网电话。任何公司都不希望在购买、配置、管理VoIP设备上花费时间和金钱,他们就可以选择IP Centrex服务,这是VoIP技术的第三种衍生物。这样一来他们就可以从网络运营商那里租用设备、呼叫时间,并访问呼叫功能。而服务供应商则需要为维护系统语音质量负责。从长远来看,这种方式或许会比较昂贵。