1.4 挑战与发展
互联网的发展趋势用日新月异来形容毫不为过。从网络科研时代人们对32位IP地址空间的乐观,到网络泡沫化时代人们对互联网终将土崩瓦解的悲观,这个领域在过去半个世纪的发展过程中,一直在不断突破人们的想象。
预言互联网的远期发展方向是不明智之举,在本节中,我们选取了几个在过去几年中被媒体和企业热炒的互联网名词进行简要概述。实际上,下面每小节的内容,现在都已有知名高校开设了对应的专业,有些热点领域(如SDN)甚至作为了博士研究生的专业方向。近些年,相关研究著作已可谓汗牛充栋。这说明了解这些术语不仅有助于读者掌握从业领域的发展动向,也有利于读者把握未来工作的职责任务。
1.4.1 终端:万物互联
在1.1节中我们曾经提到,当今互联网的主要通信协议是TCP/IP。尽管在制订TCP/IP协议时,没有人能够预料到网络的发展,但从一开始,制定这个协议的目的就是连接异构网络。所以协议的研究人员出于这种需求,以及对联网协议多样性趋势的了解,将TCP/IP协议制定成了一种相当具有普适性的协议。从网络分层模型的角度来看,TCP/IP协议上可以广泛支持大量应用和进程,下能够承接众多的物理链路规范。
随着时代的发展,TCP/IP协议栈证明了自己完全可以适应联网终端设备的差异,并且经受异构网络融合所带来的考验。个人电脑、智能手机、平板电脑、智能电视等设备的联网已经由时尚日渐成为人们的生活习惯。在接下来的几年时间里,让各类人造设备都连接到网络中成为许多行业正在探讨的一种网络应用方向,业内人士称这种设想为物联网(Internet of Things,IoT)。
曾有一位来自NSF的专家预测,在未来几年,互联网的联网设备数量可能会超过地球人口的3倍。目前看来,这些联网设备除了上文提到的几种智能设备之外,应该还会包括大多数的家用电器(如微波炉、洗衣机、冰箱、电动窗帘、扫地机器人、空调、空气净化器等)。这些家用电器都可以通过一个集成了通信和计算功能的嵌入式传感器系统来与网络建立连接。于是,人们即使出差在外,也可以:通过网络来开关家里的用电插座;让扫地机器人定期保持家中清洁;根据天气状况开窗通风或关闭窗户;在猫咪吃饭时间让自动喂食饭盆供餐;猫咪如厕后控制猫砂盆清理粪便等。同样,当人们身在家中时,也可以按照自己的需求随时通过这个平台来远程控制企业中的这些联网设备。
除了智能家居之外,物联网也可以用于安防系统。比如户主出门在外,可以通过摄像头远程查看家中的情况,或者在房门被意外打开时向户主发送在线消息甚至自动报警。当企业无人值守时,负责人也可以通过同样的手段来保障公司的财产安全。
图1-11所示为华为物联网平台示意图。通过这样一个物联网平台,人们可以随时随处通过智能手机来管理家庭和企业中的联网设备,也可以从手表、汽车等个人物品中获取关于所有人的即时信息。
图1-11 华为物联网平台示意图
尽管前景一片乐观,但物联网的发展也遇到了一些需要进一步完善的技术问题。比如,若要在老人、孩子或者宠物身上配备防止走失的联网系统芯片,那么这个芯片就显然不能采用有线连接的方式连接到网络,但无线连接技术又大多采用了性能优于能耗的设计方案,这就让如何为这些芯片供能成为一个有待优化的问题。对于其他移动家用设备来说,也存在这类无线供电的问题。
1.4.2 内容:数据时代
联网设备的多元化必然会使网络中传输的数据更加多样,网络容量的增加让网络中传输的数据数量呈级数递增。当然,仅仅从这个层面上看,大数据的趋势只是一种负担。然而,通过云计算汇集起来的强大计算资源可以在浩如烟海的数据中发掘出重要的信息,这些以往隐藏在庞大数据分母背后,常常在抽样过程中被流逝的关键数据将对于各行各业、一个国家,乃至整个世界的发展产生极为深远的影响。
过去,科学研究的目的常常是通过演绎法找出两件事物之间的因果关系,然后再不断演绎推导出更多结论。如今,将云计算与大数据结合起来,人们有能力直接找到问题的答案,与继续发展人类认知的外沿相比,对结果已知的问题推导成因反而可能显得有些鸡肋。
也许在不久的将来,许多原本致病原因不明的重大疾病,都可以通过对无数同一疾病患者进行相似性分析,找出与该疾病相关的致病因素,继而人们就可以通过有效的预防手段来避免健康人群患病;同时人们也有可能通过对不易感染人群进行分析,找出与治愈该疾病有关的元素,并由此开发出特效药品。当一种疾病能够通过数据计算而找到预防和治愈的手段时,即使根据现在的医学水平,人们无法就它们的致病成因和治疗机理达成一致,进一步解答这些问题也可以是仅仅作为学术探讨的范畴,而不再显得如过去一般性命攸关了。
又如,很多经济学问题也有可能在大数据时代找到答案。如果通过大数据测算,人们可以发现经济发展与经济危机所蕴涵的内在规律,并由此找到最有效的经济发展方式。这样,恐怕就不会再有人有兴趣旁听芝加哥学派和奥地利学派之间的学术争论。即使经济规律的成因永远成谜,或者经济规律像物理规律一样牢不可破,只要可以通过大数据找到这个规律本身,人们就有机会更好地利用它来改善自己的生活。
除了提高医疗技术和预测经济走势之外,在大数据时代,诸如环境、气候、能源等科技问题,或许都有望更多通过统计而不是演绎找到更加有据的答案。
科技之外,大数据技术对于人类行为的预测能力同样会改变人类文明的发展进程。在1.2.3“网络与商业”一节中,我们就曾经借助Netflix和亚马逊公司利用大数据的众多方式之一,展示了大数据对于企业经营方向,乃至买卖双方关系所构成的影响。
关于大数据及其影响,本章已经谈论了很多,但对于感兴趣的读者而言恐怕还远远不够。在这个领域,已经有大量专家著书立说,读者可以根据自己感兴趣的领域,选择相关的图书进行参考。有一点需要说明,大数据描述的是一种趋势而非具体的技术,与这种趋势有关的数据分析技术问题属于另一个领域,数据中心和云计算虽然与计算机网络技术紧密相关,华为信息与网络技术学院也有相应的课程,但这些内容超出了华为信息与网络技术学院数通系列教材的范畴,这里不再赘述。
1.4.3 架构:云为载体
数据中心架构的发展演变过程如果和人类文明的发展演变过程进行类比,会更容易理解。
粗略地说,人类文明发展至今经历过三场革命,由这三场革命带动的生产力增长,深刻影响了当今人类的生产生活方式。
第一场革命史称“新石器革命”,人类放弃了靠天吃饭(采集水果、狩猎)的做法,开始通过畜牧和农耕来维持一种稳定的生活方式,人类文明进入了定居时代,村落的概念由此诞生。但受限于村落的居民数量、生活必需品的种类等,村落中每个居民所从事的都是相同的工作,劳动分工的概念几乎不存在。每个村民都是一个能够适应各种工作的“全能”型劳作者,但没人具备某一方面的专长,每个人的生产能力完全由他/她的身体素质决定。
第二场革命诞生于公元前5000年左右,称为“城市革命”。在村落的物质供给出现剩余的条件下,一些人不必再为衣食而劳作,同时人类定居点又出现了一些全新的社会生活需求。于是出现了最初意义上的专业人士,如手工业者、税务官、医生等。这个诞生了简单“分工”的人类聚集区域,就是如今城市的雏形。但当时人类的生产力水平、交通、卫生等硬件因素,治安、政治等软件因素,都限制了城市、分工和交易方式的进一步发展。
第三场革命一直延续至今,称为“工业革命”。科技的发展带动了生产力的发展,过剩的农业人口不断涌入城市寻求就业机会,对新型消费品的需求使贸易蓬勃发展。于是,工厂取代了作坊,机械取代了手工。在这样的背景下,劳动者的分工进一步细化,生产效率进一步提高,企业规模进一步扩大,单位产品的成本也变得更加低廉。规模效益下的资源分配方式,显然为人们原有通过租赁的方式来享用各种造价昂贵的资源提供了新途径。当人们想要读书时,大多数人都会选择就读于一所现成的教育机构,而不是把老师请到家中或者花钱兴办一所学校;当人们想要出行,大多数人都会上网购买某家航空公司的机票,而不是自行设计制造或出资购买一架飞机;当人们想要用电,大多数人都会使用国家供电系统提供的电能,而不是自制发电机来实现供电。
数据中心架构的发展历史,也可以概括为类似的三个阶段。
数据中心发展的第一个阶段,是一个依靠“万能”的大型机来存储和管理数据的时代。一家机构依赖一台或几台集成了大量运算和存储资源的大型机设备来集中存储大量的数据。这种万能的设备如同新石器时代万能的村民,设备之间没有分工可言,服务水平完全由设备的硬件和带宽决定。在这样的架构下,数据中心的性能、灵活性、扩展性、可用性乏善可陈,高昂的价格也让很多机构望而却步,此外,必须聘请十分专业的人员专门维护这些万能设备也在无形中增加了企业的成本。
第二个阶段的改良在于,这个时代引入了多设备分布式计算的信息处理方法,让多台设备之间能够实现分工协作。一家企业可以根据需要在自己的网络中,或集中、或分散地部署不同功能的服务器,给网络提供有针对性的服务。尽管与前一个时代相比,设备的分工协作能够降低因为某个系统故障而造成的可用性风险,也能够大大提高数据中心的灵活性和可扩展性,还可以实现并行计算,但各个机构仍然不得不承担购买和运维大量服务器设备的费用和由此产生的风险。
第三个阶段就是当前的云计算时代,网络用户(无论企业还是个人)不再自行搭建数据中心,而是根据自己的需要向商家租赁各种各样的付费服务。在不远的将来,越来越多的机构根据自己的需求去租赁相关的网络服务,大量涉及复杂计算的应用都会成为专业服务提供商可供出售的产品。从客户的角度来看,企业和个人用户通过云服务提供商购买计算服务,省却了自行部署数据中心和聘请专业人士维护数据中心的费用。而从云计算运营商的角度来看,大量用户向云服务提供商支付租赁云计算服务的费用,他们也就有机会进一步提升服务的范围和水平。这种资源共享方式比之前一个时代更显理性和高效,它可以让许多成本昂贵的网络服务得到大范围的推广。
云计算除了可以简化网络用户的联网设备,降低企业成本之外,还有很多其他优势。比如,根据企业性质的不同,一家企业自费构建的数据中心,其资源很可能会在一些特定的时间段不堪负荷(如年底的会计师事务所),又会在另一些时间段无所事事(如寒暑假的大中小学)。通过租赁云计算平台的服务,企业既无需高价按照峰值流量来规划和搭建数据中心,也不必为节省成本而忍受高峰期的资源短缺。
1.4.4 操作:软件定义
读者在学习了教材程第2章和第9章的内容之后,应该可以对如何通过直连和远程的方式管理华为网络设备获得了一个大致的了解。至于如何通过网络管理协议来统一管理网络设备,则需要学习到系列教材的第3册才能理解。
总之,按照传统的方式,管理员可以管理某一台或者某一些网络设备,通过命令对设备一一进行配置,对性能进行测试,对故障进行排查。然而,这种传统的网络管理方式存在很大的改进空间。
·首先,这种做法很容易因为操作失误而出现故障。在通过配置网络设备来部署一定规模的网络时,每台设备上需要执行的配置量都不容小觑。因此在进行配置时,大多数工程师都需要通过配置模板来简化自己的配置任务。但每台网络设备与其他设备都存在地址等参数的区别,需要管理员就每台设备来修改配置模板。这样,当网络规模达到一定程度时,配置错误在所难免。
·其次,不同厂商生产的网络设备,配置相同的特性所使用的命令往往存在一定的区别。有时,同一家厂商不同型号的设备,甚至同一型号产品安装了不同的操作系统版本,都会影响配置时输入的具体命令。因此,如果一个网络中部署了大量不同厂商的产品,对于配置工作提出的考验就会极为严峻。虽然目前很多厂商支持通过一个统一的协议标准来管理他们生产的设备,他们也会常常加入一些只能用于自己硬件的扩展指令。
·最后,在数据中心网络中,根据需求将一台物理设备虚拟为多台逻辑设备的做法相当常见。同样常见的是,数据中心管理员需要将一台逻辑设备(的功能和身份)从一台物理设备迁移到另一台设备上。在传统的网络管理方式中,这种虚拟设备的迁移常常会导致数据出现中断。
即使没有网络设备管理经验的读者,只需要简单回顾一下1.1节中人们使用电传打字机管理计算机的历史,也可以得出一个结论:一台设备的运行和控制不必统一。实际上,设备厂商常常会将智能网络设备分为数据平面和控制平面两个逻辑模块,其中数据平面负责处理那些由设备进行转发的流量,而控制平面负责处理设备配置、监控、路径分析、策略定义等工作,因此后者除了设备间互操作之外,也包含人机交互的功能。图1-12所示为传统数据平面与控制平面的示意图。
为了解决传统网络管理中的弊端,未来网络的发展趋势是将各个网络设备的控制平面从设备中独立出来,通过独立的控制器对网络中的设备进行管理。换句话说,就是将控制平面和数据平面解耦,让两者独立存在于不同设备内,通过集中的控制平面智能设备,利用标准化的接口或协议向数据平面设备推送配置信息和各类数据表。在这一基础上,通过编程接口更友好而高效地实现管理平面的功能,也就水到渠成了。管理平面在SDN中充当最为重要的人机对话平面,其作用是将人对网络的定义通过软件的方法部署下去,指挥控制平面工作。从专业的角度来看,控制平面通过北向接口和管理平面协调,通过南向接口和数据平面协调,起到承上启下的作用,它是SDN技术里面最重要的一个平面。图1-13所示为SDN理念中,各平面结构示意。
图1-12 传统的控制平面与数据平面示意图
图1-13 SDN理念示意
注释:
图1-12和图1-13是描述不同平面流量传输的逻辑示意,图中表示通信连接的管道并不代表物理链路与接口。
当然,在1.1.4节中,奔驰与凯迪拉克的事例说明,实现SDN需要各个厂商同意采纳一套相同的技术标准。这样一来,管理员才可以通过统一的方式来管理不同厂商的设备,让这些设备协同工作。
软件定义网络是未来网络行业的重大发展方向之一。在过去,一个厂商的产品价格除了与数据平面的性能有关之外,还与这个产品的控制平面有关。如果进入SDN时代,网络厂商就无法通过改善控制平面来增加产品卖点,因为网络设备的控制平面已经从设备中独立出来了。换句话说,购买同一品牌设备就会更容易实施管理的垄断性做法会被打破,网络设备厂商的利润也有可能因此受到影响。而对于网络技术的从业者来说,掌握一定的编程技术,有能力在网络控制器平台上编写SDN软件,未来很有可能成为一项大多数从业者都应该具备的基本技能。
注释:
对SDN技术感兴趣,希望进一步了解其理念的读者,可以在完成华为信息与网络技术学院的学习之后,通过网络学习和了解OpenFlow、NetConf、OVSDB等标准的概念。