資安

資安

带你读《IPFS原理与实践》之一:认识IPFS

点击查看第二章IPFS原理与实践 董天一 戴嘉乐 黄禹铭 著 第1章 认识IPFS欢迎大家来到第1章。在这一章里,我们首先将从宏观上介绍IPFS。在了解技术细节之前,我们先来回答如下问题:什么是IPFS?为什么我们需要IPFS?它与常规的区块链系统相比有什么异同?IPFS和Filecoin会给现在的区块链技术带来什么样的改变?相信读者读完这一章后,会对上述几个问题有自己的理解。 1.1 IPFS概述 早在2017年上半年,国内大部分投资人或开发者就已经接触到了IPFS和Filecoin项目。那么IPFS和Filecoin究竟是什么?IPFS与区块链到底是什么关系?其有什么优势,竟然会得到如此广泛的关注?其未来的应用前景到底如何?本节我们就来解答这几个问题。 1.1.1 IPFS的概念和定义 IPFS(InterPlanetary File System)是一个基于内容寻址的、分布式的、新型超媒体传输协议。IPFS支持创建完全分布式的应用。它旨在使网络更快、更安全、更开放。IPFS是一个分布式文件系统,它的目标是将所有计算设备连接到同一个文件系统,从而成为一个全球统一的存储系统。某种意义上讲,这与Web最初的目标非常相似,但是它是利用BitTorrent协议进行Git数据对象的交换来达到这一个目的的。IPFS正在成为现在互联网的一个子系统。IPFS有一个更加宏伟而疯狂的目标:补充和完善现有的互联网,甚至最终取代它,从而成为新一代的互联网。这听起来有些不可思议,甚至有些疯狂,但的确是IPFS正在做的事情。图1-1所示为IPFS的官方介绍。 IPFS项目通过整合已有的技术(BitTorrent、DHT、Git和SFS),创建一种点对点超媒体协议,试图打造一个更加快速、安全、开放的下一代互联网,实现互联网中永久可用、数据可以永久保存的全球文件存储系统。同时,该协议有内容寻址、版本化特性,尝试补充甚至最终取代伴随了我们20多年的超文本传输协议(即HTTP协议)。IPFS是一个协议,也是一个P2P网络,它类似于现在的BT网络,只是拥有更强大的功能,使得IPFS拥有可以取代HTTP的潜力。Filecoin是运行在IPFS上的一个激励层,是一个基于区块链的分布式存储网络,它把云存储变为一个算法市场,代币(FIL)在这里起到了很重要的作用。代币是沟通资源(存储和检索)使用者(IPFS用户)和资源的提供者(Filecoin矿工)之间的中介桥梁,Filecoin协议拥有两个交易市场—数据检索和数据存储,交易双方在市场里面提交自己的需求,达成交易。IPFS和Filecoin相互促进,共同成长,解决了互联网的数据存储和数据分发的问题,特别是对于无数的区块链项目,IPFS和Filecoin将作为一个基础设施存在。这就是为什么我们看到越来越多的区块链项目采取了IPFS作为存储解决方案,因为它提供了更加便宜、安全、可快速集成的存储解决方案。 1.1.2 IPFS的起源 全球化分布式存储网络并不是最近几年的新鲜品,其中最有名的3个就是BitTorrent、Kazaa、和Napster, 至今这些系统在全世界依旧拥有上亿活跃用户。尤其是BitTorrent客户端,现在BitTorrent网络每天依然有超过1000万个节点在上传数据。(不少刚从高校毕业的朋友应该还记得在校内网IPv6上分享电影和游戏资源的情景)但令人遗憾的是,这些应用最初就是根据特定的需求来设计的,在这三者基础上灵活搭建更多的功能显然很难实现。虽然在此之前学术界和工业界做过一些尝试,但自始至终没有出现一个能实现全球范围内低延时并且完全去中心化的通用分布式文件系统。之所以普及进展十分缓慢,一个原因可能是目前广泛使用的HTTP协议已经足够好用。截至目前,HTTP是已经部署的分布式文件系统中最成功的案例。它和浏览器的组合是互联网数据传输和展示的最佳搭档。然而,互联网技术的进步从未停止,甚至一直在加速。随着互联网的规模越来越庞大,现有技术也越来越暴露出了诸多弊端,庞大的基础设施投资也让新技术的普及异常困难。但我们说,技术都有其适用的范围,HTTP也是如此。四大问题使得HTTP面临越来越艰巨的困难:1)极易受到攻击,防范攻击成本高。随着Web服务变得越来越中心化,用户非常依赖于少数服务供应商。HTTP是一个脆弱的、高度中心化的、低效的、过度依赖于骨干网的协议,中心化的服务器极易成为攻击的目标。当前,为了维护服务器正常运转,服务商不得不使用各类昂贵的安防方案,防范攻击成本越来越高。这已经成为HTTP几乎无法克服的问题。2)数据存储成本高。经过十多年互联网的飞速发展,互联网数据存储量每年呈现指数级增长。2011年全球数据总量已经达到0.7ZB(1ZB等于1万亿GB);2015年,全球的数据总量为8.6ZB;2016年,这个数字是16.1ZB。到2025年,全球数据预计将增长至惊人的163ZB,相当于2016年所产生16.1ZB数据的10倍。如果我们预计存储4000GB(4TB)的数据,AWS简单存储服务(S3)的报价是对于第1个TB每GB收取0.03美金,对于接下来的49TB每GB收取0.0295美金的费用,那么每个月将花费118.5美金用于磁盘空间。数据量高速增长,但存储的价格依旧高昂,这就导致服务器-客户端架构在今后的成本将会面临严峻的挑战。3)数据的中心化带来泄露风险。服务提供商们在为用户提供各类方便服务的同时,也存储了大量的用户隐私数据。这也意味着一旦数据中心产生大规模数据泄露,这将是一场数字核爆。对于个人而言,用户信息泄露,则用户账号面临被盗风险,个人隐私及财产安全难以保障;对于企业而言,信息泄露事件会导致其在公众中的威望和信任度下降,会直接使客户改变原有的选择倾向,可能会使企业失去一大批已有的或者潜在的客户。这并不是危言耸听,几乎每一年都会发生重大数据库泄露事件。2018年5月,推特被曝出现安全漏洞,泄露3.3亿用户密码;2017年11月,美国五角大楼意外泄露自2009年起收录的18亿条用户信息;2016年,LinkedIn 超1.67亿个账户在黑市被公开销售;2015年,机锋网被曝泄露2300万用户信息。有兴趣的读者可以尝试在公开密码泄露数据库中查询,是否自己的常用信息或常用密码被泄露,但自己却毫不知情。4)大规模数据存储、传输和维护难。现在逐步进入大数据时代,目前HTTP协议已无法满足新技术的发展要求。如何存储和分发PB级别的大数据、如何处理高清晰度的媒体流数据、如何对大规模数据进行修改和版本迭代、如何避免重要的文件被意外丢失等问题都是阻碍HTTP继续发展的大山。IPFS就是为解决上述问题而诞生的。它的优势如下:1)下载速度快。如图1-2所示,HTTP上的网站大多经历了中心化至分布式架构的变迁。与HTTP相比,IPFS将中心化的传输方式变为分布式的多点传输。IPFS使用了BitTorrent协议作为数据传输的方式,使得IPFS系统在数据传输速度上大幅度提高,并且能够节省约60%的网络带宽。2)优化全球存储。IPFS采用为数据块内容建立哈希去重的方式存储数据,数据的存储成本将会显著下降。3)更加安全。与现有的中心化的云存储或者个人搭建存储服务相比,IPFS、Filecoin的分布式特性与加密算法使得数据存储更加安全,甚至可以抵挡黑客攻击。4)数据的可持续保存。当前的Web页面平均生命周期只有100天,每天会有大量的互联网数据被删除。互联网上的数据是人类文明的记录和展示,IPFS提供了一种使互联网数据可以被可持续保存的存储方式,并且提供数据历史版本(Git)的回溯功能。 上文我们提到IPFS技术积累已经有很多年了,它至少参考了4种技术的优点,并将它们整合在一起。这4种技术分别是分布式哈希表DHT、Kademlia、Git和自验证文件系统(Self-Certifying File System)。第一种对IPFS有借鉴意义的技术是DHT,全称为分布式哈希表(Distributed Hash Table),是一种分布式存储方法。DHT的原理是:在不需要服务器的情况下,每一个客户端存储一小部分数据,并负责一定区域的检索,进而实现整个DHT网络的寻址和检索。新版BitComet允许同时连接DHT网络和Tracker,可以在无Tracker的情况下进行下载。IPFS借鉴的第二种技术是Kademlia。在Kademlia网络中,所有信息均以哈希表条目的形式加以存储,这些信息被分散地存储在各个节点上,从而以全网构成一张巨大的分布式哈希表。可以形象地把这张哈希大表看成一本字典:只要知道了信息索引的key,便可以通过Kademlia协议来查询与其对应的value信息,而不管这个value信息究竟是存储在哪一个节点之上。正是这一特性确保了IPFS成为没有中心调度节点的分布式系统。IPFS还借鉴了BitTorrent网络。首先是消极上传者的惩罚措施,在BitTorrent的客户端上传数据会奖励积分,而长期不上传的消极节点会被扣分,如果分数低于一定限度,那么网络会拒绝再为他们提供服务;其次是文件可用性检查,BitTorrent优先把稀缺的文件分享出去,各个客户端之间相互补充,这样种子不容易失效,传输效率也提高了。针对BitTorrent我们不再详细展开,有感兴趣的读者可以查阅BitTorrent相关文档。第三种对IPFS有重大影响的项目是Git。我们在进行大文件传输或修改的时候总会遇到存储或传输压力大的问题,而Git在版本迭代方面非常出色。Git存储时会把文件拆成若干个部分,并计算各个部分的哈希值,利用这些构建起与文件对应的有向无环图(DAG),DAG的根节点也就是该文件的哈希值。这样的好处十分明显:如果需要修改文件,那么只需要修改少数图中节点即可;需要分享文件,等价于分享这个图;需要传输全部的文件,按照图中的哈希值下载合并即可。最后一种是具有自验证功能的分布式文件系统(Self-certifying […]

資安

带你读《IPFS原理与实践》之二:IPFS底层基础

点击查看第一章 第2章 IPFS底层基础欢迎来到第2章。这一章的内容相对较多,也相对独立。你可以选择先阅读这一章,了解这几个基础性系统的设计思路和算法细节;或者暂时跳过这一章,直接去了解IPFS系统设计。在这一章中,我们会着重介绍IPFS的几个基础性的子系统和数据结构,包括DHT、BitTorrent、Git和自验证文件系统,以及Merkle结构。 2.1 分布式哈希表(DHT) 第1代P2P文件网络需要中央数据库协调,例如在2000年前后风靡一时的音乐文件分享系统Napster。在Napster中,使用一个中心服务器接收所有的查询,服务器会向客户端返回其所需要的数据地址列表。这样的设计容易导致单点失效,甚至导致整个网络瘫痪。在第2代分布式文件系统中,Gnutella使用消息洪泛方法(message flooding)来定位数据。查询消息会公布给全网所有的节点,直到找到这个信息,然后返回给查询者。当然,由于网络承载力有限,这种盲目的请求会导致网络快速耗尽,因此需要设置请求的生存时间以控制网络内请求的数量。但无论如何,这种方式所需的网络请求量非常大,很容易造成拥堵。到了第3代分布式文件系统中,DHT 的创新提供了新的解决方案。DHT(Distributed Hash Table)主要思想如下:全网维护一个巨大的文件索引哈希表,这个哈希表的条目形如。这里Key通常是文件的某个哈希算法下的哈希值(也可以是文件名或者文件内容描述),而Value则是存储文件的IP地址。查询时,仅需要提供Key,就能从表中查询到存储节点的地址并返回给查询节点。当然,这个哈希表会被分割成小块,按照一定的算法和规则分布到全网各个节点上。每个节点仅需要维护一小块哈希表。这样,节点查询文件时,只要把查询报文路由到相应的节点即可。下面介绍3种IPFS引用过的有代表性的分区表类型,分别是Kademlia DHT、Coral DHT和S/Kademlia。 2.1.1 Kademlia DHT Kademlia DHT是分布式哈希表的一种实现,它的发明人是Petar Maymounkov和 David Mazières。Kademlia DHT拥有一些很好的特性,如下: 节点ID与关键字是同样的值域,都是使用SHA-1算法生成的160位摘要,这样大大简化了查询时的信息量,更便于查询。

資安

带你读《Word/Excel/PPT2019应用与技巧大全》之二:三大组件的通用操作

点击查看第一章点击查看第三章 第2章 三大组件的通用操作 Office 2019包含多个功能不同的组件,而且各个组件在旧版本的基础上新增了许多功能,但是这些组件在一些基本操作上仍有相通性,如新建、保存、打开、关闭和退出、保护等。对于这些基本且相似的操作,只要掌握了其中一个组件的操作,对其他组件的类似操作就可举一反三,从而快速了解、熟悉Office的功能。 2.1新建并保存Office文件 Office三大组件的文件创建操作类似,并且方法多样。此外,要想将创建的Office文件存放在计算机中以便下次使用,就必须对文件进行保存。 2.1.1 新建Office文件 要使用Office文件办公,首先就是新建Office文件,既可新建一个空白文件,也可套用已有的模板。1 新建空白的Office文件新建空白Office 文件的方式有多种,下面就以新建Word文档为例,介绍新建Office文件的方法。步骤01 双击新建空白Office文件。安装Word程序后,双击桌面上名为“Word”的快捷方式图标,如下图所示。在打开的开始屏幕中单击“空白文档”,即可完成新建。步骤02 使用快捷菜单新建。在桌面的空白处右击,在弹出的快捷菜单中单击“新建> Microsoft Word文档”命令,如下图所示。同样可完成新建。2 用模板新建Office文件Office 2019提供了许多模板,可根据实际需要选择合适的模板创建文档、工作簿和演示文稿,下面以在Word中创建文档为例,介绍利用模板新建Office文件的方法。原始文件:无最终文件:实例文件第2章最终文件用模板新建Office文件.docx步骤01 选择样本模板。启动Word 组件,在开始屏幕的右侧面板中单击“商业单据”模板,如右图所示。步骤02 创建样本模板。弹出“商业单据”对话框,在该对话框中可看到要创建的模板文档的效果、提供者及下载大小,单击“创建”按钮,如下图所示。步骤03 根据模板新建文档。此时就创建了一个“商业单据”模板文档,如下图所示。根据需要修改编辑文档的内容,即能快速得到一个新文档。 2.1.2 保存Office文件 在对Office文件进行创建并编辑后,为了防止数据丢失,需要对文件进行保存,文件的保存可分为两种情况:若之前没有保存过当前文件,就将执行首次保存操作;若对已有文件进行编辑后,又不想对原始文件有所修改,可进行“另存为”操作。下面以Word文档的保存为例进行介绍。原始文件:无最终文件:实例文件第2章最终文件保存Office文件.docx步骤01 保存文档。新建Word文档并输入需要的文档内容后,单击左上角的“保存”按钮,弹出的视图菜单会自动切换至“另存为”命令,在右侧的面板中单击“浏览”按钮,如下左图所示。步骤02 设置保存位置和文件名。弹出“另存为”对话框,选择文档保存的位置,在“文件名”文本框中输入文件名,如下右图所示。步骤03 首次保存文档的效果。单击“保存”按钮后,文档的标题名变为了输入的文件名,如右图所示。提示另存为Office文件是指将对已有文档进行编辑后将其保存到新位置,其方法为:单击“文件”按钮,在弹出的视图菜单中单击“另存为”命令,随后的操作和首次保存文档的操作一样。如果对已有文档进行编辑后执行“保存”命令,之前的文档将被覆盖。 2.2打开Office文件 Office软件提供了多种打开文件的方法,如直接双击文件、利用“打开”对话框等。此外,若要快速打开最近打开过的文档,还可利用“最近使用的文档”功能。下面介绍通过“打开”对话框和最近使用的文档这两种方法打开Office文件。 2.2.1 利用“打开”对话框打开Office文件 利用“打开”对话框可打开保存在计算机任意位置的文档,下面以Word文档为例来介绍具体的操作方法。步骤01 单击“打开”命令。打开一个空白的文档,单击“文件”按钮,弹出的视图菜单自动切换至“打开”命令,在右侧面板中单击“浏览”按钮,如下图所示。步骤02 选择打开的文件。弹出“打开”对话框,选择打开文件保存的位置,然后选择需要打开的文件,单击“打开”按钮,如下图所示。提示在打开Office文件时,还可选择打开方式,其中“以只读方式打开”的文件只允许阅读,会限制对文件的编辑和修改;“以副本方式打开”是指系统会以选定文件的复制版本进行打开,用户的编辑或修改操作不会对原始文件产生影响;“在受保护的视图中打开”主要是为了保护文件安全,此时编辑功能将被禁用。

資安

从网络接入层到 Service Mesh,蚂蚁金服网络代理的演进之路

本文作者:肖涵(涵畅) 上篇文章《诗和远方:蚂蚁金服 Service Mesh 深度实践 | QCon 实录》中,介绍了 Service Mesh 在蚂蚁金服的落地情况和即将来临的双十一大考,帮助大家了解 Service Mesh 未来发展方向和前景。蚂蚁金服持续在进行 Service Mesh 布道和交流。本文内容整理自 10 月 26

資安

带你读《计算机网络原理》之二:网络体系结构

点击查看第一章点击查看第三章 第2章 网络体系结构 2.1 概述 计算机网络是一个非常复杂的巨系统。为了说明这一点,可以设想一个最简单的网络应用:利用连接在网络上的两台计算机进行文件传送。显然,在这两台计算机之间必须有一条传送数据的通路,但这还远远不够,至少还有以下几项工作需要完成。1)发起通信的计算机必须将数据通信的通路进行激活(activate)。所谓“激活“就是要发出一系列控制命令,保证要传送的数据能在这条通路上正确发送和接收。2)告诉网络如何识别要接收数据的计算机。3)发起通信的计算机必须检测接收计算机是否已准备好接收数据。4)发起通信的计算机必须弄清楚,接收计算机的文件管理程序是否已做好文件接收和文件存储的准备工作。5)若通信双方的计算机文件格式不兼容,则至少其中一方应完成格式转换。6)对出现的各种差错和意外事故,如数据传送错误、重复或丢失,网络中某个节点的交换机出现故障等,应当有可靠的措施保证接收计算机最终能够收到正确的文件。除此之外,还可以列举出其他要做的工作。由此可见,相互通信的两个计算机系统必须高度协调才能完成最终的网络应用,而这种“协调“多数情况下是相当复杂的。为了设计这种复杂的计算机网络,早在最初的ARPANET设计时就提出了分层的方法。“分层“可将庞大而复杂的问题转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。1974年,美国的IBM公司宣布了它研制的系统网络体系结构(System Network Architecture,SNA),它就是按照分层的方法制定的。之后IBM公司对SNA又不断改进,更新了几个版本。紧随IBM公司之后,其他一些公司也相继推出了自己的网络体系结构,并都采用不同的名称。网络体系结构出现后,使得同一公司所生产的各种设备都能够很容易地互连成网。这种情况显然有利于一家公司垄断自己的产品。用户一旦购买了某个公司的网络,当需要扩大容量或升级改造时,就只能再购买该公司的网络产品。如果此时用户购买了其他公司的网络产品,那么由于网络体系结构的不同,相互之间就很难连通。然而,全球经济的发展使得不同网络体系结构的用户迫切要求能够互相交换信息,为此,国际标准化组织于1977年成立了专门的机构研究这个问题。不久,他们就提出一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连参考模型(Open Systems Interconnection Reference Model,OSI/RM)。这里的“开放“是指:只要遵循OSI标准,一个系统就可以与位于世界上任意地方的、同样遵循这一标准的其他任何系统进行通信。这一点很像世界范围的电话和邮政系统,而这两个系统都是开放系统。OSI/RM试图达到一种理想境界,即全世界的计算机网络都遵循这个统一的标准,因而全世界的计算机都能够方便地进行互连和交换数据。在20世纪80年代,许多大公司甚至一些国家的政府机构都纷纷表示支持OSI。当时看来似乎在不久的将来全世界一定都会按照OSI制定的标准来构造自己的计算机网络。然而,到了20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来了,但由于因特网已抢先在全世界覆盖了相当大的范围,与此同时也几乎找不到有什么厂家生产出符合OSI标准的商用产品。因此人们得出这样的结论:OSI只获得了一些理论研究的成果,但在市场化方面则事与愿违地失败了。现今规模最大的、覆盖全世界的因特网并未使用OSI标准。OSI失败的原因可归纳为如下几个方面。1)OSI专家们缺乏实际经验,他们在制定OSI标准时没有商业驱动力。2)OSI协议实现起来过分复杂,而且运行效率很低。3)OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场。4)OSI层次划分不太合理,有些功能在多个层次中重复出现。按照一般的概念,网络技术和设备只有符合有关的国际标准,才能在大范围内获得工程上的应用。但现实情况却相反,得到最广泛应用的不是法律上的国际标准OSI,而是非国际标准TCP/IP。这样,TCP/IP就常被称为事实上的国际标准。从这种意义上说,能够占领市场的就是标准。在过去制定标准的组织中往往以专家、学者为主。但现在许多高新技术公司都纷纷挤进各种各样的标准化组织,使得技术标准具有浓厚的商业气息。一个新标准的出现,有时不一定反映出其技术水平是最先进的,而是往往说明它有着一定的市场背景。 2.2 网络分层 2.2.1 分层思想 为了降低计算机网络设计的复杂性,大多数网络都采用分层(layer)或分级(level)的方式来组织,每一层都建立在它的下层之上。不同的网络,尽管其层次的数量、各层的名称、内容和功能都不尽相同,然而所有的层次网络都有一个共同点,即每一层的目的都是向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。这就是计算机网络的分层思想,即从垂直视图看待计算机网络。为了加深读者对分层思想的理解,下面通过一个现实生活中的例子来进行说明。如图2-1所示,假设有两位哲学家(对应于第3层中的对等实体)希望对话,其中一位说德语,而另一位讲汉语。由于没有共同的语言,两人都选择了翻译(对应于第2层中的对等实体)。每个翻译又进一步和秘书联络(对应于第1层中的对等实体)。如果哲学家1希望向哲学家2表达某一哲学话题,那么他首先会通过第2层与第3层之间的接口用德语将这一信息传给他的翻译。两位翻译预先确定好一种双方都能够理解的中立语言,如英语,则哲学家1的哲学话题被翻译成英文。应该说,选择哪一种中立语言是第2层协议的内容,使用什么样的语言取决于第2层的对等实体。接下来,翻译将译好的信息交付给秘书,让秘书传送出去,至于采用哪种传送方式(如电话、传真、电子邮件等)则完全是第1层内部关注的事情。当信息到达的时候,先由秘书递交给翻译,通过翻译后的信息再通过2/3层间接口递交给哲学家2。分层思想对于计算机网络的设计和实现有着极大的优势,主要表现在如下几个方面。1)各层之间相互独立。一个层次并不需要知道它的下一层是如何实现的,而只需要知道该层通过层间的接口所提供的服务即可。由于每一层只实现一种相对独立的功能,因此可将一个难以处理的复杂问题分解为若干个容易处理的较小问题。这样,整个问题的复杂度就下降了。2)灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则位于其上的各层均不受影响。此外,对某一层提供的服务还可进行修改。当某层提供的服务不再需要时,甚至可以将这一层次取消。3)结构上可分割。各层都可以采用最合适本层的技术方案来实现。4)易于实现和维护。层次结构使得实现和调试一个庞大而又复杂的系统变得容易,因为整个系统已被分解为若干个相对独立的子系统。5)能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。图2-2说明了一个划分成3层网络的通信过程。不同机器里处于同一层次的实体叫作对等实体(peer entities),对等实体利用协议进行通信。 实际上,数据不是从一台机器的第n层直接传送到另一台机器的第n层,而是每一层都把它的数据和控制信息交付给它的相邻下一层,如此重复,直到最底层。第1层之下是物理媒介(physical medium),它执行的是真正的物理通信,即信号传输。图2-2中所示的对等实体之间的通信都是虚拟通信。每一对相邻层之间都有一个接口。接口用于定义下层向上层提供的原语操作和服务。当网络设计者在决定一个网络应包括多少层、每一层应当做什么的时候,其中一个很重要的考虑就是要在相邻层之间定义一个清晰的接口。除了尽可能地减少必须在相邻层之间传递的信息的数量外,一个清晰的接口还可以使同一层能轻易地用一种新的实现来替换现有旧的实现(如用卫星信道来代替有线电话线),只要新的实现能向上层继续提供旧的实现所提供的同一组服务即可。为了完成计算机之间的通信合作,应把各个计算机互连的功能划分成定义明确的层次,并规定对等实体进行通信的协议。这些层与协议的集合称为网络体系结构(network architecture)。网络体系结构的描述必须包含足够的信息,让实现者可以用来为每一层编写程序和设计硬件,并使之符合有关协议。协议实现的细节和接口的描述都不是体系结构的内容,因为它们都隐藏在机器内部,对外部来说是不可见的。任何一个网络系统都能够提供多种通信功能,有些功能比较复杂,可能需要多个协议协同支持才能实现,这些为实现某一特定功能的相关协议集合被称为协议栈(protocol stack)。网络体系结构、协议栈和协议是本章和本书的主题,读者只有牢牢把握这一主题,才能够深入、准确地理解和掌握计算机网络的工作原理。 2.2.2 层次设计主题 尽管计算机网络的不同层次提供各自独立的服务,但一些关键主题可能在多个层次设计中都会出现。下面简要介绍其中比较重要的几个主题。1.编址机制(addressing)每一层次都需要有一种机制来识别发送方和接收方。网络中通常有很多计算机,而且在这些计算机上又运行着多个进程。因此,需要有一种方法使得一台机器上的进程可以指定它要通信的目标对象,但因为存在多个通信对象,所以自然地就需要有某种编址机制来指定特定的通信目标对象。2.数据传输(data

資安

深度回顾!30篇好文,解析历年双十一背后的阿里技术秘籍 | 开发者必读(098期)

最炫的技术新知、最热门的大咖公开课、最有趣的开发者活动、最实用的工具干货,就在《开发者必读》! 每日集成开发者社区精品内容,你身边的技术资讯管家。 每日头条 深度回顾!30篇好文,解析历年双十一背后的阿里技术秘籍 在双十一庞大的数据处理量面前,用户在使用感上却丝毫不受影响。阿里技术团队通过不断的探索,在交易洪峰面前仍然保障着系统丝般顺滑地运行。世界纪录的背后究竟有哪些技术支撑?今天我们将从 云计算、新零售&支付、安全 和 物流 四大方向带给大家双十一技术全解密! 最强干货 哪种人是软件设计中的稀缺型人才? 好的系统架构离不开好的接口设计,因此,真正懂接口设计的人往往是软件设计队伍中的稀缺型人才。 为什么在接口制定标准中说:一流的企业做标准,二流的企业做品牌,三流的企业做产品?依赖倒置到底是什么意思?什么时候使用接口才算合理?今天,阿里匠人——张建飞将为你详细解读。 高德引擎构建及持续集成技术演进之路 由于导航应用中的地图渲染、导航等核心功能对性能要求很高,所以高德地图客户端中大量功能采用 C++ 实现。随着业务的飞速发展,仅地图引擎库就有40多个模块,工程配置极其复杂,原有的构建及持续集成技术已无法满足日益增长的需求变化。 Apache Flink 的迁移之路,2

資安

双11解决方案应用全揭秘 | 开发者必读(097期)

双11解决方案应用全揭秘 | 开发者必读(097期) 最炫的技术新知、最热门的大咖公开课、最有趣的开发者活动、最实用的工具干货,就在《开发者必读》! 每日集成开发者社区精品内容,你身边的技术资讯管家。 每日头条 深度 | 双11解决方案应用全揭秘 随着“ 双十一“全民购物狂欢节的到来,很多企业和电商公司也将迎来流量和营业额的高峰。但是,纵观往期双十一的交易数据,我们不难发现,双十一为商家带来流量曝光和推广的同时,高峰流量也对企业数据库处理等能力提出了更高的要求。企业本身如果不能保障流畅运行和企业内沟通效率,将会对企业造成巨大的经济损失。 最强干货 基于归纳网络的少样本文本分类 | EMNLP 2019 会议论文解读 深度学习方法在数据稀缺的场景下往往表现很差,在这种挑战性的场景下,近期的工作往往使用meta-learning的方法来模拟少样本学习任务,通过在样本级别把query和支撑集进行比较来完成分类。 面向任务型对话的异构记忆网络 |

資安

蚂蚁金服联合IDC发布《中国金融级移动应用开发平台白皮书》 金融机构加速执行移动优先战略

11月4日,蚂蚁金服联合国际数据公司IDC在第二十七届中国国际金融展上发布《移动金融科技助力新时代金融机构转型升级——中国金融级移动应用开发平台白皮书》(以下简称《白皮书》)。《白皮书》指出,中国⾦融市场正在经历剧烈的变⾰,⾦融业务呈现出移动化、智能化、场景化态势,移动应⽤需求大量爆发,推动着⾦融机构加速执⾏移动优先战略。 移动端成金融机构零售转型的重要载体,战略地位日益凸显 《白皮书》认为,随着IT领域的新兴技术⾰命,企业数字化转型浪潮正在不断重塑各⾏各业的运⾏格局和发展⻛貌。以金融业为例,利率市场化、⾦融脱媒以及互联⽹跨界竞争等多重因素动摇了传统金融机构的盈利基础,使中国金融市场正在自内而外地发生巨大变革。 在此背景下,金融机构纷纷开启零售转型战略,以金融科技创新为抓手,为企业发展赋能。移动端作为金融机构重要的对外渠道之一,已成为零售转型的重要载体。利用优质的移动端设计提供精细化服务,吸引更多的个人客户长期驻留,是金融机构应对市场挑战、实现长期发展的必然选择,移动优先战略成为金融机构面向未来的发展共识。 《白皮书》显示,在⾦融科技的推动下,⼀⼤批传统线下业务通过技术创新转移⾄线上运营,⽤⼾不再受到银⾏服务时间和空间的限制,随时随地的享受移动端带来的便捷性,⽤⼾体验获得了⾰命性提升;保险公司⼤⼒拓展移动渠道,通过保险移动展业,以更加便捷⾼效地⽅式实现全业务触点的销售及管理,降低获客成本;证券企业则重点利⽤新技术提升信息和数据处理的时效性,满⾜客⼾对移动端⾏情资讯的传递和承载需求。 一站式移动开发平台mPaaS,助力金融机构移动优先战略落地 《白皮书》指出,金融业务的移动化、场景化、智能化趋势,推动金融移动应用需求的爆发性增长,对金融机构围绕移动端的业务开发和保障能力提出极大挑战。金融机构迫切需要引入新一代移动设计开发思想,利用先进的移动应用开发平台实现在开发、运维、管理以及快速迭代方面的一系列变革。 蚂蚁金服移动金融技术总监祁晓龙认为,金融级移动应用开发平台应具备统一的开发框架,拥有强大的技术整合和集成能力,有助于打造基于移动中台的能力输出,满足金融行业对移动开发平台技术先进性、安全合规性和高稳定性、高可用性等一系列特殊要求。 基于对金融市场的洞察和全新用户行为的理解,蚂蚁金服移动开发平台mPaaS借助统一的客户端开发框架和蚂蚁特有的金融级移动中台能力,有效地加快研发效率,增加对APP动态管控及千人千面的数字化运营能力。同时基于“后台连接服务”构建与服务端的数据、多媒体传输通道,确保全链路的稳定、安全和高效。 移动端创新技术方面,mPaaS提供智能推荐、语音识别、图像识别、生物识别、小程序等能力,改善产品体验,助力业务创新。 安全合规方面,mPaaS提供IPv6、国密、容灾等特色行业能力,满足监管合规要求。同时辅以应用加固、安全键盘、IFAA生物认证及数据加密能力,充分保障数据在客户端本地、传输过程中的安全性。 目前mPaaS已服务中国农业银行、广发银行,华夏银行,西安银行、国寿保险等众多B端客户,为国内国际用户都带来优质的移动端体验。 蚂蚁金服全栈式金融科技体系,助力金融业全域数字化转型 科技是面向未来的核心驱动力。基于对未来的洞察和蚂蚁金融科技开放的实践深耕,蚂蚁金服在金融领域构建了一个自底向上的全栈式金融科技体系,从具有金融级别支撑能力的分布式计算平台等底层技术,到以人工智能、区块链等为代表的应用技术,再到智能风控、生物核身等金融级专有技术,以及一站式的移动开发平台mPaaS,形成完整的技术堆栈,助力金融机构快速打造新一代超级移动金融平台与大数据智能运营体系,推动金融机构转型升级。 据悉,包括蚂蚁金服移动开发平台mPaaS、分布式中间件SOFAStack、分布式关系数据库OceanBase等在内的产品和解决方案正通过阿里云新金融统一对外输出,服务各种类型的金融机构。而在未来,还会有越来越多的蚂蚁金服技术产品通过阿里云新金融对外输出。在第二十七届中国国际金融展上,这些世界级的解决方案进行了亮相,并吸引了诸多关注。

資安

云原生存储的思考 (二)云原生存储新的场景,挑战,解决方案和Roadmap

Abstract 新的企业负载/智能工作负载容器化,迁云,存储方面遇到的性能,弹性,高可用,加密,隔离,可观测性,生命周期等方面的问题,不但是需要存储产品层次的改进,更需要在云原生的控制/数据平面的改进,推进云原生存储和云存储的演进。以下分别介绍一下问题场景,问题,探讨可行的解决方案,最终可以得出云原生存储,云存储目前可以做什么和未来还需要做什么。 存储性能 长时延增加 场景:高性能计算场景中,集中处理批量数据,通过容器集群,同时启动数千Pod,弹出数百ECS对共享性文件系统读写问题:重负载终负载下时延增加,高延迟毛刺增多,读写稳定性不足 解决方案: 分散负载到多文件系统,通过容器编排分散IO到多文件系统 存储产品的盘古2.0改造 集中式高吞吐写对共享存储池冲击 场景:高性能计算场景中,集中处理批量数据,10Gbps读写请求进入同一存储集群问题:同一存储集群中的带宽挤占,造成访问质量下降 解决方案: 分散负载到多文件系统和多个存储集群/多个可用区,通过容器编排分散IO到多文件系统 使用独占高性能并行文件系统 峰值吞吐不足 场景:大规模生物数据处理, 文件数目少,峰值吞吐高10Gbps-30Gbps,请求密集1W/s问题:接近独占集群的极限带宽 解决方案: 读写分流,分流读请求到OSS,写请求负载分流到独占文件系统和本地/远程块存储,通过容器编排分散IO到多文件系统 使用应用层分布式缓存降低网络读IO 存储产品的盘古2.0改造

資安

带你读《工业物联网安全》之一:一个前所未有的机会

网络空间安全技术丛书点击查看第二章工业物联网安全Practical Industrial Internet of Things Security [美] 斯拉瓦尼·巴塔查尔吉(Sravani Bhattacharjee) 著马金鑫 崔宝江 李 伟 译 第1章 一个前所未有的机会“任何足够先进的技术都与魔法无异。”—Arthur C. Clarke网络连接从根本上改变了我们所知道的世界,在过去40年里,联网计算推动了以互联网和基于互联网的应用为中心的全球经济,尤其是万维网,它重新定义了人类的交流方式以及我们在购物、银行和旅行方面的体验。然而,当这种互联互通的概念超越了人类的边界而扩展到其他设备和机器时,这些机器数据中潜在的价值创造了前所未有的机会,其中的大部分我们仅仅是参与其中,还没有加以利用。当今智能互联时代,开创了具有巨大增长潜力的新市场,特别是几乎所有的工业公司都处于从数字智能获取利益的压力中。在过去五年里,大多数垂直行业(尤其是制造业、交通运输业、零售业和医疗保健行业)已经开始大规模地采用联网技术。这些技术统称为工业物联网(IIoT)。然而,确保IIoT的部署可以抵抗网络攻击仍然是一个重大挑战。IIoT安全漏洞造成的后果要比传统IT部署的危害严重得多。在IIoT系统被非法入侵的情况下,除了通常的基于信息技术的损失(如声誉损失和财务损失)外,还可能造成生命损失或环境损害。由于IIoT与物理环境交互,因此从攻击对象、攻击者和影响等方面来看,电子商务与IT基础设施的安全范式在网络物理领域中存在显著差异。然而,尽管网络不安全是互联互通不可否认的一面,但不能依赖含糊的安全。工业数据和云连接带来了不可忽视的巨大优势。工业界将采用这些新技术,因此必须在充分安全和安全控制之间取得平衡。对于任何互联行业,不管是从业务还是感性上来说,安全都是当务之急。国际上开展了大量的研究、创新和投资活动,以确保互联行业的安全。本书将结合这些活动,为读者提供对IIoT安全的全面理解,并为读者提供实用的专业知识和工具,用来解决技术和业务方面的问题。读者将在此书中找到计划、设计和构建弹性IIoT系统所需的重要概念和技术,并可从IIoT安全专家关于这些主题的经验中获益。在本章中,我们将通过讨论以下主题来打好基础: 定义工业物联网 工业物联网安全:一种商业必然 网络安全与网络物理物联网安全 工业“物”、连接和运维技术(OT) IT和OT结合:真正的含义 工业物联网部署架构 IT和OT安全基础的差异 工业威胁、漏洞和风险因素

Scroll to Top