依托信令分析的移动POS支付业务质量分析

2015-09-19 05:51桓汗晶北京中创信测信息技术有限公司监测系统产品部产品经理
信息通信技术与政策 2015年7期
关键词:服务器端信令端口

桓汗晶 北京中创信测信息技术有限公司监测系统产品部产品经理

编者按:随着手机、平板电脑等智能终端以及互联网技术的快速发展,在短短几年的时间里,国内的移动支付市场持续保持爆发式的增长态势,而支付成功率则是影响用户感知的关键因素。本文分享了某市提升移动支付成功率的案例,依托专业的信令分析工具,通过对移动支付服务器、移动支付服务器端口、现场测试和用户投诉信令等不同角度进行分析,最终定位并解决了问题,极大地提升了用户感知。可供相关技术人员参考。

1 引言

2015年4月,某市移动大量移动支付POS机出现支付失败投诉,导致数据业务投诉激增,严重影响用户感知。本文借助专业信令分析工具,对移动支付服务器、移动支付服务器端口、移动支付信令流程和测试情况进行综合分析,定位问题并提交优化,最终完成了本次移动支付专题优化分析。

2 移动支付业务信令流程

通过信令分析平台对移动支付业务信令标准流程进行抓取,以此来定位移动支付问题信令点。如图1所示,针对关键信令点的描述如下:

(1)POS在开机后,使用GPRS网络进行ATTACH附着,并使用APN为CMNET进行PDP激活。

(2)PDP激活后,POS机向移动支付服务器(211.141.88.164)发起ping测试,移动支付服务器进行ping响应。

(3)POS机与支付服务器进行TCP三握手连接,目标地址为211.141.88.164,端口号可选为8100或8200,具体使用与POS机设置有关。

图1 移动POS支付信令全流程

(4)完成TCP三握手连接后,POS机使用标准TCP协议向支付服务器发起业务请求消息,使用push-ack进行传输,支付服务器回复ACK消息对其进行响应,POS收到支付服务器回复的ACK消息后,使用push-ack对其进行响应,完成支付过程。

(5)完成支付过程后,进行TCP拆链。

3 某市移动支付投诉分析

2015年4月底某市大量移动支付POS机出现支付失败投诉,导致数据业务投诉激增。通过信令回放,并和移动支付标准信令流程进行对比发现,问题可定位为POS机与移动支付服务器进行TCP三握手的环节,由于TCP三握手失败从而导致移动支付失败。

对具体信令进行分析发现,移动支付POS机终端在附着和PDP激活成功之后,在与移动支付平台服务器进行(IP地址为“211.141.88.164”)TCP三握手时失败,其主要失败端口为8100,失败原因为POS机发起SYN请求后,一直未得到服务器的SYN-ACK响应,从而导致SYN在重发后超时失败,导致POS机支付失败。分别抓取POS支付失败和成功的信令进行对比,具体如图2、3所示。

对移动支付服务器全天24h时段TCP建立情况进行跟踪(见图4),可见,在业务闲时段TCP三握手成功率为90%以上;7点后,随着POS支付业务量增加,TCP三握手成功率急剧下降为50%左右;在21点后,随着业务量下降,其成功率又逐步回升至70%左右。可见,服务器整体TCP三握手成功率较低。

图2 移动POS支付失败信令流程

图3 移动POS支付成功信令流程

通过以上分析,确认服务器(211.141.88.164)问题异常并导致用户投诉,需要协调处理该服务器。2015年4月25日,对移动支付服务器和支付端口进行更换,对更换后TCP三握手成功率情况效果验证如下(见图5)。

从更换后的TCP三握手成功率来看,更换后通过服务器(211.141.88.164)的TCP三握手成功率明显提升,忙时TCP三握手成功率由60%提升为80%左右,POS机刷卡成功率明显改善,但整体成功率依然波动较大,仍需进行详细分析。

4 移动支付质量提升专题分析

4.1 移动支付服务器整体TCP指标分析

从前文分析发现,目前POS机刷卡的成功率虽有改善,但依然较低,需继续进行深入分析。为深入定位TCP三握手成功率低的原因,统计2015年5月20、21日移动支付服务器(211.141.88.164)的TCP三握手趋势,具体如图6所示。

可见,随着业务次数(SYN次数)的增加,TCP网络侧响应成功率出现急剧下降,由闲时的90%下降为60%左右,但无线侧成功率基本保持稳定,因此移动支付服务器TCP成功率与无线侧关联不大。同时,TCP网络侧成功率和SYN超时次数存在明显相关性。当SYN超时次数增加时,网络侧成功率出现明显下降。因此,需重点分析移动支付服务器在业务量增加时出现大量SYN超时是否与支付服务器负荷或相关内部参数设置相关。

图4 移动POS支付平台服务器TCP三握手成功率趋势

图5 移动POS支付平台服务器更换前后TCP三握手成功率趋势

图6 移动POS支付平台服务器TCP三握手成功率趋势

4.2 移动支付服务器不同端口TCP指标分析

统计使用移动支付服务器(211.141.88.164)的不同支付端口时各个支付端口的TCP指标情况,具体如表1所示。可见,当前移动支付服务器主要使用3个端口进行业务,分别为8001、8100和8200,但这3个端口的网络侧成功率相差较大,而无线侧成功率基本一致。

通过和POS厂家沟通得知,POS机可以对相关端口进行设置,其中8001端口为管理端口,可进行相关签到、管理操作,而8100和8200为POS支付端口,在进行支付交易时,需采用这两个端口进行。

