从固定互联网到移动互联网
扫描二维码
随时随地手机看文章
标签:TCP WWW
前言
移动互联网是移动通信网和(固定)互联网相互融合的产物。移动通信网络和互联网原来各自在其领域,都取得了巨大的成功,但从商业模型到技术架构,从终端、网络到应用都存在很多的差异性。二者不同的文化背景和资源优势,导致以移动电话公司为代表的、以移动话音为主业的移动通信业,与以互联网和计算机厂家为代表的、以数据通信为中心的互联网业对移动互联网的理解在诸多方面有所不同。加之最近两年,随着美国苹果公司以终端为中心在iPhone、 iTouch、App Store等商业和技术方面创新所取得的巨大成功,使得对移动互联网的理解出现了“三足鼎立”的局面。
1) 以移动网为中心的定义
采用智能手机/手持数字助理、笔记本电脑和上网本等移动终端,通过移动网接入开放互联网、无线接入协议(WAP)、IP多媒体协议(IMS)等互联网业务。这个理解主要来自移动通信业,认为移动互联网是“移动网”的发展,只是所提供的服务从传统移动通信业务发展到了“互联网业务”,终端从手机发展到了多种智能终端。这种定义试图在与3GPP等提出的“移动分组网”加以区别的同时,引入了两个含糊不清的概念:“移动网”和“互联网业务”。广义的讲,移动网可以是链路层或网络层,甚至是应用层和内容层的,而这里似乎仅指蜂窝移动网。另外,把IMS等也纳入到“互联网业务”,而IMS是对应用实现的技术性描述,与“互联网业务”不是一个层面的事情。
2) WEB为中心的定义
通过移动设备(如PDA、手机)或其他便携设备(如上网本等)连接到公众网络上,访问万维网(WWW)。这种理解来自互联网界,认为移动互联网是互联网的发展,只突出强调了手持终端在WEB层面带来的差异性。当然这里的差异性可以是限制性的(如接入速率慢、终端屏幕小等),也可以是优势性的(更好的便携性、具有位置信息等)。虽然目前互联网上绝大多数的应用类型是WEB方式的,但也有一些应用不是(如需要下载客户端软件),因此该定义不能涵盖一些非WEB方式的移动互联网应用(如部分短消息,地图等移动应用)。另外,手持终端和无线接入链路对移动互联网的传输层和网络层的影响也未考虑在内。
3) 以终端为中心的定义
以移动终端为中心(注意,不是以手机为中心),通过用户界面、开发工具、硬件、分布式处理以及3G+WLAN等无线接入能力,对互联网和移动产业生态系统进行优化,提供了全新的用户体验和定价方式。1990年微软针对个人电脑推出Windows 3.0的创新,彻底改变了PC时代;1995年网景浏览器(及其首次公开募股)针对互联网的创新,让(固定)互联网出现了爆炸式增长;苹果公司从2007 年开始的基于移动终端的创新
(iPhone 、iTouch和App Store),引领了移动互联网的新时代。
本文从固定互联网开始,介绍了互联网的体系架构及所面临的移动性支持等挑战,阐述了为应对移动性的挑战,互联网目前所做的一些工作以及存在的问题等。文章的最后认为从互联网的外部看,移动互联网仍然采用的是互联网的体系架构,只是在网络层、传输层和应用层等增加了一些移动性支持功能而已。而从互联网的内部看,移动互联网增加的这些功能,虽然对互联网架构都是演进性改变,但因为终端的便携性和网络的广覆盖等,这些变化将对上层应用产生“革命性”的影响,传导后对整个人类社会将产生重大影响。
1 互联网的体系架构
与移动通信网集中控制、层次化路由的体系架构不同,互联网倡导的是一种建立在“自律”基础之上的“开放”、“平等”和“创新”,让人人都可以参与建设和发展的精神理念。在这一精神理念的指导下,互联网工程界提出了“端到端透明性”的核心设计理念。RFC3439等所描述的“端到端透明性”是互联网少有的、一直坚持的体系架构的核心设计原则。所谓“端到端透明性”,就是在互联网协议(TCP/IP)的设计中,将互联网系统中与通信相关的部分(IP网络)与高层应用(端点)分离,最大限度地简化网络的设计,将尽可能多的复杂性和控制放在用户终端上。有些文献也称其为“沙漏”模型,如图1。今天所看到互联网的所有特征(包括移动方面外部和内部的优点及问题),几乎都与其“端到端透明性”的核心设计理念有关。
这一核心设计理念后来随着互联网的发展得到了延伸,被扩展为:TCP/IP协议设计中应尽可能地将状态信息维护在端点上,网络内部不维护与特定应用相关的任何状态信息,因为只有这样,才可能在网络中的某部分发生故障时不会中断通信,除非通信端点自身出现故障。根据这一扩展后的理念,出现了下面大家熟知的推论:
1) (无连接的)分组交换技术优于传统的电路交换网络,因为分组交换网络中不维护状态信息,因此只有通信终端发生故障时才会中断通信;
2) 业务与承载分离,IP网络中不保存与业务和应用相关的信息,终端智能化而网络傻瓜化。
互联网的这一核心设计思想,很明显是基于固定网络的:
1) “端到端透明”,意味着互联网认为无论是有线的还是无线的,无论链路层属性差异如何巨大,网络层都会“尽力而为”地提供服务,即端到端通信的服务能力很可能是受限于最差性能段的那段无线链路;
2) 希望把复杂性放在终端上,意味着终端必须具有很强的计算和存储能力,网络传输这种计算任务的能力也要相对较强;
3) 网络中最大限度地不保留状态信息,意味着网络认为移动性支持不是必须的功能,不属于体系架构要考虑的问题,而是“增值”服务。
2 移动性带来的挑战
端到端透明性具有很多优点,为后来互联网从实验室走向社会,商用化的蓬勃发展起到了决定性的作用。但这种设计有两个基本假设:第一,互联网最初是由具有共同爱好的技术专家设计开发的,他们之间相互信任;第二,互联网是由科研团体或政府研究机构管理下的非商用网络。这两个假设渗透到了互联网初期的设计中,尤其是用户之间的相互信任机制。互联网由教育科研的应用环境向社会化应用场景的发展过程中,出现了很多与体系架构密切相关的问题,使得原来理想化的“端到端透明性”的互联网核心设计思想遇到了极大的挑战。
商用化时代的互联网体系架构遇到的第一个严峻挑战是商业模型的问题,这直接导致了互联网“端到端透明性”遭到严重破坏。上世纪90年代互联网服务提供商(ISP)的出现,标志着互联网商用化的开始。但是互联网的开放接口只是IP包转发服务,而不是高层业务和应用的接口,因此ISP只能提供所谓的 “比特管道”业务,很难提供可盈利的高层业务和应用。因此,最近几年导致大量ISP的倒闭、破产和兼并,没有一个纯粹意义上的ISP能够活下来,因为只提供单一的“比特管道”服务是无法生存的。于是,一些ISP开始想办法利用自己的“比特管道”提供一些增值服务,把他们的IP网络圈起来,增加一些边界节点 (Middlebox,中间结点),即所谓的“围墙花园”模式,但这些边界节点的应用明显违反了互联网端到端透明性的理念。典型的“中间体”包括缓存、防火墙和网络地址翻译(NAT)等设备类型。
第二个挑战是用户群的变化。互联网最初是由具有共同爱好的彼此信任的技术专家设计开发的,只是为了在一个关系密切的“小城镇”内多台电脑之间的相互通信设计的,因此互联网的用户彼此之间相互信任是其非常重要的一个设计假设。如今随着互联网规模和用户的日益增加,互联网已经演变成了在一个开放的社区中任何人相互之间的通信方式,这个社区从地域上说是全球化的,不存在什么管制规则,用户彼此之间不再相互信任。另外,用户之间的利益也不再是相互一致的了,但假设用户相互信任的互联网“端到端透明性”设计原则方便了安全攻击、病毒和其他有害信息的传播。最后,现在的互联网用户已经从原来的技术人员发展到了可能不懂技术,用户希望互联网终端像电话终端那么“傻”和容易使用,导致智能性被迫从终端向网络中迁移。
第三个挑战是移动性支持。互联网的设计是基于固定(有线)方式的接入、终端是计算机的环境考虑的,未能考虑移动应用环境中的无线网络和小型终端可能带来的问题,这直接体现在WWW/TCP/IP等协议的设计上:
1) IP技术。在设计任何通信网络时,必须首先回答的三个核心问题是:WHO(身份),对通信中的网络和终端节点做明确的标识;WHERE(在哪里),标识一个通信节点在网络中的位置;HOW,如何把一个通信节点的信息传递到指定的地方去。为了简化网络架构和设计,在互联网中IP地址同时具有定位 (Locator)和身份标识(IdenTIty)的作用。而在移动互联网的环境下,一个实体连接到互联网的网络附着点发生变化时,意味着位置信息已经改变了(路由也就同时需要改变),但身份信息却没法改变,于是IP地址的双重作用出现了冲突,导致互联网无法直接支持移动性。
2) TCP技术。TCP是一种端到端协议,其设计也没有考虑到移动性的支持问题,尤其是无线环境和有线环境的巨大差异性。比如,TCP假设会话建立时两点之间的带宽是固定的,流量控制只是由于多个应用共享资源时流量变化引起的,这在移动环境下显然存在问题,因为这时两点之间的宽带不一定是固定的。另外,TCP 假设丢包是由于“拥塞””引起的,但在无线环境下两个TCP端点之间的带宽可能是变化的,信号强弱和距离都会影响到带宽资源,丢包很可能不是网络拥塞而是电磁干扰造成的比特错误引起的。
3) WWW技术。WWW相关技术和应用的设计,都假设终端是PC方式的,因此在设计时对终端的信息输入能力、显示能力、计算能力、存储能力和能耗等没有考虑在内,导致目前多数移动终端无法直接访问互联网上上千亿的、丰富的网页和内容。另外,移动终端新带来的位置和身份信息等有价值的信息,目前的WWW技术和很多移动应用也还没能够充分加以利用,也缺乏有效保护。
3 移动性支持方法
互联网对移动性的支持方案,都是后来打补丁实现的,主要体现在网络层、传输层和应用层。
3.1 网络层
网络层对移动性支持的工作,直接体现在移动IP技术上,间接反映在身份与位置分离等技术上。移动IP是一种在互联网中提供移动性支持的特殊路由协议,可以将IP包路由到不断改变位置的移动节点去,并且上层TCP连接不会感知到IP地址的改变。相比而言,移动IPv6更具有一些优势,克服了移动 IPv4的三角路由和源地址过滤等问题。但自1996年推出移动IP技术以来,一直没能得到成功应用,原因不仅是技术方面的(比如切换速度慢),更重要的是缺乏明确清晰的应用需求和商业模式。
另外一个对移动性支持有明显好处的就是身份与位置技术,包括基于网络的和基于终端的两种。比如IETF刚开始标准化的基于网络的位置身份分离协议(LISP),逻辑上是把企业通过其边缘路由器向全球互联网播出的IP地址块分为两部分,分别用于识别使用的IP地址和这些系统在什么地方连接到互联网,旨在减少保存在ISP核心路由器的路由表项,也可以改善互联网对移动性的支持。而基于终端的主机身份协议(HIP),在协议栈中增加了“名字”层,也可以改善移动性支持。但目前无论是LISP和HIP,还都停留在理论和实验阶段。
3.2 传输层
业界针对无线网络环境,对TCP技术也已经做了一些改进,大致可以分为三类。第一类是利用本地无线链路层的重传机制做一些性能优化,如基站参与探测TCP包、引入时间戳和利用IP头中的信息等。这种方式容易出现单点故障,并且要求IP/TCP载荷是直接封装在链路层帧中的,并且不能加密。第二种技术通过设置中间代理结点,将性能差异巨大的无线和有线部分分开处理,如Indirect-TCP。这种方法的缺点是破坏了TCP端到端的属性,基站等中间代理结点必须保留TCP通信中的数据和状态信息,移动终端中的相关应用也必须二次建立连接。第三种方式是增加和利用TCP协议等的一些消息字段,显式通知真正的丢包原因。如利用网际差错消息协议(ICMP),显式丢包通知和局部通知等。
3.3 应用层
除了通过无线接入协议(WAP)和.mobi等方式,为移动终端设计专门的网页和内容的方法外,另外一种典型做法是把(固定)互联网上的网页和内容适配到移动终端上。移动适配技术通过在网络上的不同位置(服务器、网关和终端三种)部署专门的网关或代理服务器,对网页和多媒体资源进行转换以适应移动终端的特征,确保正常使用并改善用户体验。
从内容上来看,移动内容适配涉及WEB页面内容和音视频内容两大类。WEB页面内容适配技术目前已经有一些实际案例,如与Opera公司提供的与Opera Mini浏览器配合的Web适配系统,Bytemobile公司提供由运营商部署的Web Fidelity系统等。W3C正在制定更长期的WEB内容适配的相关标准,包括WEB内容适配需求(Content TransformaTIon Landscape 1.0)、WEB内容转换代理指南(Guidelines for Web Content Transformation Proxies)以及设备描述容器API(Device Description Repository Simple API)等。
音视频内容的适配技术则复杂得多,目前还没有成熟的技术和标准。音视频内容适配需要解决编解码格式兼容问题,需要进行分辨率适配。同时,音视频内容视频的实时性、服务质量要求很高。这些都增加了适配技术的难度。