物联网设备通讯故障检测技术与解决方案
2021-04-25高小淋
高小淋
摘要:随着时代的进步以及物联网技术的快速发展,以智能家居为代表的各种物联网产品应运而生。依托智能手机实现远程数据采集、环境监测及设备控制成为智能家居发展的新风尚。与此同时,设备的通讯故障问题也日益严重。当前大部分一线智能家居售后维护工程师能够对设备的硬件故障进行排查,但是在网络通讯故障方面却显得苍白无力。如何利用网络技术检测定位故障并排除故障成为一道新的技术难题。本文以真实案例讲述智能门禁通讯故障排除的过程,分析了可能导致网络通讯故障的原因、排查的步骤及处理措施。
关键词:智能门禁;通讯故障;网络诊断;wireshark抓包
中图分类号:TP393 文獻标识码:A
文章编号:1009-3044(2021)09-0210-03
开放科学(资源服务)标识码(OSID):
1智能门禁及故障情况说明
联享家云可视对讲门禁系统是一套融合数字网络、手机移动可视对讲和门禁管理为一体的典型的物联网通讯及控制系统,由门禁、App、云平台三部分组成。其工作原理如下:智能门禁接入局域网,经宽带营商的线路出口接入云平台,平台上部署云对讲应用系统后台,负责智能手机与智能门禁之间的数据交换及控制管理。智能手机上安装App,用户通过账号注册将房号及手机号等信息捆绑登记到云平台。访客在智能门禁中输入用户房号后向用户手机App发起呼叫,用户接听电话即可进行可视对讲,并可通过操作实现一键远程开门。
本案例使用的智能门禁是联享家JKD01-V2001(GSM),安装在如图1所示的网络拓扑环境中,出现智能门禁拨号接通手机后,手机显示计时通话状态,而门禁无声音,智能手机App上无视频也无声音,但手机又可以正常控制门禁开门的情况。
2故障分析,排查步骤及处理措施
2.1检查智能门禁接线
在进行智能门禁故障检修前,先确保设备完好,安装、接线正确,避免因线路错接、漏接、断路或短路导致设备异常。可根据《产品安装说明书》检查智能门禁线路,同时观察设备上的信号灯提示,比如:亮屏说明通电正常,网口亮绿灯说明网络连接正常等。
2.2检测网络环境
2.2.1检测网络接入端
排查设备在网络接入端的问题,确保智能门禁已正常接入局域网并能顺利访问外网,以排除故障是由本地网络线路故障、交换机或路由器配置错误、网络中存在类似ARP病毒等原因引起的故障。
检测的方法是:在智能门禁的网络接入端,使用一台PC与智能门禁接入同一台智能交换机,交换机再上接到路由器。PC与智能门禁的IP设置为同一网段。使用ping命令检查PC与智能门禁的连通性以及内网与外网的通信是否正常;使用nslookup命令测试DNS解析是否正常;使用tracert命令检查数据包从内网通向外网的路径是否正常。
测试结果中,PC能ping通智能门禁(IP)说明PC与智能门禁同在一个局域网。PC能ping通电信的DNS服务器说明内外与外网连通。为了确保内网与外网连接的稳定性--没有丢包,可以使用ping 114.114.114.114 –t命令测试一段时间,若没有出现“request timeout”或“请求超时”的提示说明内网与外网的连通性是良好的。使用nsloopup命令进行域名“www.baidu.com”解析成功说明DNS没问题。通过tracert路由跟踪可以发现,智能门禁从内外通向外网需经过路由器(192.168.0.1),区域网关(192.168.118.254),核心交换机(192.168.254.254)和防火墙(192.168.200.2)等网络设备,这为后面做设备配置排查提供依据。
由此可见,智能门禁在网络接入端是没有问题的,且与外网连通正常。这里需要注意的是,在实际应用中大部分基于TCP/IP的物联网设备是使用静态IP的,这样可以方便根据ip规划进行设备管理。
2.2.2检查上网行为管理拦截
上网行为管理是对内网用户上网行为进行监督和管控的设备。通常网络管理员会针对某些网段或ip执行一定规则的管理策略。比如,为了禁止在工作或学习时间使用迅雷、电驴、BT下载以及PPS、PPTV、迅雷看看等软件,网络管理员往往会在上网行为管理中对P2P应用、P2P流媒体、Web流媒体等进行限速或禁用,从而误将智能门禁与手机通讯时传输的视频和音频进行限制。
通过查看上网行为管理的应用控制策略和智能门禁上层路由(IP)的行为日志,在应用控制策略中并没有直接禁止智能门禁视频和音频传输的配置。考虑到上网行为管理还可能配置了其他隐性的管控细则,为了绝对排除故障是由上网行为管理的管控策略引起的,这里将智能门禁上层路由的IP加入白名单。经测试,故障依旧。
2.2.3检查防火墙拦截
为了网络的安全性,企业和单位一般都安装有防火墙,实现对内网设备的安全防护。本案例中部署的是深信服下一代防火墙NGAF,防火墙采用网关模式进行部署。在该模式下,网络中的所有流量都会经过防火墙处理,可以实现对内网设备进行流量管理、行为控制、安全防护等。作为出口网关,防火墙的安全功能可保障网络安全,Nat功能可代理内网用户上网、服务器发布,实现路由功能等。
本案例中智能门禁系统的可视对讲和控制功能是基于SIP 协议实现的,而SIP是用来建立、修改和结束多媒体会话的应用层协议,其主要功能有:
1)用户定位:确定用于通信的终端;
2)用户可用性:确定被呼叫者参加通信的意愿;
3)用户能力:确定使用的媒体和媒体参数;
4)会话建立:“响铃”方式建立会话;
5)会话管理:包括传输和终止会话、修改会话参数以及调用服务。
如果防火墙没有开通SIP端口,那么智能门禁与智能手机之间就无法建立通讯。经核查,确定在防火墙上已开通SIP端口后发现故障依旧。
2.3检测手机端
2.3.1检测手机网络环境
智能手机通常使用WIFI或4G联网。在WIFI环境下,网络通信是受其所处局域网和运营商提供的宽带服务影响的。为了规避局域网复杂的网络环境,对智能门禁进行有效的故障排查,建议用户使用4G网络进行测试。同时要确保在使用环境下4G网络通畅。这里需要注意一点,并不是4G信号满格就说明网络质量就一定很好。4G信号满格也可能会出现网“卡”的现象。这可能是因为在人口密集的地区有太多的网络用户接入到同一个基站,基站的容量是有限的,用户量越大就越容易造成信号拥堵。
可以使用测速大师App对手机的4G网络进行2次以上的测试(第1次的测试结果通常不太准确),观察网络上传和下载的速率、延时、抖动和丢包率等信息。除了网络上传和下载的速率直观上可以理解外,一般来说,在延时方面:150ms以下的时延,对于大多数应用来说是可接受的。150~400ms之间的时延,在用户预知时延状况的前提下可以接受。大于400ms的时延不可接受;在抖动方面:抖动小于80ms是比较好的,抖动在300ms以下是可以接受的,大于500ms是不可接收的;在丢包方面:丢包率小于5%是比较好的,丢包率大于10%时,已不能接受。
从实地环境测试结果发现,手机当前4G网络的丢包率较高。对视频图像来说,丢包率高会使视频通话中出现视频图像马赛克、视频局部变形,图像模糊、图像静止有声音、图像闪烁等情况;对音频来说主要就是音频失真、间断、间歇性噪音等。严重的丢包甚至会导致视频音频中断。这时,需要更换一个环境再进行测试,结果故障依旧。
2.3.2检查智能门禁App设置
智能门禁App上有“免打扰”设置功能,如果用户设置了免打扰时段,那么在该时段内所有的门禁呼叫对讲,App将自动拒绝,被拒绝的来电会记录在访客记录中。经检查,当前智能门禁App上并没有进行“勿扰设置”。
2.4检测宽带运营商
由宽带运营商导致的设备通讯故障的概率是比较低的,但是这种情况一旦出现,使用常规的检测手段是很难找到依据。这时,可以使用端口镜像+wireshark抓包分析的方法来寻找问题的蛛丝马迹。
首先,需要一台智能交换机。这里以H3CE528交换机为例,在本案例中智能门禁和PC分别接到交换机的9号端口和10号端口上。
其次,对交换机进行端口镜像配置,具体如下:
System-view//进入系统视图。
mirroring-group1mirroring-portGigabitEthernet1/0/9both//创建端口镜像组1,并将9号端口设置为被镜像端口,对该端口发送和接收的报文进行镜像。
mirroring-group1monitor-portGigabitEthernet1/0/10//将10号端口设置为镜像目的端口。
displaymirroring-group1//查看端口镜像组1的信息。
这样,源端口(GigabitEthernet1/0/9)的报文就会被镜像到目的端口(GigabitEthernet1/0/10)上。连接在目的端口上的PC就可以使用wireshark对这些报文进行监控和分析。
第三,启动wireshark抓取PC网卡的数据包。用户使用智能门禁拨号呼叫业主,业主在智能门禁App上接通电话,双方尝试进行语音交流,业主尝试点击“开门”,通话若干秒后关闭通话,wireshark停止抓包。通过wireshark过滤器使用ip.addr == 192.168.0.233过滤规则筛选出智能门禁收发的所有数据包进行分析。
如图2所示,从sip发送INVITE消息建立一个会话请求到发送BYE消息结束会话的过程可见,wireshark抓到了一个完整的会话过程。这就可以解释智能门禁能成功呼叫业主手机并建立通话,手机显示计时通话状态的原因。
再来看看远程开门,通过wireshark过滤器使用“ip.addr == 192.168.0.233 andxml”过滤规则筛选出基于XML消息体的sip消息。
从图3抓取的数据包MessageBody中的MESSAGE可以发现,智能门禁收到了远程控制开门的指令,这也就解释了手机App能远程控制开门的原因。
那视频和语音的通讯情况呢?从图4的抓包结果中发现智能门禁与流媒体服务器在进行通讯时,只有从智能门禁发出的H264视频流和RTP语音流。流媒体服务器从业主手机App上传送过来的语音流并没有转发过来。这只能解释智能门禁获取不到语音的原因,并不能解释业主手机App获取不到智能门禁视频和语音的原因,毕竟从报文上看,智能门禁是完成了上传视频和语音的工作。手机App上没有视频和语音,在排除流媒体服务器故障的前提下,很可能就是宽带运营商方面出现了问题。
最后,根据智能门禁所处的网络拓扑环境,该网络中存在广州宽带和中国电信的双出口。通过检查路由配置发现,局域网中的设备是根据vlan决定使用哪个宽带运营商出口的。智能门禁的上层路由归属在vlan3,使用的是广州宽带的出口,vlan2是中国电信的出口。那么只需要切换vlan即可实现宽带出口的切换。以华为S5720交换机为例,配置命令如下:
lsystem-view //进入系统视图
linterface GigabitEthernet 1/0/9 //进入智能门禁归属的交换机端口9
lport link-type access //将端口类型设置为access
lport default vlan 2 //将端口划分到以中国电信为出口的vlan2中
然后再通过wireshark抓包分析,如图5所示:
发现智能门禁依旧没有获取到流媒体服务器转发的H264视频流,但是获取到了RTP语音流。智能门禁没有获取到视频流是因为该设备上没有视频输出的功能,这是智能门禁系统和产品设计上的问题。但是此时智能门禁已经可以与业主手机App进行双向的语音通讯,业主在手机App上也可以看到智能门禁上传过来的视频信息。由此得出结论,智能门禁可视对讲故障的根源就是宽带运营商的规则过滤或拦截造成的。
其实,在本案例中,智能门禁通讯故障的解决方案还有很多。比如可以将智能门禁连接WIFI路由器,路由器再桥接到手机热点使用4G网络进行通讯也是可以的。基于篇幅,这里就不再展开论述。
3 总结
通过這个案例,我们发现物联网设备通讯故障的检测和故障排除是有章可循的。根据设备所处网络环境的不同,解决方案会有所差异,不管问题有多难多复杂,“只要耐心不滑坡,办法总比困难多”。
【通联编辑:闻翔军】