尝试探索3G通信网络

news/2024/11/20 7:28:29/

一个试验

我的iPhone没有越狱,导致很多事做不了,最蛋疼的是没办法窥视3G网络到底是怎么一回事,于是找了同事的越狱版iPhone,先来看一下WIFI和3G的关系。通过ifconfig命令,可以看到pdp_ip0这个网卡,仔细看其属性,发现了以下三点:
1.3G网卡的属性是POINTOPOINT的,不属于我们熟知的某一个以太网,因此也就没有48位MAC地址等常规网卡的地址概念,在点对点网络中,只有主从,不需要MAC地址解析。
2.从3G网络获得的IP地址是一个10.X.Y.Z/32的点对点地址,是个私网地址,既不能被公网路由,也没有谁和你处在同一网段,然而你确实能访问公网,因为你处在运营商的NAT背后,由于大家都处在NAT背后,所以大家不能通过3G地址来互相通信。
3.像打电话,短信等业务是不走IP的,但是一些额外的信令可能是IP承载的。不走IP走什么?那是通信网上另一套完整的协议。所谓的CDMA是一个比较底层的协议,对应OSI模型的底层,不管是IP承载的数据业务,还是AMR承载的语音业务,最终都要经过CDMA编码。
此时,开启WIFI,手机上面的3G图标瞬时消失,然后你会在后台看到en0这个WIFI网卡被分配了一个地址,此时执行route get default,会发现默认网关指向了WIFI路由器,然而此时的pdp_ip0依然存在,数据不从它走只是因为默认网关切换到了WIFI网络,此时只要你将默认网关再指回3G网卡被分配的那个地址即可。你还可以做策略路由,但是需要pf支持,这样就可以一部分流量走WIFI,一部分走3G了。看来后台命令可以完全绕过前台的配置以及显示。
       可以实现流量嗅探,但是这个还没有成功,家里有个小米手机,估计在那上面搞要比在iPhone上容易一些。主要是因为本人对Linux网络配置比对UNIX的要熟悉一些。也可以将你的手机当成一个路由器来用,负责转发流量,但是这么玩意义不大。主要是令人抓狂的airport命令怎么也装不到iPhone上,谁知道啊??换成小米,估计用iwconfig会简单很多!
       3G网络实际上非常复杂,手机后台显示的那个3G网卡的IP地址实际上多数是走数据的,当然也有一些和通话相关的信令。很多人问,如果关闭了3G还能打电话吗这种问题,实际上是可以的,在我国(世界上的很多地方,不过我国承载了多数的移动通信用户),3G并不纯粹,关闭了3G,2G还能用。在手机还不能上网的时候,它就是用来打电话的,打电话时,通信网络有自己的协议栈实现信令以及话音数据的寻址和传输,使用的并不是IP协议,要知道IP协议天然地就不适合传输语音,这也是IP电话为何和射频电话不是一回事的原因。看一下下面的从《3G网络结构拓扑图》中摘录下来的几个协议栈:


