APN接入点:CMWAP、CMNET大比较

黑莓的网络接入点(APN)有CMWAP、CMNET之分,为什么同样是程序网络接入点却不相同呢,在此我借鉴了网络上的一篇文章给大家说明一下具体的区别。

问题1.为什么会有两个接入点?

在网上查阅大量资料后并经过反复的尝试与探索后,笔者对CMWAP和CMNET两种上网方式作出了一下总结:在国际上,通常只有一种GPRS接入方式,为什 么在中国会有CMWAP和CMNET两兄弟呢?(彩信之所以单独配置接入点是因为彩信服务需要连接专用的服务器,在这里不作探讨。)其实,CMWAP和 CMNET只是中国移动人为划分的两个GPRS接入方式。前者是为手机WAP上网而设立的,后者则主要是为PC、笔记本电脑、PDA等利用GPRS上网服 务。它们在实现方式上并没有任何差别,但因为定位不同,所以和CMNET相比,CMWAP便有了部分限制,资费上也存在差别。

问题2.什么是WAP?

WAP 只是一种GPRS应用模式,它与GRPS的接入方式是无关的。WAP应用采用的实现方式是“终端+WAP网关+WAP服务器”的模式,不同于一般 Internet的“终端+服务器”的工作模式。主要的目的是通过WAP网关完成WAP-WEB的协议转换以达到节省网络流量和兼容现有WEB应用的目 的。

WAP网关从技术的角度讲,只是一个提供代理服务的主机,它不一定由网络运营商提供。但据我所知,中国移动GPRS网络目前只有唯一的一个 WAP网关:10.0.0.172,有中国移动提供,用于WAP浏览(HTTP)服务。有一点需要注意,WAP网关和一般意义上的局域网网关是有差别的, 标准的WAP网关仅仅实现了HTTP代理的功能,并未完成路由、NAT等局域网网关的功能。这就决定了它在应用上所受到的限制。

问题3.中国移动对CMWAP的限制?

为了从应用中区别两者的定位,中国移动对CMWAP作了一定的限制,主要表现在CMWAP接入时只能访问GPRS网络内的IP(10.*.*.*),而无法 通过路由访问Internet。(少数地区的移动网络可能不存在这一限制。)我们用CMWAP浏览Internet上的网页就是通过WAP网关协议或它提 供的HTTP代理服务实现的。

说到这里,就让笔者自然而然的联想到公司的网络,相信不少工作的朋友都有类似的体会。公司的网络在网关上不提供路由 和NAT,仅仅提供一个可以访问外网的HTTP代理。这样,我们就无法直接使用QQ、MSN等非HTTP协议的应用软件了(好在它们还提供的有HTTP代 理的连接方式),CMWAP也正是。

问题4.CMWAP和CMNET的适用范围

两种上网连接方式的适用范围才是大家最关心的问 题。CMNET拥有完全的Internet访问权,这里就不多说了,主要让我们来看看CMWAP。因为有了上面提到的限制,CMWAP的适用范围就要看 WAP网关所提供的支持了。目前,中国移动的WAP网关对外只提供HTTP代理协议(80和8080端口)和WAP网关协议(9201端口)。

因此,只有满足以下两个条件的应用才能在中国移动的CMWAP接入方式下正常工作:

1. 应用程序的网络请求基于HTTP协议。

2. 应用程序支持HTTP代理协议或WAP网关协议。

问题5.如何辨别一个应用程序的网络请求是否基于HTTP协议?

这个问题还真不好回答,要完全做到这一点需要通过拦截应用程序的通信数据包进行分析。这里提供几个简单的方法给广大朋友:从表现上看,如果它的网络请求是网址(URL)的形式,那么通常是基于HTTP协议的,如Web浏览器;如果它连接的服务器端口是80,那么它可能是基于HTTP协议的。

问题6.如何区别一个应用程序支持HTTP代理协议还是WAP网关协议呢?

首先看它的设置中有没有代理服务器的选项,如果有则表示它支持HTTP代理协议。如果没有,则需要按照以下步骤测试:

在GPRS接入点设置的高级设置里去掉代理服务器的设置项:Server Address 和 Server Port,如果应用程序可以正常工作,那么它是基于WAP网关协议,如Java程序、S60内置的浏览器。如果在此状态下不能正常工作,而恢复GPRS接入点高级设置中的代理服务器设置后能够正常工作,则应用程序支持HTTP代理协议(代理设置从系统中读取)。如果仍不能正常工作,那么这个应用程序一般来 说是不支持HTTP代理协议或WAP网关协议的。

这里需要特别说明的是JavaQQ,它有Socket和HTTP两种版本。现在网上流传的可用于 CMWAP的JavaQQ就是基于HTTP协议的。就拿那个JavaQQ 2004来说,启动画面中就明确的写着“KJava QQ HTTP”。而SIS版的QQ和AgileMessenger(S60的MSN客户端)因为是采用的普通的Socket连接方式,因此无法用于 CMWAP。

最后笔者总结了一下,CMWAP下可以使用的常见软件的工作方式:

(1) 手机内置的浏览器:WAP网关协议

(2) Opera 浏览器:HTTP代理协议(有代理设置)

(3) Java 程序:WAP网关协议

(4) AvantGo:HTTP代理协议(有代理设置)

注意事项:现在CMWAP的功能进行了提高,以后的趋势可能是都采用CMWAP, 而CMNET要被逐渐取消。手机程序建立SOCKET 连接时曾遇到这样一个问题:在e6, e2 MOTOROLA LINUX OS 手机上用CMWAP默认连接可以使用SOCKET CONNECTION, 但是在 L71 motorola os 手机上如果默认的网络设置是cmwap, service type 是http, 就无法建立socket connection, kvm默认建立了一个http连接,如果把service type 该为 wap, 则可以建立socket连接. 这是因为:设置service type 为 “WAP” 将不用 proxy 建立连接. 当service type 是“HTTP” 所有的连接将通过proxy完成. 如果java application 使用service type HTTP, kvm 将建通过 http tunnel 建立所有的TCP 连接.

PS:通过以上的介绍你是不是已经找到了关键点,明白为什么GOOGLE等程序需要cmnet协议支持了吧

  • 打印】【关闭
  • 查看所有评论内容
  • 评论内容
  •