从网络侧成功率分析来看,8100端口网络侧成功率保持在90%以上,但8001和8200端口成功率仅为60%左右;从3个端口的SYN尝试次数来看,某市移动POS机业务主要集中在8200和8001端口,8100端口业务量较小;从关联SYN超时次数来看,8200和8001的SYN超时次数明显高于8100端口,从而拉低了整体支付服务器的TCP网络侧成功率。

表1 支付服务器不同端口成功率分析

统计连续两天支付服务器不同端口的小时级TCP指标,具体如图7所示。可见,随着业务量的增加,8200和8001端口的SYN超时次数明显增加,从而引起两个端口的网络侧成功率急剧下降;而8100端口随着业务量的增加,SYN超时次数未见明显增加。

因此,从对支付服务器的不同端口分析来看,8200和8001端口明显存在异常,需对服务器的端口设置和相关参数进行排查。

4.3 移动支付服务器现场测试分析

协调相关人员对某市移动支付POS机进行了相关测试,通过在GB口对业务进行信令抓取,现场人员反馈某时间段内出现刷卡时延较大,交易完成较慢的情况。通过wireshark对异常时段的测试信令抓包,具体分析如图8所示。可见,当现场测试人员反馈刷卡较慢时,从GB口信令上表现为服务器始终未对SYN包进行响应,导致SYN包不断进行重发,从POS发起SYN请求开始,由于一直未得到服务器端响应,导致SYN重发6次,整体业务时延为60s左右。与正常POS支付业务流程相比,正常支付流程时延仅为10s左右。由此来看,是由于支付服务器问题,导致不能及时对SYN进行响应,从而导致用户支付时延较大,影响用户感知。

5 移动支付优化方案

5.1 问题定位和优化措施

综上分析可推断移动支付服务器可能存在部分参数设置问题,从而导致SYN包超时率较高。通过支付平台服务器提供商对服务器相关参数和设置进行核查发现,其服务器确实存在对部分TCP握手消息不响应的问题。经查为其服务器开启tcp_timestamps验证导致。

图7 移动POS支付平台服务器不同端口TCP三握手成功率趋势

图8 刷卡支付测试抓包信令分析

当服务器端的tcp_tw_recycle和tcp_timestamps都是1的时候,会检查收到数据包TCP选项字段中的的timestamp(TS Value),当来自同一个IP地址(任意源端口号),后来的数据包中TCP选项字段如果有timestamp且比前面数据包中的timestamp小,则server不做ACK响应。

由于POS机客户端的业务请求经过2台NAT服务器转换后,后端服务器会认为是同一个TCP连接,由于开启了tcp_timestamps验证,在POS客户端发起的业务请求的时间戳存在不一致情况下,有可能会导致客户端发起SYN后,服务器端始终不回应SYN ACK,从而导致SYN超时。

通过优化,将移动支付服务器端的Linux内核参数tcp_timestamps由1修改为0,关闭时间戳验证后解决了SYN超时问题,从而解决了用户支付失败的问题。

5.2 移动支付优化效果

5.2.1 整体提升效果

在2015年5月22日16点左右,对移动支付服务器进行了相关优化,统计优化前后(5月20—25日)的服务器TCP相关指标并进行跟踪,具体如图9所示。

可见,从优化后整体效果来看,移动支付服务器的网络侧成功率上升明显,由之前的60%左右提升为90%以上,并连续保持稳定;从SYN超时来看,SYN超时率由28%左右下降为5%左右,SYN超时次数明显下降,由优化前最高的400次下降为优化后10次左右。

对移动支付服务器各端口的网络侧成功率(见图10)和SYN超时率(见图11)指标进行跟踪,可以看到,8001和8200端口在优化后,网络侧成功率指标提升明显,两个端口的网络侧成功率均在95%以上,较优化前提升30%左右。从SYN超时率来看,由优化前的35%左右下降为5%以内,下降了30%左右。

5.2.2 各TCP端口提升效果

2015年5月20—25日,对优化前后的8200(见图12)和8001端口(见图13)的小时级TCP指标进行跟踪,可见,在对服务器端进行相关参数优化后,8200和8001端口的TCP网络侧成功率均提升明显,SYN超时次数下降明显,从而显著改善了用户感知。

图9 优化前后移动支付服务器TCP指标跟踪

图10 优化前后移动支付服务器各端口的TCP成功率跟踪

图11 优化前后移动支付服务器各端口的SYN超时率跟踪

图13 优化前后移动支付服务器8001端口TCP跟踪

6 结束语

依托专业的信令分析工具,对业务过程进行全程信令分析,从移动支付服务器、移动支付服务器端口、现场测试和用户投诉信令等不同角度进行分析,发现随着业务量增加,SYN超时率明显上升,明显影响用户感知,最终定位为由服务器端内核参数设置存在异常导致。依托专业的信令分析工具,可有效提升现场针对此类问题的解决能力,从而有效提升用户实际感知。

猜你喜欢
服务器端信令端口
一种端口故障的解决方案
Linux环境下基于Socket的数据传输软件设计
硬件解耦三端口变换器的软开关分析与仿真
多按键情况下,单片机端口不足的解决方法
SLS字段在七号信令中的运用
移动信令在交通大数据分析中的应用探索
基于信令分析的TD-LTE无线网络应用研究
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
LTE网络信令采集数据的分析及探讨