3G移动通信技术的协议栈很复杂,大量的协议栈都和IP协议无关,也就是说它们是并列于IP协议的其它协议,从图上可以看出,大量的协议在底层使用ATM来传输,通过这个图更能加深我们对网络协议栈的理解,要知道,所谓的网路协议栈并不一定要和IP关联起来。3G的协议栈是一个集合,定义了大量的实体以及实体之间的接口,可以看到有大量的信令协议,几乎每一个栈都包含完整且复杂的数据平面和控制平面!其实这也不能说3G网络复杂,其实3G网络是基于电话网发展的,而电话网本身就和IP网不是一回事,甚至在设计思想上是势不两立的,因此3G网络天然就和以简单著称的IP网络截然相反!
       3G网络和WIFI都属于无线网络,然而其拓扑却是大大不同的,3G网络是蜂窝状的小区,WIFI则是单一的有线网在覆盖半径内的延伸,蜂窝小区的覆盖半径要大于WIFI的覆盖半径,然而随着小区利用率逼近极限开始造成的通信质量下降,微蜂窝正逐步建立,相反,WIFI的覆盖半径则是在逐步加大,WIFI的移动性也在增强,二者是在各自变化过程中擦肩而过还是最终碰撞于一点呢?
       我想,如此复杂的UMTS协议栈也是逐步生成的,并不是一开始就是这样,不出所料的话,很多都是为了兼容而引入的,正如诸多的隧道封装一样!对于逐步生成的东西,理解它时就需要有一点变化,生命是由两个嘌呤和嘧啶组合而成的复杂体,也是逐步生成的,然而和UMTS不同的时,生命没有独立的信令系统,它是自组织的!而UMTS系统的组件之间则必须通过接口信令来互通!因此我们不能把复杂的UMTS作为一种自组织的生态系统来看待,它如果再持续复杂下去,早晚要崩溃,在此基础上的4G,5G...nG的影子何在?我不敢想象以后几个G的通信网络会基于目前的UMTS越来越复杂!虽然国内学者都多少有些学院派(学究),实施一项成果前必然要有一个理论作支撑,然而不可否认,向IP网的融合确实是一条正确的路,起码我认为正确,因为什么?因为IP简单,和DNA组件一样!

一段插曲:

10年前的电信泡沫以及6年前的小电信泡沫,有人说就是因为手机屏幕太小!10多年前的事我不知道,那时我还没有手机,6年前的知道,那时刚毕业进的那家公司在搞软交换,所以有机会玩大量的手机,大都是摩托罗拉,诺基亚的,记得那时的UIQ差点把我逼离职!那时我自己的手机是Moto E398,虽然带有很强大的功能,但是我从来不用它来上网,因为太憋得慌了!后来的诺基亚N7X系列的我也买过一部,效果一样!那时大屏幕的家伙不叫手机,而叫PDA!自从iPhone推出,3.5英寸的全触摸屏幕以及内置的大量应用改变了人们用手机的习惯,George Gilder的预言终于来到了,虽然迟到了好久。
       唉!原来就是屏幕太小的原因啊!索尼随身听风靡全球可是没有掀起浪潮,中华美食走向世界没有引发狂热的吹捧,原来听觉,嗅觉,味觉都不重要,重要的是视觉感受!另外重要的就是操控力,否则大屏幕彩色电视机早就胜利了!能同时满族视觉享受和操控力享受的我觉得就两个,一个是汽车,还有一个就是iPhone/iPad(以及类似的东西)!

一个解释:电话/短信,数据,3G的关系

如果看懂了《RAD公司的著名的UMTS三维协议栈图》以及《3G网络结构拓扑图》这两张图,那么关于移动通信的一切你也就了如指掌了,不信的话,试试看!很多人搞不明白iPhone里面的电话/短信,蜂窝移动数据,3G的关系。对照上面的图,就会发现,电话/短信走的是CS电路交换网,而蜂窝移动数据走的是PS分组交换网,也就是IP网,至于3G,则是一种技术代称号,3G业务包括语音等电路交换业务,也包括数据等分组交换业务,囊括了上述的电话/短信以及蜂窝移动数据,它们的关系如下:
1.作为手机的基础,电话/短信在信号覆盖范围是任何时候都可用的,此时如果启动了3G,则电话/短信则使用((TAF/RLP)|AMR)/RLC/MAC/WCDMA来封装,如果关闭了3G,则使用GSM栈来封装,电话/短信和蜂窝移动数据没有关系;
2.如果开启了蜂窝移动数据,且开启了3G,则浏览器,IP语音,QQ等流量用(TCP|UDP)/IP/PDCP/RLC/MAC/WCDMA来封装,如果关闭了3G,上述的流量则用(TCP|UDP)/IP/[GSM底层栈]来封装;
3.如果关闭了蜂窝移动数据,则无法使用基于IP的分组交换业务,比如浏览网页,淘宝购物,IP语音(Line?微信?)等。

