VoIP(SIP)的工作机制是基于TCP/IP通讯包交换的基础之上的,由于常见的企业,或家用WIFI路由设备的无线覆盖面积有限,这就造成了手持WIFI VoIP软、硬件终端在移动时,可能会出现由于网络短时间中断甚至IP地址变更,造成移动中的VoIP通话中断并有可能不能及时恢复,这就需要进行一些网络上的技术调整,才能解决该问题。
by meineson,http://mbstudio.cn 2013 原创
这类问题,在早期的蜂窝网络上同样遇到过,在一个网络的边界区域,手机可能由于信号不佳导致电话中断,随着后来蜂窝网络的覆盖密度增加和手机技术的进步基本得到了解决。
WIFI虽然目前已经很普及了,但除了一些大型公司或机场、城市WIFI覆盖时,运用到了专业的AP集群解决方案(即一台AP服务器,通过有线连接多个无线AP发射器拓展了WIFI的覆盖面积来解决,对于普通接入设备来看,就相当于这片区域有一个覆盖面积和发射功能超强的无线路由器);
而一般家用或小型企业(多楼层或房间比较多时)都是架设多个拥有独立SSID的无线路由器,每台电脑或手机选择离自己最近的SSID接入,这种用法在电脑或手机只在小范围内活动时没有问题,但一旦活动范围大了,超出了所连接SSID所在的无线路由设备,就会出现性能急剧下降,而电脑手机目前的WIFI无线网卡或操作系统,对于这种情况的反应速度又是比较慢,可能要过半分钟甚至1分钟才能反应过来,提示网络断开,即使现在再自动连接另一个SSID,中间的一分钟左右网络是断开的;
这种由于设备移动超出了无线路由覆盖范围造成的网络短暂中断,对于普通的上网应用是没有明显感受的,但对于VoIP通话,语音中断超过3秒都是没办法接受的,而且目前手机或者电脑默认都是在前一个WIFI已经没有信号断开了,才会尝试去连接另一个配置自动连接的SSID,哪怕前一个SSID的信号已经非常弱了,他也不会自动择优连接,要手工选择;
通过SIP VoIP终端软件有针对性地对这种情况进行升级处理,可以一定程序上解决该问题,甚至可以做到通话过程中由3G信号切换到WIFI信号,通话也能在3秒内自动恢复,其原理就是通过SIP标准的re-invite媒体重新协商机制实现,重新确认媒体RTP数据的新IP地址、端口;但是,这种机制,也只是在理想情况下能很好地工作;
因为上面说了,目前电脑或手机的WIFI硬件和驱动,对于WIFI的速率下降或断开的反应时间是比较慢的,即使SIP软件实现了一检测到WIFI断开又重新连接就立即进行重新协商,但那也已经是WIFI断开10秒甚至20秒以上的时间了,某些低性能的硬件,可能从搜索到了WIFI信号到真正连接成功就要折腾几十秒,这就导致了只从软件上想要解决该问题的方法是无效的;
而硬件的解决方法,原理上,就是要让手机或电脑始终都只连接到同一个SSID上,并且这个SSID的信号要稳定可靠,网络速率要稳定,通过购买实施企业级的AP集群解决方案是完全没问题的,我们这里只是介绍一种基于目前手头上已有的设备,更简单解决问题的方法;
由于市面上大多数无线路由设备都支持了许多种的工作模式,通过适当的重新配置,也一样是可以解决问题的,我们先列一下常见的市面上的无线路由器,无线AP等等的工作模式,一般包括:
AP(接入点)模式、Router(路由)模式、Bridge(桥接)模式、Repeater(中继)模式、Client(终端)模式;
其中有些名词可能在不同的无线路由设备上显示不一样,例如统称的WDS可就是Bridge模式,也可能是Repeater模式(通过下面介绍的配置时配置方法和使用方法的不同,可以确认某台设备上的WDS具体是什么功能),某些设备在上述基础上,也可能有一些增强的,例如Client+Repeater模式,从下面一张图我们简单解释一下这些模式的不同:
AP模式和路由模式:
此时的设备其实就相当于拥有无线的接入能力的交换机和路由器,目前市面上对AP设备和无线路由设备的定位比较模糊,一般都可以通用,为了区分它们,我们可以简单地把只有一个有线网线接口的设备称为纯AP设备(市面上现在流行的迷你AP,也可以工作在路由模式下,只不过这个时候那个有线网口就要当成WAN口使用了),其它就是普通无线路由设备(一般有一个黄色WAN外网接口,一个或几个蓝色的LAN内网局域网接口),无线路由设备工作在AP模式下时,WAN口就没有用处了,任意选用其中一个LAN口就相当于AP设备的那个唯一的有线网络接口;
AP模式时,有线网口接入公司原来的内网可以上网,通过无线接入的设备和上级网络在同一级网络的,就是简单的“有线变无线”,是通过无线让无线终端设备互相通信的交换机,而路由模式时,WAN口接入上级网络,接入无线设备是位于一个新的子局域网内,同理,可以解释为一个通过无线让无线终端设备内部互相通信,和连接外部互联网的路由器;
所以如果企业原有有线局域网里有共享打印机或文件服务器时,一般就不要使用路由模式了,而是直接用AP模式,保证所有连接到有线网和无线网的电脑在同一级子网中,方便互连互通,对于我们这里介绍的VoIP应用,为了避免穿越多层NAT造成的语音问题,最好使用AP模式;
Bridge模式:
桥接这种模式,在有线网络里,由于Hub集线器,桥接器已经基本看不到了了,所以能用来对照理解的,就是有线网络里的交换机,交换机和交换机之前能够通过交换机无限地串起来扩大交换容量,有线交换机是通过网线以有线的形式连接在一起的,而WIFI设备的Bridge模式,就可以看成是多台无线设备之间的交换连接的方式,通过在两台或多台无线Bridge模式的无线设备之间,互相配置对方的MAC地址,让这些设备通过无线连接在一起形成一个大的交换局域网;
现在WIFI设备上实现的Bridge其实已经是增强了的Bridge+AP模式了,即设备虽然已经通过WIFI连接到了其它平级的设备上,它还能启用AP功能,让其它终端设备也能连接到它上面来,形成无线设备管理的一群无线接入终端设备的交换,加上多台无线设备之间通过Bridge交换的组合,一起接入到企业原来的连接互联网的网络中;
这种用法,是为了解决下面问题:不管是AP还是路由模式,要求无线设备对上,要能接入公司原有的能上公网的有线网络里,但有时象跨楼层甚至楼栋,没法拉线,Bridge最大的一种用途就是相当于把交换机间原来的有线的连接,变成用无线来连,可以实现跨区域的一个大的局域网;
但由于Bridge模式时,无线设备另外还工作的是AP模式,还是每台设备一个SSID,用于VoIP时,还是没有解决切换SSID时网络中断的问题;
Repeater模式:
中继模式顾名思义,有点象光纤或者早些年的放大器,就是来增强物理信号,只不过这里不是增强有线信号,而是无线信号,所以,在上面的主AP或路由设备上,通过配置允许的Repeater设备的Mac地址,再在这些中继设备上填上上级无线的SSID和接入密码等信息,就配置成功了,中继无线设备设置为Repeater模式时,是没有自己的SSID的,它会在它原来可覆盖区域里,同样提供一个上级SSID一样的信号覆盖,这个时候接入的终端设备通过它连接和通过原来的上级无线设备连接效果是一样的,这也就保证了在主设备和中继设备覆盖区域里,都能保持一个SSID连接不中断;
这种工作模式也有限制,就是一般一个主设备,下挂3到4个中继,如果这3到4个设备分布在主设备四周的话,相当于把原来主设备的网络覆盖半径扩大2.5倍(理论上是3倍,但要考虑到了边界要适当重叠保证稳定性,|—中继—|—主—|—中继—|),但Repeater就不能再作为Repeater了,所以,无法再无限制扩展下去;
PS:而Bridge模式由于是设备点对点互相配置,没有主从关系,理论上Bridge是可以一直无限扩展下去的,如果Bridge模式的设备SSID也配置成和主设备一样的SSID,能实现另一种应用方式——即免修改接入点配置漫游,但由于还是会有中断切换网络的问题,所以还是不适合VoIP应用,如果范围还不够,只能上专业些的企业的AP解决方案了;
Client模式:
另外还有一个Client模式,应用的不是太多,我们这里也用不到,只是附带说一下,它相当于实现一个无线转有线的功能,可以想象成,它本身是一台电脑,通过配置上级无线的SSID接入无线,然后自己提供一个有线网络接口让下级有线设备连接,是AP模式的反模式;
但某些设备通过把Client模式和其它模式组合起来,也能实现比较实用的功能,例如Cisco的某些AP有Client+Repeater模式,就是选通过Client模式连接到上级无线的SSID上,再实现Repeater中继放大上一级无线的信号,这可以免除普通Repeater模式配置时,要在主设备和中继设备上都要配置的麻烦;
而且,通过这种模式,甚至可能解决了普通Repeater模式只能有主、从两级的用法,通过更外一层的设备同样通过Client+Repeater的方式连接到已经被里面一层Repeater放大了覆盖区域的SSID上,能够理论上无限扩大中继的放大范围,未测试过,仅供参考:)