1、2019/1/13,WAP业务流程分析,2019/1/13,手机的WAP功能,WAP是Wireless Application Protocol的英文缩写,中文含义是无线应用协议,可用于Internet访问,包括收发电子邮件,访问WAP网站上的页面等等 WAP技术已经拥有2个版本,即WAP1.X和WAP2.0 手机对于WAP的支持程度有不同,有的手机只支持WAP1.X,有的手机则支持WAP2.0。支持WAP2.0的手机在上网时,比使用WAP1.X手机速度更快、效率更高、可浏览内容更为丰富,2019/1/13,WAP业务流程介绍,手机发出请求 移动网络(GSM、CDMA或其它移动网络)接通本地
2、本地ISP连接WAP网关服务器 WAP网关服务器向目标内容服务器发出请求 目标内容服务器将信息传给WAP网关服务器 WAP网关服务器将处理后的信息发送到本地ISP 本地ISP将住处传回移动网络 手机接收到Internet信息,2019/1/13,终端与WAP网关建立TCP连接由于使用80端口进行访问,所以连接过程需要在TCP层完成,图为终端与WAP网关经过三次握手建立连接的过程。其中,10.59.85.178是终端的IP地址,10.0.0.172是WAP网关的IP地址。 终端向WAP网关发出Get请求,要求返回页面的文本信息 终端发出HTTP GET请求,网关在收到请求后立刻发送页面文本内容,
3、传输过程在TCP层完成,下发完所有文本内容后,网关向终端返回HTTP 200ok,表示传输内容成功。,WAP页面访问流程(1/3),2019/1/13,WAP页面访问流程(2/3),终端向WAP网关发出Get请求,要求返回页面的文本信息终端向WAP网关发出ACK确认,表示已经成功接收全部内容,并终端与WAP网关的连接(FIN,ACK),WAP网关返回ACK,表示连接已经中断。 终端继续向WAP网关发出Get请求,要求返回页面的其他信息(如:图片) 因为之前终端与WAP网关连接已经中断,所以在发出Get请求前,终端首先要与WAP网关重新建立连接,如下图所示 终端与WAP网关经过三次握手,重新建立
4、连接。应该注意,一个WAP页面上的内容有很多,终端每得到一个页面上的内容都要经过三个步骤:连接、HTTP GET、断开连接。,2019/1/13,WAP页面访问流程(3/3),终端继续向WAP网关发出Get请求,要求返回页面的其他信息(如:图片)图中,HTTP GET后的地址是内容服务器的地址,WAP网关返回状态码200 ok的同时,还给出了得到的内容类型(image/vnd.wap.wbmp),由此可以看出GET的内容是一张图片。 下载完相应内容后,再次断开连接。重复以上步骤,当终端得到页面的全部内容后,会最后一次与WAP网关断开连接,此时,一个完整的WAP页面会被显示在终端上。,2019/
5、1/13,WAP下载流程(1/3),终端与WAP网关建立TCP连接由于使用80端口进行访问,所以连接过程需要在TCP层完成,图为终端与WAP网关经过三次握手建立连接的过程。其中,10.59.25.6是终端的IP地址,10.0.0.172是WAP网关的IP地址。 终端向WAP网关发出Get请求GET后跟的是要下载图片的URL地址,2019/1/13,WAP下载流程(2/3),数据传输 传输过程的实质是WAP网关将图片内容下发到终端上。在TCP层,图片内容被打成了许多个数据包,当某个数据包在传输过程中丢失或是传输失败时,需要进行重传,如下图所示: 传输结束 数据传输成功完成后,WAP会向终端返回状
6、态码200,代表动作执行成功,若在服务器端因某些原因导致图片下载失败,会返回其他HTTP状态码,如:404、403等。,2019/1/13,WAP下载流程(3/3),中断连接 终端首先向WAP网关发出断开连接信息(FIN,ACK),WAP网关收到信息后返回确认(ACK),同一中断连接。注意在途中,终端在发出(FIN,ACK)的同时。还向WAP网关发出了建立连接请求(SYN),重新建立连接后要下载下一个内容。,2019/1/13,TCP层分析(1/5),终端与WAP网关建立连接 Dst port(80)表示发送端请求使用80端口与WAP网关进行连接,Header Length:28表示原有数据在
7、TCP层增加了28bytes的包头,Maximum segment size:1460bytes表示在TCP层,一个数据包最大为1460bytes。 WAP网关接收到发送端发出的连接请求后,会返回一条以(SYN,ACK)标记的确认信息,“This is an ACK to the segment in frame:19”表明了这条信息是对第19帧信息的回复。,2019/1/13,TCP层分析(2/5),终端与WAP网关建立连接上图是建立TCP连接的最后一步,发送端在收到WAP网关的回复后,再向其发送一条确认信息(ACK),表明通过80端口建立连接成功,接下来就要传输数据了。这条信息的TCP层包
8、头大小为20bytes。 终端向WAP网关发出GET请求 请求的发出方(终端)使用的是2768端口,接收方(WAP网关)使用的是80端口。Reassembled TCP Segments(1156bytes)表示在TCP层,请求数据包的总大小是1156bytes,分两个数据包被发出(第23 、第24)。,2019/1/13,TCP层分析(3/5),数据传输 数据传输实质是WAP网关将TCP数据包下发给终端,其中TCP Segment data表示当前数据包的大小。 终端在接收到数据包后,会向WAP网关返回一条确认信息(ACK),其中,This is an ACK to the Sement i
9、n frame:40表示这条信息是对第40帧数据的确认。,2019/1/13,TCP层分析(4/5),数据传输结束 TCP层的传输结束后,WAP网关向终端返回HTTP响应信息,其中包含所有数据包的信息。上图中,Frame表示帧,即数据包的编号、payload表示数据报的大小。,2019/1/13,TCP层分析(5/5),中断连接 从第四步的图中可以看到,传输结束后,WAP网关向终端返回的HTTP响应信息是由(FIN,ACK)所标记的,所以该条信息业可以看作是WAP网关终端连接的请求。终端在收到请求后会返回一条ACK,并向WAP网关发出中断连接请求(FIN,ACK),最后由WAP网关返回确认信息
10、ACK,到此为止,表示连接完全中断,2019/1/13,HTTP层分析(1/2),终端发出GET请求下载内容之前,终端会向WAP网关发出HTTP GET请求,表示要求下载相应页面内容。由图中可知,GET请求的包头内容包括:目标地址(http:/)、HTTP协议版本号(HTTP/1.1)、传输方法(GET)、终端可以接受的媒体类型(accept)、终端可以接受的编码方式(accept-charset)、终端可与以接受的语言(accept-language)、终端型号及其他信息(user-agent)。,2019/1/13,HTTP层分析(2/2),WAP网关返回动作状态 WAP网关返回状态码20
11、0表示动作执行成功,Date表示时间、Set-Cookie表示服务器记录的终端信息、Content-Length表示内容大小(36Bytes)、Content-Type表示内容类型(格式)、Media Type表示媒体类型。,2019/1/13,问题总结,终端与WAP网关建立连接失败,导致下载失败建立连接时间过长,导致下载时间过大HTTP GET HTTP 200ok 这段时间过大,导致下载时延过大,原因可能有:传输过程中出现丢包重传、内容服务器或终端侧响应延迟若下载失败,可以根据HTTP返回的状态码来判断错误原因,2019/1/13,The Argogroup logo, Quality of eXPerience, “Test in Anger, Deploy in Peace.”, QXP, Device Master and Monitor Master are trademarks of Argo Interactive Ltd. UbiquinoX and Argogroup are registered trademarks of Argo Interactive Ltd.,If you dont test in anger, your users will! Test in Anger. Deploy in Peace.,Its a user thingTM,