另一个解释:CDMA与3G

有人把WCDMA等同于3G,而实际上CDMA只是最后几百米的一个用户空中接口的底层封装而已,由于移动通信的移动性就体现在这最后几百米不用扯线缆的地方(一个蜂窝基本上就那么大,移动性的另外一个要点就是蜂窝间的切换),故而很多人有了以上看法。实际上通过解释一涉及的两张图,就会发现,通信网的大部分都是ATM承载的,最终可能会落实到光网络的光层,你可以看到这个UMTS网络中IP仅仅占了很少的部分(分组交换业务以及一些信令),CDMA在核心网更是找不到身影,它仅在用户接入那段有效。

第三个解释:3G与软交换

还记得软件换么?我2007年做过软交换,接触过SIP协议,发现其巨复杂,实际上,如果你看看关于UMTS的那两幅图,就会发现,涉及通信的协议本来就很复杂,通信协议是一个集合,涉及多个协议栈,每个栈之间都会定义一个接口,接口的名字很多都是交互双方首字母合体的两个字母,十分难以记忆。SIP是什么,软交换是什么?无非就是要把通信网上实现的诸多诸如从SMS SM-AL到链路层以上的多层协议封装作为TCP/IP网络的一个应用层来实现,首选的是交互扩展性比较强的类似HTTP的SIP协议,所有这些都用一个单独的应用层协议实现,你就知道SIP复杂的原因了吧。SIP其实是将传统通信网移植而不是嫁接到TCP/IP网的主力军,但是又要减少通信网的协议层次,否则IP只能作为一种封装来起作用,真实的业务将还是要用既有的协议栈处理,现有的网关将不动,只是增加了IP的部件...这不是未来的路线,所以必须将既有的纵向通信协议栈扁平化,使它成为TCP/IP栈的仅仅一个层,所有需要在空间上纵向处理的改在时间上交互进行。“所有需要在空间上纵向处理的改在时间上交互进行”这句话何意?以下的一个例子会说明:
1.空间中纵向处理:IP数据报携带TCP数据,封装了MAC头之后发出到下一跳,下一跳剥掉MAC,露出IP头,计算路由,封装新MAC头,发往下一跳...最终到达目标。
2.时间轴交互处理:首先发送信令到网关,告诉它一会儿要发包,请先为这个包算一条路由,另外,一会儿发的包携带aaa标识,然后网关返回同意,分配给用户一个bbb标识,此时用户发送数据,携带aaa/bbb头,到达网关(此处的网关不一定就是前面的那个信令网关)后,网关按照刚刚计算好的路线发送数据。

通过以上的解释,发现纵向处理方式中,数据包每到一个点,协议栈提供了足够的信息引导数据前行,并不需要额外的信令来来回回,而交互处理则不同,它是先用信令将路打通,然后数据直接传输。其实二者在本质上是相同的,但是应用层的协议一般不用栈的方式,那样灵活性和扩展性就太差了,SIP作为TCP/IP的应用层被设计出来,要代替传统通信网络的协议栈方式,采取了交互式的处理。

一个讨论:3G与扁平IP栈

历史总是在重复相同的故事,3GPP似乎也看到了这一点。早期互联网得益于IP的简洁与扁平,呈现了爆炸性增长。IP的位置-沙漏的细腰,决定于它的初衷,仅仅提供逻辑寻路,控制逻辑交给端到端,传输任务交给链路层。IP的上面出现了HTTP,SIP等复杂的协议,IP的下面出现了甚至光层这种猛物。
虽然3GPP看好IP,然而它依然保留了传统的电路交换电话网,在UMTS中保留了一个CS域,也就是电路交换域,和基于IP的分组交换域同时并列存在,越来越多的应用转移到了分组域,电路域留下的核心应用仅仅是电话!然而看一下两个域的协议栈,又一次让我们看到了幂律!为电话保留那么复杂一个协议栈集合!!99%的应用几乎都在IP上!!然而如果将电路域合并于分组域,会不会导致IP网一下子坍塌呢?
3GPP怎能不知道这一点,通信的历史告诉我们,深度协议栈有益于高效的控制,这个在中国先秦时期,希波战争时期,凯撒时期都有所体现,扁平协议栈有益于扩展新的应用,这个在不同时代的会议中有所体现。人们叫嚣如今的电子通信时代了,控制逻辑也不再是固定的逻辑,甚至控制平面都应该向扁平化发展,比如SDN,甚至SIP本身不就是一个全平(而不是扁平)的控制信令协议么!难道历史倒退到了带外信令时代?难道这意味着协议栈时代即将终结?自有历史评说吧!

一个建议:

其实,通信协议栈更能体现OSI模型,更能说明OSI模型它仅仅就是一个模型,TCP/IP只是它的一个实例,不在一个层次上,因此不能说OSI模型败给了TCP/IP。学习网络原理,如果能接触一下通信协议栈,会理解更深!

一个希望:

哪里能买到3G/GSM/GPRS的开源开发板,带有各种驱动程序,工具以及手册,可以自己debug通信协议栈,正如使用tcpdump,traceroute等工具对IP做的那种事那样。有能搞到的么?

http://www.ppmy.cn/news/894622.html

相关文章

缺乏技术专利支撑的小米还能走多远

几乎是一夕之间,小米被推上了风口浪尖,它的营销方式、商业诚信备受质疑。这些质疑之外,我更看重的一个问题是:小米的技术专利积淀究竟有多少?究竟价值多少? 说小米之前,我想起了黑莓。 最近&…

手机推荐(目前来看)

0x00: 荣耀6 参数: 触摸屏类型电容屏,多点触控(十点) 主屏尺寸5英寸 主屏材质TFT材质(LTPS技术) 主屏分辨率1920x1080像素 屏幕像素密度441ppi 屏幕技术全贴合技术 窄边框3.72mm 屏幕占比70.82% 其他屏幕…

暑假第一天打卡

离散数学 联结词那里是真绕,关于p推出q这种最后只能死记硬背, 像……才……,才的后面就是前件(条件),除非……,除非的后面是后件(结论) Java: 上午才配置好 python &…

GPS定位频率最高是多少HZ?

转载:https://www.zhihu.com/question/41257990/answer/90574977 现在普遍常见的芯片10Hz,ublox好像可以配置到100Hz,具体是10还是100记不清楚了,导弹上应该主导航系统肯定是惯导或者组合导航,输出频率应该不会低于200…

GPS定位的优点和缺点与室内定位

1. 从GPS工作原理分析GPS定位的优点和缺点 (1) 优点: GPS导航相对于惯性导航它不需要安装惯性平台以及它的控制系统,对工作环境的要求没有那么高,只需要空间卫星,地面基站、用户端设备即可实现导航,而且导航覆盖的位…

一种应用于车载系统的GPS接收机射频前端的设计

一种应用于车载系统的GPS接收机射频前端的设计 GPS(GLOBLE POSITIONING SYSTEM)是一种可以定时和测距的空间交会定点导航系统,它可以向全球用户提供连续、实时、高精度的三维位置、三维速度和实践信息。GPS提供两种服务:标准定位…

什么是GPS,GPS技术主要有哪些特点?

GPS系统就是”授时与测距导航系统/全球定位系统(NavigationSystemTimingAndRanging/GlobalPositioningSystem,NAVST/GPS),简称全球定位系统“。 1994年的时候,GPS系统基本建成,成为了全球共享的空间信息资…

车载gps位置服务器,车载GPS监控系统工作原理简介

随着经济的高速发展,汽车的社会拥有量急剧上升,各单位的车辆管理调配问题比较突出。与此同时,劫车、盗车等危害社会治安、影响社会稳定的各种现象逐年上升。车辆安全监控管理系统不但可以为有关单位及个人对其拥有的车辆实施动态控制&#xf…