关于网络:网络标准之IANA定义的传输编码

简介不同的零碎或者协定能够承受的数据类型是不同的,如果要在那些不反对现有数据格式的零碎或者协定中进行数据传输的话,就须要进行数据转换。 IANA的全称是The Internet Assigned Numbers Authority,也叫做互联网数字调配机构,是一个负责协调互联网的事务让Internet失常运作的机构。它定义了几个transfer encodings形式。 明天将会给大家具体解说这几种形式的由来和应用场景。 IANA的传输编码方式依据IANA的定义,有上面几个transfer encodings形式: NameReference7bit[RFC2045]8bit[RFC2045]binary[RFC2045]quoted-printable[RFC2045]base64[RFC2045]这些传输编码方式都是什么意思呢?接下来一一讲述。 7bit咱们晓得计算机的第一个字符编码就是ASCII编码,它示意的范畴是从0到127。一个字节是8位,0到127意味着ASCII编码只应用7bits,这也就是7bit的由来。 对于有些协定或者零碎来说,他们只反对ASCII编码,如果传输的数据范畴超过了7bit,则会出现异常。 8bit7bit在应用中有很大的限度,因为对于罕用的Unicode编码来说,通常会应用2-4个字节作为信息的载体,如果是7bit的话,就会导致信息接管的不残缺,从而失去数据原有的意义。 8bit的意思是,能够接管整个8bit的数据,也就是说数据能够按整个字节来传输。这样就没有传输的限度了。所以说8bit的利用会更加宽泛,如果一个零碎能够正确的接管8bit,那么咱们能够称这个零碎为8-bit clean 。 binary是不是8bit就能够实用于所有的零碎呢?咱们要晓得,8bit是按字节来进行传输的。所以对于格局更加紧凑的二进制流的话是不实用的。所以有一个专门的二进制音讯格局binary来解决二进制信息。 quoted-printable如果数据是binary格局的,然而零碎又不反对binary格局该怎么办呢? 这时候咱们就须要将binary转换成为text格局,这种转换叫做Binary-to-text encoding。其中quoted-printable和base64就是两种转换形式。 对于quoted-printable来说,就是将一个8-bit数据用7bit可读的字符来示意。尽管7bit能够示意0-127的范畴,然而其中只有33 到 126是可读字符,其余的都不是可读字符。 那么quoted-printable是怎么转换的呢? quoted-printable中,任何 8 位字节值都能够用 3 个字符来进行编码。=前面接两个16进制的数字。 比方对于ASCII的换页符12来说,转换过去就是=0C。 因为=是非凡的字符,所以等号也须要本义成=3D来示意。 对于可打印的ASCII字符,也就是33到126之间的十进制值,则不须要本义,间接示意他们本人即可。 ASCII 制表符和空格字符、十进制值9和32能够由它们本人示意,除非这些字符呈现在编码行的开端。在这种状况下,它们须要本义为=09(制表符)或 =20(空格),或者后跟 =(软换行符)作为编码行的最初一个字符。 另外Quoted-Printable 编码数据的一行不得超过76个字符。如果超出的话,能够依据须要增加软换行符。软换行符是由在编码行开端增加=组成,软换行符不会在解码文本中显示为换行符。 base64除了quoted-printable之外,还有一种罕用的Binary-to-text encoding形式,叫做base64。 base64的原理是通过一个映射表,将二进制编码映射成为64个字符(26个小写字母+26个大写字母+10个数字+加号和斜杠)。 每个Base64字符能够示意6bits的数据,所以3个字节的数据能够用6个Base64字符来示意。 其映射表如下: 总结以上就是IANA介绍的几种传输编码格局,大家学会了吗? 本文已收录于 http://www.flydean.com/13-transfer-encodings/ 最艰深的解读,最粗浅的干货,最简洁的教程,泛滥你不晓得的小技巧等你来发现! 欢送关注我的公众号:「程序那些事」,懂技术,更懂你!

March 14, 2022 · 1 min · jiezi

关于网络:俄乌局势对乌克兰地区网络的影响

当地工夫21日,俄罗斯总统普京签订抵赖顿涅茨克人民共和国和卢甘斯克人民共和国的总统令,这项总统令是否会令紧张局势弛缓还是会降级为抵触咱们刮目相待。 在乌克兰部署的云服务器厂商有国内有华为云,咱们看一下华为云乌克兰区网络是否受到影响。 网络提早与抖动华为云在乌克兰基辅有一个区,以下是华为云乌克兰区的网络提早状况: 通过上图的红框咱们能够看到,百度智能云到华为云的基辅区并没有呈现很重大的网络丢包和抖动状况。 上图是腾讯云广州地区到华为云乌克兰区的网络状况,能够看到网络也非常稳固,没有丢包。 路由追踪上面咱们再看一下路由追踪状况: 上图是百度智能云北京地区到华为云乌克兰基辅区的路由状况,间接从中国北京到乌克兰基辅,两头没有绕路。 其余更多不同监测点到华为乌克兰基辅的路由状况,能够查看这里:华为云不同地区路由追踪 总结通过以上华为云的网络提早和路由追踪等状况能够看到:尽管俄罗斯和乌克兰局势缓和,然而并没有影响到乌克兰基辅的网络。但同时咱们应该做好数据备份,防止紧张局势降级,导致乌克兰的网络从地球上隐没 给咱们数据造成了无法挽回的损失。

February 23, 2022 · 1 min · jiezi

关于网络:以太网

OSI参考模型OSI仅仅只是网络参考模型,蕴含了硬件和软件,比方物理层就包含硬件线路通常物理层,数据链路层就是PHY芯片和MAC芯片示意的电路网络层(IP层) 传输层(TCP层)是软件层面上的协定栈

February 20, 2022 · 1 min · jiezi

关于网络:TCP实现原理和为什么需要三次握手两次握手不可以四次握手不可以

TCP实现原理和为什么须要三次握手?两次握手不能够?四次握手不能够?1. 什么是TCP协定?TCP:Transmission Control Protocol翻译过去就是传输控制协议,TCP协定是一个面向连贯的、牢靠的、基于字节流的传输层协定RFC 793对TCP连贯的定义 Connections:The reliability and flow control mechanisms described above require that TCPs initialize and maintain certain status information for each data stream.The combination of this information, including sockets, sequence numbers, and window sizes, is called a connection.其大抵意思是TCP连贯是为了用于保障可靠性和流控制机制的,包含 Socket、序列号及窗口大小。 2. TCP协定的个性面向连贯:是指TCP是通过服务端和客户端进行连贯的协定面向字节流:TCP服务端和客户端之间的数据通讯是通过字节流数据传输的牢靠的:是指TCP服务端客户端之间的数据传输是很稳固的,即便网络很差的状况,TCP都能保障将数据传输到接管方。3. TCP三次握手执行流程 关键字阐明:SYN:Synchronize Sequence Numbers,同步序列编号ACK:Acknowledge Character,确认字符SEQ:Sequence Number,序列号TCP三次握手执行过程: 首先,服务端和客户端都是处于CLOSED状态的,而后服务端启动,监听端口,状态变为LISTEN(监听)状态客户端为了申请资源,发送连贯,发送同步序列号SYN,此时客户端就变成了SYN-SEND状态服务端接管到客户端申请之后,发送SYN和ACK,而后服务端状态就变成SYN-RCVD状态客户端接管到信息之后,再次发送ACK,而后变成ESTABLISHED(已确认)状态,服务端接管到返回信息后,状态也变成ESTABLISHED(已确认)状态TCP协定为什么须要三次握手?RFC 793 Transmission Control Protocol里就有指出为什么要三次握手的起因 The principle reason for the three-way handshake is to prevent old duplicate connection initiations from causing confusion.翻译为中文大抵意思是次要起因是为了避免旧的反复连贯引起连贯凌乱问题设计成三次握手的状况,客户端在接管到服务端SEQ+1的返回音讯之后,就会晓得这个连贯是历史连贯,所以会发送报文给服务端,通知服务端。TCP设计成三次握手的目标就是为了防止反复连贯 ...

February 8, 2022 · 1 min · jiezi

关于网络:Karpenter-新一代-Kubernetes-auto-scaling-工具

在亚马逊云科技 2021 re:Invent 大会期间,亚马逊云科技发表为 Kubernetes 构建的开源主动扩缩容我的项目 Karpenter 降级至0.5版本并 GA ,可在生产环境应用。在 Kubernetes 上的 auto scaling 始终被人关注,以后的 kubernetes 提供 Cluster Autocaler 用于制订调度和扩缩决策。那么,既然有了Kubernetes Cluster Autoscaler,为何还要反复造轮子,去开发新的 auto scaling 工具呢?本文将介绍Karpenter作用和原理,同时对比一下大家相熟的Cluster Autoscaler,并演示Karpenter的基本操作。 Karpenter是什么?Karpenter 是一个为 Kubernetes 构建的开源主动扩缩容我的项目。它进步了 Kubernetes 应用程序的可用性,而无需手动或适度配置计算资源。Karpenter 旨在通过观察不可调度的 Pod 的聚合资源申请并做出启动和终止节点的决策,以最大限度地缩小调度提早,从而在几秒钟内(而不是几分钟)提供适合的计算资源来满足您的应用程序的需要。 Karpenter 与 Cluster Autocaler在 Kubernetes 上能够实现集群主动缩放的工具,有 Cluster Autoscaler、Escalator 和 Cerebral 等。惋惜有些工具曾经疏于保护或终止开发。现在 Cluster Autoscaler 是集群主动缩放组件的首选,常见的长处包含:能够使集群依据需要的增长而主动扩容;通过无效整合利用资源和终止不必要的节点而较少基础架构带来的老本;其开发者是中立的,反对所有支流的私有云厂商;利用宽泛,通过了实战的考验;反对大概1000个节点的集群。 上面咱们理解一下 Cluster Autoscaler 是如何工作的,如下图所示:当有 Pod 因为资源有余状态为 pending 时,就会触发 Cluster Autoscaler 的扩大机制, Cluster Autoscaler 会减少托管节点组底层的 Auto Scaling Group 中的 desired 实例数量,从而通过 Auto Scaling Group 部署新的 Amazon EC2 实例退出节点组,作为预置新节点, pending 状态的 pod 会被调度到新的节点进行部署。 ...

January 13, 2022 · 4 min · jiezi

关于网络:巧用Amazon-PrivateLink轻松访问私有终端节点Amazon-S3

摘要亚马逊云科技在2021年2月正式公布了实用于 Amazon S3 的 Amazon PrivateLink,Amazon PrivateLink 应用虚构网络中的公有 IP 提供 Amazon Simple Storage Service (S3) 与本地资源之间的专用连贯。借助此性能,您当初能够应用 Virtual Private Cloud 中的接口 VPC 终端节点,在平安的虚构网络中间接拜访作为公有终端节点的 Amazon S3。通过容许您应用公有 IP 地址拜访Amazon S3,这扩大了现有网关终端节点的性能。从本地应用程序向 Amazon S3 收回的 API 申请和 HTTPS 申请会主动通过接口终端节点进行定向,这些终端节点通过 PrivateLink 以平安和私密的形式连贯到 Amazon S3。 实用于 Amazon S3 的Amazon PrivateLinkhttps://docs.aws.amazon.com/A...Amazon PrivateLinkhttps://aws.amazon.com/privat...Amazon Simple Storage Service (S3)https://aws.amazon.com/s3/Virtual Private Cloudhttps://aws.amazon.com/vpc/本文档介绍的计划是通过利用跨区域间的VPC对等连贯和Amazon S3的接口终端节点,来实现跨区域公有拜访Amazon S3。客户能够依据本人的须要,能够通过 Amazon Direct Connect 或 Amazon VPN 提供的平安连贯从本地应用程序公有拜访 Amazon S3。 Amazon Direct Connecthttps://aws.amazon.com/direct...Amazon VPNhttps://aws.amazon.com/vpn/ 想要理解更多亚马逊云科技最新技术公布和实际翻新,敬请关注2021亚马逊云科技中国峰会!点击图片报名吧~更多精彩内容,敬请期待8.19-20北京、9.15深圳分会吧!  服务介绍早在 2015 年,Amazon S3 是第一个反对增加 VPC 终端节点的服务;通过VPC网关终端节点提供与 Amazon S3 的平安连贯,而不须要网关或 NAT 实例。其原理是在指定的路由表里,创立到Amazon S3服务的路由,与路由表相关联的每个子网都能够拜访终端节点,随后通过终端节点将来自这些子网实例的流量路由到Amazon S3服务。在下图中,子网2中的实例可通过网关终端节点拜访Amazon S3。 ...

January 13, 2022 · 2 min · jiezi

关于网络:使用-KubeSphere-管理-Amazon-EKS-Anywhere-集群

Amazon EKS Anywhere 介绍近日,亚马逊云科技开源了 Amazon EKS Anywhere。这个我的项目为 Amazon EKS 提供了一种新的部署模式,能够在本地数据中心应用虚拟机轻松创立和治理 Kubernetes 集群,并利用 Amazon EKS Distro 的劣势,为您的数据中心带来统一的 Kubernetes 运维治理体验。它能够对多个 Kubernetes 集群进行全生命周期治理,为用户灵便交付 Amazon EKS 容器服务。 Amazon EKS 可能帮忙您自动化集群治理,缩减老本,免去应用多个开源或第三方工具来操作 Kubernetes 集群的繁冗工作。您还能够构建本人的管理工具来创立 Amazon EKS Distro 集群、配置操作环境和更新软件。 通过 Amazon EKS Anywhere,你还能够取得亚马逊云科技对集群配置、机器操作系统和第三方集成的默认优化值,这些优化让你专一于业务翻新,而不是简单的组件兼容性或企业外部和云环境之间的部署兼容性。此外,你能够利用 Amazon EKS 控制台来查看你所有通过 Amazon EKS Anywhere 部署的 Kubernetes 集群。 Amazon EKS Anywhere 目前只反对 VMware vSphere,将来将反对裸机部署。 KubeSphere 介绍KubeSphere 是基于 Kubernetes 构建的容器平台,齐全开源,并通过极简的界面交互提供多云与多集群治理、DevOps、可观测性、微服务治理、边缘计算、利用治理等性能,提供弱小的网络与存储管理能力,可能帮忙企业在私有云、虚拟化及物理机等异构基础设施上实现容器架构的疾速构建、部署及运维,实现利用的继续交付与全生命周期治理。 KubeSphere 的联邦集群治理性能能够把多个异构基础设施 Kubernetes 与 Amazon EKS 以及产品家族对立纳管,用户在部署利用时,能够把利用的多个正本依照业务需要散布到多个不同的 Kubernetes 资源池里,并通过 KubeSphere 进行对立运维治理,从下层构建实现跨区、跨集群的高可用。 2021年 1 月,KubeSphere 正式入驻 亚马逊云科技 Quick Start,为寰球用户部署云原生利用提供了一键部署 Amazon EKS 和 KubeSphere 的能力,通过 KubeSphere 丰盛的利用治理性能,帮忙用户减速云原生落地。 ...

January 13, 2022 · 2 min · jiezi

关于网络:全面拆解携程云原生实践打造智能弹性的云端酒店直连系统

一、背景随着携程海内酒店业务的倒退,遍布寰球的海内供应商与携程总部IDC之间的数据传输量快速增长。技术上,这种日益增长的数据量对跨境网络专线的带宽、提早等提出了更高的要求;业务上,因为以后无限的跨境网络专线资源对业务解决效率及用户体验也造成了肯定的影响;老本上,跨境网络专线作为一种低廉的资源,通过单纯的专线扩容又会给IT老本造成微小压力。所以咱们开始思考是否能够通过私有云联合酒店直连的业务个性来解决日益增长的带宽压力和供应商接口提早的问题。 酒店直连零碎次要是应用自动化接口实现供应商或团体与携程之间的零碎对接,实现动态信息、动静信息、订单性能等都通过零碎的形式流转交互。目前携程大量海内酒店业务是通过酒店直连零碎对接。 想要理解更多亚马逊云科技最新技术公布和实际翻新,敬请关注2021亚马逊云科技中国峰会!点击图片报名吧~ 本文将次要从携程酒店直连服务迁徙部署至亚马逊云科技过程中所进行的利用架构调整及云原生革新,应用亚马逊云科技后获得的技术和业务收益,在部署过程中对Amazon EKS(Amazon Elastic Kubernetes Service)、DNS查问延时和跨AZ流量升高所做的老本优化等几方面进行具体介绍。 二、痛点携程酒店海内直连对接了上千家海内供应商,所有的接口拜访都通过代理进来(见图1),因为酒店直连的业务个性,当一个用户申请过去时会依据人数、国籍、会员非会员等裂变成多个申请,最多的时候可能一个申请会裂变成数十个申请,而且申请报文非常微小(通常为几十Kb到上百Kb不等),尽管咱们可能只须要返回报文中的一小部分信息,然而因为目前架构的限度只能将所有报文全副申请回来再解决,这无疑节约了大量的带宽。 图1 同时因为供应商遍布寰球,所有的申请/响应都须要通过团体的代理进口,导致了局部供应商接口响应受到物理间隔的影响提早变高了,会升高用户的体验。 三、云服务抉择及初步计划本次外围指标之一是为了进步对接寰球供应商的网络传输能力和延时改良,晋升用户体验,必须抉择一个在寰球有宽泛资源散布的云厂商帮忙携程尽量凑近供应商拜访数据。通过与多个私有云厂商的多轮交换,综合思考各厂商技术水平、服务能力、老本价格等多方面因素,咱们认为亚马逊云科技无论是在寰球笼罩及网络能力(见图2)(亚马逊云科技在寰球散布的25个区域和80个可用区提供宽泛的服务能力,同时数据中心通过其骨干网互联,晋升了将来不同数据中心的数据互访能力),云服务的先进性和成熟度、现场团队的服务能力、响应工夫、业余程度都具备显著的劣势,最终咱们抉择亚马逊云科技作为资源部署的云厂商合作伙伴。 图2 为了更好地与云上资源应用集成,咱们采纳IDC的容器化部署计划,最终思考到托管容器平台的高可用性设计及SLA保障,及对社区的兼容性,应用亚马逊云科技托管容器平台Amazon EKS作为部署的平台。 资源方面咱们对服务进行革新后,大量应用竞价实例作为Amazon EKS工作节点,大幅降低成本并提高效率。 同时利用私有云的网络和平台劣势,将本来部署在携程总部IDC的相应业务服务部署到离供应商间隔更近的海内私有云站点,实现携程与海内供应商之间高牢靠、低提早的网络直连,并将局部数据预处理逻辑剥离进去前置部署到海内私有云上,实现仅将通过解决的有价值的数据(而非原始、全量的裸数据)压缩后再传输到携程总部数据中心,进而达到升高对跨境网络专线的压力、晋升业务数据处理效率、降低成本、优化用户体验等指标。 四、酒店直连上云教训4.1 云业务利用的云原生革新 为了充沛的应用云服务带来的便当和老本优化,通过调研剖析,咱们如果间接将利用迁徙至私有云上,尽管业务上会产生相应的价值,但老本会绝对较高,因而咱们对酒店直连服务进行了相应的云原生架构优化,相干的次要调整如下: 1 )拜访供应商模块上云 要节俭带宽须要缩小通过从代理进来的申请同时缩小每个申请的报文大小。咱们的做法是将申请拆分的逻辑搬到亚马逊云科技上,这样每次一个用户申请过去通过代理进来只有一次申请/响应。同时咱们在亚马逊云科技上将供应商返回的报文中无用属性剔除,而后再依据业务属性合并相干节点最初再压缩返回,这样就达到了缩减报文大小的目标(见图3)。从目前运行的数据上看,整个代理的带宽流量只用到了之前的30%~40%。 图3 私有云厂商广泛采纳按流量免费的价格策略,在设计网络出入站网络拜访的技术计划过程中,默认状况下会应用亚马逊云科技NAT网关,这样网络流量费用绝对较高。思考到酒店直连申请有个个性,通常状况下申请报文不到1K,而响应报文均匀有10k到100K,利用这个特点,咱们在亚马逊云科技上采纳了基于Amazon EKS自建Squid代理计划(见图4),这样只有出站的申请报文会产生流量费用,而大量入站的响应报文不免费,从而大大降低亚马逊云科技上产生的网络流量费用。 图4 2)升高网络提早,利用亚马逊云科技寰球数据中心对供应商就近拜访 很多海内的供应商服务部署在寰球各地,而咱们所有的海内拜访都对立从代理进来,这样一些服务器部署较远的供应商因为物理间隔上的起因导致网络提早很高。通过亚马逊云科技的在寰球各地的数据中心,咱们能够将服务就近部署在供应商机房左近,同时利用亚马逊云科技的骨干网络升高各数据中心到代理所在地左近的亚马逊云科技数据中心的提早,最初通过专线连贯该亚马逊云科技数据中心与携程IDC(见图5),整个过程对那些因物理间隔对网络提早影响较大的供应商性能晋升较显著,最多可升高50%的响应工夫。 图5 4.2 继续的架构革新和性能及老本优化 在目前的计划中,咱们为了上云独自开发了一套全新的利用,这样带来的问题就是,当有业务变更时咱们同时须要调整携程IDC和亚马逊云科技上部署的两个利用,进步了系统维护老本。次要起因是原利用中大量依赖携程的根底组件,本次上云尝试应用的是齐全独立的账号和VPC网络,如果在云上同样部署一套不太事实,一是老本太大,二是一些敏感数据不能放在在云端存储,所以后续咱们会对适配器架构再进行优化,在不依赖携程根底组件的状况下复用一套利用以适应不同的云环境。 业务上线后为了验证将来更大规模的负载上云的可能性,咱们同时也在对性能,老本,高可用性方面做继续一直的优化。 4.2.1 利用云弹性伸缩能力 以计算资源老本为例:计算实例老本 = 实例运行时长 * 实例价格。如果只是简略粗犷把本地机房的运行模式套用到云上计算,云服务计算资源的费用是高于本地机房的。所以咱们须要充分利用云上按需免费的个性,缩小闲置资源老本。实例的运行时长和Kubernetes集群内的服务数量,以及调配给这些服务的计算资源成正比,同时服务的数量又是和流量成正比。 酒店直连业务场景存在不可预测的业务流量,比方邻近节假日颁布的游览政策,或者营销直播流动。云原生的弹性个性很好地利用正当的资源应答突发的流量。 Kubernetes的HPA弹性架构会实时采集集群整体的负载指标,判断是否满足弹性伸缩条件和执行pod的伸缩。仅仅是pod的伸缩还不够,咱们还须要在集群中应用Cluster Autoscaler组件,监控集群中因为资源分配有余无奈被失常调度的pod,主动从云平台的实例池中申请减少节点,同时在流量降落的时候,Cluster Autoscaler组件也会检测集群中资源利用率较低的节点,将其中的pod调度到其余可用节点上,回收这部分闲置节点。 弹性伸缩案例 云原生的弹性个性不仅帮忙缩小资源应用老本,也进步服务对基础架构故障的容错率,在基础设施局部可用区中断不可用期间,其余可用区域会减少相应数量的节点持续放弃整个集群的可用。 Kubernetes反对对pod容器所需的CPU和内存调整,找到一个正当的配额以正当的老本达到最佳的性能。所以咱们在服务上云前会做一些靠近实在环境的负载测试,察看业务流量的变动对集群性能的影响(业务周期性顶峰和低峰的资源使用率,服务的资源瓶颈,适合的余量资源buffer应答尖刺流量等等)。既不会因为理论利用率过高导致稳定性问题,比方OOM或者频繁的CPU throttling,也不会因为过低浪费资源(毕竟,即便你的利用只应用了实例的1%,也要领取该实例100%的费用)。 4.2.2 采纳私有云竞价实例 某些云平台会把一些闲置计算资源作为竞价实例,以比按需实例更低的定价出租,顾名思义竞价实例的最终费用是按市场供需出价决定的。依照咱们理论应用的体验,如果不是特地热门的机型定价根本在按需实例费用的10-30%左右。高价的竞价实例天然有它的限度,云平台会可能会调整竞价实例池的资源比例回收局部实例,个别回收的概率依据统计通常<3%, 同时在回收前会提前2分钟告诉到这些实例。咱们通过亚马逊云科技提供的Terminal handler组件在收到回收告诉后提前把容器调度到其余可用的实例上,缩小了资源回收对服务的影响。下图是某云对竞价实例的资源池划分,咱们能够看到,即便雷同的实例资源,在不同的可用区也是独立的资源池。 图6 为了能最大限度缩小竞价实例的中断影响,包含实例在多可用区的再均衡影响,咱们在通过Amazon ASG(Amazon Auto Scaling Group 弹性扩大组)抉择不同实例类型的状况下还将不同的实例资源池独立应用Amazon ASG进行治理,这样保障了资源的最大利用效率。 ...

January 13, 2022 · 1 min · jiezi

关于网络:Tech-Talk-活动预告|公有云5G-时代下的开发难题架构师大咖带你逐个击破

在寰球 5G 建设不断深入的当下,产业巨头间以私有云、5G 的强强合作,每每引起行业热议。在这种通信网络云化的趋势下,作为一名资深的开发者,或者会遇到以下问题: 5G 网络建设,有哪些具体利用场景?5G 倒退历程中,有哪些重大演进改革?5G 云化,须要哪些核心技术?5G 网络迁徙到私有云上,有哪些优选实际?5G 网络与私有云的技术服务合流趋势,将会愈来愈多地利用到企业数字化转型的过程中。这种云网交融带来的实际场景,也对当下架构师提出了相应的技术要求。 10月13日周三,20:00-21:00 亚马逊云科技开发者社区 User Group 将举办 以《私有云上的 5G 网络》为主题的 Tech Talk 并邀请架构师大咖范桂飓为演讲嘉宾 为大家分享如下内容: 演讲内容4大要点01 通识 5G 时代 介绍 5G 时代的愿景,5G 网络的 3 大利用场景、8 大 KPI 以及5G 和 4G 的本质区别。 02 5G 接入网与核心网演进过程 介绍从 4G 到 5G,从硬件黑盒设施到软件解耦,从 CT 到 IT 化,从闭源到开源,从单体网元架构到微服务化网元架构的演进过程。 03 5G 云化的关键技术 介绍 5G 云化的两大关键技术,SDN/NFV 和 MEC 边缘计算。 04 私有云上的 5G 以 Dish on Amazon 为商业案例,介绍如何应用亚马逊云科技 full stack 软件堆栈,建设齐全云化的智能 5G 网络。 ...

January 13, 2022 · 1 min · jiezi

关于网络:4种高速安全混合云解决方案助力您的云迁移之旅

概述企业上云是企业在数字化转型的要害一步,数据表明寰球有88%的企业将上云作为优先策略,但同时,86%的企业基础架构收入中仍在本地的零碎部署上,这阐明企业向云端迁徙还须要一段时间。同时,私有云、混合云、多云的多种形式接入已成为企业的支流抉择。亚马逊云科技心愿把云迁徙变得更加简略,所以亚马逊云科技始终致力于更新和迭代混合云的性能,帮忙客户实现高速、平安、平滑、高可用的混合云结构解决方案。 本文通过Amazon Direct Connect、Transit VIF、Amazon Transit Gateway Connect等亚马逊云科技网络服务,举荐了以下几种混合云计划:   想要理解更多亚马逊云科技最新技术公布和实际翻新,敬请关注2021亚马逊云科技中国峰会!点击图片报名吧~ 计划一:混合云组网利用直达虚构接口(Transit VIF)实现客户本地公有云和云上网络的高速互联 随着云计算的倒退,企业公有云和私有云互联互通已成为企业广泛的抉择。利用亚马逊云科技的Amazon Direct Connect Gateway的直达虚构接口(Transit VIF),能够轻松帮忙客户搭建一个高速、低提早且平安的混合云。 目前,亚马逊云科技北京区域和宁夏区域的Amazon Direct Connect曾经反对连贯Amazon Transit Gateway。借助此性能,客户能够应用1/10/100 Gbps Amazon Direct Connect将多个亚马逊云区域中的数千个VPC连贯到他们的本地公有云。 Amazon Direct Connect引入了一种称为直达虚构接口的新型虚构接口(Transit VIF),以反对与Amazon Transit Gateway的连贯。客户能够在任何Amazon Direct Connect 接入点应用1/10/100Gbps Amazon Direct Connect创立Transit VIF。通过创立Transit VIF,客户能够让其本地公有云和亚马逊云上数千个VPC互联,买通南北向流量,实现混合云组网的疾速一建部署。 相比于本地公有云通过VGW和VPC建设点到点的Amazon Direct Connect专线不同,应用Transit VIF能够帮忙本地公有云和亚马逊云上的上千VPC同时互联,让客户能够通过一条专线、一次部署、一键结构点到多点的本地到云上的网络,实现混合云组网。 利用Amazon Transit Gateway Connect实现客户SD-WAN网络和云上网络的定制化互联 随着SD-WAN的蓬勃发展,目前曾经有大量的客户实现了企业网络的SD-WAN革新。很多企业心愿除了通过专线的形式连贯亚马逊云之外,还能够疾速高效的将亚马逊云上资源与企业SD-WAN网络互联互通。亚马逊云科技的Amazon Transit Gateway Connect服务正是为满足此类客户的需要应运而生。 目前,亚马逊云科技北京区域和宁夏区域推出了Amazon Transit Gateway Connect服务,给客户提供平安通道和SD-WAN接入云上VPC的能力。 Amazon Transit Gateway Connect是Amazon Transit Gateway新推出的一项性能,它通过将软件定义的广域网(SD-WAN)设施本地集成到亚马逊云中,简化分支机构的连贯。客户当初只需在SD-WAN利用上单击几下,就能够应用通用路由封装(GRE)和边界网关协定(BGP)等标准协议,将其SD-WAN边缘无缝扩大到亚马逊云。Amazon Transit Gateway Connect让客户无需在SD-WAN设施和亚马逊云之间设置多条平安通道,只须要和云上的SD-WAN厂商利用或客户自有的虚拟化利用之间建设一条平安通道,即可实现客户本地公有云和亚马逊云上数千个VPC互联,这大大简化了客户整体网络设计并升高了经营老本。 ...

January 13, 2022 · 1 min · jiezi

关于网络:大咖眼中的AI开源|王敏捷深图在人工智能中的探索和研究

6月26日,亚马逊云科技Community Day在上海举办。亚马逊云科技首席开发者布道师、资深数据科学家、资深利用科学家以及亚马逊云科技Machine Learning Hero悉数到场,针对AI开源的技术趋势及落地实际我的项目进行分享和探讨。 上期,咱们带来了亚马逊云科技首席开发者布道师王宇博对于构建开源机器学习生态系统的精彩分享。本期,咱们带来了亚马逊上海人工智能研究院资深利用科学家王麻利对亚马逊云科技在深度学习算法使用到图数据畛域的摸索和钻研话题的分享。在亚马逊云开发者公众号后续的内容中也会带来更多的嘉宾分享,感兴趣的搭档们能够继续关注! 想要理解更多亚马逊云科技最新技术公布和实际翻新,敬请关注在上海、北京、深圳三地举办的2021亚马逊云科技中国峰会!点击图片报名吧~上海站峰会曾经圆满闭幕,更多精彩内容,敬请期待北京、深圳分会吧! 王麻利:深图在人工智能中的摸索和钻研说到深图在人工智能中的摸索和钻研,首先要明确一个概念——什么是人工智能?王麻利认为,要实现真正的人工智能有两点十分重要,第一是要了解为什么当初的人工智能算法会犯错,第二是要去探讨人工智能算法与人脑之间结构化的一致性。 “研表究明,汉字序顺并不定一影阅响读。”比方当你看完这句话后,才发这现里的字全是都乱的。人在了解自然语言的时候,并非通过线性的形式去了解,而是成块的去了解文本。而很多模型,是通过线性的形式了解文本。 从图像识别的角度,如果用算法去辨认一张印有一只狗坐在摩托车上的图片,只能辨认到画面自身是由狗和摩托车形成的,无奈取得更多结构化的信息,而人脑是能够感触到画面的趣味性的。 生存中的很多数据以图构造(Graph)的模式存在,小到宏观分子,大到生产生存,在图上实现机器学习工作是极为常见的需要。 近年来,如何把深度学习算法使用到图数据成为开发者们关注的重点。因而也诞生了图神经网络Graph Neural Networks (GNNs)。所谓图神经网络是指用于学习点、边或者整张图的向量示意的一类深度神经网络,其核心思想是消息传递。比方,想判断一个人喜爱哪只NBA球队,能够通过社交网络上理解他的敌人喜爱哪只球队,如果他80%的敌人都喜爱,那么他大概率也会喜爱这只球队。对某个点进行建模的时候,通过其余相邻点去收集信息,这个过程就是信息传递。 把所有相邻节点的信息收集到一起做一个累和,取得了一个加权累和的音讯之后,再通过更新函数对所在节点曾经有的信息做一个更新。这就是图神经网络最根本的数学建模。 图神经网络在不同畛域都有着十分宽泛的利用。 分子医药:首先是分子性质预测。其输出数据为分子结构图。之后通过消息传递建模,利用图神经网络获取向量表征,输出到上游的分类器,能够判断化学药品的性质、毒性等。其次是药分子生成,先构建一个编码模型,而后通过图神经网络将其变成向量示意,同时退出一些领导,生成可能合乎咱们须要性质的分子。第三,是药物重定位,在这方面,亚马逊构建了一个药物常识图谱DRKG,用于示意药物,疾病蛋白,化合物等对象之间的关系。应用图神经网络对该数据进行建模后,则能够预测药物和疾病蛋白节点之间的连贯关系,从而预测医治新型疾病的潜在药物。目前,通过图神经网络建模所举荐的41种药物当中,有11种曾经被利用于临床。 常识图谱:在常识图谱中能够应用图神经网络实现很多上游工作。如常识补全、工作节点分类等。 举荐零碎:支流的举荐零碎次要基于用户和商品之间的交互数据。如果A用户购买某个商品,零碎留下购买记录,通过数据分析,如果发现B用户的购买记录与A用户类似,那么,大概率A用户购买的商品,B用户也会感兴趣。目前,基于图神经网络举荐零碎已实现商业落地。 计算机视觉:输出场景图,通过图神经网络建模,在结尾时退出图片生成器,通过这张场景图能够反向去生成更好的图片。 自然语言解决:在自然语言解决中图的构造也无处不在。比方TreeLSTM,句子自身不是线性构造,它有语法结构,利用句子语法树结构进行训练,失去更好的分析模型。此外,当初比拟炽热的是“变形金刚”(Transformer),也是深图的变种。 图神经网络不论是在学界还是业界,都有了一些十分好的落地计划。但也有很多问题亟待解决。如规模越来越大,如何去建模?如何把非结构化数据中的结构化数据抽取解决?这就须要好的工具去开发模型。 应用传统深度学习框架(TensorFlow/Pytorch/MXNet等)编写图神经网络并非易事。消息传递计算是一种细粒度计算,而张量编程接口则须要定义粗粒度计算,粗粒度和细粒度的差别,使得图神经网络的书写十分艰难。亚马逊针对这一挑战开发了作为桥梁的DGL。王麻利从编程接口设计、底层系统优化、开源社区建设三个方向介绍了DGL。 首先是编程接口设计。用图的概念做编程,核心理念是以图为本。王麻利认为,开发者首先应理解,图是图神经网络的“一等公民”。所谓“一等公民”是指所有DGL的函数和NN模块都能够承受和返回图对象,其中也包含外围的消息传递API。 其次是底层零碎的设计优化。其余的图神经网络框架(比方PyTorch Geometric, PYG)往往应用gather/scatter原语来反对消息传递计算,计算过程中产生大量冗余的音讯对象,占用大量内存带宽。而DGL应用高效稠密算子减速图神经网络,比PYG快2~64倍,并能节俭6.3倍的内存,且对巨图十分敌对。 最初,王麻利就开源社区建设方面的教训进行了分享。他次要分享了以下几点教训。 第一,代码并不是惟一重要的货色,文档在开源我的项目中也占有半壁江山。亚马逊设计了不同层级的文档。针对老手,有120分钟上手DGL,只需下载运行,便可手把手学会如何训练。对于进阶用户,有用户指南,其中涵盖设计概念,有DGL接口手册,通过阶梯式的形式,让用户从老手成长为专家。 第二,开源社区须要有丰盛的GNN模型样例。社区倒退的十分快,反应速度要想跟上社区倒退,就须要GNN有很多不同的利用场景,通过模型把它们涵盖在一起。目前DGL大略有70多个经典的GNN模型样例,涵盖各个领域和钻研方向。 第三,须要重视社区交互。亚马逊设置了很多社区活动,组织开发者们互相交换,如定期举办GNN用户群的分享会,邀请学界和业界前沿的学者或者开发人员分享GNN畛域的成绩等。另外,用户论坛、Slack、微信群,也为大家提供不同渠道的沟通平台。

January 13, 2022 · 1 min · jiezi

关于网络:使用亚马逊云科技安全服务防御检测和响应-Log4j-漏洞

概述在本文中,咱们将为针对最近披露的 Log4j 破绽所影响的客户提供一些领导意见。内容包含如何限度破绽的危险,如何尝试辨认是否易受此问题影响,以及如何应用适当的补丁更新基础架构。 Log4j 破绽(CVE-2021-44228、CVE-2021-45046)是无处不在的日志平台 Apache Log4j 中的一个要害破绽(CVSS 3.1根本分数为10.0)。此破绽容许攻击者在易受攻击的平台上执行近程代码。介于版本2.0-beta-9和2.15.0之间的 Log4j 版本2受影响。 该破绽应用Java命名和目录接口(JNDI),Java程序应用该接口查找数据,通常通过目录查找数据,在呈现此破绽的状况下通常通过 LDAP 目录查找数据。 上面图1重点介绍了 Log4j JNDI 攻打流程。 图1、Log4j 攻打过程。材料起源:GovCERT.ch,瑞士政府计算机应急响应小组(GovCERT) 本篇内容作为一个即时响应,心愿您关注这个设计用于应用任何 Log4j 2.0+ 对正在运行的 JVM 进行热补丁的工具。亚马逊云科技的首席信息安全官史蒂夫·施密特(Steve Schmidt)也探讨了这个热补丁。 进攻客户能够应用多个亚马逊云科技提供的服务来帮忙限度来自 Log4j 破绽所带来的危险/裸露。客户能够建设分层管制办法,并/或抉择以下确定的管制办法,以帮忙限度他们的危险。 Amazon WAF 客户能够应用 Amazon WAF,遵循其相应的托管规定,以帮忙爱护其 Amazon CloudFront 散布、Amazon API Gateway REST API、Amazon ALB 或 Amazon AppSync GraphQL API 资源。 AWSManagedRulesKnownBadInputsRuleSet esp.:Log4JRCE 规定,有助于查看申请中是否存在Log4j破绽。示例模式包含${jndi:ldap://example.com/}。AWSManagedRulesAnonymousIpList esp.:AnonymousIPList 规定,该规定有助于查看匿名化客户端信息的已知源的 IP 地址。AWSManagedRulesCommonRuleSet esp.:SizeRestrictions_BODY 规定,用于验证申请注释大小是否最多为8 KB(8192字节)。对于应用 Amazon WAF Classic 的客户,您须要迁徙到 Amazon WAF 或创立自定义正则表达式匹配条件。 领有多个帐户的客户能够依照阐明应用 Amazon Firewall Manager 跨 Amazon Organization 集中部署 Amazon WAF规定。 ...

January 13, 2022 · 2 min · jiezi

关于网络:Amazon-EC2-串行控制台化繁为简高效解决网络问题

解决生产问题是零碎和网络管理员的主要职责之一。事实上,我始终发现这是基础设施工程中最乏味的内容之一。依据须要深入研究遇到的问题,您不仅可能(最终)圆满解决问题,而且在此过程中还能够学到许多失常状况下无奈接触的货色。 操作系统当然也存在这样的机会。随着时间推移,操作系统会变得越来越简单,管理员必须要把握有数的配置文件和设置。只管基础架构即代码和自动化大大改善了服务器的预置和治理,但谬误和故障总是不免呈现,导致系统无奈失常启动。问题的品种不可胜数:短少硬件驱动程序、文件系统配置谬误、网络配置有效、权限不正确等等。而更蹩脚的是,许多问题实际上会将管理员拒之门外,让他们无奈登录、诊断问题以及执行适当的修复措施。惟一的抉择是与服务器建设带外连贯。此外,只管客户能够查看 Amazon EC2 实例的控制台输入,但在此之前,他们无奈与其进行交互。 控制台输入:https://docs.aws.amazon.com/A...近期,亚马逊云科技非常高兴地发表推出 Amazon EC2 串行控制台,它通过与您的 Amazon Elastic Compute Cloud (EC2) 实例建设串行连贯,从而轻松、平安地排查启动和网络连接问题。 Amazon EC2 串行控制台:https://docs.aws.amazon.com/A...Amazon Elastic Compute Cloud (EC2):https://aws.amazon.com/ec2/ 想要理解更多亚马逊云科技最新技术公布和实际翻新,敬请关注2021亚马逊云科技中国峰会!点击图片即刻报名~ Amazon EC2 串行控制台简介Amazon EC2 串行控制台实用于基于 Amazon Nitro 零碎的 Amazon EC2 实例。它反对所有次要的 Linux 发行版、FreeBSD、NetBSD、Microsoft Windows 和 VMWare。 无需任何可能失常运行的网络配置,即可在亚马逊云科技治理控制台中应用基于浏览器的外壳程序或通过到托管的控制台服务器的 SSH 连贯,从而连贯到实例。无需在您的实例上运行 sshd 服务器:只需为 root 账户调配一个明码,因为您将须要应用此明码来登录。而后,您能够输出命令,如同应用间接连贯到实例串行端口的键盘和显示器一样操作。 Amazon EC2 串行控制台:https://docs.aws.amazon.com/A...Amazon Nitro 零碎:https://aws.amazon.com/ec2/ni...此外,您还能够触发操作系统特定的流程: 在 Linux 上,您能够触发 Magic SysRq 命令以生成解体转储、终止过程等。在 Windows 上,您能够应用应急治理服务 (EMS) 和非凡治理控制台 (SAC) 中断启动过程,而后以平安模式启动。Magic SysRq:https://en.wikipedia.org/wiki...获取对实例控制台的拜访权限是一项特权操作,应受到严格控制,因而默认状况下不容许在账户级别拜访 Amazon EC2 串行控制台。在您的账户中容许此拜访权限后,它将实用于此账户中的所有实例。借助服务控制策略和 Amazon Identity and Access Management (IAM) 权限,管理员还能够别离在组织级别和实例级别施行管制。正如您冀望的那样,与 Amazon EC2 串行控制台的所有通信都已加密,并且咱们会为每个会话生成一个惟一的密钥。 Amazon EC2 串行控制台:https://docs.aws.amazon.com/A...服务控制策略:https://docs.aws.amazon.com/o...AWS Identity and Access Management (IAM):https://aws.amazon.com/iam/Amazon EC2 串行控制台:https://docs.aws.amazon.com/A...上面咱们用 Linux 来做一个疾速演示。应用其余操作系统时的过程也类似。 ...

January 13, 2022 · 1 min · jiezi

关于网络:大咖眼中的AI开源-张建图神经网络和DGL的实际应用

6月26日,亚马逊云科技Community Day在上海举办。亚马逊云科技首席开发者布道师、资深数据科学家、资深利用科学家以及亚马逊云科技Machine Learning Hero悉数到场,针对AI开源的技术趋势及落地实际我的项目进行分享和探讨。 第一期:大咖眼中的AI开源|王宇博:四位一体,构建开源机器学习生态系统 第二期:大咖眼中的AI开源|王麻利:深图在人工智能中的摸索和钻研 第三期:大咖眼中的AI开源 | 吴磊:大规模机器学习在计算广告中的利用与落地 本期,咱们为大家带来了亚马逊云科技资深数据科学家张建对于图神经网络和DGL的理论利用的精彩分享。 想要理解更多亚马逊云科技最新技术公布和实际翻新,敬请关注2021亚马逊云科技中国峰会!点击图片报名吧~ 作为亚马逊云科技资深数据科学家,张建博士的一项重要工作是在理论的客户场景中,应用图神经网络和DGL作为工具来帮忙客户解决外围业务问题、晋升业务价值。在本次分享中,他从数据、模型、速度、解释四个方面介绍了在图神经网络和DGL在落地我的项目中的遇到的挑战和对此的思考。 你的图蕴含足够的信息吗?在学术圈中,很多学者会用凋谢的数据去做模型的构建及算法的加强。在图神经网络钻研畛域最罕用的数据集是Cora、Citeseer和PubMed。这些图通常连接性强,同类别的节点汇集在一起。应用这些图去做模型构建,往往图神经网络的后果体现良好。而理论业务场景中,受限于收集数据的伎俩、存储数据的形式以及解决数据的能力,构建出的图数据有时会十分稠密,导致投入很多精力和工夫进行模型调优,但成果却不现实。如果客户提供的图连接性太低,使得不论用任何的图神经网络模型,它们最终都进化成了一个常见的MLP。另外,客户提供的业务图还常呈现标签数据特地少的状况,上亿个点的图中,只有十几万个节点有标签,仅有0.01%的标签数据。这导致很难通过一个带标签的点找到其余带标签的点构建分割,从而大大降低了图神经网络的有效性。 数据科学家圈有这样一句话:数据特色决定了模型性能的下限,模型只是去有限趋近这个天花板。在模型上再花力量还不如在数据上再想方法。既然说图的信息决定下限?那么什么是图的信息呢?如何掂量“信息”?信息值能领导GNN吗?还要不要搞图?这些问题往往是机器学习实践者甚至开发工程师们所要解决的。张建把这些问题提出来,心愿大家集思广益去解决它。 什么状况下GNN模型更有劣势?“我晓得你们的图神经网络有各种各样的模型,你看看咱们的图用什么模型适合?”工业界的客户已经这样问张建博士。而这个问题很难答复。首先,模型的设计空间远远大于选择项,其次,不同的业务场景对应不同的业务需要,业务场景外面的模型设计或者模型抉择如何针对具体业务,并不容易判断,另外,DGL的外围开发模式是消息传递(MP),在图类畛域,而有些问题曾经能够不必MP来实现。咱们还看到,在图机器学习畛域,至今还未能呈现相似NLP畛域里的GPT这样的模型,可能疾速解决大部分问题。 张建说,最扎心的还远不止这些,而是客户间接质疑:“张博士,你看咱们的XGBoost等模型比这个GNN成果好啊!” 已经有个金融界的客户,用金融行业的常识图谱获取客户间各种各样的关系之后,间接用LightGBM,在联合一千多维的特色后,间接秒杀图神经网络模型。尽管后续通过一些技术,图神经网络模型超过了这个客户的LightGBM模型,但也留下了很多的思考空间。比方,那么图神经网络模型比传统的机器学习模型好在哪儿?什么状况下更好? 张建认为,传统的机器学习模型绝大多数基于特色,而在事实的业务场景里,并不是每一个点或者每一个特色都能拿到,尤其随着隐衷爱护条例的加强,大数据监管越来越严格,收集数据也越来越难。但对于图神经网络模型来说,只管没有特色,仍旧可能建设起关联关系,这就是图神经网络模型的劣势。 图神经网络模型和传统的机器学习模型,并不是非此即彼的关系,须要依据业务场景和业务问题来决定如何抉择,甚至能够组合起来解决问题。不同GNN模型的适用性是什么?点/边的特色怎么用?是不是肯定要用GNN ?如何组合GNN和其余模型?张建将这些问题留给大家去思考。 图模型能做实时推断?在模型有了成果后,是否能上线进行实时推断又成了客户常常询问的问题?这个问题波及两个层面。在图构造外面存在着数据之间的关联性。因而和传统的CV和NLP相比,数据点不是独立同散布的。在做图数据推断时,有两种模式,别离是Transductive模式和Inductive模式。Transductive模式下,在训练阶段,要被预测的节点/边曾经存在于图中,训练的节点能够“看到”这些节点/边,这个模式的问题在于,当须要做预测的时候这些点必须曾经存在,图曾经构建进去了,简直没有方法做到实时。因为要想做到实时,模型必须要去应答将来的点。在Inductive模式下,须要预测的节点在训练阶段并不在图中,是看不见的,只有做推断时候,再去使用到一张图上,能力看到这个点。用Inductive模式做看不见点的推断,会有两种状况。第一种是做批次预测,比方进行反欺诈,用过来七天的数据构建出一个图数据训练模型,在对今天产生的用户行为做检测时,须要把今天的数据和前七天的数据组合起来做成一张图,而后用训练好的模型进行推断。这就是批次推断,它并非实时推断。真正要做到实时推断,须要实时将须要预测节点/边退出曾经存在的图,并抽取出以它N跳子图交给训练好的模型用于推断。 据张建介绍,不光是图社区,整个机器学习社区,包含大数据社区,都还没有为图设计出实时(比方流式)的图数据的存储、抽取、查问的办法。目前已有的图数据库往往在进行增和查的时候还不够快,特地是把一个点/边作为中心点/边进行采样的时候,图数据库的采样的速度还跟不上须要实时推断的速度。对于实时推断的零碎架构,业界也临时没有特地成熟的办法,这是目前须要解决的问题,对于开发者来说,也是个十分大的机会点。 图模型后果怎么解释?模型上线之后,面临的一个问题是怎么去解释模型的后果?这个问题在学术圈能够看到一些钻研后果,但在工业界却很少能看到这类探讨。 比方,利用图模型失去一个节点的预测后,业务人员问为什么?通知他因为跟它相邻的“街坊”对它的影响最大,业务人员必定没方法承受。 另外,图神经网络模型,尽管能够通过图构造去辨认一些模式,然而其中的点都是带有特色的,这个特色最初是一些实数,通过一系列线性变换和非线性变动后,它们间的关系曾经大大超出人类对于因果的认知。如何对图模型的后果进行解释?对于开发者而言任重而道远。 图神经网络的落地面临多方面的挑战,张建说,这些挑战就像是撑持一个登月火箭。数据相当于燃料,模型相当于发动机,所有数据管道和施行架构的问题是整体的火箭设计,而模型的解释,就像须要一个飞控核心。只有把这四个层面的问题都解决好,火箭能力真正飞向月球。 写在最初多年来,亚马逊云科技在人工智能畛域积攒了泛滥我的项目及实践经验,并始终致力于与寰球开发者共创,心愿为人工智能畛域带来新的生机。2021亚马逊云科技中国峰会上海站已完满闭幕,大会以“构建新格局,重塑云时代”为题,携手云计算行业当先的技术践行者,独特分享云时代重塑和构建的故事。同时,上海站也只是本次峰会的先锋官,亚马逊云科技中国峰会还将于9月9日-9月14日在线上与大家见面! 该峰会笼罩一百多个技术专场,设有人工智能畛域技术分论坛,为您带来干货满满、精彩一直的内容。此外,还将携手开源社区及技术大咖在线观点碰撞,开释生机! 点击下方图片报名 点击"浏览原文",理解DGL

January 13, 2022 · 1 min · jiezi

关于网络:多种网络设备的优缺点及网络故障的排除方法

作者:ReganYue 起源:恒生LIGHT云社区 今日谈:多种网络设备的优缺点及网络故障的排除办法后面尝试过介绍计算机网络相干的常识,反应比拟好,明天又给大家总结几点计算机网络的小常识,如果喜爱,心愿能给作者点个赞,评个论呗! 一、多种网络设备的优缺点?1. 集线器价格比拟便宜是它的长处之一。 第二个长处就是在某些状况下,集线器的比拟低的提早,能够以低投入获取高效率。 然而集线器应用共享型模式,所以当某个端口被应用时,其余端口就只能期待。而且应用集线器扩大后网络仍属一个碰撞域,会产生很多抵触。容易产生播送风暴。只能采纳半双工模式。 2、网桥网桥的长处是对帧进行转发和过滤,增大了吞吐量,还能够互连不同物理层,不同速率、不同MAC子层的以太网,然而它减少了时延,而且可能会产生播送风暴。 3. 交换机每一个端口都享有独立的带宽,能够分隔抵触域,进行无碰撞的传输数据。 个别具备多种速率的接口,不便用户。 不会呈现播送风暴。 能够采纳全双工和半双工模式。 毛病是 终端多的时候 提早比拟高。 二、局域网网速变慢,有什么可能的起因?如果局域网中有主机中病毒了,比方蠕虫病毒、ARP病毒,可能会导致局域网网速变慢。网络布局不合理,硬件未及时更新导致端口瓶颈而导致网络变慢。网线品质未按规范制作,老化或水晶头接触不良。局域网中存在环路电驴、迅雷等P2P软件占用带宽过多。播送风暴导致网速变慢。三、计算机不能连互联网,怎么排除故障?先确认是不是欠费停网了。进行杀毒,看是否中病毒了。查看线路状况,看是否线路呈现破损。查看网卡及驱动,看是否有问题。ping 127.0.0.1 测试本机TCP/IP协定栈是否正确。ipconfig /all查看网卡的参数是否正确。ping 局域网中另一台计算机IP地址,测试故障计算机与其余计算机的连通性。四、子网划分 想向技术大佬们多多取经?开发中遇到的问题何处探讨?如何获取金融科技海量资源? 恒生LIGHT云社区,由恒生电子搭建的金融科技业余社区平台,分享实用技术干货、资源数据、金融科技行业趋势,拥抱所有金融开发者。 扫描下方小程序二维码,退出咱们!

January 5, 2022 · 1 min · jiezi

关于网络:优酷弱网平台落地实践

作者:孙长浩(火炏) 弱网环境下的品质保障始终是公认的难题,理论生存中每个人都会遇到弱网环境,比方用户在景区地铁里,高铁上,电梯中,景区周边等场景应用APP大概率都会遇到弱网场景。优酷作为视频内容APP,对网络的要求特色为持续时间长,带宽安稳等,所以对弱网环境尤其敏感。在弱网环境下,用户会遇到诸如卡顿、进行播放等体验问题。咱们通过剖析埋点数据能够清晰的看到目前线上的错误码中,网络(弱网)相干的错误码类型占比曾经超过一半以上。因而,为了进步版本上线品质,无效的模仿线上网络环境,弱网环境下的测试是不可或缺的线下测试组成部分。 基于此,优酷弱网平台从业务的理论痛点登程,针对弱网进行标准化的分级定义,对场景进行精确测量,对线上回溯数据进行精准回放,并对线下/线上弱网模型匹配训练。通过平台化的形式,提供对立的应用和接入办法,一直积攒和积淀更明确的掂量指标以及合理性的规范判断,给测试和开发人员提供更无效的弱网仿真模型。本文就将联合业务场景,开展聊聊优酷弱网测试平台的管制原理、技术实现以及具体业务的应用状况。 弱网认知及原理弱网认知弱网没有严格的指标进行定义,理论能够了解为用户在理论应用集体业务时因信号稳定、网络拥挤等起因造成的业务应用体感差,从而进行的一种体理性形容。 依据用户的理论场景,造成弱网的起因个别有两种: 物理硬件导致:比方离路由器过远,信号强度低,也有周边烦扰大,导致误码率低等状况均会导致用户弱网;IP网络传输性能弱:比方网络节点性能过载,运营商网络限度,跨网传输等等。可参考下图进行了解 通过上图两种场景能够看到整体网络结构比较复杂,存在模仿难、无奈量化的问题,无奈制订统一标准。因而,咱们尝试通过其余形式来进行量化。通过参考 RFC2544 文档,咱们得悉掂量网络性能好坏的办法能够通过吞吐量、丢包率、延时、背靠背四个维度进行掂量,定义规范。因背靠背次要测试转发能力,因而大多数采纳前三项进行掂量。 弱网管制原理由下图TCP/IP协定传输过程,弱网管制次要有两种场景:硬件管制和软件管制。 一、硬件管制次要是通过信号衰减器和噪声发生器进行管制,通过进行信号的衰减以及噪声的大小管制网络中误码率的增高,从而影响应用层接管信号的延时,带宽和误码,目前做wifi性能测试项目次要是应用这个办法,但此种形式目前仅能够定性管制,做不到定量的管制。 二、软件管制目前支流只通过Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量管制,次要是通过在输入端口处建设一个队列来实现流量管制。 接管包从输出接口进来后,通过流量限度抛弃不符合规定的数据包,由输出多路分配器进行判断抉择:如果接管包的目标主机是本主机,那么将该包送给下层解决,否则须要进行转发,将接管包交到转发块(Forwarding Block)解决。转发块同时也接管本主机下层(TCP、UDP等)产生的包,通过查看路由表,决定所解决包的下一跳。而后,对包进行排列以便将它们送到输入接口。个别只能限度网卡发送的数据包,不能限度网卡接管的数据包,所以能够通过扭转发送秩序靠管制传输速率。Linux流量管制次要是在输入接口排列时进行解决和实现,如下图所示: 目前大部分路由器以及树莓派都是应用这个形式。另有一些第三方设施厂商提供的设施,大多也是基于此种模式做的,只是在下层进行了更多的一些封装。此种形式能够做到定量的管制,而做不到定性的管制,因而优酷弱网平台从用户理论场景登程,别离反对量化的软件管制和定性的硬件弱网管制。 优酷弱网平台技术实现平台网络拓扑为了能够让每个用户很不便的应用弱网平台,经屡次评估及探讨最终采纳网络代理的形式,进行网络流量的拦挡和管制,这样的益处是有较强的通用性,无论是Android 还是iOS以及windows零碎均自带网络代理性能,因而用户侧间接在各端设置网络代理并免装置利用即可间接应用,具体的网络拓扑图如下: 平台分层性能架构图优酷弱网平台开发采取分层实现模式,总体分三层: 底层物理层采纳真机及屏蔽箱模式,能够间接对屏蔽箱的真机进行弱网信号管制;WIFI弱网管制层,通过TC服务器的形式进行管制;用户前端页面提供设施及场景治理,状态展现等性能。 平台性能及业务利用平台可反对弱网测试范畴从app的角度看,弱网测试的范畴是十分广的,同时对于app的优化也十分重要,下图是对弱网罕用的测试项的一些性能梳理,目前平台针对这些弱网的测试都是能够反对的。 弱网分级标准化定义大多数开发者对于弱网定义仅限于差、好、坏等这样的形式来进行形容,这样的形容仅仅是一种定性形式,鉴于很多开发解决问题,也仅仅剖析到此,一句网络问题,前面问题就不了了之,优酷弱网平台通过对于弱网参数的分级量化定义,很轻松的就能进行一些性能比照,让开发有针对性优化。 分级量化弱网如下图: 下图是不同分级的量化弱网数据的比照,很容易就能找到产品的差别点: 通过上图,可只低网速场景和高丢包场景,优酷app还有能够提供产品体验优化的中央。 优酷弱网体验继续优化优酷业务次要是音视频播放,对网络稳定性的要求十分高,因而在弱网优化这一块,也积攒的一些教训,次要从网络数据采集登程,针对用户理论的网络情况进行采集。在弱网策略层,对采集到的网络数据进行弱网状态的进入及退出进行策略判断,当用户进行弱网状态时,通过线下数据的策略匹配,对线上用户理论的场景进行匹配,最终达到网路优化的成果,具体可参考如下图: 一、用户弱网场景定义优酷弱网场景:用户在看优酷视频时,在什么样的工夫和中央遇到了导致用户播放呈现加载工夫过长或者无奈起播的问题,该场景有规律性和确定性。 基于上述优酷弱网场景,咱们进行弱网的一些个性测量,并基于测量数据,咱们在实验室进行用户实在的场景模仿,下图是对用户场景的一部分实测模仿。 下图是对用户场景的波形回放及理论测试成果: 二、弱网继续优化过程通过在弱网实验室进行重现用户是播放loading或者无奈起播景象,比方同样检测到用户在地铁会播放会loading。能够依据用户的场景检测,进行地铁前提前大buffer缓存,或者提前提醒用户缓存等各种形式,一旦用户有弱网场景会进行策略命中及优化,次要流程图如下: 通过用户在弱网具体场景的优化和策略匹配,用户在弱网场景播放上的体验有了继续进步。 真机弱网4G信号和WIFI信号,不同的信号源有人造的区别,因而在4G网络状况下进行弱网测试,所须要的环境更为简单,须要专门的屏蔽室,所须要的老本更高,优酷弱网平台采纳屏蔽柜+真机平台+衰减器形式提供实在的弱网场景,用户在真机平台上能够一键用户实在的进行弱网模仿。 下图为:反对信号衰减的屏蔽柜 下图为:信号衰减场景 下图为:在不同信号衰减状况下,下载速率的一些关系图: 全国网络的单点接入能力在咱们理论业务中,因为运营商网络,CDN拥挤等各种起因,经常产生单点的网络问题,优酷弱网平台通过间接代理到全国各地市的形式,能够疾速定位单点问题,并高效解决。 各弱网计划比照 总结及瞻望优酷弱网仿真平台,通过代理的形式、平台化的服务,极大冲破弱网测试所需的环境限度,目前已做到了弱网随时可测,然而5G网络、IPV6网络、IOT设施的大量部署,咱们面临的网络环境更加简单,同时网络拓扑也越来越简单,如何能在实验室对这些网络的仿真仍旧是一个难题。另外线上网络的问题,如何进行自动化的定位和复原也是一个须要继续钻研的内容,弱网平台当前将在这些方向进行发力。心愿将来更多的对网络有趣味的同学,一起成长为网络方面的专家。 关注【阿里巴巴挪动技术】微信公众号,每周 3 篇挪动技术实际&干货给你思考!

December 24, 2021 · 1 min · jiezi

关于网络:iouring-vs-epoll-谁在网络编程领域更胜一筹

简介:从定量分析的角度,通过量化 io_uring 和 epoll 两种编程框架下的相干操作的耗时,来剖析二者的性能差别。 本文作者:王小光,「高性能存储技术SIG」核心成员。 背景io_uring 在传统存储 io 场景曾经证实其价值,但 io_uring 不仅反对传统存储 io,也反对网络 io。io_uring 社区有泛滥的开发者尝试将 io_uring 用于网络应用。咱们之前也在《你认为 io_uring 只实用于存储 IO?大错特错!》中也摸索过 io_uring 在网络场景的利用及其与传统网络编程基石 epoll 的比照,过后咱们的测试结果显示在 cpu 破绽缓解使能的前提下,io_uring 相比于 epoll 能够带来肯定的劣势,在 cpu 漏铜缓解未使能时,io_uring 相比于 epoll 没有劣势,可能还会存在性能降落。 在 io_uring 社区,对于 io_uring 和 epoll 孰优孰劣也始终存在争执,有些开发者声称 io_uring 能够取得比 epoll 更好的性能,有些开发者则声称二者性能持平或者 io_uring 甚至不如 epoll。相干的探讨十分多,具体可参见如下两例: https://github.com/axboe/libu... https://github.com/frevib/io_... 以上探讨从 2020 年 8 月始终继续到当初,其过程十分长也十分地强烈。能够看出 io_uring 和 epoll 在网络编程畛域孰优孰劣目前的确比拟难以达成共识。 目前很多业务想将 io_uring 在网络场景利用起来,但 io_uring 是否能比 epoll 带来性能晋升,大家或多或少存在些许疑难。为了彻底厘清这个问题,龙蜥社区高性能存储 SIG尝试从定量分析的角度,通过量化 io_uring 和 epoll 两种编程框架下的相干操作的耗时,来剖析二者的性能差别。 ...

December 24, 2021 · 3 min · jiezi

关于网络:三步开启你的网络服务全球动态加速之旅

——声网全链路减速 FPA 在跨国跨区网络减速的食用指南 跨国跨区的网络服务质量难题对于小微企业、独立开发者或集体站长而言,保障本人的业务或网站可能拜访晦涩、服务稳固是一件颇具挑战性的工作,尤其是所涉业务包含电子商务、游戏等对实时性有要求、对于提早敏感时,其用户满意度尤为重要。假使本人的用户群散布宽泛、存在跨国跨区的地区特色,采纳传统 CDN 难以满足业务需要、借助云基础设施自建链路减速的老本和复杂度都要求较高。 当跨地区的用户在拜访时网络体验不佳,会重大制约上述组织和集体的业务倒退。为了解决上述问题,许多人会抉择采纳一些收费的产品和服务,例如某些收费的私有云主机或 CDN 减速。但由此带来的运维、治理、扩大和疾速迭代的隐形老本又往往难以承受。在这里咱们介绍一个有可能缓解上述窘境的计划。 分钟级开启声网全链路减速 FPA 服务声网全链路减速 FPA 通过端云协同的寰球 SD-RTN™ 高速网络覆盖了寰球 200 多个国家和地区,能够为门户网站、电商平台、UGC 社区等业务场景提供跨区域、跨网的弱小动动态内容减速,无效解决网络拜访过程响应速度慢、动静内容加载慢等问题,全面晋升终端用户的拜访体验。 目前应用声网全链路 FPA 有两种模式可选,别离是 IPA 模式和 SDK 模式,前者只需配置一下本人的 DNS 设置即可,后者则须要在利用中集成声网的 SDK 模块。本文介绍的是 IPA 模式、也是最简略的一种形式,整个过程只需三步:注册声网帐号、创立和配置我的项目;开启 FPA 服务并获取减速点 IP 地址;将你的 DNS 解析批改为减速点IP地址。目前声网全链路减速 FPA 服务在2022 年 1 月 31 日前完全免费应用、不限流量!2022 年 2 月 1 日后每月可享受 100GB 的收费额度。这个额度对大多数的晚期我的项目来说齐全够用。 首先,拜访声网进行账号注册并创立一个我的项目,如下图所示简略勾选你的应用场景;胜利创立我的项目后进入项目管理界面,在下方的“拓展能力”区域找到“全链路减速”服务并点击“启用”该服务。 此时页面会跳转到全链路减速 FPA 服务的配置界面,如下图所示,源站信息的填写反对 IPv4 地址和域名两种形式,你能够依据理论状况填写多个 IPv4 地址或域名信息,也能够别离创立多个我的项目独自填写,通常取决于你要减速的地区是否雷同、或者治理上的便当思考等因素; Web 业务的端口号通常为 80 请按需填写,同时思考到安全性问题,全链路减速 FPA 反对源地址透传性能(源站可匿),请按需配置: ...

December 22, 2021 · 1 min · jiezi

关于网络:链路分析-KO-五大经典问题

简介:链路剖析是基于已存储的全量链路明细数据,自由组合筛选条件与聚合维度进行实时剖析,能够满足不同场景的自定义诊断需要。 作者:涯海 链路追踪的 “第三种玩法”提起链路追踪,大家会很天然的想到应用调用链排查单次申请的异样,或应用预聚合的链路统计指标进行服务监控与告警。其实,链路追踪还有第三种玩法:相比调用链,它可能更快的定界问题;相比预聚合的监控图表,它能够更灵便的实现自定义诊断。那就是基于明细链路数据的后聚合剖析,简称链路剖析。 链路剖析是基于已存储的全量链路明细数据,自由组合筛选条件与聚合维度进行实时剖析,能够满足不同场景的自定义诊断需要。比方,查看耗时大于 3 秒的慢调用时序散布,查看谬误申请在不同机器上的散布,查看 VIP 客户的流量变动等。接下来本文将介绍如何通过链路剖析疾速定位五种经典线上问题,更直观的理解链路剖析的用法与价值。 链路剖析 K.O “五大经典问题”基于后聚合的链路剖析用法非常灵活,本文仅列举五种最典型的案例场景,其余场景欢送大家一起摸索分享。 【流量不均】负载平衡配置谬误,导致大量申请打到大量机器,造成“热点”影响服务可用性,怎么办? 流量不均导致的“热点击穿”问题,很容易造成服务不可用,在生产环境中呈现过多起这样的案例。比方负载平衡配置谬误,注册核心异样导致重启节点的服务无奈上线,DHT 哈希因子异样等等。 流量不均最大危险在于是否及时发现“热点”景象,它的问题表象更多是服务响应变慢或报错,传统监控无奈直观反映热点景象,所以大部分同学都不会第一工夫思考这个因素,从而节约了贵重的应急解决工夫,造成故障影响面一直扩散。 通过链路剖析按 IP 分组统计链路数据,疾速理解调用申请散布在哪些机器上,特地是问题产生前后的流量散布变动,如果大量申请忽然集中在一台或大量机器,很可能是流量不均导致的热点问题。再联合问题产生点的变更事件,疾速定位造成故障的谬误变更,及时回滚。 【单机故障】网卡损坏/CPU 超卖/磁盘打满等单机故障,导致局部申请失败或超时,如何排查? 单机故障每时每刻都在频繁产生,特地是外围集群因为节点数量比拟多,从统计概率来看简直是一种“必然”事件。单机故障不会造成服务大面积不可用,但会造成大量用户申请失败或超时,继续影响用户体验,并造成肯定答疑老本,因而须要及时处理这类问题。 单机故障能够分为宿主机故障和容器故障两类(在 K8s 环境能够分为 Node 和 Pod)。比方 CPU 超卖、硬件故障等都是宿主机级别,会影响所有容器;而磁盘打满,内存溢出等故障仅影响单个容器。因而,在排查单机故障时,能够依据宿主机 IP 和容器 IP 两个维度别离进行剖析。 面对这类问题,能够通过链路剖析先筛选出异样或超时申请,依据宿主机 IP 或容器 IP 进行聚合剖析,疾速判断是否存在单机故障。如果异样申请集中在单台机器,能够尝试替换机器进行疾速复原,或者排查该机器的各项零碎参数:比方磁盘空间是否已满、CPU steal time 是否过低等。如果异样申请扩散在多台机器,那大概率能够排除单机故障因素,能够重点剖析上游依赖服务或程序逻辑是否异样。 【慢接口治理】新利用上线或大促前性能优化,如何疾速梳理慢接口列表,解决性能瓶颈? 新利用上线或大促备战时通常须要做一次系统性的性能调优。第一步就是剖析以后零碎存在哪些性能瓶颈,梳理出慢接口的列表和呈现频率。 此时,能够通过链路剖析筛选出耗时大于肯定阈值的调用,再依据接口名称进行分组统计,这样就能够疾速定位慢接口的列表与法则,而后对呈现频率最高的慢接口逐个进行治理。 找到慢接口后,能够联合相干的调用链、办法栈和线程池等数据定位慢调用根因,常见起因包含以下几类: 数据库/微服务连接池过小,大量申请处于获取连贯状态,能够调大连接池最大线程数解决。N+1 问题,比方一次内部申请外部调用了上百次的数据库调用,能够将碎片化的申请进行合并,升高网络传输耗时。单次申请数据过大,导致网络传输和反序列化工夫过长且容易导致 FGC。能够将全量查问改为分页查问,防止一次申请过多数据。日志框架“热锁”,能够将日志同步输入改为异步输入。 【业务流量统计】如何剖析重保客户/渠道的流量变动和服务质量? 在理论生产环境中,服务通常是标准化的,但业务却须要分类分级。同样的订单服务,咱们须要依照类目、渠道、用户等维度进行分类统计,实现精细化经营。比方,对于线下批发渠道而言,每一笔订单、每一个 POS 机的稳定性都可能会触发舆情,线下渠道的 SLA 要求要远高于线上渠道。那么,咱们如何在通用的电商服务体系中,精准的监控线下批发链路的流量状态和服务质量呢? 在这里,能够应用链路剖析的自定义 Attributes 过滤和统计实现低成本的业务链路剖析。比方,咱们在入口服务针对线下订单打上一个 {"attributes.channel": "offline"} 的标签,而后再针对不同门店、用户客群和商品类目别离打标。最初,通过对 attributes.channel = offline 进行过滤,再对不同的业务标签进行 group by 分组统计调用次数、耗时或错误率等指标,就能够疾速的剖析出每一类业务场景的流量趋势与服务质量。 ...

December 20, 2021 · 1 min · jiezi

关于网络:声网把七年无全网事故的实时传输网络SDRTN全面开放了这就是FPA

8 月 19 日,声网Agora 举办线上产品发布会,正式公布了“全链路减速 FPA(Full-Path Accelerator)”。全链路减速 FPA 基于声网的软件定义实时网络 SD-RTN™,通过笼罩寰球的多点端到端传输优化,全面晋升了蕴含最初一公里(Last Mile)在内的全网传输性能和可靠性,并通过“云”和“端”的高效协同优化,为企业的利用加上网络 QoS 保障。 声网 Agora 合伙人&技术VP孙雨润在发布会中示意:“声网作为实时互动云服务的开创者与引领者,咱们曾经为寰球超过 33.7 万的利用提供了高质量的实时互动云服务,这得益于声网的软件定义实时网 SD-RTN™ 卓越的网络性能,而咱们在服务客户时发现, 不止是实时音视频的业务,在在线游戏、金融领取、跨境电商等诸多畛域也同样须要牢靠的延时和品质,对此声网决定将 SD-RTN™ 的能力面向所有开发者与企业凋谢,为更多的业务利用提供有 QoS 保障的网络传输解决方案,这也是咱们明天要公布的全新产品‘全链路减速 FPA’。” 互联网只保障连通性 不能保障网络速度与品质在当下的生存中,咱们常常会因为网络问题遇到一些蹩脚的体验。例如工作中因为文件传输迟缓、视频会议卡顿影响工作效率;去菜场买菜手机领取常常失败;玩游戏的关键时刻忽然掉线等等,这些蹩脚体验的背地往往是网络品质问题,再优良的利用体验和精彩的内容也抵不住网络对用户体验的挫伤。 这些网络问题背地的外围起因在于互联网尽管提供了凋谢自在的连贯,任何用户、任何数据都能够享受其传输通道,但其只提供尽可能送达(Best Effort)的服务,不会保障网络传输的速度和品质。同时,最初一公里(Last Mile)网络能力档次不齐也是影响网络传输品质的次要因素之一。一方面,Wi-Fi 设施性能参差不齐,并且 Wi-Fi 信号差、信道竞争、信道切换等问题普遍存在;另一方面,3G、4G 网络在不同的环境下的信号笼罩无限以及传输品质稳定大,例如地铁、隧道、人流顶峰的车站。因而,企业的利用在跨国、跨区域、跨运营商互联时,或全网用量高峰期拥塞,本地接入网络品质不佳,挪动终端的信号不稳固时,蹩脚的网络会导致提早、抖动、丢包,甚至掉线无奈连贯等问题,重大升高咱们的应用体验。 而现有的解决网络传输品质问题的计划:一是运营商专线服务,二是寰球减速GA,这两种计划是基于专线构建高质量的专用通道,尽管保障了通道内的传输品质,包含稳固传输时延,确定的带宽等,但面临着无奈保障最初一公里(Last Mile)传输品质、笼罩偏僻国家与地区难、构建专用通道的资源老本与运维老本低等问题。还有一种计划是 CDN 动静减速,这种计划基于公网调度构建虚构通道,应用大量边缘节点,通过调度算法,提供一个绝对可用的门路,用户笼罩广,但除了同样无奈保障最初一公里(Last Mile)传输品质,还存在骨干传输无奈保证质量,不提供稳固传输时延和确定的带宽。 总结来说,端到端的网络品质问题依然没有失去解决。 全链路减速 FPA 提供网络 QoS 保障 晋升终端用户拜访性能 100%声网已为寰球服务超过 33.7 万+利用,累计撑持超过1万亿的实时音视频分钟数,充沛验证了 SD-RTN™ 具备高速、稳固、牢靠的寰球网络能力,在此基础上声网正式推出了全链路减速FPA(Full-Path Accelerator),通过为互联网减少 QoS,为企业的业务利用提供具备 QoS 保障的寰球端到端网络传输服务。 在骨干网传输方面,全链路减速 FPA 基于 SD-RTN™ ,通过网络智能、路由布局调度、多路冗余等形式,联合要害节点宽泛部署,无效地解决了因网络拥塞、运营商故障等带来的传输品质降落问题。 在终端用户最初一公里(Last Mile)传输方面,全链路减速 FPA 通过终端 SDK 实现弱网反抗、智能接入等能力,大幅晋升了 Last Mile 的品质。 ...

December 13, 2021 · 1 min · jiezi

关于网络:网络协议之基于UDP的高速数据传输协议UDT

简介简略就是美。在网络协议的世界中,TCP和UDP是建设在IP协定根底上的两个十分通用的协定。咱们当初常常应用的HTTP协定就是建设在TCP协定的根底上的。相当于TCP的稳定性来说,UDP因为其数据传输的不可靠性,所以用在某些特定的场合,如直播、播送音讯、视频音频流解决等不太须要校验数据完整性的场合。 UDP绝对TCP协定而言,其特点就是简洁,它删除了在TCP协定中为了保障音讯准确性的各种限制性特色。简洁带来的益处就是快!明天给大家解说一下,基于UDP的高速数据传输协定UDT。 UDT协定UDP因为其简略的个性,所以能够做到很多TCP做不到的事件,比方进行大数据量的疾速传输。这里并不是要将TCP和UDP分个好坏高下,毕竟各个协定的适应场景不同,他们之所以风行,就是因为能够在特定的场景施展出重要的作用。套用中国的一句谚语就是:不论白猫黑猫,能抓到老鼠的,就是好猫。 用好UDP协定,咱们就能够疾速的传递大量的数据,这个协定就是UDT协定。 话说,像这些根底协定都是老外创造的,而中国的互联网巨头都在抢着做平台、做流量的生意,真的是无话可说.... UDT我的项目开始于2001年,是由Yunhong Gu在芝加哥伊利诺伊大学国家数据挖掘核心 (NCDM)读博士期间开发的,并在毕业之后继续的进行保护和降级改良。 UDP的呈现是因为那时候,传输更快更便宜的光纤网络呈现了,代替了之前的铜缆线和双绞线,从而极大的晋升了信息传输的效率。这时候大家就发现之前应用TCP协定来进行大数据的传输会有很大的问题。从而基于UDP的UDT协定呈现了。 UDT的第一个版本,也称为SABUL(Simple Available Bandwidth Utility Library),UDT通过反对批量数据传输,从而不便在公有网络中进行数据的传输。 要留神的是UDT的第一个版本SABUL应用UDP协定进行传输数据,同时应用独自的TCP协定连贯传输管制音讯。 UDT的初始版本是在超高速网络(1 Gbit/s、10 Gbit/s等)上进行开发和测试的,2003年10月,NCDM实现了从美国芝加哥到荷兰阿姆斯特丹的均匀每秒6.8G比特的传输。在30分钟内的测试中,他们传输了大概1.4TB的数据。 从2004年公布的2.0版本开始,SABUL改名为UDT,UDT的全称是UDP-based Data Transfer Protocol,也就是基于UDP的数据传输协定。 为什么要改成UDT呢?因为在UDT2.0中,删除了SABUL中的TCP 管制连贯,并应用UDP来解决数据和管制信息。 另外,UDT2还引入了一种新的拥塞控制算法,容许协定动静调整UDT和TCP流,实现UDT和TCP流的并发运行。 在2006年,UDT协定降级到了3版本,该协定不仅是在公有网络中运行了,而是扩大到了商业互联网中。同时UDT3中的拥塞管制能够进行调整优化,能够在低带宽的环境中运行,并且容许用户轻松定义和装置本人的拥塞控制算法。另外,UDT3还显着缩小了系统资源(CPU和内存)的应用。 2007年,UDT4版本在高并发和防火墙穿透方面进行优化和性能的晋升。UDT4容许多个UDT连贯绑定到同一个UDP端口,它还反对汇合连贯设置,以便UDP hole punching。 什么是UDP hole punching呢? UDP hole punching通常被用在网络地址转换 (NAT)中。用来保护穿梭NAT的用户UDP数据包流。它是一种应用网络地址转换器在专用网络中的Internet主机之间建设双向UDP连贯的办法。 什么是NAT呢? 大家都晓得IPV4地址是无限的,很快IPV4地址就快用完了,那怎么解决这个问题呢? 当然,一个永恒解决的方法是IPV6,不过IPV6推出这么多年了,如同还没有真正的遍及。 不应用IPV6的话还有什么解决办法呢? 这个方法就是NAT(Network Address Translators)。 NAT的原理是将局域网的IP和端口和NAT设施的IP和端口做个映射。 NAT外部保护着一张转换表。这样就能够通过一个NAT的IP地址和不同的端口来连贯泛滥的局域网服务器。 那么NAT有什么问题呢? NAT的问题在于,外部客户端不晓得本人外网IP地址,只晓得内网IP地址。 如果是在UDP协定中,因为UDP是无状态的,所以须要NAT来重写每个UDP分组中的源端口、地址,以及IP分组中的源IP地址。 如果客户端是在应用程序外部将本人的IP地址通知服务器,并想跟服务器建设连贯,那么必定是建设不了的。因为找不到客户端的公网IP。 即便找到了公网IP,任何达到NAT设施外网IP的分组还必须有一个指标端口,而且NAT转换表中也要有一个条目能够将其转换为外部主机的IP地址和端口号。否则就可能呈现下图的连贯失败的问题。 怎么解决呢? 第一种形式是应用STUN服务器。 STUN服务器是IP地址已知的服务器,客户端要通信之前,先去STUN服务器下面查问一下本人的外网IP和端口,而后再应用这个外网IP和端口进行通信。 但有时UDP包会被防火墙或者其余的应用程序所阻挡。这个时候就能够应用中继器技术Traversal Using Relays around NAT (TURN) 。 单方都将数据发送到中继器server,由中继器server来负责转发数据。留神,这里曾经不是P2P了。 最初,咱们有一个集大成者的协定叫做ICE(Interactive Connectivity Establishment ): ...

December 13, 2021 · 1 min · jiezi

关于网络:前端调不通后端接口的解决方法

在前端与后端同志联调时 ,调接口的时候标头上有个黄色感叹号,拜访不通怎么办?起因是因为防火墙平安限度。 把你和后端同志的window防火墙敞开掉就解决了: 如果内网的其余电脑想长期拜访你的电脑看看前端界面怎么办?你的前端服务要跑到0.0.0.0:端口 ip上,内部就能通过你电脑的ip端口就能拜访你的前端服务看界面了。

December 10, 2021 · 1 min · jiezi

关于网络:想给用户天涯若比邻的体验业务全球化面临的三重挑战

01 疫情下的在线需要与用户体验弗里德曼在《世界是平的》一书中提出,经济全球化的倒退过程中造成了三次浪潮,别离是劳动力密集型的全球化、资本密集型的全球化和常识密集型的数字全球化。数字化技术对寰球商业环境带来了深远的影响,新冠疫情席卷寰球,在线连贯成为了沟通的主题,然而网络问题却成为业务全球化的阻碍。 因为疫情导致的实时在线需要暴涨,对于寰球网络来说,首当其冲的流媒体和视频会议的压力剧增。为了防止网络呈现拥挤和避免出现音视频卡顿含糊的景象,YouTube、Netflix和Disney+等被迫升高用户端分辨率,以加重带宽压力。而仓促上线的各类视频会议服务更是一度个体解体。 因为疫情带来的隔离和出行限度,在线娱乐风口热流涌动。据《南方周末》报道,中国人均匀一天花在手机利用上的工夫为196分钟,有5亿人以电竞游戏作为居家休闲的次要形式之一。但网络下载速度慢,游戏掉线、卡顿等问题重大影响了用户体验。跨境电商购物遭逢订单响应慢、领取失败等问题,用户散失将会十分重大。 02 网络问题制约着企业业务全球化的步调以后业务全球化成为了泛滥支流互联网公司的外围策略。内容型业务也成为全球化的热点,在中国企业的出海潮中也有很多体现。在以内容为潮流的出海互联网企业中,游戏、直播、在线教育、泛娱乐、办公合作成为企业的热门选项。 对于业务全球化,公司会将更多精力放到经营,底层的寰球服务构建变得弱势,然而往往很多业务在拓展中用户体验便是在底层基础设施中卡壳。 在硬件配置高冗余的当下,大多数互动、动作类游戏利用考验的不再是机器的配置,外围体验在于操作反馈的及时性,寰球不同地区的玩家是否可能取得实时畅快的体验是游戏经营方最根底的保障。加之寰球不同地区的区域同步、用户每次登录游戏的一次性成功率、连贯的稳定性等多维的用户诉求,游戏运营商须要在抽象的“游戏体验”下做更精准的需要拆解和更优质的技术应答。 音视频直播则更加考验直播的清晰度、晦涩度,已经作为视频网站的单选题,也在用户体验档次降级后变成了鱼和熊掌兼得的选项。在寰球不同地区笼罩如何保障音视频晦涩拜访也成为要害,尤其是东南亚等电信基础设施服务能力较弱的状况下仍然能提供晦涩的视听体验。 对于跨境电商、金融等场景,更加须要及时、稳固、疾速数据同步的服务,这仍然对互联网出海利用的底层抗打击能力提出了要求。 03 原生互联网没有QoS保障互联网提供的是Best-Effort(尽力而为)网络互联服务,它的使命是尽最大可能地传输数据,因而它优先思考的是连接性和可扩展性,但不保障将数据残缺传输进来,也不保障用户的时延、可靠性等QoS品质以及优先级。 互联网是由各个区域性网络组成的,没有中心化治理和调度机制,全球性的网络传输须要跨多个网络。然而每个区域都由不同的ISP来运维,不同ISP依据服务提供规模和性质会有不同层级,不同层级ISP之间也有不同数据路由规定。 不同层级的ISP互联 依靠 BGP协定,ISP间的直连(Peering)和转接(Transit)更加高效。这种组织形式保障了规模与可扩展性,然而作为代价升高了端到端网络通信的可用性与品质。 一方面BGP没有设计对继续拥塞、丢包、突发流量、提早大等网络问题的检测发现,只有还能通就持续沿着原来门路发送,只管从丢包延时抖动等参数上看网络曾经重大好转,大部分应用程序的体验将会很蹩脚,对实时性和品质敏感的利用则无奈应用。假如上海电信到美国LA方向带宽拥挤,造成丢包高达 30%,同时上海电信到香港方向带宽富裕不丢包,BGP协定没方法做到舍弃直连,转为从香港运营商转接到美国LA从而改善品质。 另一方面当一条门路的确不通时,BGP须要破费很长时间能力复原,有试验表明 10%的门路无奈实现 95%的可用性、35%的门路可用性低于4个9(99.99%)、40%的门路故障破费30分钟以上能力修复、5%的门路故障修复工夫超过2小时45分钟。 因而,Internet骨干网的路由架构是为了绝对简略、高可扩展性优化的,它胜利地撑持了过来几十年Internet规模的几何级数增长,背地的代价就是无奈疾速提供有 QoS 保障的网络传输。。 同时从用户网络接入层面来看,WiFi、3G、4G、5G等多种接入形式,让接入网络问题愈发简单。3G、4G、5G无线信号受区域影响不稳固,上下行带宽无限。WIFI则受设施限度,饱受性能参差不齐、信号时好时坏、烦扰重大等问题困扰。同时接入网的高复用比,高峰期流量拥塞问题显著。 在应用互联网提供的是Best-Effort(尽力而为)网络互联服务时,取决于以后的负载状况会遇到不同水平的丢包、延时和带宽限度。然而以后存在包含音视频通信、在线游戏、挪动金融、企业寰球办公、企业近程合作、跨境电商、跨网跨区域的物联网数据音讯同步,以及各类出海利用和海内用户拜访国内源站等,都要求网络传输有确切定义的实时性与可用性,这些利用须要有更弱小的QoS保障。 04 QoS保障背地的技术挑战咱们对上文不同场景需要进行拆解中,能够将一些共性的诉求做一些演绎,看看业务全球化下互联网利用QoS保障须要面对哪些挑战。 挑战一:寰球网络基建参差不齐,跨网提早大,弱网影响用户体验。 Speedtest公布了2020年12月份寰球网速排行榜,中国移动网络速率寰球第四,是寰球平均水平的三倍。而像印度,非洲,中亚,东南亚局部地区均匀网速,只有中国的十分之一,相当于中国3G的年代。国内大部分的APP,出海都将面临常见弱网问题。如带宽受限,高峰期拥塞,丢包重大。对端侧协定优化,业务优化提出更高的要求。 运营商间的数据交互接口简单,导致跨运营商拜访提早减少。在跨国连贯中,国内海缆稀缺资源,跨大区服务带宽无限,高峰期拥塞。同时运营商之间路由协商依赖人为配置,配置谬误时有发生,导致流量黑洞。 挑战二:分布式部署,跨区域高质量拜访构建老本高。 基于专线的跨区域拜访构建,单M老本千元以上,专线的计费模型,扩容形式也难以撑持业务疾速的弹性扩大。在硬基础设施的高老本下,须要更优的底层软件技术降低成本,然而软件的低成本带来的是人力的大投入,这须要企业在业务倒退中有更多的博弈。 挑战三:私有云笼罩无限,多云复杂度高。 私有云通道往往受到网络带宽、节点布局等因素制约,跨境业务拜访还是面临不少难题。出海企业所处行业不同,业务要求不一,加上出海的国家和地区在法律法规和IT基础设施建设方面也存在很大差别。私有云大部分笼罩的是发达国家地区,在偏远地区笼罩则是空白,特地在非洲,南美,中亚地区。 少数企业抉择多云的形式进行业务部署,这势必又减少了复杂度。有些是跨地区的多个云服务商,有些是同地区的多个云服务商,还有背地更加简单的运营商网络专线组合。简单的电信运营商、云服务商跨网问题成为区域笼罩的挑战。

December 9, 2021 · 1 min · jiezi

关于网络:windows-断网连不上WIFI

在公司网络或者在一个内网环境中,连贯WIFI上网时忽然断网,重启电脑了还是不行,没有什么好方法,通过本人的一番瞎折腾后,狐疑有可能是本人的ip被挤掉了,尝试从新获取(调配)一下电脑的ip解决了! 关上windows的 控制面板-网络和共享核心-抉择对应WIFI-属性 : 而后抉择ipv4选项,先高低两个都轻易设置一个内网的ip地址,点击确定。而后再回到这个批改ip的界面改成“主动取得IP地址”和“主动取得DNS服务器地址”,再连贯WIFI就连上网络了:

December 9, 2021 · 1 min · jiezi

关于网络:互联网公司如何塑造一支有创业精神的技术团队

简介:践行这套实践,一个很大的感叹:守业文化的摸索,就是和一群气味相投的搭档去一直摸索未知世界,并实现集体与个体成长的过程。所以也十分渴望和气味相投的同学一起探讨交换! 作者 | 岩动 01引言咱们常常会面对什么问题? 在互联网公司带过技术团队的人,或多或少会遇到这样一些问题: 1、 咱们潜心研究的自认为高大上的我的项目成绩,低头看天的时候发现天曾经变了,齐全不能满足理论须要; 2、面向高度竞争的赛道,咱们有的业务很无情地被竞对逐渐反超,或者在竞争中处于弱势,而且感觉很难冲破; 3、技术团队之间分工仿佛永远都不那么清晰,而且不论中台怎么演变仿佛永远也不能满足业务须要; 4、总是感觉团队的效率很低,明明人才都不缺,就是各种掣肘,反倒跑得没有守业公司快;5、团队做事件提不起趣味,既不能感觉到业务成就感,也感觉没有技术含量,离已经的技术现实渐行渐远;6、当有满腔热情的高大上的技术现实,然而感觉有施展不进去,始终在被繁琐的事件消磨时光等等。 这些问题阿里的技术团队也会遇到,所以咱们始终在思考到底产生了什么,咱们应该怎么应答。我大略从时代背景和组织局势两个方面去找一些线索。 咱们当初处于什么样的时代?要搞清楚这个问题,咱们首先要看一下咱们处于一个什么时代。 咱们身处的世界变动越来越快,常识边界一直被冲破,信息的超饱和一直突破临时达成均衡的场面。VUCA,是 Volatility(易变性)、Uncertainty(不确定性)、Complexity(复杂性)、Ambiguity(模糊性)的缩写,概括了后互联网时代商业世界的特色——一团乱麻。在各个领域,商业组织与集体,很容易发现自己处于烦絮的矛盾之中。 ——《哈佛商业评论》 VUCA 时代曾经到来,咱们也不可避免的须要去面对 VUCA 的情况,这样就会发现很多状况: 1、商业逻辑的复杂性越来越高,消费者、商家、平台、合作伙伴都会有诉求,思考的角色和因素越来越多,商业链路越来越长,互联网的流量红利曾经到了天花板,仅仅靠做一个售卖平台就能够解决问题的时代曾经不存在了,博得市场的形式越来越难; 2、生产趋势,竞争局势,市场风向都处于一直变动性的过程中,咱们很难再通过一种固定的打法和策略去博得市场,就像批发的业态,始终在一直演变和降级; 3、在面向未来的商业模式摸索,竞对的参加,市场格局的变动过程中,我的项目的不确定性是比拟高的,是否会失败,或者最终通过哪个方向胜利,都存在不确定性,比方,是否存在一种效率最优的批发模式? 这些 VUCA 的特色都会传导到技术团队,如果咱们还在用以前平台化、确定性、单一性的思路去作战,会有十分多的不适应感。 组织成长上咱们应该留神到什么趋势?1、协同的复杂性:随着公司组织规模的扩充,组织构造也变得越来越简单,业务线,产品,技术,职能团队,各种上游和上游,一个我的项目运作协同的团队十分多,大家优先级可能对不齐,单干的时候各有各的指标,不可避免地存在组织内耗,互相踩脚; 2、团队外部治理的复杂性:新的 90 后、95 后逐渐登上舞台,他们更加沉闷,谋求工作的趣味和高兴;新人与老人的穿插,职业诉求不完全相同;公司内部信息量很多很杂,包含一些负面的诸如内卷,PUA 之类的负面音讯;同时里面引诱很多,给咱们的组织成长提出了新的挑战。 咱们抉择用“创业精神”来解决技术竞争力和组织能力激活的挑战在时代背景的变动和组织成长的新的局势下,咱们有没有方法践行一套新的思路,来从新激活咱们的团队? 在同城批发守业的这段时间,咱们始终在思考和摸索如何践行守业文化,去解决面对商业愿景的构建和组织能力激活的挑战,这段时间以来,看着咱们的产品一天天长大,客户规模一天天变多,团队也在一天天成长,目前看起来获得了一些初步后果。在面向守业环境文化中,咱们也踩了不少大坑,也缓缓摸索出了一套浅显的思路,给业界技术同行们做个分享。 愿景篇01对守业方向领有动摇的信念要做成一件事件,首先是创始人得问问本人:你是不是置信这件事能做成?要是本人都不置信,那谁也救不了这个团队;唐僧师徒可能胜利达到西天取经,最要害的因素是什么?是唐僧取经的信念是十分动摇的。 领有动摇的信念之所以这么重要,是因为守业所面对的复杂性,不确定性,多变性,必须要弱小的心力能力走到最初,才能够在面对失败和苦楚的时候爬出泥潭,并且在大团队面对引诱或者方向跑偏的时候能将方向拉回。 领有动摇的信念是和个别非守业技术团队的基本区别,没有信念的团队就是一个接需要、做我的项目的惯例团队,只能同流合污,成就平平。 留神一个点,动摇的信念并非集体YY,而是各方面综合判断之后造成的方向认知。比方我对于咱们团队守业的方向,是联合商业&技术趋势+公司策略须要+技术团队的趣味与成长诉求,这三项因素的综合剖析得出的论断。这个逻辑推理是十分紧密的;所以这里面对技术 Leader 的常识视线、技术格局、策略定力有十分高的要求。“思考透彻,口头坚定”,是我比拟置信的一种处事形式,想分明了,就坚定地做上来。 领有动摇的信念之所以这么重要,是因为守业所面对的复杂性,不确定性,多变性,必须要弱小的心力能力走到最初,才能够在面对失败和苦楚的时候爬出泥潭,并且在大团队面对引诱或者方向跑偏的时候能将方向拉回。 守业要胜利,不可能是创始人一个人在跳舞,面对现在商业世界的复杂度,创业项目的胜利必须要有一支高度认同产品愿景的外围团队;这种高度认同是守业胜利的要害力量!为什么外围团队的核心理念必须要高度认同?因为创业项目的生死随时命悬一线,在关键时刻是须要靠大家凝成一股绳去渡过难关,所以外围团队必须要在外围愿景、外围策略和外围价值观下面达成高度一致;反之如果外围团队如果调频不统一,哪怕外围同学中有一个人不统一,会造成团队成员心态下面的动荡和内耗。所以当核心理念对不齐的时候,肯定要及时辨认到,并且坐下来拉齐认知。当外围团队要引入新的搭档,肯定要把理念对齐;说得重大一点,如果核心理念齐全不认可的同学,让他来到这个创业项目也是一个抉择。 那什么是核心理念,就是创业项目的外围愿景和方向、外围策略和外围价值观,我能够列举咱们团队的一些核心理念大家感受一下: 1、外围方向:保持批发将来的方向是极致的生产体验和欠缺的商家配套服务; 2、外围策略:保持产品力的打磨;给商家带来真正的收益,而不是只看签约规模; 3、外围价值观:保持技术匠心精力和极客文化;保持简略通明的团队沟通;而其余方面诸如人的性情差别、能力模型、工作形式有差异,这是能够兼容并包的,只有不波及外围愿景、策略和价值观,关系都不大。 策略篇跳出公司看行业跳出公司看行业,是与面向外部研发团队的视角下面的根本性差别,其核心理念是站在整个行业视角去看所处的守业方向,而非仅仅从公司本人的视角来看。 1、眼光的要求。为什么守业团队肯定要跳出公司看行业?很简略,因为守业是要帮公司去打下江山,眼光就不能局限在公司外部;你的客户、竞对、搭档,都可能在公司之外,如果光盯着公司外部做事件,那天然是闭门造车,要么是墨守成规;正所谓高维打低维,如果视角不拉高一个维度,就无奈做出高于这个维度的事件;别只是盯着老板在想什么,管理层在想什么,多走进来看看,管理者们走进来看看真正的行业在产生着什么,可能更可能了解当初公司所处的市场格局。 2、突破资源依赖性。什么是真正的创业精神?哈佛大学商学院对其的定义是:“创业精神就是一个人不以以后无限的资源为根底而谋求商机的精力”。咱们站在公司的肩膀上,可能很容易搞不清楚是咱们本人牛,还是公司这个平台牛,如果独自把咱们本人拿出去,会不会被竞对秒成渣?比方他人和你单干,是看重平台自身的资源,还是你的产品做得真的很好?所以要创始真正的格局,肯定要遗记本人是谁,要有扔掉拐杖的勇气,本人就可能在市场中摸爬滚打一步步长大。 那具体来说,应该怎么做呢?有几个参考点给大家: 1、多看行业钻研报告,多关注虎嗅,36kr 等行业资讯,理解里面的世界; 2、把公司的业务融到大行业中去看,全局上看清楚; 3、多与内部客户和生态接触,理解他们在如何做本人的生意和流动,他们当下的理论思考和痛点是什么; 4、关注你的竞对在做什么,他们是如何思考商业模式与客户价值;他们的劣势和劣势是什么,咱们做的话如何超过对手; 5、在做事件的时候,专一于产品力打磨,看一下本人的产品在没有公司资源的时候,是否还具备竞争力?02 做客户的敌人做客户的敌人,是对客户价值的一种更高的要求,这一点在面向守业环境的时候更加重要,而且咱们有着十分粗浅的体感,都是一些是实战之后的教训: 1、不要 YY 需要:搞的每一件事件都须要说分明哪类实在的客户,什么痛点,什么诉求;这个点特地重要,客户的实在的场景,和咱们的逻辑推理有很大的区别!在真正面向客户当前,你会发现咱们靠推理想进去的痛点和门路,打准的概率是很低的;多去现场,波及重要的线下交付,要去现场,去现场,去现场!现场会让你更加明确实在的现场和动向的场景有多大差异; 2、让阳光同时晒到每一寸土地:缩短每个职能角色取得痛点和需要的门路,也就是突破惯常的瀑布式门路,每个角色都应该真真切切领会到客户的一手痛点,确保大家真正搞懂了客户的问题,客户的声音肯定要让每一个职能的人听见; 3、天使客户的成长:在产品初期打磨阶段,有客户违心陪着你走,是很重要的,千万要保持良好的信任度,和客户一起成长。好的口碑和坏的口碑,都是很快会传导的! 4、客户问题的响应速度相对是第一优先级:比方对于 toB 的产品体系,逐渐摸索进去,有几个机制特地重要:block 问题日清;每周固定 review 客户问题;每个客户建设专属服务群,业务、产品、凋谢、测试都在外面; 5、看清楚客户真正如何在用咱们的产品:不要光看上线数量,肯定要看商家真正在怎么应用咱们的零碎,他们的数据到底失常还是不失常;咱们的产品力构建得怎么样,他们怎么在用咱们的产品; ...

December 8, 2021 · 1 min · jiezi

关于网络:网络协议之一定要大写的SOCKS

简介很久很久以前,人们还穿的是草鞋,草鞋尽管衣着难受,然而不够好看。而后人们就发现,用动物的皮也能够做成鞋,于是呈现了皮鞋。然而皮鞋衣着磨脚,于是人们又创造了socks,套在脚上,代替脚跟鞋子接触,既进步了舒适感,也缩小了磨损,几乎是两全其美的事件,十分完满。 在网络世界,也存在这样的socks,为了和真实世界的socks进行辨别,这里咱们应用大写的SOCKS。 SOCKS就是咱们明天要解说的网络代理协定。 SOCKS的故事在解说SOCKS之前,咱们回顾一下OSI网络七层协定。 OSI是Open System Interconnect的缩写,意为开放式系统互联。 而SOCKS也是一种网络协议,它的作用和socks一样,用来代替客户端和服务器端进行连贯,也就是代理协定。 SOCKS在OSI七层协定的第五层,也就是会话层中,它处于体现层和传输层的两头。从上图能够看到SOCKS的底层就是TCP和UDP协定。 作为一个代理协定,SOCKS能够提供基于TCP和UDP的代理,相较于HTTP的代理而言,SOCKS的代理更加底层,所以利用场景也会更多。 通常来说,SOCKS的规范端口是1080。 SOCKS的历史每个协定都有本人的发展史,SOCKS也不例外,如果要把所有协定的发展史以故事的模式讲述起来肯定会很有意思,大家能够期待一下,说不定某天这样的文章就呈现了。 代理是网络中的一项基本功能,SOCKS代理最先是由美国MIPS科技公司的David Koblas设计的。MIPS公司以开发MIPS架构和基于该架构的一系列 RISC CPU 芯片而闻名。不过前面被一系列的收买,最终MIPS 架构被放弃了,转而反对RISC-V架构。 MIPS在1992年被Silicon Graphics收买了,在那一年Koblas发表了对于SOCKS的论文,SOCKS一举成名。 SOCKS最宽泛应用的协定版本是4和5。SOCKS4是NEC的Ying-Da Lee创造的。因为SOCKS 4中并没有对于平安方面的约定,然而对于当初的网络来说,平安越来越重要,所以呈现了SOCKS5,SOCKS5协定最后是一种使防火墙和其余平安产品更易于治理的平安协定。 SOCKS协定的具体内容当初罕用的SOCKS协定次要有SOCKS4、SOCKS4a和SOCKS5。本节将会具体讲诉他们的协定形成。 SOCKS4先看一下SOCKS4的申请数据package长得什么样子的: 含意VERCMDDSTPORTDSTIPID字节个数1124可变VER 占用1个字节,示意的是SOCKS协定的版本号,对于SOCKS4来说,这个值是0x04。 CMD 占用1个字节,示意的是要执行命令的代码,有两个抉择,其中0x01 示意建设一个TCP/IP 流连贯,0x02示意建设一个TCP/IP端口绑定。 DSTPORT 占用2个字节,示意指标端口号。 DESTIP 占用4个字节,示意的是IPv4地址。 ID 占用字节不定,示意的是用户ID。 对于申请数据,相应的返回数据如下: 含意VNREPDSTPORTDSTIP字节个数1124VN占用1个字节,示意是返回的音讯的版本。 REP占用1个字节,示意返回的code: 字节含意0x5A申请受权0x5B申请回绝或者申请失败0x5C因为申请不蕴含客户端ID或者服务器端无奈连贯客户端而失败0x5D因为客户端ID不匹配而失败DSTPORT占用两个字节,示意目的地的端口,如果没有绑定的话,则为空。 DSTIP占用4个字节,示意客户端绑定的目的地的IP地址。 举个例子,如果客户端想应用SOCKS4从Fred连贯到66.102.7.99:80,申请如下: 0x04 | 0x01 | 0x00 0x50 | 0x42 0x66 0x07 0x63 | 0x46 0x72 0x65 0x64 0x00其中最初一个字段是Fred的ASCII编码。 如果服务器端返回OK,则对应的响应如下: 0x00 | 0x5A | 0xXX 0xXX | 0xXX 0xXX 0xXX 0xXX其中0xXX能够是任意值。 ...

November 30, 2021 · 1 min · jiezi

关于网络:网络高手都学过的-100-个网络基础知识

本文来自网络,相干著作权归原作者所有 1)什么是链接?链接是指两个设施之间的连贯。它包含用于一个设施可能与另一个设施通信的电缆类型和协定。 2)OSI 参考模型的档次是什么?有 7 个 OSI 层:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。 3)什么是骨干网?骨干网络是集中的基础设施,旨在将不同的路由和数据散发到各种网络。它还解决带宽治理和各种通道。 4)什么是 LAN?LAN 是局域网的缩写。它是指计算机与位于小物理地位的其余网络设备之间的连贯。 5)什么是节点?节点是指连贯产生的点。它能够是作为网络一部分的计算机或设施。为了造成网络连接,须要两个或更多个节点。 6)什么是路由器?路由器能够连贯两个或更多网段。这些是在其路由表中存储信息的智能网络设备,例如门路,跳数等。有了这个信息,他们就能够确定数据传输的最佳门路。路由器在 OSI 网络层运行。 7)什么是点对点链接?它是指网络上两台计算机之间的间接连贯。除了将电缆连贯到两台计算机的 NIC卡之外,点对点连贯不须要任何其余网络设备。 8)什么是匿名 FTP?匿名 FTP 是授予用户拜访公共服务器中的文件的一种形式。容许拜访这些服务器中的数据的用户不须要辨认本人,而是以匿名访客身份登录。 9)什么是子网掩码?子网掩码与 IP 地址组合,以辨认两个局部:扩大网络地址和主机地址。像 IP 地址一样,子网掩码由 32 位组成。 10)UTP 电缆容许的最大长度是多少?UTP 电缆的单段具备 90 到 100 米的容许长度。这种限度能够通过应用中继器和开关来克服 11)什么是数据封装?数据封装是在通过网络传输信息之前将信息分解成更小的可治理块的过程。在这个过程中,源和指标地址与奇偶校验一起附加到题目中。 12)形容网络拓扑网络拓扑是指计算机网络的布局。它显示了设施和电缆的物理布局,以及它们如何连贯到彼此。 13)什么是 VPN?VPN 意味着虚构专用网络,这种技术容许通过网络(如 Internet)创立平安通道。例如,VPN 容许您建设到近程服务器的平安拨号连贯。 14)什么是 NAT?NAT 是网络地址转换。这是一种协定,为公共网络上的多台计算机提供一种形式来共享到 Internet 的繁多连贯。 15)OSI 参考模型下网络层的工作是什么?网络层负责数据路由,分组替换和网络拥塞管制。路由器在此层下运行。 16)网络拓扑如何影响您在建设网络时的决策?网络拓扑决定了互连设施必须应用什么媒介。它还作为实用于设置的资料,连接器和终端的根底。 17)什么是 RIP?RIP,路由信息协定的简称由路由器用于将数据从一个网络发送到另一个网络。它通过将其路由表播送到网络中的所有其余路由器来无效地治理路由数据。它以跳数为单位确定网络间隔。 18)什么是不同的形式来爱护计算机网络?有几种办法能够做到这一点。在所有计算机上安装牢靠和更新的防病毒程序。确保防火墙的设置和配置正确。用户认证也将有很大的帮忙。所有这些组合将形成一个高度平安的网络。 19)什么是 NIC?NIC 是网络接口卡(网卡)的缩写。这是连贯到 PC 以连贯到网络沈北。每个 NIC都有本人的 MAC 地址,用于标识网络上的 PC。 20)什么是 WAN?WAN 代表广域网。它是天文上扩散的计算机和设施的互连。它连贯位于不同地区和国家/地区的网络。 21)OSI 物理层的重要性是什么?物理层进行从数据位到电信号的转换,反之亦然。这是网络设备和电缆类型的思考和设置。 ...

November 7, 2021 · 2 min · jiezi

关于网络:积跬步至千里QUIC-协议在蚂蚁集团落地之综述

作者:孔令涛 自 2015 年以来,QUIC 协定开始在 IETF 进行标准化并被国内外各大厂商相继落地。鉴于 QUIC 具备“0RTT 建联”、“反对连贯迁徙”等诸多劣势,并将成为下一代互联网协议:HTTP3.0 的底层传输协定,蚂蚁团体支付宝客户端团队与接入网关团队于 2018 年下半年开始在挪动领取、海内减速等场景落地 QUIC。本文是综述篇,介绍 QUIC 在蚂蚁的整体落地状况。之所以是综述,是因为 QUIC 协定过于简单,如果对标已有的协定,QUIC 近似等于 HTTP + TLS +TCP,无奈具体的毕其功于一役,因而咱们通过综述的形式将落地的重点出现给读者,次要介绍如下几个局部: QUIC背景:简略全面的介绍下 QUIC 相干的背景常识;计划选型设计:具体介绍蚂蚁的落地计划如何另辟蹊径、优雅的撑持 QUIC 的诸多个性,包含连贯迁徙等;落地场景:介绍 QUIC 在蚂蚁的两个落地场景,包含:支付宝客户端链路以及海内减速链路;几项关键技术:介绍落地 QUIC 过程中外围须要解决的问题,以及咱们应用的计划,包含:“反对连贯迁徙”、“晋升 0RTT 比例", "反对 UDP 无损降级”以及“客户端智能选路” 等;几项要害的技术专利。QUIC 背景介绍鉴于读者的背景可能不同,在开始本文之前,咱们先简略介绍下 QUIC 相干的背景常识,如果您对这个协定的更多设计细节感兴趣,能够参见相干 Draft:https://datatracker.ietf.org/... 一、QUIC 是什么?简略来说,QUIC (Quick UDP Internet Connections) 是一种基于 UDP 封装的平安 牢靠传输协定,他的指标是取代 TCP 并自蕴含 TLS 成为规范的平安传输协定。下图是 QUIC 在协定栈中的地位,基于 QUIC 承载的 HTTP 协定进一步被标准化为 HTTP3.0。 二、为什么是 QUIC ?在 QUIC 呈现之前,TCP 承载了 90% 多的互联网流量,仿佛也没什么问题,那又为何会呈现革命者 QUIC 呢?这次要是因为倒退了几十年的 TCP 面临 “协定僵化问题”,体现在几方面: ...

November 5, 2021 · 4 min · jiezi

关于网络:11月4日-光纤之父高锟诞辰88周年致敬科学伟人

当今世界以数字化、网络化、智能化为特色的信息化浪潮蓬勃衰亡,元宇宙、云基础设施、5G等热点前沿方向成为信息技术倒退的风口。作为信息传导的次要载体,光纤堪称是社会信息化的“神经”,是人类迈向信息化时代的重要基石。 明天是光纤之父高锟的出世纪念日,是他用光纤连贯整个世界,为明天高速倒退的互联网奠定了根底。 为了感激高锟对信息技术的奉献,Google将在周四用一个涂鸦来留念他88岁诞辰。 吃水不忘挖井人,敬悼光纤之父!致敬迷信凡人! 精彩人生1933年11月4日,高锟出世在上海金山。自幼就展示发明家的特质,曾自制烟火、泥土炸弹、收音机。后返回英国起初学习电子工程,取得学士学位后,高锟到英国 Harlow的规范电信实验室工作,同时持续攻读电气工程博士学位。 20世纪60年代网络传输受到了电信工程师们的器重。工程师们通过无数次试验,发现大量的光被玻璃排汇,光在玻璃中会重大衰减,流传损耗太大,光纤根本无法实现远距离通信。 但高锟没有放弃,1966年7月,高锟发表了具备里程碑意义的论文《用于光频的介质-纤维外表波导》。该文剖析了造成光纤传输损耗的次要起因,表明了在超纯玻璃纤维上传输光信号超过100公里(62英里)是可能的,并提出这样的光纤将可用于通信。 他的实践受到了来自学界和业界的质疑和讥嘲,但很快,在 1970 年,美国康宁公司胜利生产出 20dB/km 的光纤,并冲破了高锟所提出的每公里衰减20分贝(20dB/km)关卡,证实光纤作为通信介质的可能性。1971年,世界上第一条1公里长的光纤问世,第一个光纤通信零碎也在1981年启用。 2009年,在高锟首次提出光纤通信后四十多年,终取得诺贝尔物理学奖。然而暮年的他已患上了阿尔茨海默氏症,逐步淡忘了本人就是光纤的发明者... 2018年,高锟逝世,享年84岁。 美国总统奥巴马曾这样评估他:你的钻研齐全扭转了世界,促成了美国及世界经济的倒退,我自己为你而感到自豪,世界欠你一个极大人情。

November 4, 2021 · 1 min · jiezi

关于网络:光纤配线柜如何选择又该怎么安装

随着网络传输需要的快速增长,数据中心运营商必须寻找可能提供更高性能而无需扩大到更大物理空间的高密度线缆治理设施。光纤配线柜/odf光纤配线柜作为重要的光缆治理设施,广泛应用于数据中心,以存储、组织、治理与爱护光纤电缆。为了帮您更好的解决光纤配线柜问题,本文将对光纤配线柜进行解说。 什么是光纤配线柜 光纤配线柜又能够称为光纤配线箱,是odf光纤配线柜的升级版,也是用来进行光纤端接、光纤熔接、光纤配线和光纤存储,然而其采纳了箱内托盘向下滑出式设计,这样则既能够装置适配器面板,又能装置高密度MPO/MTP配线盒,是目前局域网和数据中心罕用的配线工具,能确保长期牢靠的网络传输。光纤配线柜有各种规格,常见的有机架式、壁挂盒式。以U或RU为单位,指的是设计用于装置在机架中设施的高度,通常有1RU, 2RU, 4RU尺寸。有滑出式、带推拉抽屉式设计,不仅可灵便布线而且能很好的爱护光纤,是数据中心现实的布线治理解决方案。 光纤配线柜将光纤线缆的端接变得易于治理,次要用于光缆的引入,光纤的穿插连贯、光纤跳线的贮存、配线输入等,可实现光纤熔接、光纤端接、光纤适配器、连接器和电缆连贯头的整合。 当光纤密度进步时,如何无效治理及组织大量的跳线变得异样重要,一个好的光纤配线箱将须要具备易于治理跳线变更的性能。光纤配线箱可无效的对光缆进行终接、爱护及治理,是光网络传输过程中的重要设施。光纤配线机柜的构造 开始在光纤配线箱内装置光纤之前,咱们应先来理解其结构。上面以一个简略的光纤配线箱为例介绍其构造,如下图:这种光纤配线盒的前面板上可装置3个适配器面板,盒内有两个线轴来治理盒内的光纤。上图中别离用序号标出了光纤配线箱的重要组成部分,每一个序号别离代表的是: 1:光纤适配器面板; 2:蜿蜒半径管制夹; 3:前面板配件; 4:插栓和插孔; 5:支架; 6:骨干或互连光缆进线孔。 光纤配线柜与odf光纤配线柜如何抉择 现在供应商提供的odf光纤配线柜的基本功能简直雷同。最大的区别是它们有不同的形态和规格。抉择适合的配线柜您能够依据以下几点判断: ①odf光纤配线柜19英寸规范机架式有144芯、288芯、576芯和720芯等不同规格。odf光纤配线柜次要是为了实现灵便的布线接入,因而可扩大的框架设计是进行全面线缆治理的根本条件。 光纤配线柜的19英寸规范机架式有1U、2U和4U可选,其向下滑出式设计与带推拉抽屉,不仅能够灵便布线而且能很好的爱护光纤,同时还能搭配MTP HD配线盒或HD配器面板及MTP线材,是骨干光缆和有源设施间现实的互联和穿插连贯的现实设施。 ②odf光纤配线柜采纳SPCC封装外壳,能与高密度拼接托盘联合应用,自带光缆固定板、绕杆轮与配线业务框,是光缆固定与治理的根底爱护设施。 光纤配线柜采纳SPCC冷轧钢板封装外壳及粉末涂层,能进步机箱外壳使用寿命,避免外壳划伤和锈蚀。同时自带绕线轮、蜿蜒半径管制夹、应力打消支架、粘扣带固定座和扎线架等,是数据中心MDA、IDC或HAD配线区域光纤骨干连贯及配线治理的现实抉择。 从以上剖析中能够看出,光纤配线柜具备odf光纤配线柜的所有性能,同时还进行了进一步降级,是数据中心的首选搭配。odf光纤配线柜则更实用于光传输网络和光传输设施之间,以及光纤用户接入网的线缆间的根底爱护与接入。将来,随着网络传输数据的进一步增长,odf光纤配线柜可能会逐步被光纤配线柜所代替。 光纤配线柜装置办法 1:在机架上装置光纤配线箱 这一步骤非常简单,咱们只须要在光纤配线盒两侧别离装置好支架,而后用螺钉将支架固定在机架的指定地位即可。须要留神的是,在装置光纤配线箱之前,首先应依据须要确定好配线盒的装置方向。2:在光纤配线箱中引入光缆 在机架上固定好光纤配线箱后,就能够将光缆穿过进线孔引入到配线盒内。这时须要筹备一个适合的护线套,以帮忙咱们将光缆引入并固定在光纤配线盒内,这里的光缆通常应用的是预端接分支光纤跳线或尾纤。3:在光纤配线箱内调配光缆 因为光纤配线箱的前面板是能够进行抽拉流动的,配线盒内的光缆支线长度应足够长,如下图所示,为了确保配线盒的前面板齐全抽拉进去时,光缆不会接受过多的拉力,A和B之间的线缆长度应至多为31英寸: 固定好光缆支线后,就能够开始着手各分支光缆。首先,别离将各个预端接的光缆连贯到适配器面板上,确保端口一一对应;而后通过蜿蜒半径管制夹将光纤适配器面板固定到配线盒的前面板上,在此过程中,要留神不要超过各个光缆的蜿蜒半径。

October 30, 2021 · 1 min · jiezi

关于网络:腾讯安全喊你参加这次盛会-并准备好了一份数字大礼包

近几年,在国家的对立部署和产业减速推动下,我国各行各业的数字化倒退长驱直入。在为生产生存提供全新动能、全新体验的同时,数字化也给平安带来了全新的挑战。 11月3-4日,2021腾讯数字生态大会行将隆重揭幕。本届大会聚焦数字技术与实体经济交融发展趋势,邀请到行业首领、技术领军人物、经济学者等独特探讨数字经济发展趋势,通过40+场行业专场展示腾讯对于产业数字化的转型思考,并展现产业互联网的最佳实际成绩。 届时,除了大会对于产业互联网的思考与洞察,腾讯平安还会和大家在线上、线下针对产业平安深度沟通,发展云平安、数字化业务风控两场系列专场,输入腾讯平安业务实践经验与平安思考,与产业生态共筑美好未来。 请!查收来自腾讯平安的会议邀请 云平安专场 在云服务成为企业必选项的明天,构建残缺的云上平安能力已成为企业倒退的要害因素。在云平安专场上,腾讯平安将从“云原生、数据安全、攻防服务、平安治理”等维度开展摸索,为咱们带来云上平安建设新思路,并联动多位行业顶级大咖,独特为企业云平安支招! 数字化业务风控专场 在数字化业务风控专场中,腾讯平安将梳理数字化过程下平安危险与业务的关系,并带来泛互联网、金融两大行业客户风控利用案例分享,为企业提供齐备且成熟的业务平安解决方案。 除此之外,腾讯平安还将在往年的数字生态大会上,筹备一份限量6007份的数字大礼包,所有线上、线下参加收看两场专场的观众均有机会取得。 数实交融,平安共赢 更多产业平安防护计划 平安体系建设思考 尽在腾讯数字生态大会 11月3-4日,只等您来

October 27, 2021 · 1 min · jiezi

关于网络:公司企业路由器怎么选选哪种路由器好

些公司晚期为了节俭估算,在部署无线网络时选用的是家用路由器,然而对于路由器而言,路由器分为三类:电信级、企业级、家用级,每级之间的差别都比拟大。然而导致公司外部的无线网络十分不稳固,不少员工频繁埋怨,工作效率大大降低,让公司蒙受到了极大的损失。 路由器作为企业组建网络的外围设施,其选购是个无奈回避的问题。许多企业的负责人因为专业知识的不足,经常会为了管制老本而抉择家用路由器来进行无线笼罩。 实际上,这种做法是十分不正确的,因为家用路由器往往都是依据家庭应用环境设计的,如果利用在企业中,稳定性和安全性都难以保障,所以企业如果要想进行无线笼罩,肯定要抉择合乎企业场景的网络设备。那么企业级路由器该如何抉择比拟好 抗干扰 家喻户晓,网络系统所接入AP数量越多,其信号烦扰景象也会呈现;而一般的家用级AP因为其家庭式或小范畴的特定应用场景,其设施自身配置无需过高,所接入AP的数量也有限度,也就不具备相干抗干扰的技术配置。因而,如果以家用AP代替企业级AP使用到工商业畛域或其余更大范畴的场景,信号烦扰会造成网络传输不稳固。为了零碎的稳定性,倡议客户抉择正规的企业级AP比拟牢靠。安全性 咱们都晓得企业级AP绝对于个别的家用级AP具备更优良的性能和配置,其安全系数也比拟高。如内置防火墙,反对基于Web治理等多种加密形式,设施自带防护治理,也就意味着客户无需额定购入防火墙设施。绝对于防护配置欠缺的家用级AP,也大大提高了零碎的安全性。因而,从网络系统久远的倒退来看,还是倡议广大客户从我的项目理论状况登程,为零碎日后运行的稳定性,以及前期治理保护的便捷性思考,抉择与我的项目切实合乎的企业级AP来设计。 相比于企业路由器,一般的家用路由器往往在数据吞吐量也低,CPU、内存、闪存、接口等配置上都是够用就行,路由器厂家也就只在明面上能看到的中央下些功夫,采纳更多的天线数,反对的最新的Wi-Fi协定,设计更好看的外观,其余方面则是能省就省。面对多人连贯,大流量数据,长期工作等场景,天然就扛不住了。这也就是家里用的路由器不适合企业应用的起因之一, 企业级路由器作为生产工具,价格通常高于家用路由器,其硬件配置参数更高,系统优化更好,软件上反对的协定更为丰盛。也就是说,相比家用路由器,企业级路由器可长期稳固运行,领有更高的数据转发性能、反对更高的带机量,并可实现更多路由和平安性能,天然更适宜用于企业应用。

October 26, 2021 · 1 min · jiezi

关于网络:TCPIPHTTP基础

HTTP根底本文以HTTP/1.1这一经典版本进行介绍相干根底概念 概述HTTP报文连贯治理Web服务器HTTP缓存CookieCSPHTTPS1 概述定义浏览器中的HTTP倒退历史1.1 定义HTTP(Hyper Text Transfer Protocol):超文本传输协定,一个简略的申请-响应协定 指定了客户端可能发送给服务器什么样的音讯以及失去什么样的响应架构在TCP之上,默认为80端口 相当于数据传输的信使Web内容都是存储在Web服务器上的,应用HTTP协定的Web服务器也称为HTTP服务器咱们罕用的Web浏览器是HTTP客户端的一种Web客户端向Web服务器发送HTTP申请,服务器会将一个HTTP响应并携带相干数据反馈给客户端 1.2 浏览器中的HTTP浏览器中F12 -> Network选项 -> 右击数据抉择options选项抉择列表展现的信息 百度百科 维基百科 能够失去数据传输的一些根本信息:例如办法、状态码、协定、计划等等当初大部分网站应用HTTP/1.1与HTTP/2,局部在应用HTTP/3HTTP/3架构在UDP上的协定,目前还未遍及单击数据文件Headers 惯例:申请地址、办法、状态码、近程地址、援用站点策略等信息响应头:协定、状态码、内容格局、长连贯、日期、服务、缓存管制等信息申请头:办法、文件名、协定、地址、用户代理等信息相干字符串参数 不同的协定携带是数据不大雷同1.3 倒退历史HTTP/0.9:只接管GET办法,不反对申请头 申请:GET /index.html响应:<html></html>仅反对html格局,不反对长连贯,每次通信都会敞开连贯HTTP/1.0:根本成型,反对富文本、header、状态码、缓存等 反对多种文件格式,图片、视频、二进制文件等反对更多办法:GET、POST、HEAD减少标头信息、状态码、缓存、权限等性能,不反对长连贯HTTP/1.1:应用了20年的支流规范,反对连贯复用、分块发送 新增办法:PUT、DELETE、OPTIONS、PATCH等,同时新增了一些缓存字段申请头引入range字段,反对断点续传容许响应数据分块,利于传输大文件管道机制:一个TCP连贯能够发送多个申请反对长连贯:一个TCP默认不敞开,能够被多个申请复用强制要求Host头,让互联网主机托管成为可能 队头阻塞:长连贯时,一个连贯中同一时刻只能解决一个申请,以后申请没有完结之前,其余申请只能处于阻塞状态SPDY:HTTP/2前身 QUIC:第三代协定,基于UDP实现TCP+HTTP/2并优化 HTTP/2:第二代协定,多路复用、头部压缩、服务器推送等 不再应用ASCII编码传输,改为二进制帧(Frame)模式,能够拆分合并 多路复用:有了二进制帧,对于同一个域,客户端只须要与服务器建设一个连贯即可实现通信需要,利用一个连贯来发送多个申请。每一条路都被称为一个stream(流)废除了管道应用专用算法压缩头部,缩小数据传输量容许服务器被动向客户推送数据头部字段全副改为小写;引入伪头部,呈现在头部字段之前,以冒号结尾要求加密通信HTTP/3:QUIC更名为HTTP/3 HTTP/2采纳二进制分帧进行多路复用,通常只应用一个TCP连贯进行传输,在丢包或网络中断的状况下前面的所有数据都被阻塞HTTP/1.1能够开启多个TCP连贯,任何一个TCP呈现问题都不会影响其余TCP连贯HTTP/3将底层依赖的TCP改为UDP,在传输数据时不须要建设连贯,能够同时发送多个数据包 毛病就是没有确认机制来保障对方肯定能收到数据协定版本解决的外围问题解决形式0.9HTML文件传输确立了客户端申请、服务端响应的通信流程1.0不同类型文件传输设立头部字段1.1创立/断开TCP连贯开销大建设长连贯进行复用2并发数无限二进制分帧3TCP丢包阻塞采纳UDP协定2 HTTP报文HTTP报文是简略的格式化数据块,每条报文都蕴含一条来自客户端的申请或来自服务器的响应 申请与响应报文办法状态码首部数据协商2.1 申请与响应报文三局部组成:起始行、首部、主体 起始行:对报文进行的形容首部:相干属性主体:数据申请报文:申请行、消息报头、申请注释 //申请行GET /text/hello.txt HTTP/1.1 //消息报头Accept:text/*Host:www.demo.com响应报文:状态行、消息报头、响应注释 //响应行HTTP/1.1 200 OK//消息报头Content-type:text/plainContent-length:13...//响应注释Hello World!一组HTTP首部总是应该以一个空行完结2.2 办法用于告知服务器要做什么 办法形容是否蕴含主体GET从服务器获取一份文档否HEAD只从服务器获取文档的首部否POST向服务器发送须要解决的数据是PUT将申请的主体局部存储在服务器是TRACE对可能通过代理服务器传送到服务器上的报文进行追踪否OPTIONS决定能够在服务器上执行哪些办法否DELETE从服务器上删除一份文档否除了这些办法外,服务器可能还会实现一些本人的申请办法HEAD:不要数据只有首部,能够用于对资源类型查看PUT:与GET办法正好相同,用于向服务器写入文档 PUT之前个别要求用户登录扩大办法 LOCK:容许用户锁定资源MKCOL:容许用户创立资源COPY:便于在服务器上复制资源MOVE:在服务器上挪动资源2.3 状态码办法用于告知服务器要做什么,状态码则是告知客户端产生了什么 整体范畴已定义范畴分类1**100~101信息提醒持续操作2**200~206胜利3**300~307重定向须要进一步操作实现申请4**400~417客户端谬误申请谬误或无奈实现申请5**500~505服务器错误处理申请产生谬误常见状态码 100:Continue 持续该申请101:切换协定200:Ok,胜利301:永恒跳转,走缓存,必须收到革除302:长期跳转,不走缓存305:Use Proxy,必须通过代理拜访资源401:未受权,须要用户名和明码404:Not Found,服务器未找到对应资源500:服务器遇到一个障碍它为申请服务的谬误505:服务器不反对申请的协定版本2.4 首部申请和响应报文中的附加信息HTTP标准定义了几种首部字段,应用程序也能够随便创造本人所用的首部 通用首部:两者都可用申请首部:无关申请的信息响应首部:无关响应的信息实体首部:形容主体的长度和内容扩大首部:未定义的新首部通用首部 Connection:指定申请/响应连贯的选项Date:报文创立工夫Via:报文通过的两头节点(代理、网关)Cache-Control:缓存提醒...申请首部 Client-IP:客户端IP地址From:客户端E-mail地址Host:申请服务器主机号和端口号Referer:申请URI文档的URLUser-Agent:申请发动的应用程序名Accept首部:将客户端的爱好和能力告知服务器 Accept-Charset:想要的字符集类型条件申请首部:申请的限度 Range:申请资源的指定范畴平安申请首部 Authorization:对其本身进行认证的数据Cookie:向服务器传送一个令牌代理申请首部 Max-Forward:申请转发给代理或网关的最大次数响应首部 Age:响应持续时间Server:服务器应用程序软件的名称及版本协商首部:资源有多种表示法,服务器与客户端须要进行协商 Accept-Range:服务器可接管的范畴类型平安响应首部:根本质询 Proxy-Authenticate:代理对客户端的质询Set-Cookie:在客户端设置令牌实体首部 内容首部:实体内容的特定信息 Content-Base:解析主机中绝对URL时应用的根底URLContent-Length:主体的长度或尺寸...实体缓存首部:如何或什么时候进行缓存 Exprires:实体不再无效,要从原始的源端再次获取次实体的日期和工夫Last-Modified:实体最初一次被批改的日期和工夫这里并没有把所有首部字段全副列出,仅供参考2.5 数据协商申请协商形容响应协商Accept告知服务器发送何种媒体类型Content-TypeAccept-Language告知服务器发送何种语言Content-LanguageAccept-Charset告知服务器发送何种字符集Content-TypeAccept-Encoding告知服务器采纳何种编码/压缩Content-Encoding3 连贯治理HTTP连贯实际上就是TCP连贯及其应用,TCP为HTTP提供了一条牢靠的比特传输管道 ...

October 17, 2021 · 2 min · jiezi

关于网络:TCPIPTCP

TCP(Transmission Control Protocol)传输控制协议IP是无连贯的,疏忽网络上存在的一些问题,TCP提供牢靠的面向连贯的通信,负责管制连贯的建设、断开、放弃等管理工作 首部格局连贯1 首部格局没有示意包长度和数据长度的字段,可由IP层获知TCP的包长度,由TCP包长度可计算数据的长度序列号:发送数据的地位,每发送一次,就累加一次该数据字节数的大小 在建设连贯时由计算机生成的随机数作为其初始值,通过SYN包传递给接收端主机将每转发过来的字节数累加到初始值上示意数据的地位在建设连贯和断开连接时发送的SYN包和FIN包不携带数据,但也会作为一个字节数减少对应的序列号确认应答号:下一次应该收到的序列号 指已收到确认应答号前一位为止的数据发送端收到这个确认应答当前能够确认在这个序号以前的数据都曾经被失常接管了数据偏移:相似于IPv4数据报中的首部长度,单位为4字节,无可选项式值为5,示意20字节 保留:为当前扩大时应用,个别设置为0 管制位:8位,从左至右:CWR、ECE、URG、ACK、PSH、RST、SYN、FIN CWR:告诉对方已将拥塞窗口放大ECE:告诉对方这边网络有拥塞 CWR与ECE都用于IP首部的ECN字段URG:示意包中有须要紧急解决的数据ACK:确认应答的字段变为无效 除了最后建设连贯时的SYN包之外,该位必须设置为1PSH:将收到的数据立刻传给下层利用协定RST:TCP连贯中呈现异样,必须强制断开连接SYN:用于建设连贯 SYN为1时示意心愿建设连贯,并在其序列号的字段进行序列号初始值设定FIN:为1时示意今后不再有数据发送,心愿断开连接 通信单方能够相互替换FIN地位为1的TCP段申请断开连接单方又对对方的FIN包进行确认应答当前就能够断开连接主机在接管到FIN为1的TCP段后不会马上回复一个FIN包,等缓冲区所有数据都因胜利发送而主动删除后再发窗口大小:告诉从雷同TCP首部的确认应答号所指地位开始可能接管的数据大小TCP不容许发送超过窗口大小的数据,窗口为0时,能够发送窗口探测,理解最新窗口大小 校验和:应用TCP伪首部进行校验和计算,确认收到的数据是正确的 TCP伪首部:32位源IP地址 32位指标IP地址 填充 协定号 TCP包长度首先置0,以16位进行1的补码和计算,再将它们总和的1的补码和放入校验和字段校验和字段保留着除本字段以外其余局部的和的补码值因而在计算校验和字段在内的所有字段的16位和之后失去16位全为1,阐明收到的数据是正确的紧急指针:本报文段中紧急数据的指针从数据局部的首位到紧急指针所批示的地位为止,这个区间为紧急数据 选项:用于进步TCP的传输性能,最大40字节 在建设连贯时决定最大段长度窗口扩充高速通信中对序列号的治理抉择确认应答2 连贯连贯可靠性建设与断开2.1 连贯可靠性通过序列号与确认应答进步可靠性 在TCP中,当发送端的数据达到接管主机时,接收端主机会返回一个已收到音讯的告诉,该音讯成为确认应答(ACK) 肯定工夫内没有等到确认应答:发送端能够认为数据曾经失落,进行重发 即便产生丢包,任然可能保证数据可能达到对端,实现牢靠传输返回数据失落:这样也会导致发送端没有收到确认应答,进行从新发送 确认应答提早达到:会导致发送端屡次申请而后收到反复的数据包 须要一种机制,能辨认曾经接收数据,又可能判断是否须要接管 - 通过序列号实现序列号+确认应答:接收端查问接收数据TCP首部中的序列号和数据长度,将本人下一步应该接管的序列号作为确认应答返送回去 TCP通过序列号和确认应答号实现牢靠传输重发的工夫距离以往返工夫与偏差值的和为基准,是一直变换的,多次重发无确认应答会断开连接 2.2 建设连贯与断开TCP建设连贯须要3次往返音讯,断开连接须要4次往返音讯 也称为TCP的3次握手与4次握手建设连贯 客户端->服务端:发送SYN包申请建设连贯客户端<-服务端:针对SYN确认应答ACK,并发送SYN包申请连贯客户端->服务端:针对SYN确认应答ACK 在建设连贯的过程中能够确认发送数据包的单位 - 正好是IP中不会被分片解决的最大数据长度建设连贯后TCP以段为单位,每发一个段进行一次确认应答的解决,这样会导致网络性能降落应用缓冲区实现窗口:确认应答不再以每个分段,而是更大的单位进行确认,不必期待确认可持续发送 窗口大小:无需期待确认应答而能够持续发送数据的最大值缓冲区:长期保留收发数据的场合 之前是发一个等一个,当初是发一串等一串重发管制 数据段失落:接收端发送其余报文段时,会接管该报文间断雷同的确认应答 当超过3次反复应答时,确认报文段失落,从新发送该报文段断开连接 客户端->服务端:发送FIN包申请断开连接客户端<-服务端:针对FIN的确认应答ACK 期待缓存区数据发送结束客户端<-服务端:发送FIN包申请断开连接客户端->服务端:针对FIN的确认应答ACK一个连贯的建设与断开,失常过程至多须要来发送7个包能力实现

October 15, 2021 · 1 min · jiezi

关于网络:TCPIPIP地址与数据报

IP地址与数据报在TCP/IP通信中,相互连贯的网络应用IP地址对主机和路由器进行标识数据报记录了传输过程的相干信息,蕴含IP地址、大小以及分片信息等 IPv4IPv61 IPv4定义分类播送地址子网掩码首部1.1 定义地址模式4个字节共32位,每8位1组两头以"."隔开,常以十进制示意 10101100.00010100.00000001.00000001172.20.1.1这样计算最多容许43亿台计算机连贯到网络每一台主机上的每一块NIC都得设置IP地址,路由器往往会有多个网卡组成:网络标识(网络地址) + 主机标识(主机地址) 网络地址:对网络的标识,在相互连贯的每个网段的地址不反复主机地址:对主机的标识,在雷同网段内相连的主机必须有雷同的网络地址与不同的主机地址在地址后加一个数字来标识网络地址占多少位,用"/"分隔,后面的0能够省略 //同一网段主机标识为10和1的两台主机192.168.128.10/24 , 192.168.128.1/24当初根本应用子网掩码(网络前缀)来辨别网络地址和主机地址,上述办法在特定场景仍然存在1.2 分类共四个级别:A类、B类、C类、D类 依据第1位到第4位的比特对网络地址和主机地址进行辨别A类地址:0 + 7位网络地址 + 24位主机地址 0.0.0.0~127.0.0.0:一个网段内能够包容16,777,214个主机地址B类地址:10 + 14位网络地址 + 16位主机地址 128.0.0.0~191.255.0.0:一个网段内能够包容65,534个主机地址C类地址:110 + 21位网络地址 + 8位主机地址 192.0.0.0~223.255.255.0:一个网段能够包容254个主机地址D类地址:1110 + 29位网络地址 (无主机地址) 224.0.0.0~239.255.255.255:罕用于多播1.3 利用播送地址:在同一个链路中相互连贯的主机之间发送数据包(主机地址全为1) 本地播送:在本网段内的播送间接播送:在不同网络之间的播送 192.168.0.0/24向192.168.1.255/24产生数据,路由器会依据路由表会将数据包发给192.168.1.0/24从而所有192.168.1.1~192.168.1.254的主机都能够收到这个包IP多播:将数据包发送给特定组内的所有主机(D类地址)前4位1100,后28位为多播的组编号 公有地址随着互联网的迅速遍及,IP地址有余的问题日趋显著,就呈现了一种技术,不要求为每一台主机或路由器调配一个固定的IP地址,而是在必要的时候只为相应数量的设施调配一个惟一IP地址在独立的网络中各自随便地设置IP地址,可能会在须要连贯互联网的时候产生地址抵触,这就呈现了公有网络的IP地址 分类:A类、B类、C类 A类:10.0.0.0~10.255.255.255 (10/8)B类:172.16.0.0~172.31.255.255 (172.16/12)C类:192.168.0.0~192.168.255.255 (192.168/16)在这些范畴内的网络为公有网络,在此之外的为全局网络初始的设计并不思考让公有网络连接互联网,只在单独的网络中进行数据交互NAT技术可能调换公有IP与全局IP,在IPv6尚未遍及,IPv4地址逐步耗尽,应用NAT技术解决问题是以后互联网的现状 公有IP在本人的域中惟一,全局IP在整个互联网中惟一1.4 子网掩码应用IP地址的分类时会造成节约 一个IP地址只有确定了分类也就确定了它的网络标识和主机标识网络标识雷同的计算机必须同属于同一个链路,例如在架构B类IP网络时,实践上在一个链路内容许6万5千多台计算机连贯在理论的架构中这是不存在的,间接应用A类、B类...地址就显得浪费资源子网掩码的识别码通过子网网络地址细分出比A类、B类更小粒度的网络 理论是哪个就是将原来分类中的主机地址用作子网地址,将原网络分为多个物理网络的一种机制子网:从分类网络中的划分出的一部分 为了确定网络区域,离开主机和路由器的每个接口,从而产生了若干个拆散的网络岛,接口端连贯了这些独立网络的端点。这些独立的网络岛叫做子网传统的分类中,不同的网段之间须要网关连贯,子网则是更轻微的网络引入子网后,IP地址就有个两种识别码,一个IP地址自身,另一个是示意网络部的子网掩码子网掩码:32位,IP地址网络局部全为1,IP地址主机局部全为0 //以172.20.100.52的前26位网络地址的地址为例IP地址: 172. 20. 100. 52子网掩码: 255.255. 255.192 不拘泥于是哪种网络类型,能够自在的示意网络标识就如下面的示例,在一般分类中并没有26位的网络地址类型1.5 首部通过IP进行通信时,须要在数据后面退出IP首部信息,IP首部中蕴含着用于IP协定进行发包管制时所有的必要信息 数据局部前是IP首部版本4~6:IPv4、ST、IPv6、TP/IX、PIP、TUBA首部长度:单位为4字节,无可选项时为5,也就是20个字节辨别服务:前三位-优先级、4-最低提早、5-最大吞吐、6-最大牢靠、7-最小代价 上述是TOS表示法,当初还有将其分为两段DSCP(前6位)、ECN(后2位)总长度:IP首部与数据局部总字节数,216-1个字节标识ID:标识分片ID,一个包拆分的分片有雷同的标识ID标记:1 - 必须是0,2- 是否分片、3-0示意该包是分片完结的包片位移:每个分段绝对于原始数据的地位生存工夫:记录以后包在网络上应该生存的期限,通过一个路由则减1协定:IP包传输层的下层协定编号,ICMP-1、IP-4、TCP-6、UDP-17、IPv6-41首部校验和:用于确保IP数据报不被毁坏 初始全为0,以16位划分IP首部,用1补数计算所有16位字的和,将所得和的1补数赋给首部校验和字段可选项:长度可变,用于试验与诊断,包含安全级别、原门路、门路记录、工夫戳填充物:填充0,因为可选项的存在,须要填充物将首部位数设置为32的整数倍数据:包含下层协定的首部信息以及具体的数据内容2 IPv6定义特点利用首部2.1 定义地址模式:128位,16位一组应用":"进行分隔,用16进制示意地址构造 类型网络地址缩写未定义0000...0000:: /128环路地址0000... 0001:: 1/128惟一本地地址1111 110FC00 :: /7链路本地单播地址1111 1110 10FE80 :: /10多播地址1111 1111FF00 :: /8全局单播地址其余全局单播地址:世界惟一的一个地址,互联网通信中和各个域外部所应用的IPv6地址 ...

October 14, 2021 · 1 min · jiezi

关于网络:网络网络分层与基础概念

网络分层与根底概念网络分层相干概念TCP/IP协定族根底概念1 网络分层进行分层能够关注每一层所独立的性能,不便学习剖析以及利用 三种分层模型每层的性能1.1 三种分层模型OSI参考模型 7层的网络分层,前三层是资源子网,用于数据处理,后三层是通信子网,用于数据通信,两头是传输层C端与服务端领有残缺的7层,两头的通信零碎只有后三层的通信子网,只做通信解决,不对数据进行解包前5层会在首部加一个数据段,数据链路层在首尾都增加一个数据段,物理层将整个数据变成01比特流,不增加额定数据TCP/IP 与OSI的相同点:都分层、基于独立的协定栈的概念、能够实现异构网络互联与OSI的不同点: OSI定义三点:服务、协定、接口OSI的参考模型先于协定创造,不偏差特定协定TCP/IP设计之初就思考到异构网互联问题,将IP作为重要档次OSI的网络层是无连贯/面向连贯,传输层面向连贯TCP/IP的网络层是无连贯,传输层是无连贯/面向连贯OSI参考模型是一种理想化的模型,有谨严的分层构造与分工,上上层提供服务与提供接口TCP/IP参数模型是在市场抉择之后,依据相干的协定族而制订的模型,层与层之间无太多功能的穿插5层参考模型是联合OSI每一层明确的分工,与TCP/IP层与层之间耦合度低的长处,适宜咱们学习的一种模型。通常咱们学习的是5层参考模型,商业应用大部分还是TCP/IP参考模型1.2 每层的性能以OSI参考模型为例 应用层 定义:针对特定利用的协定性能:为应用程序提供并规定应用程序中通信相干的细节。文件传输、电子邮件、近程登录等协定协定:FTP、SMTP、HTTP...表示层 定义:用户用于解决在两个通信零碎中替换信息的示意形式。性能:数据格式变换,数据加密解密,数据压缩和复原协定:JPEG、ASCII 将数据从主机特有的格局转换为网络规范传输格局会话层 定义:向表示层实体/用户过程提供建设连贯并在连贯上有序地传输数据,建设同步(SYN)性能:建设、治理、终止会话。应用校验点可使会话在通信生效时从校验点/同步点持续复原通信,实现数据同步。协定:ADSP、ASP... 决定采纳何种连贯办法传输层 定义:负责主机中两个过程的通信,即端到端的通信。单位是报文段或用户数据报性能:牢靠传输、不牢靠传输。差错控制。流量管制。复用分用协定:TCP、UDP... 确定连贯与断开连接重发网络层 定义:把分组从源端传到目标段,为分组替换网上的不同主机提供通信服务。单位是数据报性能:路由抉择。流量管制。差错控制。拥塞管制协定:IP、IPX、ICMP、IGMP、RARP、OSPF... 从主机A到主机B的数据通信解决。传输过程有很多数据链路,可能精确达到都是网络层的功绩。数据链路层 定义:把网络层传下来的数据组装成帧。单位为帧性能:成帧(定义帧的开始与完结)。差错控制(帧错+位错 可纠错)。流量管制(速度)。访问控制(管制对信道的拜访)协定:SDLC、HDLC、PPP、STP 在传输介质互连的设施之间进行数据处理。相较于网络层,它至发送一个分段内的数据。物理层 定义:在物理媒体上实现比特流的通明传输(给什么传什么)。单位为比特性能:定义接口个性。定义传输模式(单工、半双工、双工)。定义传输速率。比特同步。比特编码协定:Rj45、802.3 将数据的0、1转换为电压和脉冲光传输给物理的传输介质,互连的设施应用MAC地址实现传输2 相干概念传输方式地址网络形成因素古代网络实态互联网根底2.1 传输方式连贯形式分类 面向有连贯:收发主机之间连贯一条通信线路。 相似打电话时,拨号后对方点击接听,有一个确认的过程面向无连贯:不要求建设和断开连接,发送端自在发送,接收端不确定何时从哪接收数据,须要时常确认是否收到了数据 相似邮递包裹,不须要确认地址是否具体与存在以及接管方是否收到,发送方间接发送,接管方不晓得有没有包裹就时常查看两头可能会退回、失落、发错,两边都不关怀,只是一个发送,一个期待接管替换形式分类 电路替换:应用电路交换机让计算机进行独占电路式的通信 多个主机与电路交换机连贯,电路交换机之间连贯,电路交换机在外部切换线路让计算机之间有一条电路可通信当交换机之间的电路数量少于每个交换机连贯的计算机时,会让局部计算机不能通信,认为线路曾经被占完分组替换:将连贯到通信电路的计算机将发送的数据包分成多个数据包,依照肯定的顺序排列后别离发送 分组交换机(路由器)之间只须要一条线路,发送与接管数据包队列没个数据包有源地址与指标地址标识,由分组交换机进行调配或转发接收端数量分类 单播:一对一通信。例如新近的固定电话播送:一个数据链路内,一台主机向所有其余主机通信。校长全校讲话多播:与播送相似,不过又限定了在一个特定的组内。校长开老师大会任播:与多播相似,限定了一个特定的组,抉择组内一台进行单播。校长独自找一个老师谈话2.2 地址通信传输中,发送端和接收端被视为通信主体,由"地址"进行标识TCP/IP通信中应用MAC地址、IP地址、端口号等进行标识。在应用层中,能够将电子邮件地址作为网络通信的地址 唯一性:一个地址必须明确示意一个主体对象,在播送、多播、任播中,一个地址指待一个特定组对象层次性:地址分段示意,能高效的找出通信的指标地址 IP地址就是典型的层次性地址无层次性,每个设施的地址无奈辨别它们所在的具体位置或分组,MAC无层次性MAC地址由设施的制造厂商对每块网卡进行别离指定,通过制造厂商辨认号、外部产品编号以及产品通用编号确保MAC地址的唯一性IP寻址参考路由管制表(集中了网络号和子网掩码),MAC寻址参考地址转发表(理论的MAC地址自身)2.3 网络形成因素搭建一套网络环境要波及各种各样的电缆和网络设备。不同的数据链路可能会采纳不同的通信媒介有着不同的传输速率 数据链路名 通信媒介 传输速率 主要用途 以太网 同轴电缆 10Mbps LAN 双绞线电缆 10Mbps~100Gbps LAN 光纤电缆 10Mbps~100Gbps LAN 无线网 电磁波 数个Mbps~ LAN~WAN ATM 双绞线电缆光纤电缆 25Mbps155Mbps622Mbps LAN~WAN FDDI 双绞线电缆光纤电缆 100Mbps LAN~WAN 帧中继 双绞线电缆光纤电缆 约64k~1.5Mbps LAN~WAN ISDN 双绞线电缆光纤电缆 约64k~1.5Mbps LAN~WAN bps:每秒比特数LAN(Local Area Network):局域网WAN(Wide Area Network):广域网 - 连贯不同地区的局域网或城域网,不等同于互联网网卡:计算机连网的设施 ...

October 14, 2021 · 2 min · jiezi

关于网络:疫情反复声网如何助力青岛教育局保障线上教学体验

疫情的二次重复给多地中小学按下暑假提前到来的减速键。自 2020 年 12 月以来,受疫情影响,大连、北京、黑龙江、沈阳、石家庄等城市的多个地区相继公布中小学校、幼儿园线下复课安顿。暂停线下教育教学活动,让整个教育行业再度敲响了防疫抗危险的警钟,一些非局势缓和地区的学校和教育机构,也开始提前做起了线上备案,线上课堂需要再次凸显。 二次战疫,在线课堂拼速度更拼品质 2020 年初,从天而降的疫情让学校、教培机构被迫在短时间内从线下转到线上,为了保障“复课不停学”,很多学校和机构不得不长期抉择一些在线教学平台匆匆上线,拥挤的流量也使得在线课堂解体事件频出,让教学体验和品质难以失去保障。 通过近一年工夫,老师、学生、家长曾经承受线上教学模式,养成了应用习惯,同时教学平台也更重视零碎大规模并发和弱网环境下的在线互动课堂音视频品质及稳定性。很多学校、机构都已做好线上线下两手筹备,提前抉择有品质保障的在线教育平台和实时音视频技术服务商单干,即便面对疫情的二次重复,也仍然能够疾速、稳固的开展线上教学、辅导。 1 月 6 日,青岛教育局发表面向全市中小学生后行发展名师在线公益辅导(以下简称“益辅导”)。市教育局提前颁布辅导课编排打算,加入直播辅导的学生也可提前进行选课。选课胜利后,加入“益辅导”直播学习。没有抢到直播辅导课的学生或者不不便上直播辅导课的学生,也可通过点播的辅导课,进行观看学习。 青岛教育局“益辅导”我的项目的疾速上线,得益于实时互动云服务商声网Agora 与慈云教育在技术战争台上的大力支持,基于慈云教育的学习平台,学生通过青岛教育e平台、电视平台加入辅导、实现学生账号注册、进行直播互动学习,教学资源点播,突出教学计划性、系统性及便捷性。同时,由声网提供的底层实时音视频技术服务,保障了直播互动学习的稳定性、晦涩度和互动性。 对于青岛中小学师生来说,线上公益直播辅导不仅充沛应用好齐鲁名师、青岛名师、名师工作室等优质老师资源,满足局部中小学课余时间课业领导的需要,同时,也灵便不便、晋升学生暑假期间的辅导效率,解决了在防疫期间师生无奈面对面进行授课、辅导的难题。 硬件老本高、互动性差,公立学校在线课堂的痛点如何破解? 以往 K12 公立学校想要实现线上教学的模式通常有两种,别离是专递课堂和空中课堂。 专递课堂强调专门性,次要针对农村单薄学校和教学点短少师资、开不出开有余开不好国家规定课程的问题,采纳网上专门开课或同步上课、利用互联网依照教学进度推送适切的优质教育资源等模式。 空中课堂是指利用网络信息和古代通信技术,录播老师讲课内容或实时直播老师的视频、语音、课件、板书等,把讲课过程真切地搬到网上,对学员端无特地要求,只有能上网,就能退出课堂听课,参加答疑。 然而,传统的专递课堂和空中课堂尽管能够解决一部分教育偏心和师资共享的问题,但实际操作中依然存在诸多体验上的痛点。 传统专递课堂通常对硬件条件依赖度较高,须要多种终端设备反对,例如大屏显示设施、学习终端交互设施、教学过程记录设施、网络连接及传输设施等等。品种繁多的硬件设施,往往意味着昂扬的部署老本和简单的设施操作,给前期保护也带来难度大;另一方传统专递课堂面对网络要求刻薄,须要专线反对,但专线价格昂贵,稳定性和抗弱网能力差强人意,卡顿和掉线状况也频频产生,非常影响授课成果和品质。 传统空中课堂的痛点也比拟显著,无论是录制还是一对多的直播模式,师生间的互动性都绝对不足。而随着近些年在线教育的倒退,学生对线上课堂互动体验的需要越来越高,传统空中课堂的模式早已无奈满足;另一方面,音视频品质不稳固、高并发稳定性差、硬件平台适应性差等也是传统空中课堂面临的问题。 针对以上痛点,声网基于自建的软件定义实时网 SD-RTN™ ,推出了专门面向公立学校教学信息化的解决方案,对传统专递课堂和空中课堂的教学场景进行降级,从老本、便捷性、互动体验、稳定性等多方面进行优化,更好的解决公立学校教育偏心、老师资源不平衡的问题,也在防控疫情的非凡期间,将声网赋能的在线教学平台打造为保障学校和机构“复课不停学”的常态化工具。 声网专递课堂劣势 加重硬件压力,升高运维门槛声网通过软件化部署,缩小专递课堂对于硬件的依赖,加重日常保护压力,对于学校来说入门门槛非常低。同时,依靠于互联网,还能够适应任何校校通计划,防止多厂商设施不互通,带来的信息孤岛问题。 抗弱网能力强,具备多种弱网修复机制农村或三四线偏远地区的学生通常会面临简单的网络环境,针对弱网状况下的音视频通话,声网领有一套抗弱网传输与抗丢包算法,联合网络探测(如延时预计、带宽预计、丢包预计等)、抗丢包技术(如 ARQ、FEC 等)、自适应 jitter buffer、网络拥塞控制策略等,实现 70% 丢包下视频通话晦涩、80% 丢包下语音通话晦涩。 声网空中课堂劣势 晋升师生实时互动性声网自建的软件定义实时网 SD-RTN™ 基于 UDP 的自研 AUT 协定,进一步在全局网络上进行优化,防止了 TCP 协定的延时不可控毛病,可做到寰球端到端网络延时小于 400ms ,延时中位数 76ms ,保障了互动的实时性。 弱网下稳固的高清视频品质声网在视频解决中,不再把采集、前解决、编码、传输、抗弱网、渲染作为一个独立的环节对待,而是将他们造成了一个彼此紧密配合的循环,使视频的端到端解决达到全局最优。并交融多种自研编解码算法和抗弱网策略,能够在弱网环境下提供 1080P 60帧高清视频体验。 满足千万级别平台并发 单课堂百万并发线上课堂时长会遇到百万甚至千万级别的高并发场景,疫情期间一些在线平台的卡顿也大多由此导致。声网的SD-RTN™在网络架构设计上做了弹性扩容,在流量暴增时,可实时调整,使得终端用户无感知,满足千万级别平台并发和单课堂百万并发的状况。 手机、Pad、电脑、电视盒无缝交融在终端性能和适配方面,声网目前曾经适配6000多款终端设备,笼罩iOS、Android、Web、Windows、macOS、小程序等 20 种平台,能够全面保障实时音视频在手机、Pad、电脑、电视盒等各类终端上的良好利用和无缝交融。 声网为晓黑板、智慧树等多平台提供稳固、牢靠在线课堂 2020年初的疫情期间,在很多平台呈现卡崩的状况下,声网为包含晓黑板、智慧树、奥鹏教育、鸿合科技等教学平台提供稳固、高质的实时音视频技术服务,截至目前,做到间断7年无全网事变。 疫情期间,声网帮忙晓黑板基于教育Demo集成上线“空中课堂“,据理解,过后均匀每天有500所学校、5000位老师、200,000名学生在晓黑板直播课堂上学习互动,每天均匀有10,000场直播课。最高峰值同一时间有120,000人参加上课。 同样,智慧树在疫情期间借助声网提供的实时音视频技术,上线了在线语音+课件共享的直播课堂性能,收费提供给高校师生应用,帮忙师生们进行晦涩、高效的线上教学互动,保障了高校师生“复课不停学”。 除此之外,声网还为奥鹏教育师训宝在线授课云平台稳固运行提供底层技术支持,继续保障全国中小学师生在云平台发展在线教学。其提供7*24个小时的技术服务和反对,也保障中小学师生实时在线教学与互动,让学生足不出户享受高质量的教学课程。 另一家教育信息化企业鸿合科技也在疫情期间推出直播互动课堂,为中小学校提供最高品质的音视频互动直播服务,声网以业余的技术手段保障了鸿合直播互动课堂的零碎稳定性。保障学生在线上课顺利开展,一经上线便失去了校方及师生们的高度认可。 ...

October 9, 2021 · 1 min · jiezi

关于网络:搭建ss服务

步骤一首先本人买一台香港或美国的服务器,自行搜寻云服务商购买。基于ubuntu 20.04 步骤二1、在云服务上下载shadowsocks服务端装置软件前先更新源:apt-get updateapt install python3-pip装置Shadowsocks:pip3 install shadowsocks2、配置shadowsocks在 /etc 目录下创立Shadowsocks配置文件:vi /etc/shadowsocks.json写入配置信息: {"server":"0.0.0.0","server_port":443,"local_address":"127.0.0.1","local_port":1080,"password":"设置明码","timeout":300,"method":"aes-256-cfb","fast_open":false,"workers": 1}server_port:端口,我这里应用443端口,能够本人自定义。password:连贯Shadowsocks的明码。method:加密形式,默认的加密形式不平安,这里应用 aes-256-cfb 3、配置开机启动:sudo vi /etc/rc.local在 exit 0 后面增加启动Shadowsocks的命令:/usr/local/bin/ssserver -c /etc/shadowsocks.json 4、配置安全策略在云服务防火墙配置处把443端口放行,包含udp和tcp敞开服务器防火墙service ufw disable 5、启动/敞开服务端启动Shadowsocks:sudo ssserver -c /etc/shadowsocks.json -d start 敞开Shadowsocks:sudo ssserver -c /etc/shadowsocks.json -d stop 步骤三在本人的windows电脑上下载ss客户端,记住下载指定版本,前面的版本废除了某些加密算法windows客户端下载地址:https://github.com/shadowsock...抉择4.2.0.1版本下载 下载好后加密算法抉择如图,与服务端配置加密算法配置需统一 零碎代理抉择PAC模式后即可迷信上网! 参考资料https://blog.6ag.cn/1943.html

October 9, 2021 · 1 min · jiezi

关于网络:vpn

vpn:虚构私人网络 它在公共网络上建设专用网络,进行加密通信1、进步上网的安全性2、爱护公司内部资料3、暗藏上网者的身份4、冲破网站的地区限度5、冲破网络封闭 vpn和代理的区别1、软件vpn个别须要装置vpn客户端软件代理不须要装置额定的软件2、安全性vpn默认会对数据进行加密代理默认不会对数据进行加密(数据最终是否加密取决于应用的协定自身)3、费用个别状况下,vpn比代理贵

October 9, 2021 · 1 min · jiezi

关于网络:应用传送网络ADN率先架起东数西算的高速公路

摘要:云原生ADN网络的将来,是私有云Internet接入降老本的伎俩,以及对自建光纤骨干网的补充,无力地撑持 “东数西算”国家新基建布局。本文分享自华为云社区《华为云顾炯炯:利用传送网络(ADN),从新定义云原生时代的媒体网络》,作者:技术火炬手。 随同媒体内容逐步的丰富多彩、引人入胜,媒体内容的生产制作从本地工作室上移至云端成为了必然趋势。媒体内容从生产到生产的全流程,离不开媒体内容的生产者、云端数字内容制作基础设施、平台零碎和媒体内容消费者。而连贯这些角色的背地,是一张高质量的精品媒体网络。 9月24日,华为云举办了主题为“数字内容云上生产,共创影视产业新高地”的主题论坛,华为云首席架构师顾炯炯为大家带来了往年华为云在云原生媒体及网络畛域的重磅级翻新服务:利用传送网络(Application Delivery Network),简称ADN服务。 云原生利用传送网络ADN: 多级QoS、高牢靠、高弹性的媒体服务网络基石ADN为云原生媒体服务,乃至更狭义的云上互联网利用提供了多级QoS,高牢靠,高弹性的网络基石,相比基于“尽力而为”传送IP网络路由机制的Internet互联网, ADN 网络是一张叠加在Internet互联网,以及华为云遍布寰球的云端及分布式边缘基础设施和专线网络之上的overlay网络。 该网络彻底解决了互联网不足QoS保障,部分路由拥塞收敛慢,以及专线老本高,笼罩区域受限的问题,具备软件定义的可编程能力,无需降级改变存量运营商网络,即可反对分钟级新增路由节点及路由变更,使得媒体网络具备了云的“弹性麻利”的外围特色。从而为媒体业务提供了兼具互联网全域笼罩、低成本及专线的确定性QoS保障劣势的根底网络传送服务,并且可反对利用驱动的SLA与QoS。 云原生利用传送网络(ADN)架构:利用驱动、软件定义、麻利智能整体来看,云原生利用传送网络ADN与内容传送网络CDN的命名绝对应,CDN的定位是通过检测Web与视频内容的热点局部,以及进一步通过热点内容的缓存及存储实现带宽老本的升高,以及用户接入时延体验的晋升。 ADN的适用范围则相比CDN更为宽泛,简直可笼罩所有分布式互联网利用,冲破CDN无奈减速动静生产Web内容的Web网页的局限,这也正是ADN名称的来由。 1. ADN网络的3层架构:物理层、逻辑层、应用层ADN的整体技术架构划分为3层,物理层、逻辑层,以及应用层,物理层对应华为云存量的寰球云骨干网及各电信运营商的Internet互联网,而ADN网络的外围正是叠加在这2张物理承载网络之上的一张对立的逻辑Overlay网络,也即逻辑层ADN网络内任意2个节点之间的路由,对应物理层节点之间的中转Internet或专线物理路由,或者通过若干跳ADN节点中继转发的多段Internet路由及物理专线路由的拼接组合。 ADN网络内特定任意2节点之间最优路由之所以可能对应非中转的、多段曲折转发的物理路由,起因在于传统物理路由机制,如OSPF、BGP等,采纳的是街坊发现算法,因而在遇到局部物理节点拥塞的状况下,无奈实现物理层路由的及时疾速调整,此时基于ADN Overlay转发节点的物理路由组合,则可能躲避该部分拥塞点,给出更优的门路抉择。 ADN的应用层即包含上文提到的云原生媒体服务,也即媒体生产、媒体散发,以及媒体利用,也包含运行在云上的泛互联网App,比方游戏、娱乐,办公,甚至通过REST API近程交互协同的各类分布式应用,逻辑层的ADN利用传送网络服务通过契约化定义的AND API,与应用层的云原生媒体服务及互联网App进行交互,输出参数包含由应用层指定的ADN路由的起始、终结节点,以及心愿起始到终结节点之间路由必须满足的应用层、传输层、网络层的QoS/SLA指标,而API的返回输入参数,则包含含了从ADN终点到起点之间的路由节点的最终序列。 2. ADN网络的三大核心技术特色广覆盖、高敏捷、全互联的网络拓扑。 通过无所不在、彼此互联互通,超过2500个ADN节点的寰球宽泛笼罩,ADN网络实现了最终用户的一跳入网;同时,通过反对ADN节点的分布式容器化部署,实现了分钟级节点增删与网络拓扑更新的高弹性、高敏捷;通过逻辑、物理分层解耦,通过任意ADN节点之间基于Full Mesh的点到点测量,为任意2个ADN节点之间动静最优门路的抉择提供了根据和保障。 多指标驱动智能路由,多样化接入协定传输。 反对分钟级端到端路由图优化算法,实现智能路由计算;反对单流分多流、多流合并单流,具备多优先级门路的实时抉择能力;具备抗弱网协定加强、具备高牢靠的传输能力,实现智能拥塞管制;通过华为自研设计的nStack协定栈,DPDK/用户态驱动转发的技术,实现近线速的Overlay转发能力; 提供了TCP/UDP/域名解析,以及SDK模式等灵便多样化的ADN网络接入协定选项。 利用驱动、软件定义的SLA,租户和业务感知的流量调度。 在ADN的API定义中,通过利用驱动、软件定义的网络层/传输层/应用层QoS/SLA指标,比方网络层的时延、丢包,以及媒体应用层的抖动、音视频MOS等,形容下层利用App心愿ADN网络达成的品质保障程度及指标;在利用感知方面,基于云服务类型感知的网络流量预测,及基于AI、大数据统计的租户利用流量画像 ADN网络进一步反对业务流量的分时错峰调度,以及跨端边云的利用与数据迁徙同步能力。 ADN服务的外围价值:利用和媒体减速、极致麻利牢靠的云接入与云互联总体而言,ADN服务的最终客户价值体现在2方面:面向互联网利用、媒体内容体验晋升与保障的全门路网络减速的能力;面向云租户提供极致麻利牢靠的云接入、云互联服务。 ADN服务撑持企业租户以最优的性价比及麻利可靠性,从本地IDC数据中心或办公地点接入最近的云数据中心Region或边缘站点,以及解决不同云服务区域之间,云服务区域与边缘站点之间,不同终端用户/边缘站点之间的互联网减速能力问题。 1. 利用及媒体传输全门路减速方面,ADN实现了同等于专线的QoS品质,但比专线便宜50%基于ADN网络的测试统计后果来看,对于大于1000公里的长距离连贯,ADN网络相比原生Internet物理网络的均匀优化幅度达到20%到40%以上,比方“约翰内斯堡 — 新加坡”,以及“墨西哥城 —上海”的近程连贯场景,优化门路别离调整为“约翰内斯堡—香港—新加坡”,以及“墨西哥城—硅谷—上海”, 优化幅度别离达到了42.5%和36.7%,而丢包率方面,ADN即使在基于Internet物理承载的前提下,仍然可打消短途Internet网络连接,特地是TCP/HTTP连贯协定下,因为丢包所带来的吞吐率的影响,根本可达到与物理专线所持平的零丢包率程度(带宽非瓶颈前提下)。而“墨西哥—昆明”的缺省Internet路由门路,在ADN网络的优化作用下,将其路由调整为“墨西哥—上海—昆明”,从而无效绕过了“墨西哥—昆明”之间缺省Internet物理路由的部分拥塞点,将丢包率从15%降到0,而“东京—北京”的缺省 Internet门路,也动静调整为“东京—郑州—北京”,从而将42%丢包率升高到0。 而通过ADN外部的多路径实时冗余能力、网络与华为云自建的物理HBN(华为骨干网络)之间多立体实时冗余的能力,以及ADN故障后切换到Internet的韧性爱护的能力,更是进一步将华为云的广域连贯可靠性、鲁棒性晋升了1个数量级。 2. 网络弹性与麻利能力方面,ADN通过云原生技术冲破了传统广域网在物理设施及天文区域方面制约,使得网络拓扑变动及路由收敛从天级缩短到分钟级ADN网络的接入及转发节点,可灵便部署在电信运营商城域网,被多租户共享接入;或者部署在企业外部网络,为单个租户提供独占服务;ADN通过基于CCE集群容器及IEF边缘容器部署模式,实现了分钟级的网络拓扑变更,以及转发节点容量的主动按需弹性伸缩;ADN的多指标线性规划的高性能路由算法,则反对分钟级的路由收敛及最优/次优门路抉择。 3. 私有云结构化降老本方面,ADN通过将核心Region的EIP卸载到边缘站点及CDN,将私有云网络接入老本升高40%以上通过将面向云服务、云主机、云容器的弹性IP从核心Region下沉到边缘节点,ADN使得云租户可从各运营商的城域网经由动态BGP就近接入到分布式边缘站点,再通过分布式边缘站点经由物理专线连贯到主Region服务区的云服务、云主机、云容器实例,因为动静BGP与动态BGP在国内定价差价达近10倍,加之ADN接入节点与CDN共享上下行带宽,使得CDN非忙时阶段的闲置带宽资源得以更为充沛的利用,从而进一步大幅升高了租户的总体弹性IP接入老本,使得私有云的网络接入总成本升高达40%以上。 瞻望云原生ADN网络的将来,其对于华为云的意义将远不止于一张麻利、弹性、智能的寰球精品媒体网络,是私有云Internet接入降老本的伎俩,以及对自建光纤骨干网的补充。 随着ADN网络建设的日益齐备,及其在云网协同方面的经营与运维数据的极大丰富与积攒,必将推动其成长为华为分布式云原生架构的“大动脉”与“高速公路”, 使得逾越不同Region云服务区,逾越云边端、逾越遍布寰球的华为云、搭档云及HCS的对立资源调度与对立利用编排部署成为可能,从而无力地撑持 “东数西算”国家新基建布局,以及华为云“寰球一朵云”、“寰球一张网” 策略的达成。 点击关注,第一工夫理解华为云陈腐技术~

September 28, 2021 · 1 min · jiezi

关于网络:QOE-驱动下的分布式实时网络构建Agora-SDRTN-的演进

编者按:**近日,寰球软件案例钻研峰会在北京召开。寰球软件案例钻研峰会(简称“TOP100Summit”)是科技界一年一度的案例钻研榜单,每年甄选年度最值得借鉴的100个好案例,旨在揭幕优良研发团队背地的做法、思考,为读者提炼最佳学习门路梳理、思考案例长尾价值。在壹佰案例峰会的“架构演进/工程实际/开源落地”专题上,声网 Agora 首席架构师刘勇发表了《QOE 驱动下的分布式实时网络构建:Agora SD-RTN 的演进》的演讲。他重点分享了SD-RTN 和 Agora RTC 零碎 如何在放弃线上无停机无大故障的状况下保证系统逐渐降级、扩容和实时交互体验的品质继续改良,撑持了客户每天数十亿分钟的通信时长。 刘勇2001 年浙江大学本科毕业;2013 年清华大学博士毕业;2014 年退出声网Agora,从事整体零碎的设计和开发。提出并设计、主导开发了 SD-RTN 零碎,基于 SD-RTN 搭建了 Agora RTC 零碎等。C++ 语言的忠诚粉丝,互联网畛域永远的新兵。 摘要随着网络和视频技术的倒退,以实时音视频为主的实时互动利用对长距离网络传输的低延时和高可靠性带来了新的挑战和需要。与传统网络架构和 SDN 技术不同,声网 SD-RTN 构建了以笼罩网络为次要思维的低延时高可靠性网络,配合基于 UDP 的多路复用传输协定 AUT,为 RTC 等实时服务提供了底层网络保障,保障了 Agora RTE 用户在寰球范畴内的端到端体验。 • 通过将 RTC 服务和网络传输分层、解耦,不同于传统 RTC 协定如 RTP 协定等将音视频媒体流和网络传输协定重度耦合的计划,提供了可伸缩、灵便且业余的零碎架构,保障了服务的品质 • 利用笼罩网络和 SDN 的思维,保障了肯定规模的寰球组网的实时网络云的网内传输品质 • 提出了 4 层多路复用实时传输协定 AUT,基于该协定加强了 Agora RTC/RTE 在 lastmile 端的体验品质, 并为下层利用提供了形象灵便的管制机制 SD-RTN 与 Agora RTC 服务架构RTC 零碎架构的演进Real - Time Communication 顾名思义,既然是通信 ,通信的单方或者多方必须要发动连贯或者握手。在常见的2人场景中,通信单方能够通过信令服务来发动P2P连贯,间接实现数据通道的建设。 ...

September 23, 2021 · 3 min · jiezi

关于网络:对象存储内容审核-不可忽视网络暴力

绿色互联网曾经成为大家独特呐喊的口号。人们大多把治理的重点放在了图片视频上,都在踊跃打击色情暴力内容。但随着未成年人越来越多的应用互联网进行社交,文字型的人身攻击、谩骂、羞辱等网络欺凌景象,也在危害着他们的心灵。2021年6月1日,新订正的未成年人保护法正式开始施行,其中强调了任何组织、集体不得通过网络以文字、图片、音视频等模式,对未成年人进行羞辱诋毁等网络欺凌行为。如何保障未成年人的网络权利,杜绝网络欺凌行为,是亟需大家器重并做出口头的。 经考察发现,绝对于传统面对面人身攻击,网络攻击的影响范畴更广、持续性更强,对人身心造成的挫伤更大。往年7月,地方网信办启动的“清朗”网络环境专项整治流动,其中就强调了严防网上不良社交行为和不良文化景象行程的不良导向、扭曲青少年价值观,坚定查处人身攻击、歹意举报等网络暴力行为。 如果一个企业的产品中,呈现了相似的网络暴力、网络欺凌的内容,不仅仅是对人民大众尤其是未成年人的危害,也会让企业本身面临被查处的危险。 对象存储 COS 作为互联网数据存储的“大本营”,依靠数据万象 CI 推出了内容审核服务,能够帮忙大家一键式的进行违规内容的处理。其中蕴含对羞辱、谩骂、暴力发言等场景的审核,代表了COS对网络暴力的“零容忍”! 以文本审核为例一、对新增的数据主动审核您能够通过对象存储控制台,增加增量数据审核配置,实现对新增的数据主动进行审核。 针对审核后果,咱们反对对审核后果为敏感的数据,进行主动解冻;也反对对审核后果为疑似的数据,进行人工复审,进一步增强审核后果的准确性。 二、对已有的数据批量审核您能够通过对象存储控制台,创立存量数据审核工作,实现对存量数据的批量审核,同样反对主动解冻和人工复审。 您也能够配置审核后果回调,当审核实现时,咱们会将后果发送至您的回调接管地址。 三、应用 API 接口,自定义审核文本或文件您能够通过调用咱们提供的API接口,间接对文本内容进行审核,或对utf8编码的文本文件进行审核。 四、查看审核详情您能够通过控制台或事后配置的回调地址,查看审核后果详情。 写在最初要杜绝网络暴力景象,须要全社会集思广益,国家近年来从订正文件到出台法律,都彰显出了打击网络暴力的信心和气魄。 咱们作为网络信息内容服务的生产者、使用者以及承载者,该当肩负起打击治理的首要责任!

September 16, 2021 · 1 min · jiezi

关于网络:带你读AI论文丨LaneNet基于实体分割的端到端车道线检测

摘要:LaneNet是一种端到端的车道线检测办法,蕴含 LanNet + H-Net 两个网络模型。本文分享自华为云社区《【论文解读】LaneNet基于实体宰割的端到端车道线检测》,作者:一颗小树x。 前言这是一种端到端的车道线检测办法,蕴含LanNet+H-Net两个网络模型。 LanNet是一种多任务模型,它将实例宰割工作拆解成“语义宰割”和“对像素进行向量示意”,而后将两个分支的后果进行聚类,失去实例宰割的后果。 H-Net是个小网络,负责预测变换矩阵H,应用转换矩阵H对同属一条车道线的所有像素点进行从新建模。即:学习给定输出图像的透视变换参数,该透视变换可能对坡度路线上的车道线进行良好地拟合。 整体的网络结构如下: 论文地址:TowardsEnd-to-EndLaneDetection:anInstanceSegmentationApproach 开源数据集TuSimple:https://github.com/TuSimple/t... 开源代码:https://github.com/MaybeShewi... 一、LanNetLanNet对输出图像进行实例宰割,其中网络结构分为两个方向,一个是语义宰割,另一个是对像素进行向量示意,最初将两个分支的后果进行聚类,失去实例宰割的后果。LaneNet输入实例宰割的后果,为每个车道线像素调配一个车道线ID。 1.1网络结构先看看网络结构: 分支1:语义宰割,Segmentation,对像素进行二分类,判断像素属于车道线还是背景; 分支2:对像素进行向量,Embedding,对像素进行嵌入式示意,把图像特色示意为嵌入空间中,特色之间的关系映射在嵌入空间。**聚类,**基于Mean-Shift算法实现的,把将两个分支的后果进行聚类,失去实例宰割的后果。 LaneNet是基于ENet的encoder-decoder模型,如下图所示,ENet由5个stage组成,其中stage2和stage3基本相同,stage1,2,3属于encoder,stage4,5属于decoder。 1.2语义宰割这部分是对像素进行二分类,判断像素属于车道线还是背景;并且高度不均衡,因而参考了ENet,损失函数应用的是规范的穿插熵损失函数。 设计语义宰割模型时,为了解决遮挡问题,论文对被车辆遮挡的车道线和虚线进行了还原(预计); Loss应用softmax_cross_entropy,为了解决样本分布不平衡的问题,应用了boundedinverseclassweight对loss进行加权: 其中,p为对应类别在总体样本中呈现的概率,c是超参数。 Loss的设计参考了:论文ENet:ADeepNeuralNetworkArchitectureforReal-TimeSemanticSegmentation 1.3像素映射到嵌入空间当宰割辨认失去车道后,为了晓得哪些像素归这条车道,哪些归那条车道,须要训练一个车道instanceembedding分支网络。它能输入一个车道线像素点间隔,归属同一车道的像素点间隔近,反之远,基于这个策略,可聚类失去各条车道线。 为了辨别车道线上的像素属于哪条车道,为每个像素初始化一个embedding向量,并且在设计loss时,使属同一条车道线的示意向量间隔尽可能小,属不同车道线的示意向量间隔尽可能大。 这部分的loss函数是由三局部组成:方差损失、间隔损失、回归损失: 其中,C是车道线数量,Nc是属同一条车道线的像素点数量,c是车道线的均值向量,xi是像素向量(pixelembedding)。 该loss函数源自于论文《SemanticInstanceSegmentationwithaDiscriminativelossfunction》 方差loss(Lvar):当像素向量(pixelembedding)xi与对应车道线均值向量c的间隔大于v时,模型会进行更新,使得xi凑近c; 间隔loss(Ldist):当不同车道线均值向量ca和cb之间的间隔小于d时,模型会进行更新,使得ca与cb远离彼此; 方差loss(Lvar)使得像素向量向车道线的均值向量c凑近,间隔loss(Ldist)则会推动聚类核心远离彼此。 1.4聚类embedding(像素映射到嵌入空间)曾经为聚类提供好的特征向量了,利用这些特征向量咱们能够利用任意聚类算法来实现实例宰割的指标。 聚类是基于Mean-Shift算法实现的,把将两个分支的后果进行聚类,失去实例宰割的后果。 首先应用meanshift聚类,使得簇核心沿着密度回升的方向挪动,避免将离群点选入雷同的簇中;之后对像素向量进行划分,直到将所有的车道线像素调配给对应的车道。 二、H-NetLaneNet的输入是每条车道线的像素汇合,还须要依据这些像素点回归出一条车道线。传统的做法是将图片投影到俯视图(鸟瞰图)中,而后应用2阶或者3阶多项式进行拟合。在这种办法中,变换矩阵H只被计算一次,所有的图片应用的是雷同的变换矩阵,这会导致地立体(山地,丘陵)变动下的误差。 为了解决这个问题,论文训练了一个能够预测变换矩阵H的神经网络H-Net,网络的输出是图片,输入是变换矩阵H: 通过置0对转置矩阵进行束缚,即水平线在变换下放弃程度。(即坐标y的变换不受坐标x的影响) 由上式能够看出,转置矩阵H只有6个参数,因而H-Net的输入是一个6维的向量。H-Net由6层一般卷积网络和一层全连贯网络形成,其网络结构如图所示: 三、模型成果车道线检测成果,与其余模型比照 模型的精度高达96.4%,这个成果挺不错了。 模型速度: 2018年:在NVIDIA1080TI上测得的512X256图像的速度。总的来说,车道检测能够以52FPS的速度运行。检测速度比拟快了,实时性较高。 2020年:增加实时宰割模型BiseNetV2作为Lanenet骨干,新模型在单幅图像推理过程中能够达到78fps。能够在此处找到基于BiseNetV2训练的新Lanenet模型。 模型成果: 四、开源代码开源代码:https://github.com/MaybeShewi... 该开源代码是应用LaneNet深度神经网络模型,进行实时车道检测(非官方版) 该模型由编码器-解码器阶段、二进制语义宰割阶段和应用判断损失函数进行实时车道检测工作的实例语义宰割组成。 代码的运行环境:(以下是亲测的) 零碎:ubuntu16.04(x64) 语言:Python3.6 深度框架:TensorFlow1.15.0(GPU版本) 其余依赖库:cv2、matplotlib、scikit_learn、numpy等。 实际过程: 1)创立conda环境 condacreate-nLineNetpython=3.62)进入方才创立的环境 condaactivateLineNet3)依据requirements.txt要求去装置相干的依赖库(这里我也阿里云减速装置了) pip3install-rrequirements.txt-ihttps://mirrors.aliyun.com/pypi/simple/看了一下这个的文件,发现有点问题。 tensoflow反复了:tensorflow_gpu==1.15.0、tensorflow==1.15.0,依据应用状况删除一个,我是精确应用GPU减速的,于是删掉tensorflow==1.15.0。 4)装置英伟达的cudatoolkit10.0版本 condainstallcudatoolkit=10.05)装置英伟达深度学习软件包7.6版本 condainstallcudnn=7.6.56)设置lanenet_model环境变量 exportPYTHONPATH="${PYTHONPATH}:your_path/lanenet-lane-detection/lanenet_model"your_path是lanenet-lane-detection文件夹所在的绝对路径。 7)下载模型 链接:https://pan.baidu.com/s/1-av2...提取码:1024 一共4个文件,30M左右。 而后在lanenet-lane-detection目录下,新建一个子目录,名为model_weights,存在这个4个模型文件,待会用到。 8)测试模型 pythontools/test_lanenet.py--weights_pathmodel_weights/tusimple_lanenet.ckpt--image_path./data/tusimple_test_image/3.jpg胜利应用GPU减速: 语义宰割和像素嵌入成果: 实体宰割成果: ...

August 27, 2021 · 1 min · jiezi

关于网络:挂图作战网络测量的具体用途

随着互联网的一直倒退,网络由最后的单纯数据传送倒退到多媒体信息传送。这一演变过程就使得网络流量的模式产生了极大的变动。许多专家提出该当更加深刻地意识现有互联网的外在机制,而意识事物的第一步就是要测量它,并用数字示意进去。由此,“网络测量”这个钻研畛域应运而生。 网络测量的概念 人们对网络进行钻研的最终目标是为了建设高效、稳固、平安、互操作性强、可预测以及可管制的网络,而网络测量是取得第一手网络行为指标和参数的最无效的伎俩。在对网络进行测量和测试的根底上建设网络行为模型,并用模仿仿真办法搭建从实践到实际的桥梁。 网络测量和网络行为剖析是高性能协定设计、网络设备开发、网络布局与建设、网络管理与操作的根底,同时也是开发高效能网络应用的根底。网络测量和网络行为剖析为互联网的科学管理和无效管制以及为互联网的倒退与利用提供迷信的根据。 网络测量的具体用处可分为以下几大类: (1)故障诊断某些网络部件的故障会烦扰整个网络的运行,例如,播送风暴、非法分组长度、地址谬误、安全性攻打等,须要对这些故障进行诊断。 (2)协定排错网络的研制者常常要对网络应用和网络协议“新的、改良的”版本进行测试。而网络测量可能为新协定和应用程序的正确运行提供伎俩,使其和规范保持一致,或使老的版本向后兼容。 (3)网络流量特色化网络测量可应用统计技术来剖析教训数据,从而提取出网络应用或网络协议的特色。流量特色化使设计的网络协议和网络设备具备更好的个性。 (4)性能评估网络测量可用来考查某个协定或某个利用在因特网中的性能程度。网络测量的详细分析可能帮忙确定性能“瓶颈”。一旦解决了被确定的性能问题,就可能研制性能更好的新协定。 (5)其余用处网络测量还有许多其余的用处,例如,用于抉择服务器/ISP设施,用于验证网络配置,用于设计因特网的新利用,用于配置网络或服务器,用于广域网中的负载平衡以及用于计费等方面。 网络测量有许多罕用的指标。例如,分组时延(单向或往返时延)、丢包率(即分组失落率)、带宽(包含容量、“瓶颈”带宽、可用带宽)、可达性、路由和跳数、网络系统的性能(包含服务器性能、客户性能和网络门路性能)等。 网络安全须要对网络资产进行治理和可视化,而大部分状况下企业往往并不齐全把握本人的网络资产,网络空间测绘应运而生,它的次要目标在于把物理世界的外围 网络空间测绘技术是通过网络测量、网络实体定位和网络连接关系及其他相干信息的可视化等实践和科学技术伎俩,也是对网络空间进行实在形容和直观反映的一种翻新技术。网络空间测绘的指标是实现对起源泛滥、类型各异的网络空间资源的全面测绘。 网络空间测绘技术利用于网络攻防畛域的网络空间地图绘制,网络空间地图可能成为网络攻防单方重要的“作战地图”,可为攻防单方绘制网络空间反抗博弈的沙盘。从实网反抗来看,构建数字世界的高清地图能够提供外围平安技术能力,助力相干用户实现网络空间“挂图作战”。 网络空间资源测绘是目前网络空间可视化表白比拟成熟的技术,它能对网络空间中的各类资源及其属性进行探测、交融剖析和绘制。代表性工作包含美国国防部高级钻研计划局的“X 打算”、美国疆土安全部的“SHINE 打算”、美国国家安全局的“藏宝图打算”。 此外,美国诺思公司(Norse)、俄罗斯卡巴斯基实验室(Kaspersky)等机构通过收集网络攻击数据,绘制了网络威逼实时地图。 某钻研机构设计研发的“网络资产测绘剖析零碎——网探 D01”初步实现了网络空间资产测绘;某平安企业基于“钟馗之眼”(ZoomEye)探测的网络基础设施,绘制了寰球 42 亿 IP 地址的网络空间地图。尽管网络空间测绘实现了对网络空间次要因素的探测与展现,但并未全面展现网络空间,仅是对网络空间进行了部分信息的可视化。 (局部材料来源于网络,如有波及请分割删除)

August 17, 2021 · 1 min · jiezi

关于网络:AOC萌新探索搭建和体验在线AOC环境

摘要:AOC是一个做网络设备自动化运维以及三方设施纳管的一个能力平台。本文分享自华为云社区《AOC萌新探索之旅第一期——在线AOC环境初体验》,作者:oysterzz。 接触AOC没多久,这里本萌新打算开一系列贴记录一下学习过程中的日常;两头一些深水区帮大家趟一下,心愿可能帮得上大家。 先大略介绍一下本人吧,应该会有不少能力模型相仿的同学,能够一起交流学习;我之前接触过设施,敲过CLI给设施下配置,做过运营商网络交付;代码方面算是相熟C,搞过几年C的开发,python java会个皮毛;进入正题吧。 其实在接触AOC之前,大略初步理解到AOC是一个做网络设备自动化运维以及三方设施纳管的一个能力平台;要学习体验AOC,那我一方面是得有个AOC,还须要一个网络设备;最初还得有个python的环境来搞代码开发。 python的开发环境倒是好搞,然而AOC和网络设备我该怎么办呢? 这个时候我发现了社区首页的在线开发 进入在线开发页面后,这三个不就是我须要的AOC、python环境以及网络设备嘛;(雪中送炭) AOCmini提供了一个在线版AOC,CloudIDE提供了一个在线的python环境,AOCMONI提供了一个网元设施模拟器。进入环境的时候须要华为云的实名认证,这里遇见了一个问题,在社区中也看到了其余小伙伴有遇到过,实名认证后再次进入环境的时候还是提醒未实名认证; 这里征询了社区的反对人员,这个问题是因为华为云的实名认证与社区这边的数据库同步须要一点工夫触发,个别等几分钟就能够进入环境了。这个问题也是劝退萌新的一条拦路虎了,其实这个就是华为云在后盾为每位开发者起了一台虚拟机,其实也是够慷慨了,毕竟收费试用。 到这里心里还有最初一个纳闷,就是这三个工具是怎么在云上串联起来的呢,算了先不论那么多了,先点进去看看。我这里多少有点编码情节,第一个进入的是CLOUD IDE。 整个IDE界面跟PYCHARM等支流IDE类似,左侧右侧能够看到有插件相干的图标,应该是能够从CLOUD IDE 利用商店下载插件装置。 右侧能够看到有个蓝色的AOC图标 点开之后能够看到这个IDE默认装置了AOCmini与AOCmoni的插件服务,这里也解释了我心里最初一个疑难,就是IDE、AOC环境、设施环境是如何串联起来的。 这里能够看到有调试开关以及关上插件的开关,点击关上,果然不出所料关上了AOCmoni与AOCmini,这里根本能够确定,IDE中开发的代码运行起来的数据能够通过IDE的插件性能与AOCmini以及AOCmoni互通进行代码debug,这也就根本满足了一个开发者学习开发流程根本的环境要求了 上面咱们具体来试一下debug性能,看看用起来如何。 在CLOUD IDE与AOCmini中咱们能够看到零碎预置了一个名叫aaamini的SSP包 这里看默认曾经将IDE里的SSP包加载至AOCmini上,(下一回咱们具体看看怎么在IDE里编辑包而后再上传至AOCmini),当初咱们试试看怎么让IDE和AOCmini一起debug起来。 首先要在AOC插件列表中奖调试开关关上,关上后如下图所示。 而后咱们找到aaamini这个SSP包的业务python文件,凭借“丰盛的代码教训”锁定如下文件,其实还是挺容易找的,因为理论就俩正经py文件,轻轻吹一下python。 红框是主业务实现的文件,黄框是一个UT测试文件(UT后续开贴咱们具体来讲)。 大略看了下ncs_map这个办法应该就是下发配置时做模型映射的主入口了,二话不说咱们打上断点先试一把看看。 打上断点后,咱们来到AOCmini中的业务管理界面,点击减少来增加一条配置 须要咱们填写一下username,而后点击创立; 这个时候咱们看到须要填写一个nename,这里其实就是看将此次配置下发给具体哪台设施; 因为要看下发给哪台设施,咱们得晓得当初AOC当初对接的设施有哪些,点击资源->设施治理,咱们能够看到AOCmini默认对接了一台名为NE1的NE40E;所以咱们将nename填写为NE1就能够了。 点击试运行后,切回IDE界面点击run->StartDebugging,能够看到IDE中的程序曾经执行起来,暂停到咱们方才打的断点处。 点击continue将程序运行实现,能够看到AOCmini的页面中就弹出了试运行后果的对话框。 这里联合代码大略看了一下,ncs_map这个办法其实就是将咱们方才在网页上输出的参数通过下图中的jinja模板进行了映射组合成一个netconf报文。 第一次就先记录这么多吧,其实就是体验了一下AOC在线环境的debug性能。 两头也遇到了一些意料之外的问题,不过总体流程还是比拟容易了解的,下一次持续摸索一下在线环境,包含包的编辑加载,心愿大家多多关照多多交换。 点击关注,第一工夫理解华为云陈腐技术~

August 16, 2021 · 1 min · jiezi

关于网络:WiFi测试

咱们先不对设施做残缺的功能测试,只进行简略的测试,确保设施可能运行,而后持续。 • 如果把扩大板和LED连上失常装置,而后应用USB线连贯电源,有LED会点亮,LED液晶屏会显示;如果没有也没关系,咱们下一步串口测试会持续查看; 将设施上电后,确保设施没有冒烟,咱们就能够将设施应用USB连接线连贯到电脑,以便进行测试游戏心中。 串口辨认查看 应用USB连贯上设施后,对应的连贯会被零碎辨认为串口(COM)设施,只有零碎正确辨认了,咱们才能够进行进一步的操作。 • Windows零碎:须要关上零碎硬件设施管理器,查看是否存在对应的串口设施,并且被正确辨认了。其中辨认进去的端口序号依据理论状况,零碎会主动安顿。 – Wi-Fi IoT:Wi-Fi IoT智能家居套件测试设施-鸿蒙HarmonyOS技术社区 如果没有被辨认进去的话,就须要下载上面的驱动进行装置: – 驱动下载: CH341/340SER驱动下载 下载安装后,须要重启,以便驱动失效。重启结束后,从新查看串口辨认是否失常 • MacOS零碎: 接上串口前后,在命令行都执行如下命令,如果有新增的记录,阐明装置辨认了 ls /dev/ | grep ser#结果显示:/dev/cu.usbserial-1410#结果显示:/dev/tty.usbserial-1410如果没有辨认,那么装置上面的驱动:– 驱动下载: CH341/340SER驱动下载下载安装后,须要重启,以便驱动失效。重启结束后,从新查看串口辨认是否失常 串口通信测试 当串口被正确辨认后当前,咱们就能够筹备进行串口通信的测试了。在不同的操作系统上面,咱们须要视同不同的串口工具。 • Windows零碎: 华为IPOP – 串口调试软件(SSCOM) • MacOS零碎: – SerialTools:收费,App Store下载 – ComTool: 开源下载 下载串口工具后,关上串口工具,依据之前辨认的串口序号,在界面上抉择或者输出对应的串口,进行参数设置,具体设置信息如下: • 串口号(Serial Port):之前辨认到的串口号 • 波特率(Baud Rate):115200 • 数据位(Bits):8 • 进行位(Stop Bits):1 • 是否退出换行符(CR/LF或NewLine):1 进行连贯,而后重启设施,串口将收到信息,具体如下: • 串口测试: – 按外围板上的RET按键重启 如果串口收到了以上的信息了,阐明咱们的板子,能够运行了,继续前进吧。

July 22, 2021 · 1 min · jiezi

关于网络:Qcon-实时音视频专场实时互动的最佳实践与未来展望

互动直播、线上会议、在线医疗和在线教育是实时音视频技术利用的重要场景,而这些场景对高可用、高牢靠、低延时有着刻薄的要求,很多团队在音视频产品开发过程中会遇到各种各样的问题。例如:流畅性,如果在视频过程中频繁卡顿,基本上就很难有良好的互动;回声打消,通过环境反射被麦克风从新采集并传输,这也会影响互动成果;国内外互通,越来越多的产品抉择出海,海内外互通也是技术上须要解决的点;海量并发,这对音视频产品的抗压能力而言是很大的挑战。 5 月 29 日,在 「QCon 北京寰球软件开发大会」上,由声网Agora 技术 VP 冯越作为专题出品人发动的「实时音视频专场」,邀请到了来自新东方、伴鱼英语、声网Agora 的技术专家,与大家分享了下一代视频引擎架构、大规模施行音视频零碎的难点与跳转、语音测评及本地化实际、前端音视频播放器的钻研与实际等话题。 01 声网下一代视频引擎架构摸索随着音视频技术疾速倒退,音视频实时互动在多个畛域(社交娱乐、在线直播、医疗等)中都失去了宽泛的利用。同时随同着 AI 技术在图象处理中的疾速倒退,交融了 AI 算法的高级视频前解决性能也失去了越来越多的利用。场景的丰盛多变对下一代视频灵便可扩大性能提出了很高的要求。 声网Agora 负责下一代视频引擎架构设计的架构师李雅琪首先为大家带来了对于《声网下一代视频引擎架构摸索与实际》的分享。 为了能更好地满足对于视频体验的场景丰富性、用户差异性以及对直播体验的需要,声网将下一代视频解决引擎设计准则和指标总结为以下四个方面: 1、要满足不同的用户对集成的差异化需要; 2、要做到灵便可扩大,能够疾速的撑持各种新业务和新技术场景落地; 3、要做到疾速牢靠,对于视频解决引擎外围零碎要提供丰盛弱小的可能,且可能极大地升高开发人员心智累赘。 4、要做到性能优越可监控,要继续优化视频直播解决引擎性能,同时进步监控伎俩,实现品质数据通明。 针对上述四个设计指标,声网具体采纳了哪些软件设计的办法呢? 因为引擎的使用者是人造分层的,一部分使用者要求低代码疾速上线,须要引擎尽可能提供贴近他业务的性能的API;而另外一部分用户,心愿引擎能够为他们提供更多的外围视频解决能力,在这之上能够依照本人的需要定制视频解决业务。因而,依据这个用户状态声网也采取了业务组合加外围性能的分层业务设计,High Level API 面向业务提供易用性,Low Level API 提供外围性能和灵活性。为了把灵便编排能力作为视频解决引擎的能力凋谢给开发者,让开发者能够通过灵便自在的 API 组合,依据不同的业务需要进行灵便编排,声网的视频解决引擎外围架构采纳了 Microkernel Architecture 的架构模式,拆散了整个引擎的变量和不变量。通过微内核的架构模式实现灵便可扩大的指标: 各个模块性能能够疾速扩大,视频解决管线也能够通过搭积木式的组合来实现业务的灵便编排。 如果咱们没有一个稳固牢靠的外围零碎,一个开发人员要从零开始在视频解决管线上开发一个美颜插件,须要思考其本身业务逻辑以外的很多问题: 模块的地位、数据格式转换、线程模型、内存治理、属性配置等问题,针对这一系列工程相干的集成问题声网将解决方案固化到底层外围零碎当中,为用户提供了丰盛弱小的根底性能。这套视频引擎外围零碎包含了根底视频处理单元、管线搭建和管制、视频根底格局算法反对以及零碎基础设施等性能。有了这个外围零碎,集成就会变得非常简单,插件只有依照外围零碎接口协议约定,实现相干的封装接口就能够了。丰盛弱小的外围零碎性能极大地升高了模块开发者的心智累赘,从而帮忙开发者晋升整体的研发效力。 在性能优越可监控局部,声网优化了挪动端数据处理链路,拆散了管制面和数据面,晋升了整体数据视频的传输效率。另外还构建了视频解决个性相干的内存池来升高系统资源耗费。最终实现了全链路视频品质监控机制,使视频优化性能达到闭环反馈的成果。 02 自研大规模实时音视频零碎的难点与挑战来自声网Agora 的行业架构师董海冰作为 RTC 畛域的长期深耕者在大会中为大家遍及了 RTC 相干的根底概念,同时也详细分析了 RTC 的场景特点以及在自研过程中的架构设计和难点。最初,对于 RTC 将来的倒退方向也分享了他本人的认识。 相较于传统互联网应答大规模、高并发曾经较为成熟的解决方案:缓存、异步、分布式,实时音视频畛域所面临的挑战其实会更为简单。“实时”要管制在 1 秒以内能力叫做“实时”。比方做缓存,其工夫都是秒级别的,或者分钟级别的,很少呈现毫秒级别。实时音视频(RTC)在应答大规模、高并发场景时,须要思考到音视频品质、流畅性、低时延、可伸缩以及可用性等问题,这是做实时音视频和传统互联网很不一样的中央,也意味着其解决方案也会更为简单。 在开发过程中,用户常见的挑战有开发成本、网络搭建、品质监控、音频解决和最初测试等问题。在分享中,董海冰就举了一个音频自研的例子。首先,音频传输最要害要解决的问题有 3 个:无声/声音小、回声、噪声/杂音。其次,弱网反抗能力也十分重要,在网络发生变化的时候,怎么通过码率和帧率调整可能缓解变动,同时要解决在智能路由算法外面实现最优门路的抉择与传输等问题。另一个挑战就是多维度的品质评估,而且要做到实时化的评估,同时和动静调整造成一个闭环,这样才是最好的形式,可能在弱网反抗外面起到比拟好的作用。而对于应用开源服务端的难点,董海冰也对几个常见的计划(Jitsi/Jitsi VideoBridge、Kurento、Licode/Erizo、Pion、Janus)进行了探讨与分享。 除了服务端的开发,实时音视频的运维及品质监控也与传统的互联网形式有些不同。比方在运维方面,除了常见的容灾布局、容器化部署、自动化运维、性能剖析及日志零碎外,实时音视频中的运维还须要面对寰球网络(跨区域、跨运营商)、Lastmile 策略等挑战。 如果用户抉择了自研的形式,可能还会面对大规模连麦、RTC录制/回放计划、经营老本的管制等问题。但即使咱们须要面对和解决如此多的艰难和挑战,不能疏忽的是实时音视频技术正在被利用在越来越多的场景下,也领有着越来越多的可能性。 MetaVerse 译作元宇宙,是近期比拟热的一个概念。在现实生活中咱们能够把它了解为是一种角色转换,在虚拟世界中是另一种全新体验,实现多种虚拟世界角色的切换。VRCHAT 也是相似的,通过 VR 来做社交或者娱乐,帮忙大家进行更好的线上交互,这很可能是将来互联网的倒退和摸索的方向。董海冰提到,作为自研团队不能闭门造车,要紧跟时代脉搏和行业发展趋势,尽可能把本人的力量投入在本人外围业务和善于的方面,大家一起把实时音视频这个畛域做得更好。 ...

July 19, 2021 · 1 min · jiezi

关于网络:网络基础知识

计算机网络的种类很多,依据各种不同的分类准则,能够失去各种不同类型的计算机网络。 依照规模大小和延长范畴分类: 局域网(LAN)城域网(MAN)广域网(WAN)Internet能够视为世界上最大的广域网。 依照网络的拓扑构造来分类: 星型网络总线网络环线网络树型网络星型环线网络依照网络的传输介质来分类: 双绞线网同轴电缆网光纤网卫星网计算机网络中实现通信必须有一些约定,这些约定被称为通信协议。通信协议通常由三局部组成: 语义局部,用于决定单方对话的类型语法局部,用于决定单方对话的格局变换规定,用于决定通信单方的应答关系开放系统互联参考模型OSI(Open System Interconnection),从下到上将计算机网络分为: 物理层(最底层)数据链路层网络层传输层会话层表示层应用层(最上层)IP(Internet Protocol)协定:互联网协议TCP(Transmission Control Protocol)协定:传输控制协议 TCP/IP协定,即传输管制/网络协议,也叫作网络通讯协定。它是在网络的应用中的最根本的通信协议。从下到上将计算机网络分为: 网络接口层(包含:物理层、数据链路层)(最底层)网络层传输层应用层(包含:会话层、表示层、应用层)(最上层)IP地址用于惟一地标识网络中的一个通信实体,这个实体既能够是一台主机,也能够是一台打印机,或者是路由器的某一个端口。 IP地址是数字型的,是一个32位(32bit)整数,通常把它分成4个8位二进制数,每8位之间用圆点隔开,每个8位整数能够转换成一个0~255的十进制整数。 端口是一个16位的整数,用于示意数据交给哪个通信程序处理。因而,端口就是应用程序与外界交换的入口,他是一个形象的软件结构,包含一些数据结构和I/O(根本输出/输入)缓冲区。 能够把IP地址了解为某人的所在中央的地址(包含街道和门牌号),但仅有地址还是无奈找到此人,还须要晓得他所在的房号,即端口号。而计算机网络充当邮递员的角色。 当一个程序须要发送数据时,须要指定目的地的IP地址和端口号,计算机网络就能够将数据发送给该IP地址和端口所对应的程序。

July 4, 2021 · 1 min · jiezi

关于网络:测试开发之网络篇网络路由

互联网是一个宏大的分层网状结构,亿万的设施散布在其大大小小的子网中。这里咱们展现了一个简化的办公网络,包含3个子网,子网间通过路由器相连,子网外部应用二层交换机或无线热点连贯了一些电脑和办公设备。 图中的二层交换机是工作在数据链路层的,它保护了一个通过ARP(Address Resolution Protocol,地址解析协定)学习到的、IP地址到物理地址的映射,以此来决定发往某个指标主机的数据包,从交换机哪个端口转发进来。从而实现同网段内设施的通信。 路由器是工作在网络层的,它的端口连贯了另一个路由器或交换机,每个端口配置了(达到)不同子网的地址。路由器间应用OSPF(Open Shortest Path First,开放式最短门路优先)协定,互相学习造成一个路由表,用于把握相似“能够通过哪一个路由器的、哪个端口、达到指定的子网、间隔有多远”等信息。 网络里的每个主机(网卡),手工配置或从DHCP取得了一个IP地址,包含主机地址、子网掩码和默认网关。当子网3中的主机192.168.0.100/24心愿向子网1中的Web服务器172.16.1.10/24发送申请时,数据包首先会被发往默认网关-这里是无线路由器连贯子网3的那个端口的地址192.168.0.1;无线路由器查看路由表,获取通往子网1的最优门路,通过指定的端口,将数据包转发给下一站路由器;如此持续实现跨网段间的通信。 本篇文章,目标是简略理解替换网络和路由网络不同的工作形式,以坚固后面所学的常识。有趣味的敌人,能够浏览思科CCNA认证相干的材料,获取更多信息。

July 1, 2021 · 1 min · jiezi

关于网络:网络通信TCP基础

三次握手 四次挥手

June 23, 2021 · 1 min · jiezi

关于网络:TCP三次握手四次挥手

介绍 在网络层通过IP协定能够实现两个主机之间的通信,然而无奈确定是主机中的那个过程之间进行的通信,而理论及性能通信的则是主机中的过程。 <!-- more --> TCP面向连贯的服务,在传送数据之前必须先建设连贯,数据传送实现后要开释连贯。因而TCP是一种牢靠的的运输服务,然而正因为这样,不可避免的减少了许多的开销,比方确认,流量管制等。对应的应用层的协定次要有SMTP,TELNET,HTTP,FTP等。 TCP把连贯作为最根本的对象,每一条TCP连贯都有两个端点,这种断点咱们叫作套接字(socket),它的定义为端口号拼接到IP地址即形成了套接字,例如,若IP地址为127.0.0.1 而端口号为80,那么失去的套接字为127.0.0.1:80。 TCP采纳全双工通信,这要求了服务端与客户端必须单方都能进行向对方发送数据,所以建设断开连接必须建设或者断开两次。 TCP报文 源端口和目标端口:别离写入源端口和目标接口。序号:占4个字节,TCP连贯中传送的字节流中的每个字节都按程序编号。以后为301时,如果传输100个字节后,下一个报文段从401开始。确认号:占4个字节,是冀望收到对方下一个报文的第一个数据字节的序号。数据偏移:占4位(半个字节),它指出TCP报文的数据间隔TCP报文段的起始处有多远。保留地位:占6位,保留今后应用,但目前应都位0。紧急URG:当URG=1,表明紧急指针字段无效。通知零碎此报文段中有紧急数据。确认ACK:仅当ACK=1时,确认号字段才无效。TCP规定,在连贯建设后所有报文的传输都必须把ACK置1。推送PSH:当两个利用过程进行交互式通信时,有时在一端的利用过程心愿在键入一个命令后立刻就能收到对方的响应,这时候就将PSH=1。复位RST:当RST=1,表明TCP连贯中呈现重大过错,必须开释连贯,而后再从新建设连贯。同步SYN:在连贯建设时用来同步序号。当SYN=1,ACK=0,表明是连贯申请报文,若批准连贯,则响应报文中应该使SYN=1,ACK=1。终止FIN:用来开释连贯。当FIN=1,表明此报文的发送方的数据曾经发送结束,并且要求开释。窗口:占2字节,指的是告诉接管方,发送本报文你须要有多大的空间来承受。测验和:占2字节,校验首部和数据这两局部。紧急指针:占2字节,指出本报文段中的紧急数据的字节数。选项:长度可变,定义一些其余的可选的参数。TCP连贯的建设(三次握手) 服务端先创立传输管制块,筹备监听客户端过程的连贯申请,此时服务器就进入了Listen状态。客户端也建设传输管制块,向服务端发送连贯申请报文,此时客户端进入SYN-SENT状态(同步已发送)。 TCP规定,SYN报文段(SYN=1的报文段)不能携带数据,但需消耗掉一个序号。 此时报文内容SYN=1,seq=x。服务器接管到申请后,如果批准连贯,则收回确认报文,此时服务器进入SYN-RCVD状态(同步收到)。 这个报文同样不能携带数据,须要耗费一个序号。 此时报文内容为SYN=1,ACK=1,seq=y,ack=x+1。seq为本人发送的序列号,ack因为上一次的发连贯申请报文不带数据,所以确认号间接为x+。客户端过程收到确认后,还要向服务器给出确认。确认后,TCP连贯建设,客户端进入ESTABLISHED状态(已建设连贯)。 TCP规定,ACK报文段能够携带数据,然而如果不携带数据则不耗费序号。 此时的报文内容为ACK=1,seq=x+1,ack=y+1;这里绝对于同步申请是客户端发给服务端的第二个申请,所有seq为x+1。当服务器收到客户端的确认后也进入ESTABLISHED状态,尔后单方就能够开始通信了。TCP连贯的断开(四次回收) 客户端发送连贯开释报文,进行发送数据,客户端进入FIN-WAIT-1状态(终止期待1)。 TCP规定,FIN报文段即便不携带数据,也要耗费一个序号。与SYN报文段类似。 此时报文内容为FIN=1,seq=u。这里的序列号追随后面的数据的序列号,为最初一个字节数据的序列号加一。服务器收到连贯开释报文,发送出本人的开释报文,服务端进入CLOSE-WAIT状态(敞开期待)。 TCP服务器告诉高层的利用过程,客户端向服务器的方向就开释了,这时候处于半敞开状态,即客户端曾经没有数据要发送了,然而服务器若发送数据,客户端仍然要承受。这个过程须要继续一段时间,期待服务器将数据发送完。此时报文内容为ACK=1,seq=v,ack=u+1。客户端收到服务器的开释确认后,进入FIN-WAIT-2状态,期待服务器发送连贯开释报文,这个过程中会持续承受服务器发送的数据内容。服务器将数据发送结束后,向客户端发送连贯开释报文,服务器进入LAST-ACK状态,期待最初的确认。 此时报文内容为FIN=1,ACK=1,seq=w,ack=u+1,在上个过程中,客户端不会向服务端发送信息所以ack不变,而服务端会向客户端发送所以seq会变动。客户端收到连贯开释后,向服务器收回确认,客户端进入TIME-WAIT状态。 留神此时TCP连贯还没有开释,必须通过2*MSL(最长报文段寿命)的工夫后,当客户端撤销相应的TCB后,才进入CLOSED状态。 此时报文内容为ACK=1,seq=u+1,ack=w+1。服务器收到确认信息后,会立刻进入CLOSED状态,撤销TCB完结连贯。艰深一点 举个例子: 甲方:你好,我是甲方,你能听到吗?乙方:你好,我能听到,我是乙方,你能听到吗?<甲方收到,甲方建设连贯>甲方:我能听到。<乙方收到,乙方建设连贯>连贯建设,开始扯皮。甲方乙方:。。。(扯皮中)。甲方:我说完了,就这样吧。乙方:你说完了好的,我最初在说一下。乙方:。。。乙方批斗需要中。乙方:我也说完了,挂了吧。甲方:好的,挂了。<乙方收到,乙方挂掉了>甲方:{等了一个来回的工夫了,他应该收到了}。<甲方挂掉了>一点问题为什么TCP客户端最初还要发送一次确认呢?(为什么不是2次握手) 避免因网络抖动各种起因造成的连贯申请,忽然又传送到了服务端,从而产生谬误。 采纳两次握手的状况下,假如第一次的连贯申请在网络中阻塞了,服务端没有收到客户端的申请报文就不会解决,客户端始终收不到确认就会认为服务器没有收到,则会从新发送这条申请,尔后客户端和服务端实现握手,建设连贯。 这时,在网络中阻塞的第一次的申请忽然达到服务器就会呈现问题。 如果建设连贯后传输实现数据且敞开连贯了,就会产生从新建设连贯的问题,而采纳3次握手,即便服务端收到了出错的连贯申请而发送了确认信息,然而客户端没有须要传输的数据,不会进行第三次握手操作,就不会产生问题。 如果传输数据过程中收到了谬误的连贯申请,即便进行确认,也不会第三次进行握手。(这里待议)服务端易受到SYN攻打? 服务端的资源是在第二次进行握手的时候调配的,而客户端的资源是在进行第三次握手的时候调配的。所以服务器容易收到SYN洪泛攻打,就是在短时间内伪造大量不存在的ip,一直的向服务器发送SYN包,服务端则回复并期待确认包,然而源地址是虚构的,所有不会收到确认包,服务端将一直重发进行重试晓得超时,这些伪造的SYN包将占用大量且长时间的占用未连贯队列,导致失常申请将被抛弃,引起网络瘫痪。 能够通过升高主机的等待时间开释未连贯占用,或者短时间收到某ip的反复SYN报文将抛弃后续申请。 为什么客户端最初还要期待2MSL? 保障客户端的最初一个ACK报文可能达到服务器,在服务端,没有承受到客户端的ACK就会认为服务器没有收到本人发送的FIN申请,这时就会重发FIN申请。对于客户端而言,收到FIN申请后,发送ACK确认信息,假如服务端没有收到ACK信息,就会从新发送FIN申请,客户端就会从新收到FIN申请,没有收到从新发送的FIN申请,就认为没有问题就能够断开连接了。 如果曾经建设了连贯,然而客户端忽然呈现故障了怎么办? TCP设置有一个保活器,服务器每一次收到数据就会从新复位这个计时器,若计时器走完,没有收到客户端的数据,服务器就会发送探测报文,75秒一个探测报文,间断10个探测报文没有收到复原,就认为客户端故障,断开连接。 为什么是四次挥手而不是三次或者五次呢? 第二次挥手和第三次挥手都是服务端向客户端发送报文,第二次挥手是服务端收到了客户端的断开申请,告诉客户端收到了,此时客户端没有数据向服务端发送了,但不代表服务端也没有数据向客户端发送,因为服务端要把残余还没有发送的报文发送结束再断开连接;第三次挥手是服务端数据全副发送结束,向客户端发送断开申请报文(FIN=1)。 如果将这两次合二为一,就会呈现服务端收到申请后立刻确认并且断开连接,会造成服务端发送到客户端的数据不残缺。五次则没有必要。 问什么连贯是三次断开是四次呢? 断开是四次的起因和下面的问题的解答是一样的。 对于建设连贯,3次其实是建设牢靠连贯的最小次数。可参考第一道问题。 因为当服务端收到客户端的SYN连贯申请报文后,能够间接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。然而敞开连贯时,当Server端收到FIN报文时,很可能并不会立刻敞开连贯,所以只能先回复一个ACK报文,通知客户端,"你发的FIN报文我收到了"。只有等到我服务端所有的报文都发送完了,我能力发送FIN报文,因而不能一起发送。故须要四步握手。 四次挥手相比于三次握手,将服务端返回给客户端的ACK+SYN报文,拆成了2次发送。 本文由博客一文多发平台 OpenWrite 公布!

May 16, 2021 · 1 min · jiezi

关于网络:网络命令1dig-查看域名解析

一、参考网络学习系列目录——更新ing 10 Linux DIG Command Examples for DNS Lookup Dig Command in Linux (DNS Lookup) 二、简介三、示例

May 10, 2021 · 1 min · jiezi

关于网络:网络学习系列目录更新ing

一、根底二、命令

May 10, 2021 · 1 min · jiezi

关于网络:计算机网络概述集线器交换机和路由器

从计算机发送进去的网络包会通过集线器、路由器等设施被转发,最终达到目的地。转发设施会依据包头部中的管制信息,在转发设施外部一个写有转发规定的表中进行查问,以此来判断包的目的地,而后将包朝目的地的方向进行转发。 信号在网线和集线器中传输每个包都是独立传输的邮递员在送信的时候只看信封,不看外面的内容,同样地,转发设施在进行转发时也不看数据的内容。因而,无论包外面装的是应用程序的数据或者是TCP协定的管制信息,都不会对包的传输操作自身产生影响。换句话说,HTTP申请的办法,TCP的确认响应和序号,客户端和服务器之间的关系,这所有都与包的传输无关。因而,所有的包在传输到目的地的过程中都是独立的,相互之间没有任何关联。 记住这个概念之后,咱们来摸索一下网络包在进入互联网之前经验的传输过程。这里咱们假如客户端计算机连贯的局域网构造是像下图这样的。也就是说,网络包从客户端计算机收回之后,要通过集线器、交换机和路由器最终进入互联网。实际上,咱们家里用的路由器曾经集成了集线器和交换机的性能,像图上这样应用独立设施的状况很少见。不过,把每个性能独立进去更容易了解,因而咱们这里将所有性能独立进去,一一来进行摸索。 避免网线中的信号衰减很重要咱们的摸索从信号流出网卡进入网线开始。网卡中的PHY(MAU)模块负责将包转换成电信号,信号通过RJ-45接口进入双绞线,这部分的放大图如下图的右侧局部所示。以太网信号的实质是正负变动的电压,大家能够认为网卡的PHY(MAU)模块就是一个从正负两个信号端输入信号的电路。 网卡的PHY(MAU)模块间接连贯图右侧中的RJ-45接口,信号从这个接口中的1号和2号针脚流入网线。而后,信号会通过网线达到集线器的接口,这个过程就是单纯地传输电信号而已。 然而,信号达到集线器的时候并不是跟刚发送进来的时候截然不同。集线器收到的信号有时会呈现衰减。信号在网线的传输过程中,能量会逐步损失。网线越长,信号衰减就越重大。 如果再加上噪声的影响,失真就会更厉害。噪声依据强度和类型会产生不同的影响,无奈一概而论,但如果原本就曾经衰减的信号再进一步失真,就会呈现对0和1的误判,这就是产生通信谬误的起因。 “双绞”是为了克制噪声局域网网线应用的是双绞线,其中“双绞”的意思就是以两根信号线为一组缠绕在一起,这种设计是为了克制噪声的影响。 那么双绞线为什么可能克制噪声呢?首先,咱们来看看噪声是如何产生的。产生噪声的起因是网线四周的电磁波,当电磁波接触到金属等导体时,在其中就会产生电流。因而,如果网线四周存在电磁波,就会在网线中产生和本来的信号不同的电流。因为信号自身也是一种带有电压变动的电流,其本质和噪声产生的电流是一样的,所以信号和噪声的电流就会混淆在一起,导致信号的波形产生失真,这就是噪声的影响。 影响网线的电磁波分为两种。一种是由电机、荧光灯、CRT显示器等设施透露进去的电磁波,这种电磁波来自网线之外的其余设施,咱们来看看双绞线如何克制这种电磁波的影响。 信号线是用金属做成的,当电磁波接触到信号线时,会沿电磁波流传的右旋方向产生电流,这种电流会导致波形产生失真。如果咱们将信号线缠绕在一起,信号线就变成了螺旋形,其中两根信号线中产生的噪声电流方向就会相同,从而使得噪声电流互相对消,噪声就失去了克制。 另一种电磁波是从网线中相邻的信号线透露进去的。因为传输的信号自身就是一种电流,当电流流过时就会向四周收回电磁波,这些电磁波对于其余信号线来说就成了噪声。这种外部产生的噪声称为串扰(crosstalk)。 要克制这种噪声,关键在于双绞线的缠绕形式。在一根网线中,每一对信号线的扭绞距离(节距)都有肯定的差别,这使得在某些中央正信号线间隔近,另一些中央则是负信号线间隔近。因为正负信号线产生的噪声影响是相同的,所以两者就会互相对消。从网线整体来看,正负的散布保持平衡,天然就会减弱噪声的影响。 集线器将信号发往所有线路当信号达到集线器后,会被播送到整个网络中。以太网的根本架构就是将包发到所有的设施,而后由设施依据接管方MAC地址来判断应该接管哪些包,而集线器就是这一架构的忠诚体现。 集线器的每个接口的前面装有和网卡中的PHY(MAU)性能雷同的模块,但如果它们像网卡端一样采纳直连式接线,是无奈失常接管信号的。要失常接管信号,必须将“发送线路”和“接管线路”连接起来才行。集线器中的PHY (MAU)模块与接口之间采纳穿插接线的起因正是在于此。 集线器的接口中有一个MDI/MDI-X切换开关,MDI就是对RJ-45接口和信号收发模块进行直连接线,而MDI-X则是穿插接线。因为集线器的接口个别都是MDI-X模式,要将两台集线器相连时,就须要将其中一台改成MDI模式。如果集线器上没有MDI切换开关,而且所有的接口又都是MDI-X时,能够用穿插网线连贯两台集线器。 信号达到集线器的PHY(MAU)模块后,会进入中继电路。中继电路的基本功能就是将输出的信号播送到集线器的所有端口上。接下来,信号从所有接口流出,达到连贯在集线器上的所有设施。而后,这些设施在收到信号之后会通过MAC头部中的接管方MAC地址判断是不是发给本人的,如果是发给本人的就承受,否则就疏忽。 因为集线器只是一成不变地将信号播送进来,所以即使信号受到噪声的烦扰产生了失真,也会原样发送到目的地。这时,接管信号的设施,也就是交换机、路由器、服务器等,会在将信号转换成数字信息后通过FCS校验发现错误,并将出错的包抛弃。 交换机的包转发操作交换机依据地址表进行转发上面来看一下包是如何通过交换机的。交换机的设计是将网络包原样转发到目的地,下图就是它的内部结构。 首先,信号达到网线接口,并由PHY(MAU)模块进行接管,这一部分和集线器是雷同的。接下来,PHY(MAU)模块会将网线中的信号转换为通用格局,而后传递给MAC模块。MAC模块将信号转换为数字信息,而后通过包开端的FCS校验谬误,如果没有问题则寄存到缓冲区中。 这部分操作和网卡基本相同,大家能够认为交换机的每个网线接口前面都是一块网卡。网线接口和前面的电路局部加在一起称为一个端口,也就是说交换机的一个端口就相当于计算机上的一块网卡。但交换机的工作形式和网卡有一点不同。网卡自身具备MAC地址,并通过核查收到的包的接管方MAC地址判断是不是发给本人的,如果不是发给本人的则抛弃;绝对地,交换机的端口不核查接管方MAC地址,而是间接接管所有的包并存放到缓冲区中。因而,和网卡不同,交换机的端口不具备MAC地址。 将包存入缓冲区后,接下来须要查问一下这个包的接管方MAC地址是否曾经在MAC地址表中有记录了。MAC地址表次要蕴含两个信息,一个是设施的MAC地址,另一个是该设施连贯在交换机的哪个端口上。以图中的地址表为例,MAC地址和端口是一一对应的,通过这张表就可能判断出收到的包应该转发到哪个端口。举个例子,如果收到的包的接管方MAC地址为00-02-B3-1C-9C-F9,则与第3行匹配,依据端口列的信息,可知这个地址位于8号端口上,而后就能够通过替换电路将包发送到相应的端口了。 MAC地址表的保护交换机在转发包的过程中,还须要对MAC地址表的内容进行保护,保护操作分为两种。 第一种是收到包时,将发送方MAC地址以及其输出端口的号码写入MAC地址表中。因为收到包的那个端口就连贯着发送这个包的设施,所以只有将这个包的发送方MAC地址写入地址表,当前当收到发往这个地址的包时,交换机就能够将它转发到正确的端口了。交换机每次收到包时都会执行这个操作,因而只有某个设施发送过网络包,它的MAC地址就会被记录到地址表中。 另一种是删除地址表中某条记录的操作,这是为了避免设施挪动时产生问题。比方,咱们在散会时会把笔记本电脑从办公桌拿到会议室,这时设施就产生了挪动。从交换机的角度来看,就是原本连贯在某个端口上的笔记本电脑隐没了。这时如果交换机收到了发往这台曾经隐没的笔记本电脑的包,那么它仍然会将包转发到原来的端口,通信就会出错。因而地址表中的记录不能永恒无效,而是要在一段时间不应用后就主动删除。 过期记录从地址表中删除的工夫个别为几分钟,因而在过期记录被删除之前,仍然可能有发给该设施的包达到交换机。这时,替换机会将包转发到老的端口,通信就会产生谬误,这种状况只管常见,但确实也有可能产生。遇到这样的状况,只有重启一下交换机,地址表就会被清空并更新正确的信息,而后网络就又能够失常工作了。 非凡操作下面介绍了交换机的根本工作形式,上面来看一些非凡状况下的操作。比方,交换机查问地址表之后发现记录中的指标端口和这个包的源端口是同一个端口。当计算机用集线器和交换机连贯在一起时就会遇到这样的状况,此时接收端计算机就会收到两个雷同的包,会导致无奈失常通信。因而,当交换机发现一个包要发回到原端口时,就会间接抛弃这个包。 还有另外一种非凡状况,就是地址表中找不到指定的MAC地址。这可能是因为具备该地址的设施还没有向交换机发送过包,或者这个设施一段时间没有工作导致地址被从地址表中删除了。这种状况下,交换机无奈判断应该把包转发到哪个端口,只能将包转发到除了源端口之外的所有端口上,无论该设施连贯在哪个端口上都能收到这个包。 此外,如果接管方MAC地址是一个播送地址,那么替换机会将包发送到除源端口之外的所有端口。 主动协商:确定最优的传输速率随着全双工模式的呈现,如何在全双工和半双工模式之间进行切换的问题也产生了。在全双工模式刚刚呈现的时候,还须要手动进行切换,但这样切实太麻烦,于是起初呈现了主动切换工作模式的性能。这一性能能够由相互连接的单方探测对方是否反对全双工模式,并主动切换成相应的工作模式。此外,除了能主动切换工作模式之外,还能探测对方的传输速率并进行主动切换。这种主动切换的性能称为主动协商。 在以太网中,当没有数据在传输时,网络中会填充一种被称为连贯脉冲的脉冲信号。在没有数据信号时就填充连贯脉冲,这使得网络中始终都有肯定的信号流过,从而可能检测对方是否在失常工作,或者说网线有没有失常连贯。 起初人们设计出了具备特定排列的脉冲信号,通过这种信号能够将本身的状态告知对方。主动协商性能就利用了这样的脉冲信号,即通过这种信号将本人可能反对的工作模式和传输速率互相告知对方,并从中抉择一个最优的组合。 交换机可同时执行多个转发操作交换机只将包转发到具备特定MAC地址的设施连贯的端口,其余端口都是闲暇的。这些端口能够传输其余的包,因而交换机能够同时转发多个包。 绝对地,集线器会将输出的信号播送到所有的端口,如果同时输出多个信号就会产生碰撞,无奈同时传输多路信号,因而从设施整体的转发能力来看,交换机要高于集线器。 路由器的包转发操作路由器的基本知识网络包通过集线器和交换机之后,当初达到了路由器,并在此被转发到下一个路由器。这一步转发的工作原理和交换机相似,也是通过查表判断包转发的指标。不过在具体的操作过程上,路由器和交换机是有区别的。因为路由器是基于IP设计的,而交换机是基于以太网设计的。 路由器的内部结构如图所示。这张图比拟简略,只须要明确路由器包含转发模块和端口模块两局部就能够了。其中转发模块负责判断包的转发目的地,端口模块负责包的收发操作。 通过更换网卡,计算机不仅能够反对以太网,也能够反对无线局域网,路由器也是一样。路由器的端口模块还反对除局域网之外的多种通信技术,如ADSL、FTTH,以及各种宽带专线等,只有端口模块装置了反对这些技术的硬件即可。 路由器在转发包时,首先会通过端口将发过来的包接管进来。接下来,转发模块会依据接管到的包的IP头部中记录的接管方IP地址,在路由表中进行查问,以此判断转发指标。而后,转发模块将包转移到转发指标对应的端口,端口再依照硬件的规定将包发送进来。这就是路由器的基本原理。 端口模块是以理论的发送方或者接管方的身份来收发网络包的。以以太网端口为例,路由器的各个端口都具备MAC地址和IP地址。当转发包时,首先路由器端口会接管发给本人的以太网包,而后查问转发指标,再由相应的端口作为发送方将以太网包发送进来。这一点和交换机是不同的,交换机只是将进来的包转发进来而已,它本人并不会成为发送方或者接管方。 路由表中的信息路由器中的表叫作路由表,其中蕴含的信息如图所示。 最左侧的指标地址列记录的是接管方的信息。路由器会将接管到的网络包的接管方IP地址与路由表中的指标地址进行比拟,并找到相应的记录。交换机在地址表中只匹配完全一致的记录,而路由器则会疏忽主机号局部,只匹配网络号局部。 在匹配地址的过程中,路由器须要晓得网络号的比特数,因而路由表中还有一列子网掩码,通过子网掩码的值就能够判断出网络号的比特数。 有时地址自身的子网掩码和路由表中的子网掩码是不统一的,这是路由聚合的后果。通过路由聚合,多个子网会被合并成一个子网,子网掩码会发生变化,同时,指标地址列也会改成聚合后的地址。 咱们看一个例子。如图所示,咱们当初有3个子网,别离为10.10.1.0/24、10.10.2.0/24、10.10.3.0/24,路由器B须要将包发往这3个子网。在这种状况下,路由器B的路由表中本来应该有对应这3个子网的3条记录,但在这个例子中,无论发往任何一个子网,都是通过路由器A来进行转发,因而咱们能够在路由表中将这3个子网合并成10.10.0.0/16,这样也能够正确地进行转发,但咱们缩小了路由表中的记录数量,这就是路由聚合。 路由表的子网掩码列只示意在匹配网络包指标地址时须要比照的比特数量。而且,指标地址中的地址和理论子网的网络号可能并不完全相同,但即便如此,路由器仍然能够失常工作。 在子网掩码的左边还有网关和接口两列,它们示意网络包的转发指标。依据指标地址和子网掩码匹配到某条记录后,路由器就会将网络包交给接口列中指定的网络接口(即端口),并转发到网关列中指定的IP地址。 最初一列是跃点计数,它示意间隔指标IP地址的间隔是远还是近。这个数字越小,示意间隔目的地越近;数字越大,示意间隔目的地越远。 路由表记录保护的形式和交换机也有所不同。交换机中对MAC地址表的保护是包转发操作中的一个步骤,而路由器中对路由表的保护是与包转发操作互相独立的,也就是说,在转发包的过程中不须要对路由表的内容进行保护。 对路由表进行保护的办法有几种,大体上可分为以下两类。 由人手动保护路由记录依据路由协定机制,通过路由器之间的信息替换由路由器自行保护路由表的记录路由协定有很多种,例如RIP、OSPC、BGP等都属于路由协定。 查问路由表确定输入端口在工作过程中,路由器首先会接管网络包,过程与网卡简直没有区别。首先,信号达到网线接口局部,其中的PHY(MAU)模块和MAC模块将信号转换为数字信息,而后通过包开端的FCS进行谬误校验,如果没问题则查看MAC头部中的接管方MAC地址,看看是不是发给本人的包,如果是就放到接收缓冲区中,否则就抛弃这个包。实现包接管操作之后,路由器就会抛弃包结尾的MAC头部。 接下来,路由器会依据MAC头部前方的IP头部中的内容进行包的转发操作。 转发操作分为几个阶段,首先是查问路由表判断转发指标。对于具体的工作过程,咱们还是来看一个理论的例子,如上一节图中的状况,假如地址为10.10.1.101的计算机要向地址为192.168.1.10的服务器发送一个包。判断转发指标的第一步,就是依据包的接管方IP地址查问路由表中的指标地址栏,以找到相匹配的记录。图中第3行,子网掩码列为255.255.255.0,示意须要匹配从左起24个比特。网络包的接管方IP地址和路由表中的指标地址左起24个比特的内容都是192.168.1,因而两者是匹配的,该行记录就是候选转发指标之一。 依照这样的规定,咱们可能会匹配到多条候选记录。在这个例子中,第3、4、5行都能够匹配。其中,路由器会优先选择网络号比特数最长的一条记录。网络号比特数越长,阐明主机号比特数越短,也就意味着该子网内可调配的主机数量越少,即子网中可能存在的主机数量越少,这一规定的目标是尽量放大范畴,所以依据这条记录判断的转发指标就会更加精确。 有时候路由表中会存在网络号长度雷同的多条记录,例如思考到路由器或网线的故障而设置的备用路由就属于这种状况。这时,须要依据跃点计数的值来进行判断。跃点计数越小阐明该路由越近,因而应抉择跃点计数较小的记录。 如果在路由表中无奈找到匹配的记录,路由器会抛弃这个包,并通过ICMP音讯告知发送方。 找不到匹配路由时抉择默认路由那么是不是所有的转发指标都须要配置在路由表中才行呢?互联网中的转发指标可能超过几十万个,如果全副要配置在路由表中不太事实。 其实,路由表中的最初一行的作用就相当于把所有指标都配置好了。这一行的子网掩码为0.0.0.0,它的意思是网络包接管方IP地址和路由表指标地址的匹配中须要匹配的比特数为0,换句话说,就是基本不须要匹配。只有将子网掩码设置为0.0.0.0,那么无论任何地址都能匹配到这一条记录。 只有在这一条记录的网关列中填写接入互联网的路由器地址,当匹配不到其余路由时,网络包就会被转发到互联网接入路由器。因而这条记录被称为默认路由,这一行配置的网关地址被称为默认网关。在计算机的TCP/IP设置窗口中也有一个填写默认网关的框,意思是一样的。计算机上也有一张和路由器一样的路由表,其中默认网关的地址就是咱们在设置窗口中填写的地址。 包的有效期从路由表中查找到转发指标之后,网络包就会被转交给输入端口,并最终发送进来,但在此之前,路由器还有一些工作要实现。 ...

May 4, 2021 · 1 min · jiezi

关于网络:计算机网络概述协议栈和网卡

咱们将摸索操作系统中的网络控制软件(协定栈)和网络硬件(网卡)是如何将浏览器的音讯发送给服务器的。 创立套接字协定栈的内部结构和浏览器不同的是,协定栈的工作咱们从外表上是看不见的,可能比拟难以想象。因而,在理论摸索之前,咱们先来对协定栈做个解剖,看看外面到底有些什么。 协定栈的外部如图所示,分为几个局部,别离承当不同的性能。这张图中的高低关系是有肯定规定的,下面的局部会向上面的局部委派工作,上面的局部承受委派的工作并理论执行,这一点大家在看图时能够参考一下。当然,这一高低关系只是一个总体的规定,其中也有一部分高低关系不明确,或者高低关系相同的状况,所以也不用过于纠结。 下层会向上层逐层委派工作。图中最下面的局部是网络应用程序,也就是浏览器、电子邮件客户端、Web服务器、电子邮件服务器等程序,它们会将收发数据等工作委派给上层的局部来实现。应用程序的上面是Socket库,其中包含解析器,解析器用来向DNS服务器收回查问。再上面就是操作系统外部了,其中包含协定栈。协定栈的上半局部有两块,别离是负责用TCP协定收发数据的局部和负责用UDP协定收发数据的局部,它们会承受应用程序的委托执行收发数据的操作。像浏览器、邮件等个别的应用程序都是应用TCP收发数据的,而像DNS查问等收发较短的控制数据的时候则应用UDP。 上面一半是用IP协定管制网络包收发操作的局部。在互联网上传送数据时,数据会被切分成一个一个的网络包,而将网络包发送给通信对象的操作就是由IP协定来负责的。IP上面的网卡驱动程序负责管制网卡硬件,而最上面的网卡则负责实现理论的收发操作,也就是对网线中的信号执行发送和接管的操作。 套接字的实体就是通信管制信息咱们曾经理解了协定栈的内部结构,而对于在数据收发中表演要害角色的套接字,让咱们来看一看它具体是个怎么的货色。 在协定栈外部有一块用于寄存管制信息的内存空间,这里记录了用于管制通信操作的管制信息,例如通信对象的IP地址、端口号、通信操作的进行状态等。原本套接字就只是一个概念而已,并不存在实体,如果肯定要赋予它一个实体,咱们能够说这些管制信息就是套接字的实体,或者说寄存管制信息的内存空间就是套接字的实体。 套接字中记录了用于管制通信操作的各种管制信息,协定栈则须要依据这些信息判断下一步的口头,这就是套接字的作用。 在Windows中能够用netstat命令显示套接字内容,图中每一行相当于一个套接字。 比方第8行,它示意PID为4的程序正在应用IP地址为10.10.1.16的网卡与IP地址为10.10.1.80的对象进行通信。此外咱们还能够看出,本机应用1031端口,对方应用139端口。咱们再来看第1行,这一行示意PID为984的程序正在135端口期待另一方的连贯,其中本地IP地址和近程IP地址都是0.0.0.0,这示意通信还没开始,IP地址不确定。 调用socket时的操作咱们的探索之旅将继续前进,看一看当浏览器调用socket、connect等Socket库中的函数时,协定栈外部是如何工作的。 首先是创立套接字的阶段。应用程序调用socket申请创立套接字,协定栈依据应用程序的申请执行创立套接字的操作。 在这个过程中,协定栈首先会调配用于寄存一个套接字所需的内存空间。套接字刚刚创立时,数据收发操作还没有开始,因而须要在套接字的内存空间中写入示意这一初始状态的管制信息。到这里,创立套接字的操作就实现了。 接下来,须要将示意这个套接字的描述符告知应用程序。收到描述符之后,应用程序在向协定栈进行收发数据委托时就须要提供这个描述符。因为套接字中记录了通信单方的信息以及通信处于怎么的状态,所以只有通过描述符确定了相应的套接字,协定栈就可能获取所有的相干信息,这样一来,应用程序就不须要每次都通知协定栈应该和谁进行通信了。 连贯服务器创立套接字之后,应用程序(浏览器)就会调用connect,随后协定栈会将本地的套接字与服务器的套接字进行连贯。 连贯是什么意思那么这里的“连贯”到底是什么意思呢?一句话概括的话,连贯实际上是通信单方替换管制信息,在套接字中记录这些必要信息并筹备数据收发的一连串操作。 套接字刚刚创立实现的时候,外面并没有寄存任何数据,也不晓得通信的对象是谁。因而,咱们须要把服务器的IP地址和端口号等信息告知协定栈,这是连贯操作的目标之一。 那么,服务器这边又是怎么的状况呢?服务器上也会创立套接字,但服务器上的协定栈和客户端一样,只创立套接字是不晓得应该和谁进行通信的。而且,和客户端不同的是,在服务器上,连应用程序也不晓得通信对象是谁。于是,咱们须要让客户端向服务器告知必要的信息。可见,客户端向服务器传播开始通信的申请,也是连贯操作的目标之一。 此外,当执行数据收发操作时,咱们还须要一块用来长期寄存要收发的数据的内存空间,这块内存空间称为缓冲区,它也是在连贯操作的过程中调配的。下面这些就是“连贯”这个词代表的具体含意。 负责保留管制信息的头部对于管制信息,这里再补充一些。之前咱们说的管制信息其实能够大体上分为两类。 第一类是客户端和服务器互相联系时替换的管制信息。这些信息不仅连贯时须要,包含数据收发和断开连接操作在内,整个通信过程中都须要,这些内容在TCP协定的规格中进行了定义。具体来说,下表中的这些字段就是TCP规格中定义的管制信息。 这些字段是固定的,在连贯、收发、断开等各个阶段中,每次客户端和服务器之间进行通信时,都须要提供这些管制信息。具体来说,如图(a)所示,这些信息会被增加在客户端与服务器之间传递的网络包的结尾。在连贯阶段,因为数据收发还没有开始,所以如图(b)所示,网络包中没有理论的数据,只有管制信息。这些管制信息位于网络包的结尾,因而被称为头部。 管制信息还有另外一类,那就是保留在套接字中,用来控制协议栈操作的信息。应用程序传递来的信息以及从通信对象接管到的信息都会保留在这里,还有收发数据操作的执行状态等信息也会保留在这里,协定栈会依据这些信息来执行每一步的操作。 连贯操作的理论过程连贯操作的第一步是客户端的TCP模块创立示意连贯管制信息的头部,通过TCP头部中的发送方和接管方端口号能够找到要连贯的套接字。而后,咱们将头部中的管制位的SYN比特设置为1,目前大家能够认为它是示意连贯。此外还须要设置适当的序号和窗口大小。 当TCP头部创立好之后,接下来TCP模块会将信息传递给IP模块并委托它进行发送。IP模块执行网络包发送操作后,网络包就会通过网络达到服务器,而后服务器上的IP模块会将接管到的数据传递给TCP模块,服务器的TCP模块依据TCP头部中的信息找到端口号对应的套接字。也就是说,从处于期待连贯状态的套接字中找到与TCP头部中记录的接管方端口号雷同的套接字就能够了。当找到对应的套接字之后,套接字中会写入相应的信息,并将状态改为正在连接。 上述操作实现后,服务器的TCP模块会返回响应,这个过程和客户端一样,须要在TCP头部中设置发送方和接管方端口号以及SYN比特。此外,在返回响应时还须要将ACK管制位设为1,这示意曾经接管到相应的网络包。接下来,服务器TCP模块会将TCP头部传递给IP模块,并委托IP模块向客户端返回响应。 而后,网络包就会返回到客户端,通过IP模块达到TCP模块,并通过TCP头部的信息确认连贯服务器的操作是否胜利。如果ACK为1则示意连贯胜利,这时会向套接字中写入服务器的IP地址、端口号等信息,同时还会将状态改为连贯结束。相应地,客户端也须要将ACK比特设置为1并发回服务器,通知服务器方才的响应包曾经收到。当这个服务器收到这个返回包之后,连贯操作才算全副实现。 收发数据当管制流程从connect回到应用程序之后,接下来就进入数据收发阶段了。 将HTTP申请音讯交给协定栈数据收发操作是从应用程序调用write将要发送的数据交给协定栈开始的,协定栈收到数据后执行发送操作。应用程序在调用write时会指定发送数据的长度,在协定栈看来,要发送的数据就是肯定长度的二进制字节序列而已。 协定栈并不是一收到数据就马上发送进来,而是会将数据寄存在外部的发送缓冲区中,并期待应用程序的下一段数据。一次将多少数据交给协定栈是由应用程序自行决定的,协定栈并不能管制这一行为。在这样的状况下,如果一收到数据就马上发送进来,就可能会发送大量的小包,导致网络效率降落,因而须要在数据积攒到一定量时再发送进来。至于要积攒多少数据能力发送,不同品种和版本的操作系统会有所不同,不能一概而论,但都是依据上面几个因素来判断的。 第一个判断因素是每个网络包能包容的数据长度,协定栈会依据一个叫作MTU的参数来进行判断。MTU示意一个网络包的最大长度,在以太网中个别是1500字节。MTU是蕴含头部的总长度,因而须要从MTU减去头部的长度,而后失去的长度就是一个网络包中所能包容的最大数据长度,这一长度叫作MSS。当从应用程序收到的数据长度超过或者靠近MSS时再发送进来,就能够防止发送大量小包的问题了。 另一个判断因素是工夫。当应用程序发送数据的频率不高的时候,如果每次都等到长度靠近MSS时再发送,可能会因为等待时间太长而造成发送提早,这种状况下,即使缓冲区中的数据长度没有达到MSS,也应该果决发送进来。为此,协定栈的外部有一个计时器,当通过肯定工夫之后,就会把网络包发送进来。 判断因素就是这两个,但它们其实是互相矛盾的。如果长度优先,那么网络的效率会进步,但可能会因为期待填满缓冲区而产生提早;相同地,如果工夫优先,那么延迟时间会变少,但又会升高网络的效率。因而,在进行发送操作时须要综合思考这两个因素以达到均衡。 协定栈也给应用程序保留了管制发送机会的余地。应用程序在发送数据时能够指定一些选项,比方如果指定“不期待填满缓冲区间接发送”,则协定栈就会依照要求间接发送数据。像浏览器这种会话型的应用程序在向服务器发送数据时,期待填满缓冲区导致提早会产生很大影响,因而个别会应用间接发送的选项。 对较大的数据进行拆分HTTP申请音讯个别不会很长,一个网络包就能装得下,但如果其中要提交表单数据,长度就可能超过一个网络包所能包容的数据量。这种状况下,发送缓冲区中的数据就会超过MSS的长度,这时咱们当然不须要持续期待前面的数据了。发送缓冲区中的数据会被以MSS长度为单位进行拆分,拆分进去的每块数据会被放进独自的网络包中。 依据发送缓冲区中的数据拆分的状况,当判断须要发送这些数据时,就在每一块数据后面加上TCP头部,并依据套接字中记录的管制信息标记发送方和接管方的端口号,而后交给IP模块来执行发送数据的操作。 应用ACK号确认网络包已收到TCP具备确认对方是否胜利收到网络包,以及当对方没收到时进行重发的性能,因而在发送网络包之后,接下来还须要进行确认操作。 咱们先来看一下确认的原理,如图。首先,TCP模块在拆分数据时,会先算好每一块数据相当于从头开始的第几个字节,接下来在发送这一块数据时,将算好的字节数写在TCP头部中,“序号”字段就是派在这个用场上的。而后,发送数据的长度也须要告知接管方,不过这个并不是放在TCP头部外面的,因为用整个网络包的长度减去头部的长度就能够失去数据的长度,所以接管方能够用这种办法来进行计算。有了下面两个数值,咱们就能够晓得发送的数据是从第几个字节开始,长度是多少了。 通过这些信息,接管方还可能查看收到的网络包有没有脱漏。例如,假如上次接管到第1460字节,那么接下来如果收到序号为1461的包,阐明两头没有脱漏;但如果收到的包序号为2921,那就阐明两头有包脱漏了。如果确认没有脱漏,接管方会将到目前为止接管到的数据长度加起来,计算出一共曾经收到了多少个字节,而后将这个数值写入TCP头部的ACK号中发送给发送方。 然而,图中的例子和理论状况还是有些出入的。在理论的通信中,序号并不是从1开始的,而是须要用随机数计算出一个初始值,因而须要在开始收发数据之前将初始值告知通信对象。大家应该还记得在咱们方才讲过的连贯过程中,有一个将SYN管制位设为1并发送给服务器的操作,就是在这一步将序号的初始值告知对方的。实际上,在将SYN设为1的同时,还须要同时设置序号字段的值,而这里的值就代表序号的初始值。 TCP数据收发是双向的,在客户端向服务器发送数据的同时,服务器也会向客户端发送数据,过程也相似。 咱们来总结一下理论的工作过程,如下图。首先,客户端在连贯时须要计算出与从客户端到服务器方向通信相干的序号初始值,并将这个值发送给服务器。接下来,服务器会通过这个初始值计算出ACK号并返回给客户端。同时,服务器也须要计算出与从服务器到客户端方向通信相干的序号初始值,并将这个值发送给客户端。接下来像方才一样,客户端也须要依据服务器发来的初始值计算出ACK号并返回给服务器。到这里,序号和ACK号都曾经筹备实现了,接下来就能够进入数据收发阶段了。数据收发操作自身是能够双向同时进行的,但Web中是先由客户端向服务器发送申请,序号也会追随数据一起发送。而后,服务器收到数据后再返回ACK号。从服务器向客户端发送数据的过程则正好相同。 TCP采纳这样的形式确认对方是否收到了数据,在失去对方确认之前,发送过的包都会保留在发送缓冲区中。如果对方没有返回某些包对应的ACK号,那么就从新发送这些包。 依据网络包均匀往返工夫调整ACK号等待时间后面说的只是一些基本原理,实际上网络的谬误检测和弥补机制非常复杂。上面来说几个要害的点,首先是返回ACK号的等待时间(这个等待时间叫超时工夫)。 当网络传输忙碌时就会产生拥塞,ACK号的返回会变慢,这时咱们就必须将等待时间设置得略微长一点,否则可能会产生曾经重传了包之后,后面的ACK号才捷足先登的状况。这样的重传是多余的,而且对于原本就很拥塞的网络来说无疑是雪上加霜。那么等待时间是不是越长越好呢?也不是。如果等待时间过长,那么包的重传就会呈现很大的提早,也会导致网络速度变慢。 等待时间须要设为一个适合的值,不能太长也不能太短。依据服务器物理间隔的远近,ACK号的返回工夫也会产生很大的稳定,而且咱们还必须思考到拥塞带来的影响。正因为稳定如此之大,所以将等待时间设置为一个固定值并不是一个好方法。因而,TCP采纳了动静调整等待时间的办法,这个等待时间是依据ACK号返回所需的工夫来判断的。具体来说,TCP会在发送数据的过程中继续测量ACK号的返回工夫,如果ACK号返回变慢,则相应缩短等待时间;绝对地,如果ACK号马上就能返回,则相应缩短等待时间。 应用窗口无效治理ACK号每发送一个包就期待一个ACK号的形式是最简略也最容易了解的,但在期待ACK号的这段时间中,如果什么都不做那切实太节约了。为了缩小这样的节约,TCP采纳滑动窗口形式来治理数据发送和ACK号的操作。所谓滑动窗口,就是在发送一个包之后,不期待ACK号返回,而是间接发送后续的一系列包。 尽管这样做可能缩小期待ACK号时的工夫节约,但有一些问题须要留神。在一来一回形式中,接管方实现接管操作后返回ACK号,而后发送方收到ACK号之后才持续发送下一个包,因而不会呈现发送的包太多接管方解决不过去的状况。但如果不等返回ACK号就间断发送包,就有可能会呈现发送包的频率超过接管方解决能力的状况。 当接管方的TCP模块收到包后,会先将数据寄存到接收缓冲区中。而后,接管方须要计算ACK号,将数据块组装起来还原成本来的数据并传递给应用程序,如果这些操作还没实现下一个包就到了也不必放心,因为下一个包也会被暂存在接收缓冲区中。如果数据达到的速率比解决这些数据并传递给应用程序的速率还要快,那么接收缓冲区中的数据就会越堆越多,最初就会溢出。缓冲区溢出之后,前面的数据就进不来了,因而接管方就收不到前面的包了,也就意味着超出了接管方解决能力。咱们能够通过上面的办法来防止这种状况的产生。首先,接管方须要通知发送方本人最多能接管多少数据,而后发送方依据这个值对数据发送操作进行管制,这就是滑动窗口形式的基本思路。 在这张图中,接管方将数据暂存到接收缓冲区中并执行接管操作。当接管操作实现后,接收缓冲区中的空间会被释放出来,也就能够接管更多的数据了,这时接管方会通过TCP头部中的窗口字段将本人能接管的数据量告知发送方。这样一来,发送方就不会发送过多的数据,导致超出接管方的解决能力了。 接管方可能接管的最大数据量称为窗口大小,它是TCP调优参数中十分有名的一个。 ACK与窗口的合并要进步收发数据的效率,还须要思考另一个问题,那就是返回ACK号和更新窗口的机会。如果假设这两个参数是互相独立的,别离用两个独自的包来发送,后果会如何? 首先,什么时候须要更新窗口大小?当收到的数据刚刚开始填入缓冲区时,其实没必要每次都向发送方更新窗口大小,因为只有发送方在每次发送数据时减掉已发送的数据长度就能够自行计算出以后窗口的残余长度。 因而,更新窗口大小的机会应该是接管方从缓冲区中取出数据传递给应用程序的时候。这个操作是接管方应用程序发出请求时才会进行的,而发送方不晓得什么时候会进行这样的操作,因而当接管方将数据传递给应用程序,导致接收缓冲区残余容量减少时,就须要告知发送方,这就是更新窗口大小的机会。 那么ACK号又是什么状况?当接管方收到数据时,如果确认内容没有问题,就应该向发送方返回ACK号。 如果将后面两个因素联合起来看,每收到一个包,就须要向发送方别离发送ACK号和窗口更新这两个独自的包。这样一来,接管方发给发送方的包就太多了,导致网络效率降落。 因而,接管方在发送ACK号和窗口更新时,并不会马上把包发送进来,而是会期待一段时间,在这个过程中很有可能会呈现其余的告诉操作,这样就能够把两种告诉合并在一个包外面发送了。举个例子,在期待发送ACK号的时候正好须要更新窗口,这时就能够把ACK号和窗口更新放在一个包里发送。当须要间断发送多个ACK号时,也能够只发送最初一个ACK号,从而缩小包的数量。 接管HTTP响应音讯浏览器发送HTTP申请音讯后,接下来还须要期待Web服务器返回响应音讯。对于响应音讯,浏览器须要进行接管操作,这一操作也须要协定栈的参加。 协定栈接收数据的具体操作过程能够简略总结如下:首先,协定栈会查看收到的数据块和TCP头部的内容,判断是否有数据失落,如果没有问题则返回ACK号。而后,协定栈将数据块暂存到接收缓冲区中,并将数据块按程序连接起来还原出原始的数据,最初将数据交给应用程序。将数据交给应用程序之后,协定栈还须要找到适合的机会向发送方发送窗口更新。 从服务器断开并删除套接字数据发送结束后断开连接毫无疑问,收发数据完结的工夫点应该是应用程序判断所有数据都曾经发送结束的时候。这时,数据发送结束的一方会发动断开过程,但不同的应用程序会抉择不同的断开机会。以Web为例,在HTTP1.0时代,服务器一方会在发送完响应后发动断开过程。 无论哪种状况,实现数据发送的一方会发动断开过程,这里咱们以服务器一方发动断开过程为例来进行解说。首先,服务器一方的应用程序会调用Socket库的close程序。而后,服务器的协定栈会生成蕴含断开信息的TCP头部,具体来说就是将管制位中的FIN比特设为1。接下来,协定栈会委托IP模块向客户端发送数据。同时,服务器的套接字中也会记录下断开操作的相干信息。 当收到服务器发来的FIN为1的TCP头部时,客户端的协定栈会将本人的套接字标记为进入断开操作状态。而后,为了告知服务器已收到FIN为1的包,客户端会向服务器返回一个ACK号。过了一会儿,应用程序就会调用read来读取数据。这时,协定栈会告知应用程序(浏览器)来自服务器的数据曾经全副收到了。 ...

April 28, 2021 · 1 min · jiezi

关于网络:68-网络知识十全大补丸-Go-夜读-读书笔记

视频地址: https://www.bilibili.com/vide... 网络硬件介绍网络部署模式Linux协定栈收包流程 发包流程 Linux防火墙 前沿网络传输协定TCP HTTP

April 23, 2021 · 1 min · jiezi

关于网络:计算机网络概述浏览器

从在浏览器中输出网址,到屏幕上显示出网页的内容,在这个只有几秒钟的过程中,很多硬件和软件都在各自的岗位上相互配合实现了一系列的工作。这里将以探索之旅的模式,率领大家摸索这一系列工作中的每一个环节。 首先要摸索的是浏览器,咱们将介绍浏览器外部的工作原理。 生成HTTP申请音讯从输出网址开始网址,精确来说应该叫URL,就是以http: //结尾的那一串字符。实际上除了“http: ”,网址还能够以其余一些文字结尾,例如“ftp:”“file:”“mailto:”等。 之所以有各种各样的URL,是因为只管咱们通常是应用浏览器来拜访Web服务器的,但实际上浏览器并不只有这一个性能,它也能够用来在FTP服务器上下载和上传文件,同时也具备电子邮件客户端的性能。能够说,浏览器是一个具备多种客户端性能的综合性客户端软件,因而它须要一些货色来判断应该应用其中哪种性能来拜访相应的数据,而各种不同的URL就是用来干这个的,比方拜访Web服务器时用“http: ”,而拜访FTP服务器时用“ftp:”。 解析URL浏览器要做的第一步工作就是对URL进行解析,从而生成发送给Web服务器的申请音讯。URL的格局会随着协定的不同而不同,上面咱们以拜访Web服务器的状况为例来进行解说。 依据HTTP的规格,URL蕴含下图(a)中的这几种元素。当对URL进行解析时,首先须要依照下图(a)的格局将其中的各个元素拆分进去,例如下图(b)中的URL会拆分成下图(c)的样子。而后,通过拆分进去的这些元素,咱们就可能明确URL代表的含意。例如,咱们来看拆分后果下图(c),其中蕴含Web服务器名称www.lab.glasscom.com,以及文件的路径名/dir1/file1.html,因而咱们就可能明确,下图(b)中的URL示意要拜访www.lab.glasscom.com这个Web服务器上路径名为/dir/file1.html的文件。 HTTP的基本思路解析完URL之后,咱们就晓得应该要拜访的指标在哪里了。接下来,浏览器会应用HTTP协定来拜访Web服务器。 HTTP协定定义了客户端和服务器之间交互的音讯内容和步骤,其基本思路非常简单。首先,客户端会向服务器发送申请音讯。申请音讯中蕴含的内容是“对什么”和“进行怎么的操作”两个局部。其中相当于“对什么”的局部称为URI。一般来说,URI的内容是一个寄存网页数据的文件名或者是一个CGI程序的文件名,例如“/dir1/file1.html”“/dir1/program1.cgi”等。 “进行怎么的操作”的局部称为办法。办法示意须要让Web服务器实现怎么的工作,其中典型的例子包含读取URI示意的数据、将客户端输出的数据发送给URI示意的程序等。下图列举了次要的办法,通过这张图大家应该可能了解通过办法能够执行怎么的操作。 HTTP音讯中还有一些用来示意附加信息的头字段。客户端向Web服务器发送数据时,会先发送头字段,而后再发送数据。 收到申请音讯之后,Web服务器会对其中的内容进行解析,通过URI和办法来判断“对什么”“进行怎么的操作”,并依据这些要求来实现本人的工作,而后将后果寄存在响应音讯中。在响应音讯的结尾有一个状态码,它用来示意操作的执行后果是胜利还是产生了谬误。状态码前面就是头字段和网页数据。响应音讯会被发送回客户端,客户端收到之后,浏览器会从音讯中读出所需的数据并显示在屏幕上。到这里,HTTP的整个工作就实现了。 生成HTTP申请对URL进行解析之后,浏览器确定了Web服务器和文件名,接下来就是依据这些信息来生成HTTP申请音讯了。实际上,HTTP音讯在格局上是有严格规定的,因而浏览器会依照规定的格局来生成申请音讯。 首先,申请音讯的第一行称为申请行。这里的重点是最结尾的办法,办法能够通知Web服务器它应该进行怎么的操作。写好办法之后,加一个空格,而后写URI。URI局部的格局个别是文件和程序的路径名。第一行的开端须要写上HTTP的版本号,这是为了示意该音讯是基于哪个版本的HTTP规格编写的。到此为止,第一行就完结了。 第二行开始为音讯头。只管通过第一行咱们就能够大抵了解申请的内容,但有些状况下还须要一些额定的详细信息,而音讯头的性能就是用来寄存这些信息。音讯头的规格中定义了很多我的项目,如日期、客户端反对的数据类型、语言、压缩格局、客户端和服务器的软件名称和版本、数据有效期和最初更新工夫等。 写完音讯头之后,还须要增加一个齐全没有内容的空行,而后写上须要发送的数据。这一部分称为音讯体,也就是音讯的主体。音讯体完结之后,整个音讯也就完结了。 接管HTTP响应当咱们将上述申请音讯发送进来之后,Web服务器会返回响应音讯。响应音讯的格局以及基本思路和申请音讯是雷同的,差异只在第一行上。在响应音讯中,第一行的内容为状态码和响应短语,用来示意申请的执行后果是胜利还是出错。状态码和响应短语示意的内容统一,但它们的用处不同。状态码是一个数字,它次要用来向程序告知执行的后果;绝对地,响应短语则是一段文字,用来向人们告知执行的后果。 返回响应音讯之后,浏览器会将数据提取进去并显示在屏幕上,咱们就可能看到网页的样子了。 向DNS服务器查问Web服务器的IP地址IP地址生成HTTP音讯之后,接下来咱们须要委托操作系统将音讯发送给Web服务器。只管浏览器可能解析网址并生成HTTP音讯,但它自身并不具备将音讯发送到网络中的性能,因而这一性能须要委托操作系统来实现。在进行这一操作时,咱们还有一个工作须要实现,那就是查问网址中服务器域名对应的IP地址。在委托操作系统发送音讯时,必须要提供的不是通信对象的域名,而是它的IP地址。因而,在生成HTTP音讯之后,下一个步骤就是依据域名查问IP地址。 互联网和公司外部的局域网都是基于TCP/IP的思路来设计的。TCP/IP的构造如图所示,就是由一些小的子网,通过路由器连接起来组成一个大的网络。这里的子网能够了解为用集线器连接起来的几台计算机,咱们将它看作一个单位,称为子网。将子网通过路由器连接起来,就造成了一个网络。 在网络中,所有的设施都会被调配一个地址。这个地址就相当于事实中某条路上的“××号××室”。其中“号”对应的号码是调配给整个子网的,而“室”对应的号码是调配给子网中的计算机的,这就是网络中的地址。“号”对应的号码称为网络号,“室”对应的号码称为主机号,这个地址的整体称为IP地址。 通过IP地址咱们能够判断出拜访对象服务器的地位,从而将音讯发送到服务器。音讯传送的具体过程咱们先简略理解一下。发送者收回的音讯首先通过子网中的集线器,转发到间隔发送者最近的路由器上。接下来,路由器会依据音讯的目的地判断下一个路由器的地位,而后将音讯发送到下一个路由器,即音讯再次通过子网内的集线器被转发到下一个路由器。后面的过程一直反复,最终音讯就被传送到了目的地。 如图所示,理论的IP地址是一串32比特的数字,依照8比特(1字节)为一组分成4组,别离用十进制示意而后再用圆点隔开。这就是咱们平时常常见到的IP地址格局,但仅凭这一串数字咱们无奈辨别哪局部是网络号,哪局部是主机号。在组建网络时,用户能够自行决定它们之间的分配关系,因而,咱们还须要另外的附加信息来示意IP地址的内部结构。 这一附加信息称为子网掩码。子网掩码是一串与IP地址长度雷同的32比特数字,其右边一半都是1,左边一半都是0。其中,子网掩码为1的局部示意网络号,子网掩码为0的局部示意主机号。 顺带一提,主机号局部的比特全副为0或者全副为1时代表两种非凡的含意。主机号局部全副为0代表整个子网而不是子网中的某台设施。此外,主机号局部全副为1代表向子网上所有设施发送包,即播送。 通过解析器向DNS服务器收回查问查问IP地址的办法非常简单,只有询问最近的DNS服务器“www.lab.glasscom.com的IP地址是什么”就能够了。向DNS服务器收回查问,也就是向DNS服务器发送查问音讯,并接管服务器返回的响应音讯。换句话说,对于DNS服务器,咱们的计算机上肯定有相应的DNS客户端,而相当于DNS客户端的局部称为DNS解析器,或者简称解析器。 解析器实际上是一段程序,它蕴含在操作系统的Socket库中,在介绍解析器之前,咱们先来简略理解一下Socket库。库到底是什么货色呢?库就是一堆通用程序组件的汇合,其余的应用程序都须要应用其中的组件。Socket库也是一种库,其中蕴含的程序组件能够让其余的应用程序调用操作系统的网络性能,而解析器就是这个库中的其中一种程序组件。 解析器的用法非常简单。Socket库中的程序都是规范组件,只有从应用程序中进行调用就能够了。具体来说,在编写浏览器等应用程序的时候,只有像下图这样写上解析器的程序名称“gethostbyname”以及Web服务器的域名“www.lab.glasscom.com”就能够了,这样就实现了对解析器的调用。 解析器的外部原理上面来看一看当应用程序调用解析器时,解析器外部是怎么工作的。网络应用程序(在咱们的场景中就是指浏览器)调用解析器时,程序的管制流程就会转移到解析器的外部。 当管制流程转移到解析器后,解析器会生成要发送给DNS服务器的查问音讯。这个过程与浏览器生成要发送给Web服务器的HTTP申请音讯的过程相似,解析器会依据DNS的规格,生成一条示意“请通知我www.lab.glasscom.com的IP地址”的数据,并将它发送给DNS服务器。发送音讯这个操作并不是由解析器本身来执行,而是要委托给操作系统外部的协定栈来执行。这是因为和浏览器一样,解析器自身也不具备应用网络收发数据的性能。解析器调用协定栈后,协定栈会执行发送音讯的操作,而后通过网卡将音讯发送给DNS服务器。 当DNS服务器收到查问音讯后,它会依据音讯中的查问内容进行查问。总之,如果要拜访的Web服务器曾经在DNS服务器上注册,那么这条记录就可能被找到,而后其IP地址会被写入响应音讯。接下来,音讯通过网络达到客户端,再通过协定栈被传递给解析器,而后解析器读取出音讯取出IP地址,并将IP地址传递给应用程序。 顺带一提,向DNS服务器发送音讯时,咱们当然也须要晓得DNS服务器的IP地址。只不过这个IP地址是作为TCP/IP的一个设置我的项目当时设置好的,不须要再去查问了。 DNS服务器的大接力DNS服务器的根本工作前文介绍了解析器与DNS服务器之间的交互过程,上面来理解一下DNS服务器的工作。DNS服务器的根本工作就是接管来自客户端的查问音讯,而后依据音讯的内容返回响应。 其中,来自客户端的查问音讯蕴含以下3种信息。 域名:服务器、邮件服务器(邮件地址中@前面的局部)的名称。Class:在最早设计DNS计划时,DNS在互联网以外的其余网络中的利用也被思考到了,而Class就是用来辨认网络的信息。不过,现在除了互联网并没有其余的网络了,因而Class的值永远是代表互联网的IN。记录类型:示意域名对应何种类型的记录。例如,当类型为A时,示意域名对应的是IP地址;当类型为MX时,示意域名对应的是邮件服务器。对于不同的记录类型,服务器向客户端返回的信息也会不同。DNS服务器上当时保留有后面这3种信息对应的记录数据,如图所示。DNS服务器就是依据这些记录查找合乎查问申请的内容并对客户端作出响应的。 域名的层次结构在后面的介绍中,咱们假如要查问的信息曾经保留在DNS服务器外部的记录中了。如果是在像公司外部网络这样Web和邮件服务器数量无限的环境中,所有的信息都能够保留在一台DNS服务器中。然而,互联网中存在着成千上万的服务器,将这些服务器的信息全副保留在一台DNS服务器中是不可能的,因而肯定会呈现在DNS服务器中找不到要查问的信息的状况。上面来看一看此时DNS服务器是如何工作的。 首先,DNS服务器中的所有信息都是依照域名以分档次的构造来保留的。层次结构这个词听起来可能有点不容易懂,其实就相似于公司中的事业团体、部门、科室这样的构造。层次结构可能帮忙咱们更好地治理大量的信息。 DNS中的域名都是用句点来分隔的,比方www.lab.glasscom.com,这里的句点代表了不同档次之间的界线,就相当于公司外面的组织构造不必部、科之类的名称来划分,只是用句点来分隔而已。在域名中,越靠右的地位示意其层级越高。其中,相当于一个层级的局部称为域。因而,com域的下一层是glasscom域,再下一层是lab域,再上面才是www这个名字。 这种具备层次结构的域名信息会注册到DNS服务器中,而每个域都是作为一个整体来解决的。换句话说就是,一个域的信息是作为一个整体寄存在DNS服务器中的,不能将一个域拆开来寄存在多台DNS服务器中。不过,DNS服务器和域之间的关系也并不总是一对一的,一台DNS服务器中也能够寄存多个域的信息。 寻找相应的DNS服务器并获取IP地址上面再来看一看如何找到DNS服务器中寄存的信息。这里的关键在于如何找到咱们要拜访的Web服务器的信息归哪一台DNS服务器管。 互联网中无数万台DNS服务器,必定不能一台一台挨个去找。咱们能够采纳上面的方法。首先,将负责管理上级域的DNS服务器的IP地址注册到它们的下级DNS服务器中,而后下级DNS服务器的IP地址再注册到更上一级的DNS服务器中,以此类推。也就是说,负责管理lab.glasscom.com这个域的DNS服务器的IP地址须要注册到glasscom.com域的DNS服务器中,而glasscom.com域的DNS服务器的IP地址又须要注册到com域的DNS服务器中。这样,咱们就能够通过下级DNS服务器查问出上级DNS服务器的IP地址,也就能够向上级DNS服务器发送查问申请了。 在互联网中,最下面的一级域,称为根域。根域没有本人的名字,因而在个别书写域名时常常被省略,如果要明确示意根域,应该像www.lab.glasscom.com.这样在域名的最初再加上一个句点,而这个最初的句点就代表根域。不过,个别都不写最初那个句点,因而根域的存在往往被疏忽,但根域毕竟是实在存在的,根域的DNS服务器中保存着com等的DNS服务器的信息。因为下级DNS服务器保存着所有上级DNS服务器的信息,所以咱们能够从根域开始一路往下顺藤摸瓜找到任意一个域的DNS服务器。 除此之外还须要实现另一项工作,那就是将根域的DNS服务器信息保留在互联网中所有的DNS服务器中。这样一来,任何DNS服务器就都能够找到并拜访根域DNS服务器了。因而,客户端只有可能找到任意一台DNS服务器,就能够通过它找到根域DNS服务器,而后再一路顺藤摸瓜找到位于上层的某台指标DNS服务器。 假如咱们要查问www.lab.glasscom.com这台Web服务器的ip地址,大略流程如下图: 通过缓存放慢DNS服务器的响应在实在的互联网中,一台DNS服务器能够治理多个域的信息,因而并不是像上图这样每个域都有一台本人的DNS服务器。图中,每一个域旁边都写着一台DNS服务器,但事实中下级域和上级域有可能共享同一台DNS服务器。在这种状况下,拜访下级DNS服务器时就能够向下跳过一级DNS服务器,间接返回再下一级DNS服务器的相干信息。 此外,有时候并不需要从最下级的根域开始查找,因为DNS服务器有一个缓存性能,能够记住之前查问过的域名。如果要查问的域名和相干信息曾经在缓存中,那么就能够间接返回响应,接下来的查问能够从缓存的地位开始向下进行。相比每次都从根域找起来说,缓存能够缩小查问所需的工夫。并且,当要查问的域名不存在时,“不存在”这一响应后果也会被缓存。这样,当下次查问这个不存在的域名时,也能够疾速响应。 这个缓存机制中有一点须要留神,那就是信息被缓存后,本来的注册信息可能会产生扭转,这时缓存中的信息就有可能是不正确的。因而,DNS服务器中保留的信息都设置有一个有效期,当缓存中的信息超过有效期后,数据就会从缓存中删除。而且,在对查问进行响应时,DNS服务器也会告知客户端这一响应的后果是来自缓存中还是来自负责管理该域名的DNS服务器。 委托协定栈发送音讯数据收发操作概览晓得了IP地址之后,就能够委托操作系统外部的协定栈向这个指标IP地址,也就是咱们要拜访的Web服务器发送音讯了。和向DNS服务器查问IP地址的操作一样,这里也须要应用Socket库中的程序组件。 应用Socket库来收发数据的操作过程如图所示。简略来说,收发数据的两台计算机之间连贯了一条数据通道,数据沿着这条通道流动,最终达到目的地。咱们能够把数据通道设想成一条管道,将数据从一端送入管道,数据就会达到管道的另一端而后被取出。 光从图上来看,这条管道如同一开始就有,实际上并不是这样,在进行收发数据操作之前,单方须要先建设起这条管道才行。建设管道的关键在于管道两端的数据出入口,这些出入口称为套接字。咱们须要先创立套接字,而后再将套接字连接起来造成管道。 具体来说,收发数据的操作分为若干个阶段,能够大抵总结为以下4个。 创立套接字(创立套接字阶段)将管道连贯到服务器端的套接字上(连贯阶段)收发数据(通信阶段)断开管道并删除套接字(断开阶段)这些操作都是通过调用Socket库中的程序组件来执行的,但这些数据通信用的程序组件其实仅仅充当了一个桥梁的角色,并不执行任何实质性的操作,应用程序的委托内容最终会被原原本本地传递给协定栈。 创立套接字阶段客户端创立套接字的操作非常简单,只有调用Socket库中的socket函数就能够了。套接字创立实现后,协定栈会返回一个描述符,应用程序会将收到的描述符寄存在内存中。通过应用这个描述符,协定栈就可能判断出咱们心愿用哪一个套接字来连贯或者收发数据了。 连贯阶段接下来,咱们须要委托协定栈将客户端创立的套接字与服务器那边的套接字连接起来。应用程序通过调用Socket库中的名为connect函数来实现这一操作。当调用connect时,须要指定描述符、服务器IP地址和端口号这3个参数。 只有晓得了IP地址,咱们就能够辨认出网络上的某台计算机。然而,连贯操作的对象是某个具体的套接字,因而必须要辨认到具体的套接字才行,而端口号就是这样一种形式。当同时指定IP地址和端口号时,就能够明确辨认出某台具体的计算机上的某个具体的套接字。如果说描述符是用来在一台计算机外部辨认套接字的机制,那么端口号就是用来让通信的另一方可能辨认出套接字的机制。 既然须要通过端口号来确定连贯对象的套接字,那么到底应该应用几号端口呢?网址中如同并没有端口号,也不能像IP地址一样去问DNS服务器。其实,服务器上所应用的端口号是依据利用的品种当时规定好的,仅此而已。 既然确定连贯对象的套接字须要应用端口号,那么服务器也得晓得客户端的套接字号码才行吧,这个问题是怎么解决的呢?事件是这样的,首先,客户端在创立套接字时,协定栈会为这个套接字轻易调配一个端口号。接下来,当协定栈执行连贯操作时,会将这个轻易调配的端口号告诉给服务器。 通信阶段当套接字连接起来之后,剩下的事件就简略了。只有将数据送入套接字,数据就会被发送到对方的套接字中。当然,应用程序无奈间接管制套接字,因而还是要通过Socket库委托协定栈来实现这个操作。这个操作须要应用write这个函数,具体过程如下。 ...

April 22, 2021 · 1 min · jiezi

关于目标检测:基础知识-对目标检测认识及理解

摘要:本文就指标检测算法的基础知识进行简要综述,不便大家学习查看。本文分享自华为云社区《指标检测基础知识》,原文作者:lutianfei 。 图片分类工作咱们曾经相熟了,就是算法对其中的对象进行分类。而明天咱们要理解构建神经网络的另一个问题,即指标检测问题。这意味着,咱们不仅要用算法判断图片中是不是一辆汽车,还要在图片中标记出它的地位,用边框或红色方框把汽车圈起来,这就是指标检测问题。本文就指标检测算法的基础知识进行简要综述,不便大家学习查看。 指标检测基础知识网络的阶段之分双阶段(two-stage):第一级网络用于候选区域提取;第二级网络对提取的候选区域进行分类和准确坐标回归,例如RCNN系列。单阶段(one-stage):掘弃了候选区域提取这一步骤,只用一级网络就实现了分类和回归两个工作,例如YOLO和SSD等。单阶段网络为何不如双阶段的起因因为训练中的正负例不平衡。 负例过多,正例过少,负例产生的损失齐全吞没了正例;大多数负例非常容易辨别,网络无奈学习到有用信息。如果训练数据中存在大量这样的样本,将导致网络难以收敛。双阶段网络如何解决训练中的不平衡在RPN网络中,依据前景置信度抉择最有可能的候选区域,从而防止大量容易辨别的负例。训练过程中依据交并比进行采样,将正负样本比例设为1:3,避免过多负例呈现。常见数据集Pascal VOC数据集分为2007和2012两个版本,其提供的数据集里蕴含了20类的物体。 PASCALVOC的次要5个工作: ①分类:对于每一个分类,判断该分类是否在测试照片上存在(共20类);②检测:检测指标对象在待测试图片中的地位并给出矩形框坐标(boundingbox);③宰割:对于待测照片中的任何一个像素,判断哪一个分类蕴含该像素(如果20个分类没有一个蕴含该像素,那么该像素属于背景);④人体动作辨认(在给定矩形框地位的状况下)⑤LargeScaleRecognition(由ImageNet主办)导入图像对应的.xml文件,在标注文件中的每一幅图像的每一个指标,对应一个体dict 属性'boxes'属性'gt_classes'属性'gt_overlaps'属性'flipped'属性'seg_areas'CoCo 数据集分为2014、2015、2017 三个版本 在annotations文件夹中对数据标注信息进行对立治理。例如,train2014的检测与宰割标注文件为instances_train2014.json objectinstances(指标实例)、objectkeypoints(指标关键点)、imagecaptions(看图谈话)三种类型的标注 常见评估指标True positives(TP):被正确的划分到正例的个数,即理论为正例且被划分为正例的实例数。False positives(FP):被谬误地划分为正例的个数,即理论为负例但被划分为正例的实例数。False negatives(FN):被谬误的划分为负例的个数,即理论为正例但被划分为负例的实例数。True negatives(TN):被正确的划分为负例的个数,理论为负例且被划分为负例的实例数。Precision = TP/(TP+FP) = TP/所有被模型预测为正例的数据 Recall = TP/(TP+FN) = TP/所有实在类别为正例的数据 PR曲线咱们心愿检测的后果P越高越好,R也越高越好,但事实上这两者在某些状况下是矛盾的。 所以咱们须要做的是找到一种准确率与召回率之间的均衡。其中一个办法就是画出PR曲线,而后用PR曲线下方的面积AUC(AreaunderCurve)去判断模型的好坏。 IOU指标IoU是预测框与ground truth的交加和并集的比值。 对于每个类,预测框和ground truth重叠的区域是交加,而横跨的总区域就是并集。 指标检测中的PR VOC中mAP的计算方法通过PR曲线,咱们能够失去对应的AP值: 在2010年以前,PASCALVOC比赛中AP是这么定义的: 首先要对模型预测后果进行排序(即照各个预测值置信度降序排列)。咱们把recall的值从0到1划分为11份:0、1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、1.0。在每个recall区间(0-0.1,0.1-0.2,2-0.3,…,0.9-1.0)上咱们计算准确率的最大值,而后再计算这些准确率最大值的总和并均匀,就是AP值。从2010年之后,PASCALVOC比赛把这11份recall点换成了PR曲线中的所有recall数据点。 对于某个recall值r,precision值取所有recall>=r中的最大值(这样保障了p-r曲线是枯燥递加的,防止曲线呈现摇晃)这种办法叫做all-points-interpolation。这个AP值也就是PR曲线下的面积值。 具体例子: Coco中mAP的计算方法采纳的是IOU(用于决定是否为TP)在[0.5:0.05:0.95]计算10次AP,而后求均值的办法计算AP。 非极大值克制NMS算法个别是为了去掉模型预测后的多余框,其个别设有一个nms_threshold=0.5, 具体的实现思路如下: 选取这类box中scores最大的哪一个,记为box_best,并保留它计算box_best与其余的box的IOU如果其IOU>0.5了,那么就舍弃这个box(因为可能这两个box示意同一指标,所以保留分数高的哪一个)从最初残余的boxes中,再找出最大scores的哪一个,如此周而复始点击关注,第一工夫理解华为云陈腐技术~

April 19, 2021 · 1 min · jiezi

关于网络:网络基础之-Http

Http2 与 Http1.1 区别1.多路复用http2 开始,同域名下的 http 申请能够应用同一个 tcp 连贯并行传输数据。tcp 连贯建设后,会有一个慢开始过程,即数据传输速度由慢变快。http 申请复用 tcp 连贯后,就不须要从新建设 tcp,从而能够放弃高速传输。 http1.1 采纳长连贯复用。多个申请串行单线程执行,后面申请执行时,会阻塞前面的申请;而 http2 的多路复用机制,多个申请之间是并行执行的,某个申请慢,不会影响其余申请执行。 Http2多路复用 2.Header 缓存和压缩 header 有大量信息,http1.1 申请时须要反复发送;http2 版本时,通信单方会各自缓存 header fields 表,前面仅差量地更新 http headerhttp2 绝对 http1.1 反对 header 的压缩3.服务端顺带推送http2 在客户端申请某资源时,服务端会把客户端须要的一些别的资源返回回来,这很适宜用来加载动态资源 4.解析格局http1.0 和 http1.1 解析格局是文本,而文本的表现形式有多种,不足健壮性;而 http2 解析二进制,内容存在 0 或 1,不便且强壮

April 7, 2021 · 1 min · jiezi

关于数据采集:对于数据科技小白提出了灵魂三问从哪儿来到哪儿去能干什么

作为科技圈小白,常常被数据搞得头晕脑胀,数据打哪儿来?到哪儿去?能干什么?那么多数据怎么辨别谁有用谁没用?其实数据就在咱们身边,每个人都是数据的生产者,从人类文明诞生的那一刻起,数据就随同咱们而生。明天这篇文章,小编就带你查一查数据采集技术的水表。 一、数据从哪儿来数据是通过采集的形式取得的,然而采集过程并不简略。比方,数据食粮有的是细粮有的是细粮,可能拿到细粮的概率太低了。为了筛选出真实有效的数据,大家通常的做法就是把细粮先搞回来再加工,这种状况就导致花大力量搞回来的食粮筛到最初能吃的不到10%。 而且,不是所有的数据都是现成的,有些状况下须要自力更生去种地,从撒子秧苗开始培养本人的数据,至于哪个环节出问题导致数据收成不好那都是靠天吃饭的随机性了。 就算是本人入手饥寒交迫也存在秧苗成长不对立的问题,数据有很大的主观性,常常依照本人的想法长,大家都不一样,那口感就不统一了,咱们认为这是一碗大米饭,可能最初进去的是杂豆饭。 二、数据到哪儿去数据中暗藏着零碎或设施运行的法则,也含有突发的状态变更信息,更是潜藏着异样或劫难产生前轻微的蛛丝马迹。因而,它的用处十分宽泛,传统行业中能够收集生产设施的运行状态数据实现零碎的监控和运维工作,信息产业中各种各样的数据是撑持整个产业倒退的基石,在将来,人工智能技术大规模利用到各行各业中,更是离不开丰盛的数据撑持。 咱们既然拿食粮比喻数据,那么数据对于人工智能来说就是吃到肚子里去。数据采集难度系数不低,咱们怎么更简便地失去数据,更快地解决人工智能的饥寒问题呢?聪慧的人类又开始思考如何为本人疾速搞到数据。 首先,咱们能够本人搞一个高定制化的对立收割零碎,用对立的机器做数据食粮收割效率十分高,但这也导致了最终的数据食粮尽管对立,齐全没有惊喜,毕竟收割机高度就是这么高,这一茬被收割,一些参差不齐的数据却幸运持续横蛮成长无奈收割。从上面的曲线能够看出:高度定制化能够带来极简的应用体验,但也就义了灵活性。 极简和灵活性如何取舍,还是要落地在场景中。依照2-8准则,80%的数据咱们采纳高端定制的模式来收割,剩下的20%的数据手动收割,这样咱们既能高效的获取整齐划一的食粮也能参杂一些小惊喜,两败俱伤。 上面咱们以网络人工智能业务为例,来看看具体的操作: 网络人工智能业务所应用的80%以上数据,是电信网络的设施数据,所以这一部分能够间接进行网络买通,零碎主动实现对接协商、数据采集和标准化解决,使用者可间接获取想要的小区性能指标,进入下一业务环节。 80%的数据采集场景做到了极简,大部分用户的体验失去保障。剩下20%的场景,通过灵便通用的采集能力来解决,用户配置数据源对接参数即可实现数据采集。 还有一些数据并不能通过简略采集取得,比方,无源设施、以及无奈产生状态数据的软硬件零碎,这就须要一波高端操作——探针自主采集。探针技术自身比拟成熟,各行业都有广泛应用,弊病是部署老本高、推广难度大。探针技术也有软硬之分,从名称上就能看出,软探针就是通过独立可执行的软件或可被集成的SDK,在用户受权的状况下,采集网络体验数据。硬探针基本上就是传感器、探测设施等,专业性较强,数据收集准确性高。 三、数据能干什么数据无能的事件太多了,能够用来剖析用户爱好和需要,取得对电信网络实在主观的应用反馈,可能疾速得悉产品有何有余,对应更新更多的业务模式,可能帮忙实现业务改善。好的数据可能帮忙企业取得更大对竞争力。但这些数据的背地是人,人的主观性越强,需要就越明确,对产品能力的晋升就越有帮忙。这些数据就好比是食物中最顶端的高端食材,口感一流品质上乘,然而价格不菲。 如下图所示: 体验数据不好取得,这些数据基本上要通过问卷调查、试验、端侧体验指标采集等形式取得,不仅老本高而且可取得的数据量也无限。这就如同你是个网店卖家,辛苦做出的产品想要失去五星好评或实在超过10个字的评估感触,须要给客户搞一个好评返现红包。鉴于大家都比较忙,给有字评估的客户仍旧不多,那就须要用插补的形式,基于大量实在评估预计一个全副用户的整体感触。 在网络人工智能业务中,咱们是如何取得高质量数据的?首先,咱们开发了业余的APP,对于用户来说,除了能随时感知本人所处网络的速率和时延,还能针对室内笼罩帮忙用户进行信号仿真,实现Wi-Fi的组网布局,真正解决用户的体验问题,除此之外,还具备游戏的代入感和应用体验,能更好的吸引用户,实现网络体验数据的采集。其次,咱们还提供了可基于无限采集数据,通过算法进行数据插补的能力,对于采样点少或缺失的区域进行数据补充,该办法引入了天文统计计算的相干算法,在肯定采样条件下,插补的误差RMSE小于5,高于物理测量设施的仿真后果。 四、捍卫数据安全才是正经事在结尾咱们讲过,数据采集有很多难处,在收集、存储、传输上都须要更平安的环境。只有保障数据采集零碎安全可靠,才可能无效的爱护数据需求者和提供者的权利。网络人工智能在数据采集平安方面也做了不少针对性的措施。比方在数据收集环节的数据脱敏、最小采集范畴、密级管制等,防止“顺手牵羊”;在传输过程中也晋升了运输大队的军火储备和荫蔽能力,争取让劫匪找不到本人的数据,或者遇到劫道儿的也能从容迎战捍卫数据安全;在存储环节的访问控制和权限隔离等技术,防止越权拜访和数据泄露问题。 网络人工智能在数据采集平安方面所做的措施如下图所示: 随着数据安全和隐衷爱护法规的不断完善,应答数据安全的软、硬件措施也逐步完善,每一个安全措施都是不断完善的短暂工程,数据安全没有起点,只有与时俱进不断进步,能力继续满足人们对数据的安全感,从而更充沛的施展数据价值。 五、数据采集技术还在一直成长数据采集不是欲速不达的,随着产品或服务的迭代降级,各行业技术的倒退,用户需要的晋升,政策法规的欠缺,数据采集技术在平安和隐衷爱护、数据可获得性、体验等都须要一直演进倒退。数据采集不仅是数字化转型的根底,还是人工智能的精神食粮,更须要做到保障数据通道的畅通无阻。 作为华为ICT基础设施业务面向寰球开发者的年度盛会,华为开发者大会2021(Cloud)将于2021年4月24日-26日在深圳举办。本届大会以#每一个开发者都了不起#为主题,将汇聚业界大咖、华为科学家、顶级技术专家、天才少年和泛滥开发者,独特探讨和分享云、计算、人工智能等最新ICT技术在行业的深度翻新和利用。智能时代,每一个开发者都在发明裹足不前的奔流时代。世界有你,了不起! 点击链接,理解大会详细信息。https://developer.huaweicloud... 点击关注,第一工夫理解华为云陈腐技术~

April 7, 2021 · 1 min · jiezi

关于移动应用开发:荷小鱼-x-mPaaS-借助-H5-容器改善-App-白屏浏览器兼容等问题

随着5G、大数据、人工智能技术的利用,各类传统行业纷纷鼎力推动数字化转型降级。 而受疫情的影响,教育行业也在大幅减速线上化转型过程,各类在线教育利用也在借助各种力量拓张本人的挪动端市场畛域。 「荷小鱼」作为一款学科启蒙在线学习利用,同样也在这条赛道上,思考如何能力在林立的竞对竞争中拔得头筹,取得更多用户的青眼? 这个问题的解法有很多,但第一步必定是晋升用户体验、优化利用性能。 「荷小鱼」亟待解决的问题原 App 内的局部页面,是通过 WebView 关上 H5 的形式来进行展现的,所以在关上一些重型页面时会呈现以下的一些问题: 网络问题导致白屏;浏览器兼容性问题;无离线下发性能;无奈及时更新资源。作为启蒙教育利用,「荷小鱼」的 App 页面除了须要嵌入根底框架代码和页面逻辑代码外,还须要嵌入多个字体库和多个音视频文件。 资源的多而大,导致页面非常容易收到网络的影响:网络不稳固时容易文件失落、白屏加载资源工夫长、造成网络线程阻塞等。 同时,也让 App 更新资源变得艰难了很多:无奈实时更新下发最新资源、缓存生效等。为技术团队在更新版本和调修 Bug 上造成了很大的妨碍。 “H5 容器+动静公布”通过了多方调研,「荷小鱼」最终抉择应用 mPaaS“H5 容器 + 动静公布服务”作为技术选型,用来解决 App 现阶段须要解决的难题。 .png") 首先,通过 mPaaS H5 容器中自带的 UC 内核浏览器,能够从根本上解决浏览器兼容性问题。 此外,mPaaS H5 容器反对离线包拜访。 离线包是将包含 HTML、JavaScript、CSS 等页面内动态资源打包到一个压缩包内。事后下载该离线包到本地,而后通过客户端关上,间接从本地加载离线包,从而最大水平地解脱网络环境对 H5 页面的影响。 通过离线包的形式把页面内动态资源嵌入到利用中并公布,当用户第一次开启利用的时候,就无需依赖网络环境下载该资源,而是马上开始应用该利用。 最初,配合动静公布服务能力,在推出新版本或是紧急公布的时候,开发者能够把批改的资源放入离线包,通过更新配置让利用主动下载更新。因而,开发者无需通过利用商店审核,就能让用户及早接管更新。对页面资源进行动静更新, 利用的开发调试和公布部署感激来自「荷小鱼」的前端工程师雷文伟,通过实操演示,展现如何接入 mPaaS 以及如何实现利用公布。 https://www.bilibili.com/vide... 点击浏览原文,观看残缺视频。 弱网环境无影响、版本升级无感知用户体验,是每一个利用都须要面临的生死题。尤其是在雨后春笋般的在线教育利用市场中,利用的性能对用户的留存成果显得更是尤为重要。 挪动利用开发者从 DevOps 开始,到开发、性能监控、性能网络优化解决,在这一整套闭环流程中,通过借助 mPaaS 具备的开发测试、日志剖析、卡顿剖析、问题修复模式、热修复等各项能力,即可获取弱网环境无影响、版本升级无感知的用户体验。 E · N · D 点击文末浏览原文,观看CodeHub#4全程回放。

April 2, 2021 · 1 min · jiezi

关于业务:业务随行用户的网络访问策略还能这么玩

摘要:业务随行是一种不论用户身处何地、应用哪个IP地址,都能够保障该用户取得雷同的网络拜访策略的解决方案。本文分享自华为云社区《数通Datacom认证新知识点:业务随行》,原文作者:迷图小书童 。 一、性能个性概述所谓业务随行,顾名思义,指的是在园区中,无论某个人员如何在网络中挪动,从什么中央接入,又换到了什么中央、IP地址是否有变动,它的权限都是统一的,也就是权限跟着人走。所谓权限,简略地说,指的是用户是否被容许拜访某个/某些特定资源,或者其余用户组。 业务随行计划实质上是一种IP地址与策略解耦的计划。换句话说,即用户无论在接入网络时应用什么IP地址、在何处接入,他所取得的权限都是统一的。 业务随行计划将一个网络中的用户依据理论需要划分成组,例如教育园区中的老师组与学生组等。网络管理员为用户调配账号,并且依据具体的规定将账号绑定到组。当用户接入网络时,网络设备会对用户进行身份认证,并且依据认证后果将用户绑定到相应的组。与此同时,网络设备上会保护网络管理员事后下发的组间通信矩阵(策略管制矩阵)。这样一来,当已认证用户的流量达到该网络设备时,设施即可通过流量的源、目标来匹配源、目标组,并在通信矩阵中进行查问,从而判断流量是否非法。 二、业务随行中的基本概念1 平安组 平安组是指网络中通信对象的汇合。用户可依据理论需要,在iMaster NCE上创立平安组。例如在办公园区网络中,用户能够依据须要设置市场用户平安组、研发用户平安组、销售用户平安组等等。这些平安组都是基于天然语义定义的,十分直观。 平安组既能够依据5W1H条件受权给用户,合乎5W1H条件的用户受权到指定平安组(动静平安组),也能够通过动态绑定IP地址的形式定义平安组(动态平安组)。 上图展现的是在iMaster NCE上创立一个动静平安组。以下是创立一个动态平安组: 动态平安组定义完后,与动静平安组一样都会呈现在通信矩阵中,能够作为源或目标平安组。 2 资源组对于动态的服务器资源,能够通过在平安组中绑定IP地址段的形式进行表白,平安组和IP地址的动态绑定关系最终会通过netconf协定下发到设施上。然而对于IP地址集有重合的服务资源,无奈通过平安组进行辨别。资源组能够解决这个问题,资源组之间容许IP地址容许反复,资源组能够作为组间策略的目标地址。 在iMaster NCE上创立资源组的页面如下: 资源组只在通信矩阵中作为目标平安组,不作为源平安组。应用资源组的毛病在于,在执行点设施上会依据每个IP地址生成一条策略,而不是一个资源组生成一条策略,导致策略数过多。 3 策略管制平安组定义实现之后,管理员就能够基于组来定义全网的组间策略。策略矩阵用于承载组间策略的配置。组间权限策略次要控制组到组之间的拜访权限。 4 认证点、策略执行点与iMaster NCE 认证点:负责对终端进行身份认证,并通过认证过程从iMaster NCE取得终端的受权后果,如终端所属的平安组等。若网络中部署了策略联动,则认证点指的是认证控制点。iMaster NCE:充当认证服务器,同时也是业务随行的策略控制中心,保护全网的平安组之间的通信矩阵。 策略执行点:先从iMaster NCE取得平安组间通信矩阵,在收到流量后,依据流量的源、目标IP地址对应的源、目标平安组执行策略,如果策略容许该流量,则进行转发,否则进行抛弃。三、施行步骤概述 四、工作机制概述1 创立用户及平安组 1)网络管理员在iMaster NCE中定义平安组。 网络管理员能够抉择创立动静平安组或动态平安组。动静平安组用于当网络设备对用户进行认证时,通过控制器配置的受权规定动静地将用户绑定到相应的平安组。而动态平安组则由管理员手工绑定IP地址或地址段。 例如在上图所示的例子中,咱们创立了Group1、Group2及Server平安组。其中Group1及Group2是动静平安组。而Server是动态平安组,能够由管理员定义动态关系映射,例如将10.1.1.1这台服务器的IP地址映射到Server组。在理论利用中,Group1及Group2组名能够结合实际状况定义,例如教育园区中,能够定义Teacher和Student组。 2)网络管理员在iMaster NCE中创立用户账号,并配置受权规定(依据5W1H条件),将用户绑定到对应的用户组。 2 定义并部署组间策略1)网络管理员在iMaster NCE中定义组间策略,也即组间通信矩阵。例如容许Group1及Group2拜访Server,禁止Group1拜访Group2等。 2)部署策略:策略执行点网络设备与iMaster NCE实现对接。iMaster NCE主动将平安组、组间策略下发至该网络设备。 iMaster NCE会将组Group1、2及Server(的名字及组ID),以及以上所定义的组间策略下发到网络设备上。这个动作为后续的零碎主动运行做好筹备工作。下图中的策略执行点,指的是执行策略(权限策略)的网络设备。 3 零碎主动运行认证:用户尝试接入网络,iMaster NCE校验身份凭证。受权:iMaster NCE依据5W1H条件,匹配受权策略,受权用户所属平安组,执行点设施将用户所用的IP地址动静增加到指定组中。控制器会对立保护所有在线用户的信息(用户名、IP地址等)与用户组的映射关系。执行:网络设备依据本地及iMaster NCE中保留的IP地址与组的对应关系,辨认报文的源目标组信息,进而匹配和执行组策略。具体示例如下: 用户接入(以User1为例),交换机Core作为认证点设施,对用户发动认证,它负责与iMaster NCE交互用户认证信息。iMaster NCE判断该用户的登录条件,将该用户与对应受权后果中绑定的平安组(Group1)进行关联。用户认证通过,iMaster NCE通知认证点Core该用户所属平安组。认证点Core上报用户以后应用的实在IP地址168.1.1。 iMaster NCE将IP地址与组Group1关联,并记录到在线用户信息表中。User2同理。此时,认证点设施Core曾经保护了对于User1及User2的在线用户表项,包含这两个用户的IP地址、MAC地址以及所属的平安组等。此时User1向User2发送数据,Core收到用户的业务报文,辨认报文的源组和目标组,执行组间策略。在本例中,User1发往User2的流量将被Core抛弃。 点击关注,第一工夫理解华为云陈腐技术~

April 2, 2021 · 1 min · jiezi

关于mha:故障分析-如何提高-MHA-的网络容忍能力下

作者:刘开洋爱可生交付服务部团队北京 DBA,次要负责解决 MySQL 的 troubleshooting 和我司自研数据库自动化治理平台 DMP 的日常运维问题,对数据库及周边技术有浓重的学习趣味,喜爱看书,谋求技术。 本文起源:原创投稿 *爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。 阐明本节次要介绍对 secondary_check_script 调用 masterha_secondary_check 脚本的阐明。 [root@yang-03 ~]# cat /usr/bin/masterha_secondary_check#!/usr/bin/env perl···$| = 1;GetOptions( 'help' => \$help, 'version' => \$version, 'secondary_host=s' => \@monitoring_servers, 'user=s' => \$ssh_user, 'port=s' => \$ssh_port, 'options=s' => \$ssh_options, 'master_host=s' => \$master_host, 'master_ip=s' => \$master_ip, 'master_port=i' => \$master_port, 'master_user=s' => \$master_user, 'master_password=s' => \$master_password, 'ping_type=s' => \$ping_type, 'timeout=i' => \$timeout,); if ($version) { print "masterha_secondary_check version $MHA::ManagerConst::VERSION.\n"; exit 0;} if ($help) { pod2usage(0);} unless ($master_host) { pod2usage(1);} sub exit_by_signal { exit 1;}local $SIG{INT} = $SIG{HUP} = $SIG{QUIT} = $SIG{TERM} = \&exit_by_signal; $ssh_user = "root" unless ($ssh_user);$ssh_port = 22 unless ($ssh_port);$master_port = 3306 unless ($master_port); if ($ssh_options) { $MHA::ManagerConst::SSH_OPT_CHECK = $ssh_options;}$MHA::ManagerConst::SSH_OPT_CHECK =~ s/VAR_CONNECT_TIMEOUT/$timeout/; # 0: master is not reachable from all monotoring servers# 1: unknown errors# 2: at least one of monitoring servers is not reachable from this script# 3: master is reachable from at least one of monitoring serversmy $exit_code = 0; foreach my $monitoring_server (@monitoring_servers) { my $ssh_user_host = $ssh_user . '@' . $monitoring_server; my $command ="ssh $MHA::ManagerConst::SSH_OPT_CHECK -p $ssh_port $ssh_user_host \"perl -e " . "\\\"use IO::Socket::INET; my \\\\\\\$sock = IO::Socket::INET->new" . "(PeerAddr => \\\\\\\"$master_host\\\\\\\", PeerPort=> $master_port, " . "Proto =>'tcp', Timeout => $timeout); if(\\\\\\\$sock) { close(\\\\\\\$sock); " . "exit 3; } exit 0;\\\" \""; my $ret = system($command); $ret = $ret >> 8; if ( $ret == 0 ) { print"Monitoring server $monitoring_server is reachable, Master is not reachable from $monitoring_server. OK.\n"; next; } if ( $ret == 3 ) { if ( defined $ping_type && $ping_type eq $MHA::ManagerConst::PING_TYPE_INSERT ) { my $ret_insert; my $command_insert = "ssh $MHA::ManagerConst::SSH_OPT_CHECK -p $ssh_port $ssh_user_host \'" . "/usr/bin/mysql -u$master_user -p$master_password -h$master_host " . "-e \"CREATE DATABASE IF NOT EXISTS infra; " . "CREATE TABLE IF NOT EXISTS infra.chk_masterha (\\`key\\` tinyint NOT NULL primary key,\\`val\\` int(10) unsigned NOT NULL DEFAULT '0'\) engine=InnoDB; " . "INSERT INTO infra.chk_masterha values (1,unix_timestamp()) ON DUPLICATE KEY UPDATE val=unix_timestamp()\"\'"; my $sigalrm_timeout = 3; eval { local $SIG{ALRM} = sub { die "timeout.\n"; }; alarm $sigalrm_timeout; $ret_insert = system($command_insert); $ret_insert = $ret_insert >> 8; alarm 0; }; if ( $@ || $ret_insert != 0 ) { print"Monitoring server $monitoring_server is reachable, Master is not writable from $monitoring_server. OK.\n"; next; } } print "Master is reachable from $monitoring_server!\n"; $exit_code = 3; last; } else { print "Monitoring server $monitoring_server is NOT reachable!\n"; $exit_code = 2; last; }} exit $exit_code;···看到下面的脚本有拍板大,作为一个专一的 DBA,始终谋求着 shell,Perl 语言不熟啊,细看之后发现与 shell 脚本有殊途同归之妙,从相应的正文中,咱们找到了该查看脚本的返回值,即 0,1,2,3,别离代表的含意如下: ...

March 22, 2021 · 3 min · jiezi

关于终端:终端使用代理加速的正确方式Shadowsocks

咱们在终端应用Homebrew、git、npm等命令时,总会因为网络问题而装置失败。 尤其是装置Homebrew,据我理解很多敌人是花了很长时间来解决,心里不晓得吐槽该死的网络多少遍了。 尽管设置镜像的确有用,然而没有普适性,明天就介绍下让终端也走代理的办法,这样能够通杀很多状况。 文本提到的代理是指搭配Shadowsocks应用的状况,其他软件也有肯定共同之处。 macOS & Linux通过设置http_proxy、https_proxy,能够让终端走指定的代理。配置脚本如下,在终端间接执行,只会长期失效: export http_proxy=http://127.0.0.1:1080export https_proxy=$http_proxy1080是http代理对应的端口,请不要照抄作业,依据你的理论状况批改。 你能够在Shadowsocks的设置界面中查找代理端口信息。 便捷脚本这里提供一个便捷脚本,外面蕴含关上、敞开性能: function proxy_on() { export http_proxy=http://127.0.0.1:1080 export https_proxy=$http_proxy echo -e "终端代理已开启。"}function proxy_off(){ unset http_proxy https_proxy echo -e "终端代理已敞开。"}通过proxy_on启动代理,proxy_off敞开代理。 接下来须要把脚本写入.bash_profile或.zprofile,这样就能够永恒失效。 你可能会问,怎么写入脚本,急躁点,下文提供了装置脚本的办法。至于你应该写入哪个文件,请依据命令echo $SHELL返回后果判断: /bin/bash => .bash_profile/bin/zsh => .zprofile而后执行装置脚本(追加内容+失效),留神肯定依据要下面后果批改.zprofile名称: cat > ~/.zprofile << EOFfunction proxy_on() { export http_proxy=http://127.0.0.1:1080 export https_proxy=$http_proxy echo -e "终端代理已开启。"}function proxy_off(){ unset http_proxy https_proxy echo -e "终端代理已敞开。"}EOFsource ~/.zprofile能够执行curl cip.cc验证: IP : xxx地址 : 中国 台湾 台北市运营商 : cht.com.tw数据二 : 台湾省 | 中华电信(HiNet)数据中心数据三 : 中国台湾 | 中华电信URL : http://www.cip.cc/xxx看到网上说通过curl -I http://www.google.com可能会遇到403问题,应用Google域名验证时须要留神下这个状况。 ...

March 22, 2021 · 1 min · jiezi

关于docker:docker网络模式

咱们在应用docker run创立Docker容器时,能够用--net选项指定容器的网络模式,Docker有以下4种网络模式: host模式,应用--net=host指定。container模式,应用--net=container:NAME\_or\_ID指定。none模式,应用--net=none指定。bridge模式,应用--net=bridge指定,默认设置。上面别离介绍一下Docker的各个网络模式。 1.1 host模式家喻户晓,Docker应用了Linux的Namespaces技术来进行资源隔离,如PID Namespace隔离过程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。一个Network Namespace提供了一份独立的网络环境,包含网卡、路由、Iptable规定等都与其余的Network Namespace隔离。一个Docker容器个别会调配一个独立的Network Namespace。但如果启动容器的时候应用host模式,那么这个容器将不会取得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚构出本人的网卡,配置本人的IP等,而是应用宿主机的IP和端口。 例如,咱们在10.10.101.105/24的机器上用host模式启动一个含有web利用的Docker容器,监听tcp80端口。当咱们在容器中执行任何相似ifconfig命令查看网络环境时,看到的都是宿主机上的信息。而外界拜访容器中的利用,则间接应用10.10.101.105:80即可,不必任何NAT转换,就如间接跑在宿主机中一样。然而,容器的其余方面,如文件系统、过程列表等还是和宿主机隔离的。 1.2 container模式在了解了host模式后,这个模式也就好了解了。这个模式指定新创建的容器和曾经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创立本人的网卡,配置本人的IP,而是和一个指定的容器共享IP、端口范畴等。同样,两个容器除了网络方面,其余的如文件系统、过程列表等还是隔离的。两个容器的过程能够通过lo网卡设施通信。 1.3 none模式这个模式和前两个不同。在这种模式下,Docker容器领有本人的Network Namespace,然而,并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息。须要咱们本人为Docker容器增加网卡、配置IP等。 1.4 bridge模式bridge模式是Docker默认的网络设置,此模式会为每一个容器调配Network Namespace、设置IP等,并将一个主机上的Docker容器连贯到一个虚构网桥上。上面着重介绍一下此模式。

March 18, 2021 · 1 min · jiezi

关于网络:关于网络协议

网络 网络是信息传输,接管,共享的虚构平台通过它把各个点,面,体的信息分割到一起,从而实现这些资源的共享网络传输数据有肯定的规定,这些规定咱们称为协定HTTP协定就是其中的一种,而且应用最为频繁计算机网络的七层协定 应用层表示层会话层传输层网络层数据链路层物理层 DNS解析 域名解析(主机名解析):通过主机名,最终失去该主机名对应的IP地址的过程每一台计算机都有一个惟一的IP地址,计算机依据IP实现互相通信而咱们通常应用的域名更多的是为了不便记忆以及个性化须要,它并不能间接对应到的服务器IP,咱们须要通过DNS服务器去查找IP,这个依据域名找到IP地址的过程就是DNS解析HTTP简介 HTTP协定是Hyper Text Transfer Protocol(超文本传输协定)的缩写是用于从万维网服务器传输超文本到本地浏览器的传送协定HTTP是基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查问后果等)HTTP采纳的是 申请/应答 形式来传递数据HTTP协定的默认端口号为80HTTPS协定的默认端口号为443HTTP是应用层协定,次要解决如何包装数据HTTP协定的束缚 束缚了浏览器以何种格局向服务端发送数据束缚了服务器应该以何种格局来承受客户端发送的数据束缚了服务器应该以何种格局来反馈数据给浏览器束缚了浏览器应该以何种格局来接管服务器反馈的数据HTTP交互特点 浏览器给服务器发送数据(一次申请)服务器给浏览器反馈数据(一次响应)一次申请对应一次响应,屡次申请对应屡次响应HTTP工作原理 HTTP协定工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有申请Web服务器依据接管到的申请后,向客户端发送响应信息 网络申请与响应服务的过程 HTTP通信机制 HTTP通信机制是在一次残缺的HTTP通信过程中,Web浏览器与Web服务器之间将实现下列7个步骤:1. 建设TCP连贯 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建设TCP连贯,该协定与IP协定独特构建Internet,即驰名的TCP/IP协定族,因而Internet又被称作TCP/IP网络。 HTTP是比TCP更高层次的应用层协定,依据规定,低层协定建设之后能力进行更层协定的连贯,因而,首先要建设TCP连贯 个别TCP连贯的端口号是802. Web浏览器向Web服务器发送申请命令 一旦建设了TCP连贯,Web浏览器就会向Web服务器发送申请命令 例如:GET/sample/hello.jsp HTTP/1.13. Web浏览器发送申请头信息 浏览器发送其申请命令之后,还要以头信息的模式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来告诉服务器,它曾经完结了该头信息的发送。4. Web服务器应答 客户机向服务器发出请求后,服务器会向客户机回送应答,HTTP/1.1 200 OK 应答的第一局部是协定的版本号和应答状态码5. Web服务器发送应答头信息 服务器伴随应答向用户发送对于它本人的数据及被申请的文档。6. Web服务器向浏览器发送数据 以Content-Type应答头信息所形容的格局发送用户所申请的理论数据7. Web服务器敞开TCP连贯 个别状况下,一旦Web服务器向浏览器发送了申请数据,它就要敞开TCP连贯,而后如果浏览器或者服务器在其头信息退出了这行代码Connection:keep-alive TCP连贯在发送后将依然放弃关上状态,于是,浏览器能够持续通过雷同的连贯发送申请。 放弃连贯节俭了为每个申请建设新连贯所需的工夫,还节约了网络带宽。HTTP三个特点 1. HTTP是无连贯:无连贯的含意是限度每次连贯只解决一个申请。服务器解决完客户的申请,并收到客户的应答后,即断开连接。采纳这种形式能够节俭传输工夫2. HTTP是媒体独立的:这意味着,只有客户端和服务器晓得如何解决的数据内容,任何类型的数据都能够通过HTTP发送。客户端以及服务器指定应用适宜的MIME-type内容类型(该资源的媒体类型)3. HTTP是无状态:HTTP协定是无状态协定。无状态是指协定对于事务处理没有记忆能力。短少状态意味着如果后续解决须要后面的信息,则它必须重传,这样可能导致每次连贯传送的数据量增大。另一方面,在服务器不须要先前信息时它的应答就较快HTTP音讯构造 一个HTTP"客户端"是一个应用程序(Web浏览器或其余任何客户端),通过连贯到服务器达到向服务器发送一个或多个HTTP的申请的目标一个HTTP"服务器"同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接管客户端的申请并向客户端发送HTTP响应数据HTTP应用对立资源标识符(URI)来传输数据和建设连贯客户端申请音讯:客户端发送一个HTTP申请到服务器的申请音讯包含以下四个局部:申请行(request line)申请头部(header)空行申请数据 服务器响应音讯:HTTP响应也由四个局部组成:状态行消息报头空行响应注释 HTTP的九种申请类型 HTTP1.0 定义了三种申请办法:GET, POST 和 HEAD办法HTTP1.1 新增了六种申请办法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 办法罕用:1. GET:向特定的资源发出请求。(从服务器中获取一份文档)2. POST:向指定资源提交数据进行解决申请(例如提交表单或者上传文件)。数据被蕴含在申请体中。POST申请可能会导致新的资源的创立和/或已有资源的批改。(向服务器发送须要解决的数据)3. PUT:向指定资源地位上传其最新内容。(将申请的主题局部存储在服务器中)4. PATCH:是对 PUT 办法的补充,用来对已知资源进行部分更新。5. DELETE:申请服务器删除 Request-URI 所标识的资源。(从服务器中删除一份文档)6. CONNECT:HTTP/1.1 协定中预留给可能将连贯改为管道形式的代理服务器。不罕用:1. OPTIONS:返回服务器针对特定资源所反对的HTTP申请办法。也能够利用向Web服务器发送'*'的申请来测试服务器的功能性。(决定能够在服务器上执行的办法)2. HEAD:向服务器索要与GET申请相一致的响应,只不过响应体将不会被返回。这一办法能够在不用传输整个响应内容的状况下,就能够获取蕴含在响应音讯头中的元信息。(只从服务器获取头文档的首部)3. TRACE:回显服务器收到的申请,次要用于测试或诊断。(对可能通过代理服务器传送到服务器上的报文进行追踪)其实在理论利用中罕用的是get和post其余申请形式也都能够通过这两种形式间接的来实现对于get申请的注意事项:get申请可被缓存get申请保留在浏览器历史记录中get申请可被珍藏为书签get申请不应在解决敏感数据时应用get申请有长度限度get申请只该当用于取回数据对于post申请的注意事项:post申请不会被缓存post申请不会保留在浏览器历史记录中post申请不可被珍藏为书签post申请对数据长度没有要求比拟get申请和post申请: ...

March 17, 2021 · 1 min · jiezi

关于华为:带你走进与千万数据通信者共成长的家园

摘要:本文介绍开发者如何应用华为数通开发者社区。本文分享自华为云社区《华为数据通信开发者社区-----以磅礴能源引领智能IP网络》,原文作者:长期飘在私有云上。 一、数据通信开发者生态愿景华为数据通信开发者生态愿景是服务宽广开发者和合作伙伴,联结开发者和搭档孵化、翻新,开发和公布面向多行业的生态解决方案,助力开发者胜利,驱动商业增长,减速企业数字化转型。 二、数据通信开发者生态整体架构为了更好的服务宽广开发者,数据通信开发者生态共构建了三层架构,从整体架构中,大家能够理解到在整个产业链里华为做什么,合作伙伴做什么,以及华为与搭档之间如何配合。三层架构图如下: 第一层:终端层。在端侧,由合作伙伴提供面向各个行业的终端设备,如考勤闸机、生产线大屏、超市电子价签等,终端设备通过标准协议接入企业一张网,打造企业数字化转型的松软底座。 第二层:开发者社区平台层。为了助力企业数字化转型,华为提供ICT基础设施,通过在园区、广域、DCN和数通网络凋谢可编程等场景部署交换机/路由器/防火墙产品,把企业分布各地的办公/生产环境连成一张网。在企业一张网底座之上,华为提供了6大撑持工具。同时华为通过NCE管控析平台向下层利用合作伙伴和开发者凋谢网络能力,比方网络自动化、运维、接入认证、地位等,目前凋谢的原子API超过700+多个。满足30+利用场景要求,面向教育、政府、交通、金融等行业提供50+解决方案。以上能力和资源都是通过数据通信开发者社区平台来承载。 第三层:行业应用层。在行业应用层,由开发者和合作伙伴提供面向各个行业的应用软件,如APP。这些利用能够调用华为提供的网络北向凋谢能力实现各个场景的利用开发。 在整个生态联盟中,华为聚焦底层ICT、为开发者和合作伙伴打造数通“黑土地”,为开发者和合作伙伴更高效应用网络凋谢能力。欢送端侧设施商、行业开发者/ISV、SI、学生退出咱们的开发者生态并应用华为数据通信开发者社区,欢送开发者在数通黑土地上施展聪明才智,利用网络凋谢能力,解决行业新痛点、实现行业新体验、共创行业新价值,一起凋敝生态,实现多赢。 三、数据通信开发者社区愿景华为携手泛滥产业搭档,在2019年华为全联接大会上由华为数据通信产品线总裁和合作伙伴独特公布了数据通信开发者生态社区。社区的愿景是汇集更多前沿的华为数据通信产品和解决方案,并通过开发者社区将华为网络能力凋谢给合作伙伴和开发者,帮忙合作伙伴和开发者面向不同的行业提供多姿多彩、用户体验优异的利用,最终和搭档一起实现商业胜利。 https://www.sohu.com/a/344510... “咱们置信会有更多合作伙伴将基于华为零碎,在云时代创始出更丰盛的行业利用。诚挚心愿宽广搭档给咱们提出意见,帮忙咱们打造一个百花齐放的优良、衰弱的生态。”——华为数据通信产品线总裁胡克文 四、数据通信开发者社区架构为了达成数据通信开发者社区的愿景,基于数据通信开发者生态从新设计了开发者社区整体架构,如下: 正如架构图所示,开发者社区重点打造了开发者交换、API Explorer、多媒体课件、SDK工具包、开发者工具、近程实验室共6大工具,撑持智简园区网络、智简数据中心网络、广域网络、数通网络凋谢可编程、网络安全(开发中)和路由器(开发中)6大数通产品社区,并对立通过iMaster NCE凋谢北向API供凋谢者应用。即开发者社区是集学习、凋谢、验证和交换的一站式服务平台。上面就社区6大工具和以后的4大产品社区做重点介绍。 五、社区6大工具介绍1、开发者交换在这里,开发者和合作伙伴能够学习、分享、交换和获取最新的行业资讯,理解社区的所有流动。该模块共有5局部组成,包含网页title、开发者大赛、走进校园、在一起和成为搭档。“网页title”包含了社区最新流动宣传和入口,技术博客和论坛,DevRun和大学生联盟。在这里大家能够理解4大数通前沿技术,和技术大咖一起交换,获取最新流动并能够直接参与流动。“开发者大赛”模块承载历届开发者大赛征询和行将开始的大赛信息。大家能够加入大赛展现集体和团队的创新能力,助力技能晋升。“走进校园”模块是重点为大学生敌人打造的,在这里能够获取到历届和行将发展的线上和线下校园流动。“在一起”模块重点介绍了社区和开发者单干案例,“成为搭档”模板将领导大家如何成为华为合作伙伴。 2、API Explorer为开发者提供API体验学习和体验平台,蕴含了API信息概览、SDK向导、以及API在线模仿调测,通过多个行业场景利用让宽广开发者体验北向接口开发。 3、多媒体课件“多媒体课件”提供丰盛的利用案例和视频教学,让开发者轻松上手学习与开发,帮忙开发者疾速成长。 4、SDK工具包“SDK工具包”模板提供了示例代码、SDK包下载、技术注解和二次开发指南等,为开发者升高开发难度,轻轻松松实现开发工作。 5、开发者工具 “开发者工具”模板从研发我的项目生命周期登程,提供了生命周期中所有工具,包含项目管理 ProjectMan、代码托管 CodeHub、流水线 CloudPipeline等工具共大家应用,帮忙开发者疾速开发、集成和上线各行业利用。 6、近程实验室“近程实验室”汇集了6大数通产品和面向行业的典型终端,并为开发者提供了7×24小时收费云化实验室环境。开发者无需购买华为产品,即可针对相干产品进行二次开发,并实现近程对接测试认证。 六、数据通信4大产品开发者社区介绍以上介绍的6大工具大家能够间接应用,亦可在学习体验数通6大产品开发者社区时应用。工具曾经嵌入到数通产品开发者社区模板之中。目前开发者社区曾经整合了智简园区网络、智简数据中心网络、广域网络和数通凋谢可编程4大产品,并最终通过iMaster NCE产品将产品开发API出现给开发者,后续还会整合网络安全和路由器产品。 因为智简园区网络、智简数据中心网络和广域网络产品社区内容相似,而数通网络凋谢可编程区别于其余社区,所以下文将重点解说智简园区网络和数通网络凋谢可编程社区有哪些内容,如何应用等。 1、智简园区网络华为智简园区网络(CloudCampus)解决方案,利用前沿的有线和无线技术,加持大数据、AI和云技术,以业务为核心,构建万物互联、业务无忧和可平滑演进的园区网络,使能行业数字化转型。基于5大类430+凋谢的API接口,华为智简园区网络解决方案面向行业构建凋谢的架构,帮忙客户使能数字化的行业园区网络。华为智简园区网络生态全景图: 智简园区网络社区分四个局部,包含网页title,利用场景,凋谢资源和常识核心。 1.1、“网页title”包含社区介绍,近程实验室入口,智简园区网络社区论坛入口和成为搭档入口。 1.2、“利用场景”包含6大行业利用场景介绍和体验入口,大家能够通过疾速入口进行学习体验。 1.3、“开发资源”包含实验室环境,工具资源和测试认证,大家能够通过“实验室资源”预约沙箱开发和测试;大家能够利用“工具资源”下载基于Java和Python的产品SDK包,以及接口开发指南;能够通过“测试认证”下载测试认证领导。 1.4、“常识核心”包含API Explorer,摸索,视频教程,学习教程,智简园区网络生态单干白皮书,合作伙伴认证指导书。“API Explorer”是为智简园区网络开发者提供API体验学习和体验平台,蕴含了API信息概览、SDK向导、以及API在线模仿调测等;“摸索”基于行业利用场景,摸索和演示应用华为CloudCampus API构建的解决方案,并展现商业案例等;“视频教程”通过视频理解华为CloudCampus利用场景和操作领导;“学习教程”提供场景化的API学习领导和调用示例;“智简园区网络生态单干白皮书” 理解华为智简园区网络解决方案的开放性和增值业务,以及其在行业中利用。“单干认证指导书”理解如何成为华为合作伙伴,以助力业务单干。 下面介绍了“智简园区网络”社区内容和资源,大家可能还是比拟困惑,在理论中如何正当应用下面的资源呢?上面介绍下开发者如何正当应用以上资源。 如上图所示,开发者能够通过10个步骤实现对智简园区网络社区的学习和体验。第1-5步是后期学习,其中能够通过智简园区网络生态单干白皮书学习智简园区产品和解决方案原理和凋谢能力。第6-7步是上手操作体验,能够抉择本人关怀的场景进行体验。第8步是遇到任何问题能够进入论坛进行求助,第9-10是成为华为智简园区合作伙伴操作领导及测试认证领导。好了,资源和体验步骤都给大家提供,当初就开始你的智简园区网络学习体验之旅吧! 智简数据中心网络和广域网络内容跟智简园区相似,上面只做简略介绍! 2、智简数据中心网络iMaster NCE-Fabric针对智简数据中心网络的多种利用场景,提供凋谢的API、二次开发视频、近程沙箱实验室等全面撑持。开发者可基于3大类200+凋谢的API接口,构建凋谢的架构,使能智简的行业数据中心网络。 3、广域网络全新CloudWAN实现了对SD-WAN计划的全面超过,以新一代NetEngine AR6000 SD-WAN路由器为基石,为企业提供分支与分支、分支与总部、分支与云之间的随需互联,构建高性能、优体验、灵便组网、简运维的SD-WAN。 4、数通网络凋谢可编程数通网络凋谢可编程零碎以YANG模型驱动为根底,提供了端到端的凋谢可编程框架能力和资源,反对多协定(Netconf,SNMP,STelnet,RestConf)实现南向跨厂商的多种网络设备纳管,并通过北向接口实现业务配置下发,配置回滚等性能。具体性能包含设施驱动可编程、网络业务可编程、事务机制,映射机制,配置预览,配置并发,数据溯源,数据一致性校验,配置回滚。数通网络凋谢可编程主旨是让天下没有难写的代码。数通网络凋谢可编程社区共有5局部组成,包含网页title、成长路线、利用场景、开发流程和胜利故事。上面介绍下每个局部性能和内容。 4.1、网页title这部分包含三个疾速入口,别离是在线开发,文档核心和进入论坛。通过“在线开发”入口能够间接进入收费试用线上资源进行在线开发;通过“文档核心”能够进入开发过程中须要的文档,软件和插件包等;通过“进入论坛”能够与大咖进行技术交换和求助,并学习相干前沿技术。 4.2、成长路线包含“疾速入门”、“进阶学习”、“在线开发”和“代码show”四个局部,其中“疾速入门”通过视频教程形式教大家本地部署AOCmini,软件启动,加载网元驱动包,纳管设施,开发业务包,加载业务包,配置调试环境和调试。让大家从0到1轻松上手凋谢可编程;“进阶学习”局部通过视频教程、试验教程等多模式材料理解AOC基本原理,相熟典型业务场景操作;“在线开发”是基于容器技术并集华为云CloudIDE和AOC mini为一体的反对多租户的在线开发和调试一站式综合解决方案,为每个租户调配在线开发资源;“代码show”是凋谢给开发者上传本人开发的代码,并与宽广开发者技术交流平台。 ...

March 17, 2021 · 1 min · jiezi

关于网络:原来我还有网络天赋

问题如下图,之前公司有10多台服务器,都设置成了动态IP,因为当初更换成了相似IP为192.168.1.X 的1网段,看着上面的服务器,批改IP简略,但想想服务器外面还有许多配置须要随着IP一起批改加测试,想想头大还是算了。咋办?也不能耽搁大家工作太久啊,于是在原有的路由器上减少虚构网段(60段),调配IP来加重原来服务器批改IP工作! 公司没有网络管理员,于是我硬着头发干了!说实话,没有埋怨,我是朝学习态度去的。 思考梳理下公司网络拓扑图,大抵简图如下: 价格:咱们公司是独享的IP,独自拉网线,速度会好一点,因为比共享IP老本要高,所以套餐单价会高点,像咱们公司,挪动100M一年价格是1200,我家是挪动100M,一个月是10块钱,一年是120,你比照下就晓得了。外网接入:个别手机信号都是通过基站来发送和接管的,公司的宽带也是一样的,找左近最近的基站接入到办公大楼,光猫盒负责和基站信号对接,这个光猫盒是办理宽带时运营商送的,猫下面有一根网线间接连外围路由器的WAN口,所有的客户端,如电脑,手机,Wifi路由,服务器都是通过该外围路由器转发数据。局域网接入:公司在装修时就会把网线埋在地上或者顺着墙体,到公司的各个办公室和办公场地,都是通过外围路由器/交换机散发的。大家可能用的最多的就是无线路由器了,手机个别连贯无线路由器WIFI,公司WiFi有多种形式能够接入外网,比方中继,好了解就是一个路由器连贯另外一个路由器通过明码或者网线的形式,为什么要中继,因为Wifi信号是有间隔的,隔的太远就连不上信号了,还有最常见的就是网线间接连路由器的WAN口,而后能够通过无线信号或者Lan口连贯终端设备了,如果有多个路由器须要通过网线连贯,个别是这个路由器的LAN口连贯另外一个路由器的WAN口。这样就造成了一个微小的环形网络了。我所在的公司就是这样的。公司用的外围路由器是H3C,登上去看了下晓得网络设置是在LAN这块配置,但不晓得无从下手,于是查了写材料理解。艰深解释如下。 WAN:负责连贯内部网络,比方光猫的网口肯定要连贯外围路由器的WAN口。LAN:负责连贯外部网络(局域网),所有的客户端都是通过LAN口替换数据。VLAN:虚构局域网,比方当初网关是192.168.1.1,当初能够新增IP,192.168.60.1,这个虚构的IP间接执行192.168.1.1,我了解就是一个地址映射。DHCP:简略了解:调配IP地址的协定。具体分什么IP呢?比方60.100-60.200这段IP,我当初须要应用,那当初新增地址池,并且地址池须要指向具体LAN口。这点十分重要,否则不能实现1网段和60网段互联。 我画个草图,不便大家了解。 我最初配置进去成果大抵如上图,如果大家想在网络上分不同网段治理机器,通过LAN口来映射VLAN虚构IP,为什么要虚构IP?因为大家晓得动静IP须要网关,打个比方192.168.60.100的IP地址,网关你不能设置成192.168.60.1。功败垂成。 分享明天当了一次网管,给大家分享了一些网络概念,整理出来心愿能对你有帮忙,喜爱的请点赞加关注哦。点关注,不迷路,我是【叫练】公众号,微信号【jiaolian123abc】边叫边练。

March 12, 2021 · 1 min · jiezi

关于网络:带你了解VXLAN网络中报文的转发机制

摘要:本节以集中式VXLAN网络(手工形式建设VXLAN隧道)为例,别离介绍雷同子网内、不同子网间是如何进行通信的。在理解转发机制的前提下,咱们先来看下VXLAN网关有哪些品种。VXLAN二层网关与三层网关和VLAN相似,不同VNI之间的主机,以及VXLAN网络和非VXLAN网络中的主机不能间接互相通信。为了满足这些通信需要,VXLAN引入了VXLAN网关的概念。VXLAN网关分为二层网关和三层网关: VXLAN二层网关:用于终端接入VXLAN网络,也可用于同一VXLAN网络的子网通信。VXLAN三层网关:用于VXLAN网络中跨子网通信以及拜访内部网络。VXLAN集中式网关与分布式网关依据三层网关部署形式的不同,VXLAN三层网关又能够分为集中式网关和分布式网关。 VXLAN集中式网关集中式网关是指将三层网关集中部署在一台设施上,如下图所示,所有跨子网的流量都通过这个三层网关转发,实现流量的集中管理。 图1-10 VXLAN集中式网关组网图 部署集中式网关的长处和毛病如下: 长处:对跨子网流量进行集中管理,网关的部署和治理比较简单。毛病:转发门路不是最优:同一二层网关下跨子网的数据中心三层流量都须要通过集中三层网关绕行转发(如图中蓝色虚线所示)。ARP表项规格瓶颈:因为采纳集中三层网关,通过三层网关转发的终端的ARP表项都须要在三层网关上生成,而三层网关上的ARP表项规格无限,这不利于数据中心网络的扩大。VXLAN分布式网关通过部署分布式网关能够解决集中式网关部署的毛病。VXLAN分布式网关是指在典型的“Spine-Leaf”组网构造下,将Leaf节点作为VXLAN隧道端点VTEP,每个Leaf节点都可作为VXLAN三层网关(同时也是VXLAN二层网关),Spine节点不感知VXLAN隧道,只作为VXLAN报文的转发节点。如下图所示,Server1和Server2不在同一个网段,然而都连贯到同一个Leaf节点。Server1和Server2通信时,流量只须要在该Leaf节点上转发,不再须要通过Spine节点。 部署分布式网关时: Spine节点:关注于高速IP转发,强调的是设施的高速转发能力。Leaf节点:作为VXLAN网络中的二层网关设施,与物理服务器或VM对接,用于解决终端租户接入VXLAN虚构网络的问题。作为VXLAN网络中的三层网关设施,进行VXLAN报文封装/解封装,实现跨子网的终端租户通信,以及内部网络的拜访。图1-11 VXLAN分布式网关示意图 VXLAN分布式网关具备如下特点: 同一个Leaf节点既能够做VXLAN二层网关,也能够做VXLAN三层网关,部署灵便。Leaf节点只须要学习本身连贯服务器的ARP表项,而不用像集中三层网关一样,须要学习所有服务器的ARP表项,解决了集中式三层网关带来的ARP表项瓶颈问题,网络规模扩大能力强。VXLAN网络中报文转发机制集中式VXLAN中同子网互通流程如图1-12所示,VM_A、VM_B和VM_C同属于10.1.1.0/24网段,且同属于VNI 5000。此时,VM_A想与VM_C进行通信。 因为是首次进行通信,VM_A上没有VM_C的MAC地址,所以会发送ARP播送报文申请VM_C的MAC地址。 图1-12 同子网VM互通组网图 上面就让咱们依据ARP申请报文及ARP应答报文的转发流程,来看下MAC地址是如何进行学习的。 ARP申请报文转发流程联合图1-13,咱们来一起理解一下ARP申请报文的转发流程。 图1-13 ARP申请报文转发流程示意 VM_A发送源MAC为MAC_A、目标MAC为全F、源IP为IP_A、目标IP为IP_C的ARP播送报文,申请VM_C的MAC地址。VTEP_1收到ARP申请后,依据二层子接口上的配置判断报文须要进入VXLAN隧道。确定了报文所属BD后,也就确定了报文所属的VNI。同时,VTEP_1学习MAC_A、VNI和报文入接口(Port_1,即二层子接口对应的物理接口)的对应关系,并记录在本地MAC表中。之后,VTEP_1会依据头端复制列表对报文进行复制,并别离进行封装。能够看到,这里封装的外层源IP地址为本地VTEP(VTEP_1)的IP地址,外层目标IP地址为对端VTEP(VTEP_2和VTEP_3)的IP地址;外层源MAC地址为本地VTEP的MAC地址,而外层目标MAC地址为去往目标IP的网络中下一跳设施的MAC地址。封装后的报文,依据外层MAC和IP信息,在IP网络中进行传输,直至达到对端VTEP。 报文达到VTEP_2和VTEP_3后,VTEP对报文进行解封装,失去VM_A发送的原始报文。同时,VTEP_2和VTEP_3学习VM_A的MAC地址、VNI和远端VTEP的IP地址(IP_1)的对应关系,并记录在本地MAC表中。之后,VTEP_2和VTEP_3依据二层子接口上的配置对报文进行相应的解决并在对应的二层域内播送。VM_B和VM_C接管到ARP申请后,比拟报文中的目标IP地址是否为本机的IP地址。VM_B发现目标IP不是本机IP,故将报文抛弃;VM_C发现目标IP是本机IP,则对ARP申请做出应答。上面,让咱们看下ARP应答报文是如何进行转发的。 ARP应答报文转发流程联合图1-14,咱们来一起理解一下ARP应答报文的转发流程。 图1-14 ARP应答报文转发流程示意 因为此时VM_C上曾经学习到了VM_A的MAC地址,所以ARP应答报文为单播报文。报文源MAC为MAC_C,目标MAC为MAC_A,源IP为IP_C、目标IP为IP_A。VTEP_3接管到VM_C发送的ARP应答报文后,辨认报文所属的VNI(辨认过程与步骤②相似)。同时,VTEP_3学习MAC_C、VNI和报文入接口(Port_3)的对应关系,并记录在本地MAC表中。之后,VTEP_3对报文进行封装。能够看到,这里封装的外层源IP地址为本地VTEP(VTEP_3)的IP地址,外层目标IP地址为对端VTEP(VTEP_1)的IP地址;外层源MAC地址为本地VTEP的MAC地址,而外层目标MAC地址为去往目标IP的网络中下一跳设施的MAC地址。 封装后的报文,依据外层MAC和IP信息,在IP网络中进行传输,直至达到对端VTEP。 报文达到VTEP_1后,VTEP_1对报文进行解封装,失去VM_C发送的原始报文。同时,VTEP_1学习VM_C的MAC地址、VNI和远端VTEP的IP地址(IP_3)的对应关系,并记录在本地MAC表中。之后,VTEP_1将解封装后的报文发送给VM_A。至此,VM_A和VM_C均已学习到了对方的MAC地址。之后,VM_A和VM_C将采纳单播形式进行通信。单播报文的封装与解封装过程,与图1-14中所展现的相似,本文就不再赘述啦! 集中式VXLAN中不同子网互通流程如图1-16所示,VM_A和VM_B别离属于10.1.10.0/24网段和10.1.20.0/24网段,且别离属于VNI 5000和VNI 6000。VM_A和VM_B对应的三层网关别离是VTEP_3上BDIF 10和BDIF 20的IP地址。VTEP_3上存在到10.1.10.0/24网段和10.1.20.0/24网段的路由。此时,VM_A想与VM_B进行通信。 图1-15 不同子网VM互通流程示意 因为是首次进行通信,且VM_A和VM_B处于不同网段,VM_A须要先发送ARP播送报文申请网关(BDIF 10)的MAC。取得网关的MAC后,VM_A先将数据报文发送给网关;之后网关也将发送ARP播送报文申请VM_B的MAC,取得VM_B的MAC后,网关再将数据报文发送给VM_B。以上MAC地址学习的过程与集中式VXLAN中同子网互通流程中MAC地址学习的流程统一,不再赘述。当初假如VM_A和VM_B均已学到网关的MAC、网关也曾经学到VM_A和VM_B的MAC,上面就让咱们看下数据报文是如何从VM_A发送到VM_B的。 图1-16 不同子网VM互通报文转发流程 如上图所示,数据报文从VM_A发送到VM_B的流程如下: VM_A先将数据报文发送给网关。报文的源MAC为MAC_A,目标MAC为网关BDIF 10的MAC_10,源IP地址为IP_A,目标IP为IP_B。VTEP_1收到数据报文后,辨认此报文所属的VNI(VNI 5000),并依据MAC表项对报文进行封装。能够看到,这里封装的外层源IP地址为本地VTEP的IP地址(IP_1),外层目标IP地址为对端VTEP的IP地址(IP_3);外层源MAC地址为本地VTEP的MAC地址(MAC_1),而外层目标MAC地址为去往目标IP的网络中下一跳设施的MAC地址。封装后的报文,依据外层MAC和IP信息,在IP网络中进行传输,直至达到对端VTEP。 报文进入VTEP_3,VTEP_3对报文进行解封装,失去VM_A发送的原始报文。而后,VTEP_3会对报文做如下解决:封装后的报文,依据外层MAC和IP信息,在IP网络中进行传输,直至达到对端VTEP。 VTEP_3发现该报文的目标MAC为本机BDIF 10接口的MAC,而目标IP地址为IP_B(10.1.20.1),所以会依据路由表查找到IP_B的下一跳。发现下一跳为10.1.20.10,出接口为BDIF 20。此时VTEP_3查问ARP表项,并将原始报文的源MAC批改为BDIF 20接口的MAC(MAC_20),将目标MAC批改为VM_B的MAC(MAC_B)。报文到BDIF 20接口时,辨认到须要进入VXLAN隧道(VNI 6000),所以依据MAC表对报文进行封装。这里封装的外层源IP地址为本地VTEP的IP地址(IP_3),外层目标IP地址为对端VTEP的IP地址(IP_2);外层源MAC地址为本地VTEP的MAC地址(MAC_3),而外层目标MAC地址为去往目标IP的网络中下一跳设施的MAC地址。 报文达到VTEP_2后,VTEP_2对报文进行解封装,失去内层的数据报文,并将其发送给VM_B。 VM_B回应VM_A的流程与上述过程相似,本文就不再赘述啦! 本文分享自华为云社区《为VXLAN技术介绍:什么是VXLAN-002》,原文作者:The one。点击关注,第一工夫理解华为云陈腐技术~

March 12, 2021 · 1 min · jiezi

关于网络:什么是VXLAN为什么需要VXLAN

摘要:本文介绍了什么是VXLAN,以及VXLAN的基本概念和工作原理,包含:为什么须要VXLAN?VXLAN与VLAN之间有啥不同?什么是VTEP?什么是VNI?VXLAN报文是如何封装的?VXLAN隧道是如何建设的?VXLAN的具体配置命令请参见CloudEngine交换机的产品文档。什么是VXLANVXLAN(Virtual eXtensible Local Area Network,虚构扩大局域网),是由IETF定义的NVO3(Network Virtualization over Layer 3)规范技术之一,是对传统VLAN协定的一种扩大。VXLAN的特点是将L2的以太帧封装到UDP报文(即L2 over L4)中,并在L3网络中传输。 如图1-1所示,VXLAN实质上是一种隧道技术,在源网络设备与目标网络设备之间的IP网络上,建设一条逻辑隧道,将用户侧报文通过特定的封装后通过这条隧道转发。从用户的角度来看,接入网络的服务器就像是连贯到了一个虚构的二层交换机的不同端口上(可把蓝色虚框示意的数据中心VXLAN网络看成一个二层虚构交换机),能够不便地通信。 图1-1 VXLAN是一种隧道技术 VXLAN曾经成为以后构建数据中心的支流技术,是因为它能很好地满足数据中心里虚拟机动静迁徙和多租户等需要。 为什么须要VXLAN为什么须要VXLAN呢?这和数据中心服务器侧的虚拟化趋势严密相干,一方面服务器虚拟化后呈现了虚拟机动静迁徙,要求提供一个无障碍接入的网络;另一方面,数据中心规模越发宏大,租户数量激增,须要网络提供隔离海量租户的能力。采纳VXLAN能够满足上述两个要害需要。 虚拟机动静迁徙,要求提供一个无障碍接入的网络 什么是服务器虚拟化技术?传统的数据中心物理服务器利用率太低,均匀只有10%~15%,节约了大量的电力能源和机房资源,所以呈现了服务器虚拟化技术。如图1-2所示,服务器虚拟化技术是把一台物理服务器虚拟化成多台逻辑服务器,这种逻辑服务器被称为虚拟机(VM)。每个VM都能够独立运行,有本人的操作系统、APP,当然也有本人独立的MAC地址和IP地址,它们通过服务器外部的虚构交换机(vSwitch)与内部实体网络连接。 图1-2 服务器虚拟化示意 通过服务器虚拟化,能够无效地进步服务器的利用率,升高能源消耗,升高数据中心的经营老本,所以虚拟化技术目前失去了宽泛的利用。 什么是虚拟机动静迁徙?所谓虚拟机动静迁徙,就是在保障虚拟机上服务失常运行的同时,将一个虚拟机零碎从一个物理服务器挪动到另一个物理服务器的过程。该过程对于最终用户来说是无感知的,从而使得管理员可能在不影响用户失常应用的状况下,灵便调配服务器资源,或者对物理服务器进行培修和降级。 在服务器虚拟化后,虚拟机动静迁徙变得常态化,为了保障迁徙时业务不中断,就要求在虚拟机迁徙时,不仅虚拟机的IP地址不变,而且虚拟机的运行状态也必须保持原状(例如TCP会话状态),所以虚拟机的动静迁徙只能在同一个二层域中进行,而不能跨二层域迁徙。 如图1-3所示,传统的二三层网络架构限度了虚拟机的动静迁徙范畴,迁徙只能在一个较小的部分范畴内进行,利用受到了极大的限度。 图1-3 传统的二三层网络架构限度了虚拟机的动静迁徙范畴 为了突破这种限度,实现虚拟机的大范畴甚至跨地区的动静迁徙,就要求把VM迁徙可能波及的所有服务器都纳入同一个二层网络域,这样能力实现VM的大范畴无障碍迁徙。 VXLAN如何满足虚拟机动静迁徙时对网络的要求?家喻户晓,同一台二层交换机能够实现下挂服务器之间的二层通信,而且服务器从该二层交换机的一个端口迁徙到另一个端口时,IP地址是能够放弃不变的。这样就能够满足虚拟机动静迁徙的需要了。VXLAN的设计理念和指标正是由此而来的。 从上一个大节咱们能够晓得,VXLAN实质上是一种隧道技术,当源和目标之间有通信需要时,便在数据中心IP网络之上创立一条虚构的隧道,通明转发用户数据。而数据中心内互相通信的需要泛滥,这种隧道的建设形式简直是全互联状态能力满足通信需要。 VXLAN能够提供一套方法论,在数据中心IP网络根底上,构建一张全互联的二层隧道虚构网络,保障任意两点之间都能通过VXLAN隧道来通信,并疏忽底层网络的构造和细节。从服务器的角度看,VXLAN为它们将整个数据中心根底网络虚构成了一台微小的“二层交换机”,所有服务器都连贯在这台虚构二层交换机上。而根底网络之内如何转发都是这台“微小交换机”外部的事件,服务器齐全无需关怀。 图1-4 VXLAN将整个数据中心根底网络虚构成了一台微小的“二层交换机” 数据中心租户数量激增,要求提供一个可隔离海量租户的网络 家喻户晓,在传统的VLAN网络中,规范定义所反对的可用VLAN数量只有4000个左右。服务器虚拟化后,一台物理服务器中承载了多台虚拟机,每个虚拟机都有独立的IP地址和MAC地址,相当于接入数据中心的服务器成倍扩充了。另外,私有云或其它大型虚拟化云数据中心动辄需包容上万甚至更多租户,VLAN的能力显然曾经力不从心。 VXLAN如何来解决上述问题呢?VXLAN在VXLAN帧头中引入了相似VLAN ID的网络标识,称为VXLAN网络标识VNI(VXLAN Network ID),由24比特组成,实践上可反对多达16M的VXLAN段,从而满足了大规模不同网络之间的标识、隔离需要。下文咱们会介绍VNI的具体作用。 VXLAN与VLAN之间有何不同VLAN作为传统的网络隔离技术,在规范定义中VLAN的数量只有4000个左右,无奈满足大型数据中心的租户间隔离需要。另外,VLAN的二层范畴个别较小且固定,无奈反对虚拟机大范畴的动静迁徙。 VXLAN完满地补救了VLAN的上述有余,一方面通过VXLAN中的24比特VNI字段(如图1-5所示),提供多达16M租户的标识能力,远大于VLAN的4000;另一方面,VXLAN实质上在两台交换机之间构建了一条穿梭数据中心根底IP网络的虚构隧道,将数据中心网络虚构成一个巨型“二层交换机”,满足虚拟机大范畴动静迁徙的需要。 尽管从名字上看,VXLAN是VLAN的一种扩大协定,但VXLAN构建虚构隧道的本事曾经与VLAN大同小异了。 上面就让咱们来看下,VXLAN报文到底长啥样。 图1-5 VXLAN报文格式(以外层IP头为IPv4格局为例) 如上图所示,VTEP对VM发送的原始以太帧(Original L2 Frame)进行了以下“包装”: VXLAN Header减少VXLAN头(8字节),其中蕴含24比特的VNI字段,用来定义VXLAN网络中不同的租户。此外,还蕴含VXLAN Flags(8比特,取值为00001000)和两个保留字段(别离为24比特和8比特)。 UDP HeaderVXLAN头和原始以太帧一起作为UDP的数据。UDP头中,目标端口号(VXLAN Port)固定为4789,源端口号(UDP Src. Port)是原始以太帧通过哈希算法计算后的值。 Outer IP Header封装外层IP头。其中,源IP地址(Outer Src. IP)为源VM所属VTEP的IP地址,目标IP地址(Outer Dst. IP)为目标VM所属VTEP的IP地址。 Outer MAC Header封装外层以太头。其中,源MAC地址(Src. MAC Addr.)为源VM所属VTEP的MAC地址,目标MAC地址(Dst. MAC Addr.)为达到目标VTEP的门路中下一跳设施的MAC地址。 ...

March 11, 2021 · 2 min · jiezi

关于网络:网络知识一箩筐IP地址划分的那些知识点

摘要:IP地址是怎么划分的呢?划分的根据是什么呢?本节小课将带你一起学习IP地址划分、子网划分、子网掩码、CIDR等网络根底概念,理解IP地址划分背地的那些故事。 首先,回顾一下,后面小课中咱们有提到IP地址的分类,那么IP地址到底是怎么划分的呢?划分的根据是什么呢?这就不得不提到IP地址划分背地的那些故事了。 IP地址划分最后32位的IP地址是由{<网络地址/网络号><主机地址/主机号>}组成,被划分为五大类,个别应用最多比拟常见是A类、B类和C类。 IP地址编码标准中规定:网络地址和主机地址全0为本地地址,示意本地网络或主机;网络地址和主机地址为全1为播送地址,示意所有网站都可接管收回的信息,通常这两种IP地址不能作为互联网中的主机IP地址。因而,每类IP地址中除去这两个,可计算出ABC三类IP地址的网络地址数以及每个网络地址中所能包容的主机数量: l A类IP地址:126(2^7-2)个网络地址,可包容主机 16777214(2^24-2)台 l B类IP地址:16382(2^14-2)个网络地址,可包容主机 65534(2^16-2)台 l C类IP地址:2097150(2^21-2)个网络地址,可包容主机 254(2^8-2)台 上述的IP地址示意形式称为两级IP地址。不难发现,在理论利用中,调配一个B类网络地址太多,C类又太少,这样对IP地址空间的利用率会偏低,也不够灵便。于是,就呈现了子网划分的概念。 子网划分子网划分就是将原来的两级IP地址进一步划分为三级IP地址,即:{<网络地址/网络号>,<子网地址/子网号>,<主机地址/主机号>}。参考如下图,将C类的两级IP地址划分为三级IP地址。 其中子网地址就是从主机地址中借走几位,所以子网划分实际上就是缩小了主机数,调配到不同的子网,每个子网蕴含肯定的主机数。子网就能够了解为,把一个大的网络从外部分成几个小的子网。但对于该网络的外层来看,还是一个大的网络,只有该网络外部才能够看到其进行了子网划分。 比如说:某个高校被调配了一个大的网段,学校能够采纳三级IP地址划分形式分给对应的学院应用。对于互联网来说,学校的网络地址仍旧是那个网络地址,只有高校晓得本人外部还进行了子网划分。 然而有个问题,互联网中的网络设备向学校内的主机发送数据时,在IP数据包达到学校网络时,路由器是如何机智的辨认到这个数据应该发送给哪个子网呢?子网掩码在这里就施展了很大的作用。 子网掩码子网掩码将某个IP地址划分成网络地址和主机地址两局部,能够用来判断任意两台主机的IP地址是否属于同一子网络。具体来说就是两台计算机各自的IP地址与子网掩码进行“与”运算后,如果得出的后果是雷同的,则阐明这两台计算机是处于同一个子网络上的,能够进行间接的通信。 例如:192.168.1.1>11000000.10101000.00000001 00000001 子网掩码255.255.255.240 >11111111.11111111.11111111.11110000 相“与”失去:11000000 10101000 00000001 00000000 网络地址为:192.168.1.0 主机地址为:0.0.0.1 在理论利用中,咱们会遇到这样的IP地址: IP地址:192.168.1.1 子网掩码:255.255.255.0 IP地址:192.168.1.2 子网掩码:255.255.255.0 能够直接判断出,他们网络地址都为192.168.1.0,属于同一子网网段。 那么如果是上面这样的呢? IP地址:192.168.1.1 子网掩码:255.255.255.0 IP地址:192.168.1.2 子网掩码:255.255.0.0 依据“与”运算,你发现,尽管长得比拟像,但他们可不是“一家人”哦 第一个网络地址为192.168.1.0,而第二个网络地址为192.168.0.0,不在同一子网网段。 CIDR子网的划分无效地缩小了网络中节约的IP地址,然而依然存在一些问题。 比方某公司须要2000个地址,调配一个B类IP地址,那可就太节约了,调配一个C类IP地址,又不够用。那这个问题要怎么解决呢? 这就产生了无分类域间路由抉择(Classless Inter-Domain Routing,CIDR),也就是无分类编址。它打消了传统ABC类及子网划分的概念。使网段的划分更加灵便。采纳CIDR记法(斜线记法)示意IP地址:{<网络前缀><主机地址/主机号>}/网络前缀占位数。 在上述公司案例中,须要8个C类地址,这8个C类地址能够形成一个地址块,调配这个CIDR地址块给该公司。只须要11位示意主机地址,21位示意网络前缀。则子网掩码示意为11111111.11111111.11111000.00000000 比方调配192.168结尾的,8个C类的地址块: 11000000.10101000.11111xxx.xxxxxxxx 网络地址的后三位为变量,那么加上后八位主机地址,能够包容(2^8)*(2^3)=2048个主机地址。 该网络前缀为11000000.10101000.11111(192.168.248),比方某主机号192.168.248.15,采纳CIDR记法令为192.168.248.15/21。 课堂练习讲了IP划分的由来及背地波及的这些根底概念常识,无妨建设一个虚构公有云试试吧~ 虚构公有云VPC,为云服务器、云容器、云数据库等资源构建隔离的、用户自主配置和治理的虚构网络环境,晋升用户云上资源的安全性,简化用户的网络部署。 您能够在VPC中定义IP地址段,每个虚构公有云VPC都蕴含一个私网网段和至多一个子网。当您选定网段后,页面主动显示子网网段可用IP数,便于您的网络布局哦~ l 私网网段:在创立虚构公有云VPC时,须要指定虚构公有云VPC应用的私网网段。以后虚构公有云VPC反对的网段有10.0.0.0/8~24、172.16.0.0/12~24和192.168.0.0/16~24。 l 子网:云资源(例如云服务器、云数据库等)必须部署在子网内。所以,虚构公有云VPC创立实现后,您须要为虚构公有云VPC划分一个或多个子网,子网网段必须在私网网段内。 理解更多虚构公有云信息,戳这里。 本文分享自华为云社区《IP地址划分的背地.....》,原文作者:云小萌 。 点击关注,第一工夫理解华为云陈腐技术~

March 9, 2021 · 1 min · jiezi

关于网络:网络好不好ping一下就知道

摘要:在测试和部署网络通信利用时,咱们常常会遇到网络不通的问题,个别都会想到ping一下。本文将带您理解ping命令的作用和原理~ 在测试和部署网络通信利用时,咱们常常会遇到网络不通的问题。个别都会想到ping一下。那么ping命令的作用和原理到底是什么呢? ping 命令是基于 ICMP 协定来工作的,要明确ping, 先理解下ICMP协定吧~ ICMP协定ICMP全称为互联网管制报文协定(Internet Control Message Protocol)。 那么具体是怎么“管制”的呢? 在简单的网络传输环境里,数据包经常会遇到各种问题导致传输失败。网络层的IP协定是一种无连贯的,不牢靠的数据包协定,它并不能保证数据肯定被送达,因而,咱们须要其它的协定,在数据包传发送异样时,能将异样信息传回来,这样才能够调整传输策略,以此来管制整个场面。 ICMP协定格局ICMP 协定是通过IP协定来发送的,报文封装在 IP 包外面。如下: ICMP报文格式: ICMP数据包由8bit的类型字段和8bit的代码字段以及16bit的校验字段再加上选项数据组成。 ICMP报文大抵分为两类:查问报文类型和过错报文类型。 查问报文类型查问报文次要利用于ping查问、子网掩码查问、工夫戳查问等。 ping命令其实就是对ICMP协定查问报文类型的应用。 主机A ping 主机B时,ping命令在主机A构建ICMP申请数据包时,ICMP的类型字段为8(回送申请),当主机B构建ICMP申请数据包时,ICMP的类型字段为0(回送应答)。如果主机A在肯定工夫内收到了主机B的应答,则表明两台主机之间网络是可达的。 过错报文类型过错报文次要产生于数据传送发送谬误的时候,包含:指标不可达(网络不可达、主机不可达、协定不可达、端口不可达、禁止分片等)、超时、参数问题、重定向(网络重定向、主机重定向等)等。 IP 路由器无奈将 IP 数据包发送给指标地址时,会给发送端主机返回一个指标不可达的 ICMP 音讯,并在这个音讯中显示不可达的具体起因,起因记录在 ICMP 包头的代码字段。 ping命令的工作过程举一个例子来形容「ping」命令的工作过程: 假如有两个主机,主机A(192.168.0.1)和主机B(192.168.0.2),当初咱们要监测主机A和主机B之间网络是否可达, 在主机A上输出命令:ping 192.168.0.2 发送端主机构建ICMP申请数据包。ping命令会在主机A上构建一个 ICMP的申请数据包。数据包蕴含多个字段,次要的有类型和序号。类型:在申请数据包中,类型字段为8; 序号:次要用于辨别间断 ping 的时候收回的多个数据包。 每收回一个申请数据包,序号会主动加 1。为了可能计算往返工夫 RTT,它会在报文的数据局部插入发送工夫。 IP层构建IP数据包。 ICMP协定会将这个数据包以及指标IP(192.168.0.2)等信息一起交给IP层协定。IP层协定失去这些信息后,将源地址(即本机IP)、指标地址(即指标IP:192.168.0.2)、再加上一些其它的管制信息,构建成一个IP数据包。退出MAC地址。须要通过ARP映射表找出指标IP(192.168.0.2)所对应的MAC地址。当拿到了指标主机的MAC地址和本机MAC后,一并交给数据链路层,组装成一个数据帧,根据以太网的介质拜访规定,将它们传送出进来。主机B收到数据帧后,进行如下步骤: 查看MAC地址,抛弃或接管,提取IP数据包。当主机B收到这个数据帧之后,会首先查看它的指标MAC地址是不是本机,如果是就接管下来解决,接管之后会查看这个数据帧,将数据帧中的IP数据包取出来,交给本机的IP层协定。IP层查看IP。IP层协定查看完之后,再将ICMP数据包取出来交给ICMP协定解决。构建ICMP应答包。应答包的类型字段为 0,序号为接管到的申请数据包中的序号。应答数据包回发给主机A。在肯定的工夫内,如果主机A收到了应答包,则阐明它与主机B之间网络可达,如果没有收到,则阐明网络不可达。除了监测是否可达以外,还能够利用应答工夫和发动工夫之间的差值,计算出数据包的提早耗时。 课堂练习对于ICMP协定与ping命令如何工作咱们曾经理解了,那对于咱们在云上搭建的利用,如何测试弹性云服务器间的通信情况呢? 回顾一下,弹性云服务器数据流量的进出是须要恪守平安组规定的,没有平安组规定的容许,谁都不能拜访。 那咱们就能够在平安组中增加放通ICMP协定的平安组规定,容许其余云服务器通过 ICMP 协定拜访该云服务器,进而实现通过ping命令来测试弹性云服务器间的通信情况了。 平安组规定配置如下: 本文分享自华为云社区《【云小课】根底服务第65课 网络常识一箩筐——网络好不好,ping一下就晓得》,原文作者:云小萌。获取更多平安组信息,请戳这里。 点击关注,第一工夫理解华为云陈腐技术~

March 5, 2021 · 1 min · jiezi

关于网络:技术干货-mPaaS-小程序高玩带你起飞客户端预置小程序无视网络质量

传统的小程序技术容易受到网络环境影响,当网络品质不佳时可能导致拉取不到小程序包的状况。通过预置小程序,即可躲避该问题。本文介绍了预置小程序的原理和预置小程序的实现过程。什么是预置小程序预置小程序是指将小程序的渲染、逻辑、配置等动态资源打包在一个压缩包内,客户端事后下载小程序包到本地、间接从本地加载资源的过程。预置小程序能够最大水平地解脱网络环境对 mPaaS 小程序页面的影响。应用预置包可能为客户端带来以下劣势: 晋升用户体验通过预置包的形式把页面内动态资源嵌入到利用中并随利用一起公布,能够使用户第一次开启利用时即无需依赖网络环境下载资源,能够间接开始应用。实现动静更新在推出新版本或紧急公布的时候,能够在小程序 IDE 中进行迭代开发,通过 mPaaS 控制台公布,客户端中集成的小程序 SDK 会主动将小程序更新到最新的版本。这种公布无需通过利用商店审核,能够让用户及早接管到更新。预置小程序的实现原理本文从以下方面介绍了预置小程序的实现原理: 小程序预置包的构造小程序预置包的应用过程小程序预置包的构造 小程序预置包是一个 .amr 格局的压缩文件,将后缀 amr 改成 zip 解压缩后,能够看到其中蕴含的 HTML 资源和 JavaScript 代码等。待小程序容器加载后,这些资源和代码能在 UC 内核渲染。 以 Android 零碎为例,下图显示了个别资源包的目录构造: 一级目录:个别为资源包的 ID,如 2020121620201216_1.0.1.0.zip。二级目录及往后即为业务自定义的资源文件。并设定以后预置包默认关上的主入口文件,如 /index.html。 小程序预置包的应用过程 应用小程序预置包的过程能够分为以下三个步骤: 申请包信息从服务端申请小程序包,并将小程序包信息存储到本地数据库的过程。包信息蕴含了小程序包的下载地址、小程序包版本号等。下载小程序包把小程序包从服务端下载到手机。装置小程序包下载目录,拷贝到手机装置目录。前提条件已接入小程序组件。更多对于小程序组件的接入信息,请参见 疾速开始应用小程序。已接入 H5 容器 组件。更多对于 H5 容器的接入信息,请参见 疾速开始应用 H5 容器。操作步骤-Android预置小程序包。在 mPaaS 控制台公布小程序包并下载 AMR 文件和配置文件。将下载到的 AMR 文件和配置文件搁置在 mPaaS 我的项目的 assets 目录下。在工程中增加预置代码,以在利用启动时调用预置代码装置利用。预置代码示例如下: 阐明: 此办法为阻塞调用,请不要在主线程上调用内置预置包办法。此办法仅能调用一次。若屡次调用,仅第一次调用无效。所以须要一次性传入所有需预置预置包信息。如果内置多个 AMR 包,须要要确保文件已存在;如不存在,会造成其余内置预置包失败。启动小程序。启动小程序的示例代码如下。 更新小程序默认状况下,每次关上利用,小程序 SDK 都会尝试查看是否有可更新的版本。出于服务端压力思考,该查看有工夫距离限度,默认为 30 分钟。如果想立刻查看最新可用版本,调用下方的代码来申请更新。个别状况下,能够在利用启动或者用户登录后调用。 校验平安签名小程序具备签名校验机制,避免恶意程序篡改下载到设施的小程序包。通过调用 MPNebula 接口设置验签参数即可开启此机制。如果您应用的基线是 10.1.60 或以上版本,须要额定开启容器配置,详情参见 H5 容器配置。 ...

February 26, 2021 · 1 min · jiezi

关于网络:一文带你熟悉PytorchCaffeom模型转换流程

摘要:本文旨在分享Pytorch->Caffe->om模型转换流程。规范网络Baseline:PytorchToCaffe 次要性能代码在: PytorchToCaffe+-- Caffe| +-- caffe.proto| +-- layer_param.py+-- example| +-- resnet_pytorch_2_caffe.py+-- pytorch_to_caffe.py间接应用能够参考resnet_pytorch_2_caffe.py,如果网络中的操作Baseline中都曾经实现,则能够间接转换到Caffe模型。 增加自定义操作如果遇到没有实现的操作,则要分为两种状况来思考。 Caffe中有对应操作以arg_max为例分享一下增加操作的形式。 首先要查看Caffe中对应层的参数:caffe.proto为对应版本caffe层与参数的定义,能够看到ArgMax定义了out_max_val、top_k、axis三个参数: message ArgMaxParameter { // If true produce pairs (argmax, maxval) optional bool out_max_val = 1 [default = false]; optional uint32 top_k = 2 [default = 1]; // The axis along which to maximise -- may be negative to index from the // end (e.g., -1 for the last axis). // By default ArgMaxLayer maximizes over the flattened trailing dimensions // for each index of the first / num dimension. optional int32 axis = 3;}与Caffe算子边界中的参数是统一的。 ...

February 22, 2021 · 3 min · jiezi

关于网络:有钱任性90-岁老爷爷因网速太慢刊登-10000-美元报纸广告投诉

你家的网速怎么样?因为本人家的光纤速度太慢,一位 90 岁的老爷爷花了 10000 美元在报纸上登载广告,最终成果很显著,不仅接到了 AT&T 首席执行官约翰·斯坦基(John Stankey)的私人电话,还造福了街坊,一起降级了光纤。 这位老爷爷的名字叫做艾伦·爱泼斯坦(Aaron Epstein),已经在 AT&T 工作过 60 年,退休在家后最喜爱在互联网上观看流媒体电影和看电视,但用他的话来说,他所在地区的光纤速度“快如闪电”,家里的网速最高也才 3M/s,看电影就像在看幻灯片。 在过来的五年中,他一直的给 AT&T 的客户服务部打电话投诉,但问题始终没有被解决。于是,一个想法冒了进去。 “好吧,只有一种办法能够解决了。让我在让咱们在纽约市版的《华尔街日报》上登载一则广告吧。” 最终,爱泼斯坦为《华尔街日报》的广告领取了 10,099 美元,登载的内容蕴含他的电话号码、电子邮件地址以及给 AT&T 公司的公开信。 花钱能解决的问题果然都不是问题,广告登载进来之后问题的确失去了解决。很多人给老爷子打来电话发来邮件,为其声援或者提供解决方案。据报道他还接到了 AT&T 首席执行官约翰·斯坦基(John Stankey)的私人电话。 电话的内容咱们不得而知,但据 AT&T 公司的公开渠道音讯示意,该公司将爱泼斯坦的邻里全副进行了降级,作为洛杉矶地区电信光纤网络打算扩大的一部分。 光网革新的那些事儿随着当初网络的一直倒退,百兆、千兆的宽带基本上成为了家庭宽带的标配。但在固话风行的年代,最后的宽带网络以ADSL形式接入,俗称电话线。宽带通过电话线接入,电话线接猫(学名调制解调器)出网线接电脑(或路由器),这种接入模式最高速率仅仅是 8M。 尽管当初看比较落后,但在那个年代电话线接入宽带上网却是极少数人才享受的,装置一户宽带往往得破费几千块。 近几年,ADSL 接入形式宽带网络不能适应互联网时代的发展趋势,慢慢走上被淘汰替换的路线。以光纤接入代替 ADSL 接入,实现光网络革新的工程,是为光网革新。 光纤接入,光纤达到楼栋、小区、单元、用户家,再以 pon 设施接入用户家,接入互联网,目前家用光纤接入模式速率曾经可达千兆级别。 这也是光纤革新不必入户的起因,只有入户铜线反对百兆或者千兆网络,运营商只有降级小区的入户线路为光纤,而后降级网络设备就能够了。但如果光改以前用的是 ADSL 拨号上网,那就须要换一个光猫了。 相干材料起源:https://www.wistv.com/2021/02...

February 18, 2021 · 1 min · jiezi

关于网络:什么是SNMP

简介简略网络管理协定SNMP(Simple Network Management Protocol)用于网络设备的治理。网络设备品种多种多样,不同设施厂商提供的治理接口(如命令行接口)各不相同,这使得网络管理变得愈发简单。为解决这一问题,SNMP应运而生。SNMP作为广泛应用于TCP/IP网络的网络管理标准协议,提供了对立的接口,从而实现了不同品种和厂商的网络设备之间的对立治理。 SNMP协定分为三个版本:SNMPv1、SNMPv2c和SNMPv3。 SNMPv1是SNMP协定的最后版本,提供最小限度的网络管理性能。SNMPv1基于个人名认证,安全性较差,且返回报文的错误码也较少。SNMPv2c也采纳个人名认证。在SNMPv1版本的根底上引入了GetBulk和Inform操作,反对更多的规范错误码信息,反对更多的数据类型(Counter64、Counter32)。SNMPv3次要在安全性方面进行了加强,提供了基于USM(User Security Module)的认证加密和基于VACM(View-based Access Control Model)的访问控制。SNMPv3版本反对的操作和SNMPv2c版本反对的操作一样。SNMP零碎组成SNMP零碎由网络管理系统NMS(Network Management System)、SNMP Agent、被管对象Management object和治理信息库MIB(Management Information Base)四局部组成。NMS作为整个网络的网管核心,对设施进行治理。 每个被治理设施中都蕴含驻留在设施上的SNMP Agent过程、MIB和多个被管对象。NMS通过与运行在被治理设施上的SNMP Agent交互,由SNMP Agent通过对设施端的MIB进行操作,实现NMS的指令。 NMSNMS是网络中的管理者,是一个采纳SNMP协定对网络设备进行治理/监督的零碎,运行在NMS服务器上。 NMS能够向设施上的SNMP Agent发出请求,查问或批改一个或多个具体的参数值。NMS能够接管设施上的SNMP Agent被动发送的SNMP Traps,以获知被治理设施以后的状态。SNMP AgentSNMP Agent是被治理设施中的一个代理过程,用于保护被治理设施的信息数据并响应来自NMS的申请,把治理数据汇报给发送申请的NMS。 SNMP Agent接管到NMS的申请信息后,通过MIB表实现相应指令后,并把操作后果响应给NMS。当设施产生故障或者其它事件时,设施会通过SNMP Agent被动发送SNMP Traps给NMS,向NMS报告设施以后的状态变动。Managed ObjectManaged object指被治理对象。每一个设施可能蕴含多个被治理对象,被治理对象能够是设施中的某个硬件,也能够是在硬件、软件(如路由抉择协定)上配置的参数汇合。 MIBMIB是一个数据库,指明了被治理设施所保护的变量。MIB在数据库中定义了被治理设施的一系列属性:对象的名称、对象的状态、对象的拜访权限和对象的数据类型等。MIB也能够看作是NMS和SNMP Agent之间的一个接口,通过这个接口,NMS对被治理设施所保护的变量进行查问/设置操作。 MIB是以树状构造进行存储的,如图1-2所示。树的节点示意被治理对象,它能够用从根开始的一条门路惟一地辨认,这条门路就称为OID,如system的OID为1.3.6.1.2.1.1,interfaces的OID为1.3.6.1.2.1.2。 子树能够用该子树根节点的OID来标识。如以private为根节点的子树的OID为private的OID——{1.3.6.1.4}。 用户能够配置MIB视图来限度NMS可能拜访的MIB对象。MIB视图是MIB的子集合,用户能够将MIB视图内的对象配置为exclude或include。exclude示意以后视图不蕴含该MIB子树的所有节点;include示意以后视图蕴含该MIB子树的所有节点。 SNMP查问SNMP查问是指NMS被动向SNMP Agent发送查问申请,如图1-3所示。SNMP Agent接管到查问申请后,通过MIB表实现相应指令,并将后果反馈给NMS。 SNMP查问操作有三种:Get、GetNext和GetBulk。SNMPv1版本不反对GetBulk操作。 Get操作:NMS应用该操作从SNMP Agent中获取一个或多个参数值。GetNext操作:NMS应用该操作从SNMP Agent中获取一个或多个参数的下一个参数值。GetBulk操作:基于GetNext实现,相当于间断执行屡次GetNext操作。在NMS上能够设置被治理设施在一次GetBulk报文交互时,执行GetNext操作的次数。 SNMP查问操作的报文SNMPv1和SNMPv2c查问报文格式如图1-4所示。SNMPv1和SNMPv2c的报文次要由版本、个人名、SNMP PDU组成。各类SNMP操作的报文封装在SNMP PDU中。 报文中的次要字段如下: 版本:示意SNMP的版本,如果是SNMPv1报文则对应字段值为0,SNMPv2c则为1。个人名:用于在SNMP Agent与NMS之间实现认证,字符串模式,用户可自行定义。个人名包含“read”和“write”两种,执行SNMP查问操作时,采纳“read”个人名进行认证;执行SNMP设置操作时,则采纳“write”个人名进行认证。Request ID:用于匹配申请和响应,SNMP给每个申请调配全局惟一的ID。Non repeaters/Max repetitions:GetBulk操作基于GetNext操作实现,相当于屡次执行GetNext操作,这两个参数用于设置执行GetNext操作次数。Error status:用于示意在解决申请时呈现的情况。Error index:过错索引。当出现异常状况时,提供变量绑定列表(Variable bindings)中导致异样的变量的信息。Variable bindings:变量绑定列表,由变量名和变量值对组成。通过捕捉报文工具获取设施发送的SNMPv2c版本Get申请报文如图1-5所示,SNMPv2c版本GetNext申请报文如图1-6所示。SNMPv2c版本GetBulk申请报文如图1-7所示。 SNMPv3查问报文格式如图1-8所示,SNMPv3报文次要由版本、MsgID、MaxSize、Flags、Security Model、Security Parameters、Context EngineID、Context Name和SNMP PDU组成。SNMPv3报文的SNMP PDU的格局与SNMPv2c的统一。SNMPv3版本的报文能够应用鉴权机制,会对Context EngineID、Context Name和SNMP PDU进行加密。 ...

February 8, 2021 · 1 min · jiezi

关于网络:图文详解网络基础知识

网络通信基本概念通信,是指人与人、人与物、物与物之间通过某种媒介和行为进行的信息传递与交换。 网络通信,是指终端设备之间通过计算机网络进行的通信。 两台计算机通过一根网线相连,就组成了一个最简略的网络。 由一台路由器(或交换机)和多台计算机设施组成的小型网络。在这样的网络中,通过路由器的直达,每两台计算机之间都能够自在地传递文件。 当计算机想从某个网址获取文件时,必须先接入Internet,而后能力下载。 信息传递过程虚构的信息传递与实在的物品传递过程有许多相似之处。 快递过程与网络通信过程的比照: 须要快递的物品:应用程序生成须要传递的信息 (或数据)。物品被包装起来造成包裹,并粘贴含有收货人姓名、地址的快递单:应用程序将数据打包成原始的“数据载荷”,并增加“头部”和“尾部”造成报文,报文中的重要信息是接收者的地址信息,即“目标地址”。在一个信息单元的根底上,减少一些新的信息段,使其造成一个新的信息单元,这个过程称为“封装”。包裹被送到集散中心,集散中心对包裹上的目标地址进行分检,去往同一个城市的物品被放入同一架飞机,并飞向天空:报文通过网线达到“网关”,网关收到报文后,对其“解封装”,读取目标地址,再从新封装,并依据目标地址不同,送往不同的“路由器”,通过网关及路由器的传递,报文最终来到本地网络,进入Internet的干道进行传输。其中,网线所起的作用跟公路一样,它是信息传输的介质。飞机到达目标机场后,包裹被取出进行分检,去往同一地区的包裹,被送到了同一集散中心:报文通过Internet干道的传输,达到目标地址所在的本地网络,本地网络的网关或路由器对报文进行解封装和封装,并依据目标地址决定发往相应的下一台路由器,最终达到目标计算机所在网络的网关。集散中心依据包裹上的目标地址进行分检,快递员送包裹上门,收件人拆开包裹,确认物品完整无缺后收下。整个快递过程实现。报文达到目标计算机所在网络的网关,解封装和封装,而后依据目标地址发往相应的计算机。计算机收到报文后,对报文进行校验解决,校验无误后,接管下报文,并将其中的数据载荷交由相应的应用程序进行解决。一次残缺的网络通信过程就完结了。数据通信网络基本概念数据通信网络由路由器、交换机、防火墙、无线控制器、无线接入点,以及个人电脑、网络打印机、服务器等设施形成的通信网络。 性能数据通信网络最根本的性能是实现数据互通。 网络设备 - 交换机交换机:间隔终端用户最近的设施,用于终端用户接入网络、对数据帧进行替换等。 在园区网络中,交换机一般来说是间隔终端用户最近的设施,接入层的交换机个别为二层交换机,又称为以太网交换机,二层是指TCP/IP参考模型的数据链路层; 以太网交换机能够实现:数据帧的替换、终端用户设施的接入、根本的接入平安性能、二层链路的冗余等; 播送域:一个节点发送一个播送报文其余节点都可能收到的节点的汇合。 网络设备 - 路由器路由器:网络层设施,能够在因特网中进行数据报文转发。路由器依据所收到的报文的目标地址抉择一条适合的门路,将报文传送到下一个路由器或目的地,门路中最初的路由器负责将报文送交目标主机。 实现同类型网络或异种网络之间的通信隔离播送域保护路由表(Routing Table)、运行路由协定门路(路由信息)抉择、IP报文转发广域网接入、网络地址转换连贯通过交换机组建的二层网络 网络设备 - 防火墙防火墙:网络安全设施,用于管制两个网络之间的平安通信。它通过监测、限度、更改逾越防火墙的数据流,尽可能地对外部屏蔽网络外部的信息、构造和运行状况,以此来实现对网络的平安爱护。 隔离不同安全级别的网络实现不同安全级别的网络之间的访问控制(安全策略)用户身份认证实现近程接入性能实现数据加密及虚构专用网业务执行网络地址转换其余平安性能 网络设备 - 无线设施无线局域网WLAN狭义上是指以无线电波、激光、红外线等无线信号来代替有线局域网中的局部或全副传输介质所形成的网络。而常见的Wi-Fi是指IEEE 802.11规范上的无线局域网技术。 在WLAN中,常见的设施有胖AP、瘦AP和无线控制器AC。 无线接入点 (AP, Access Point) 个别反对FAT AP、FIT AP和云管理工作模式,依据网络布局的需要,能够灵便地在各种模式下切换。FAT AP:实用于家庭,独立工作,需独自配置,性能较为繁多,成本低。FIT AP:实用于大中型企业,须要配合AC应用,由AC对立治理和配置,功能丰富。云治理:实用于中小型企业,须要配合云治理平台应用,由云治理平台对立治理和配置,功能丰富,即插即用。无线接入控制器 (AC, Access Controller) 个别位于整个网络的汇聚层,提供高速、平安、牢靠的WLAN业务。提供大容量、高性能、高可靠性、易装置、易保护的无线数据管制业务,具备组网灵便、绿色节能等劣势。 局域网、城域网、广域网依照天文覆盖范围来划分,网络能够分为局域网 (Local Area Network)、城域网 (Metropolitan Area Network) 和广域网 (Wide Area Network)。 局域网(LAN): 在某一天文区域内由计算机、服务器以及各种网络设备组成的网络。局域网的覆盖范围个别是方圆几千米以内。 典型的局域网有:一家公司的办公网络,一个网吧的网络,一个家庭网络等。 城域网(MAN): 在一个城市范畴内所建设的计算机通信网络。 典型的城域网有:宽带城域网、教育城域网、市级或省级电子政务专网等。 广域网(WAN): 通常笼罩很大的天文范畴,从几十公里到几千公里。它能连贯多个城市甚至国家,并能提供远距离通信,造成国际性的大型网络。 典型的广域网有:Internet(因特网)。 网络拓扑网络拓扑(Network Topology)是指用传输介质(例如双绞线、光纤等)互连各种设施(例如计算机终端、路由器、交换机等)所出现的结构化布局。 ...

February 7, 2021 · 1 min · jiezi

关于网络:什么是防火墙

一、防火墙的概念防火墙(Firewall),也称防护墙,是由Check Point 创立者Gil Shwed于1993 年创造并引入国内互联网(US5606668(A)1993-12-15)。 它是一种位于外部网络与内部网络之间的网络安全零碎。是一项信息安全的防护系统,按照特定的规定,容许或是限度传输的数据通过。 在网络的世界里,要由防火墙过滤的就是承载通信数据的通信包。 在网络中,所谓“防火墙”,是指一种将内部网和公众拜访网(如Internet)离开的办法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能容许你“批准”的人和数据进入你的网络,同时将你“不批准”的人和数据拒之门外,最大限度地阻止网络中的黑客来拜访你的网络。换句话说,如果不通过防火墙,公司外部的人就无法访问Internet,Internet上的人也无奈和公司外部的人进行通信。 二、防火墙的倒退历程防火墙从诞生开始,已经验了四个倒退阶段: 基于路由器的防火墙用户化的防火墙工具套建设在通用操作系统上的防火墙具备平安操作系统的防火墙现阶段常见的防火墙属于具备平安操作系统的防火墙,例如NETEYE、NETSCREEN、TALENTIT等。 三、防火墙的根本类型网络层防火墙网络层防火墙可视为一种 IP 封包过滤器,运作在底层的TCP/IP协定堆栈上。能够以枚举的形式只容许合乎特定规定的封包通过,其余的一律禁止穿梭防火墙(病毒除外,防火墙不能避免病毒侵入)。这些规定通常能够经由管理员定义或批改,不过某些防火墙设施可能只能套用内置的规定。 应用层防火墙应用层防火墙是在 TCP/IP 堆栈的“应用层”上运作,您应用浏览器时所产生的数据流或是应用 FTP 时的数据流都是属于这一层。应用层防火墙能够拦挡进出某应用程序的所有封包,并且封闭其余的封包(通常是间接将封包抛弃)。实践上,这一类的防火墙能够齐全阻绝内部的数据流进到受爱护的机器里。 数据库防火墙数据库防火墙是一款基于数据库协定剖析与控制技术的数据库安全防护系统。基于主动防御机制,实现数据库的拜访行为管制、危险操作阻断、可疑行为审计。 数据库防火墙通过SQL协定剖析,依据预约义的禁止和许可策略让非法的SQL操作通过,阻断非法违规操作,造成数据库的外围进攻圈,实现SQL危险操作的被动预防、实时审计。 数据库防火墙面对来自于内部的入侵行为,提供SQL注入禁止和数据库虚构补丁包性能。 四、Linux 防火墙Linux 防火墙在企业应用中十分有用,举例如下: 中小企业与网吧里有iptables 作为企业的NAT路由器,能够用来代替传统路由器,而节约老本。IDC机房个别没有硬件防火墙,IDC机房的服务器能够用Linux 防火墙代替硬件防火墙。iptables 能够联合squid 作为企业外部上网的通明代理。传统代理须要在浏览器里配置代理服务器信息,而iptables+squid 的通明代理则能够把客户端的申请重定向到代理服务器的端口。客户端不要作任何设置,而感觉不到代理的存在。将iptables 作为企业NAT 路由器时,能够应用iptables 的扩大模块屏蔽P2P 流量,还能够禁止非法网页。iptables 能够用于外网IP 向内网IP 映射。iptables 能够轻松避免轻量级DOS 攻打,比方ping 攻打及SYN 洪水攻打。综述,Iptables 有两种利用模式:主机防火墙,NAT路由器。 五、防火墙的基本原理对应下图的字节传输流程,能够分为以下几层: 包过滤(Packet filtering):工作在网络层,仅依据数据包头中的IP地址、端口号、协定类型等标记确定是否容许数据包通过。利用代理(Application Proxy):工作在应用层,通过编写不同的利用代理程序,实现对应用层数据的检测和剖析。状态检测(Stateful Inspection):工作在2~4层,访问控制形式与1同,但解决的对象不是单个数据包,而是整个连贯,通过规定表和连贯状态表,综合判断是否容许数据包通过。齐全内容检测(Compelete Content Inspection):工作在2~7层,不仅剖析数据包头信息、状态信息,而且对应用层协定进行还原和内容分析,无效防备混合型平安威逼。 六、Netfilter 与 iptablesNetfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵便,可实现安全策略利用中的许多性能,如数据包过滤、数据包解决、地址假装、通明代理、动静网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的过滤和基于状态的过滤、包速率限度等。Iptables/Netfilter的这些规定能够通过灵便组合,造成十分多的性能、涵盖各个方面,这所有都得益于它的优良设计思维。Netfilter/Iptables 数据包过滤零碎能够当成一个整体,netfilter是内核的模块实现,iptables是对下层操作工具。 如果不严格的辨别则在Linux中 netfilter 和 iptables 都能够认为是指Linux防火墙。 理论 Iptables 是一个治理内核包过滤的工具,能够用来配置外围包过滤表格中的规定。运行于用户空间。 ...

February 6, 2021 · 1 min · jiezi

关于网络:数据中心网络技术新贵VXLAN与园区网络虚拟化

摘要:为了应答传统数据中心网络对服务器虚拟化技术的限度,VXLAN技术应运而生。1 概述传统数据中心网络面临的问题虚拟机规模受设施表项规格限度 在传统二层网络中,交换机通过查问MAC地址表来转发数据帧,虚拟机的数量受限于MAC地址表的容量。 服务器虚拟化后,VM的数量比原有的物理机产生了数量级的增长,而接入侧二层设施的MAC地址表规格较小,无奈满足快速增长的VM数量。 网络隔离能力限度 VLAN Tag只有12bit。对于大型虚拟化云计算服务的场景而言,VLAN的隔离能力无奈满足。 传统二层网络中的VLAN无奈满足网络动静调整的需要。 虚拟机迁徙范畴受限 虚拟机迁徙必须产生在一个二层网络中。 传统的二层网络将虚拟机迁徙限度在了一个较小的部分范畴内。 VXLAN简介 VXLAN(Virtual eXtensible Local Area Network,虚构扩大局域网)在实质上属于一种VPN技术,可能在任意路由可达的网络上叠加二层虚构网络,通过VXLAN网关实现VXLAN网络外部的互通,同时,也能够实现与传统的非VXLAN网络的互通。VXLAN通过采纳MAC in UDP封装来延长二层网络,将以太报文封装在IP报文之上,通过路由在网络中传输,两头的传输网络无需关注虚拟机的MAC地址,且路由网络无网络结构限度,具备大规模扩大能力。通过路由网络,虚拟机迁徙不受网络架构限度。VXLAN在数据中心的利用 服务器虚拟化技术的宽泛部署,极大地减少了数据中心的计算密度;同时,为了实现业务的灵便变更,虚拟机VM(Virtual Machine)须要可能在网络中不受限迁徙,这给传统的“二层+三层”数据中心网络带来了新的挑战。为了应答传统数据中心网络对服务器虚拟化技术的限度,VXLAN技术应运而生,其可能很好地解决如下问题: 针对虚拟机规模受设施表项规格限度o 服务器虚拟化后,VM的数量比原有的物理机产生了数量级的增长,而接入侧二层设施的MAC地址表规格较小,无奈满足快速增长的VM数量。 o VXLAN将管理员布局的同一区域内的VM收回的原始报文封装成新的UDP报文,并应用物理网络的IP和MAC地址作为外层头,这样报文对网络中的其余设施只体现为封装后的参数。因而,极大升高了大二层网络对MAC地址规格的需要。 针对网络隔离能力限度o VLAN作为以后支流的网络隔离技术,在规范定义中只有12bit,因而可用的VLAN数量仅4096个。对于私有云或其它大型虚拟化云计算服务这种动辄上万甚至更多租户的场景而言,VLAN的隔离能力无奈满足。 o VXLAN引入了相似VLAN ID的用户标识,称为VXLAN网络标识VNI(VXLAN Network Identifier),由24比特组成,反对多达16M的VXLAN段,无效地解决了云计算中海量租户隔离的问题。 虚拟机迁徙范畴受限o 虚拟机迁徙是指将虚拟机从一个物理机迁徙到另一个物理机。为了保障虚拟机迁徙过程中业务不中断,则须要保障虚拟机的IP地址放弃不变,这就要求虚拟机迁徙必须产生在一个二层网络中。而传统的二层网络,将虚拟机迁徙限度在了一个较小的部分范畴内。 o VXLAN将VM收回的原始报文进行封装后通过VXLAN隧道进行传输,隧道两端的VM不需感知传输网络的物理架构。这样,对于具备同一网段IP地址的VM而言,即便其物理地位不在同一个二层网络中,但从逻辑上看,相当于处于同一个二层域。即VXLAN技术在三层网络之上,构建出了一个虚构的大二层网络,只有虚拟机路由可达,就能够将其布局到同一个大二层网络中。这就解决了虚拟机迁徙范畴受限问题。 在园区网络中应用VXLAN实现“一网多用”通过引入虚拟化技术,在园区网络中基于一张物理网络创立多张虚构网络(VN,Virtual Network)。不同的虚构网络应用于不同的业务,例如办公、研发或物联网等。通过iMaster NCE(华为园区网络SDN控制器)实现全网设施集中管理,管理员通过图形化界面实现网络配置。iMaster NCE将管理员的网络业务配置用意“翻译”成设施命令,通过NETCONF协定将配置下发到各台设施,实现网络的主动驾驶。2 VXLAN的基本概念VXLAN的报文格式 NVE(Network Virtualization Edge,网络虚构边缘) NVE是实现网络虚拟化性能的网络实体,能够是硬件交换机也能够是软件交换机。NVE在三层网络上构建二层虚构网络,是运行VXLAN的设施。图中SW1和SW2都是NVE。 VTEP(VXLAN Tunnel Endpoints, VXLAN隧道端点) VTEP是VXLAN隧道端点,位于NVE中,用于VXLAN报文的封装和解封装。VXLAN报文(的外层IP头部)中源IP地址为源端VTEP的IP地址,目标IP地址为目标端VTEP的IP地址。一对VTEP地址就对应着一条VXLAN隧道。在源端封装报文后通过隧道向目标端VTEP发送封装报文,目标端VTEP对接管到的封装报文进行解封装。通常状况下应用设施的Loopback接口地址作为VTEP地址。VNI(VXLAN Network Identifier,VXLAN网络标识) 相似VLAN ID,用于辨别VXLAN段。不同VXLAN段的虚拟机不能间接二层互相通信。一个租户能够有一个或多个VNI,VNI长度为24bit。BD(Bridge Domain)相似传统网络中采纳VLAN划分播送域,在VXLAN网络中一个BD就标识一个大二层播送域。VNI以1:1形式映射到播送域BD,同一个BD内的终端能够进行二层互通。VAP(Virtual Access Point,虚构接入点) 实现VXLAN的业务接入。VAP有两种配置形式,二层子接口方式或者VLAN绑定形式: 二层子接口方式接入,例如本例在SW1创立二层子接口关联BD 10,示意仅这个接口下的特定流量注入到BD 10。VLAN绑定形式接入,例如本例在SW2配置VLAN 10与播送域BD 10关联,示意所有VLAN10的流量注入到BD 10。3 VXLAN二层网关、三层网关二层(L2)网关:实现流量进入VXLAN虚构网络,也可用于同一VXLAN虚构网络的同子网通信。例如下图中的Edge1和Edge2。 三层(L3)网关:用于VXLAN虚构网络的跨子网通信以及内部网络(非VXLAN网络)的拜访。例如下图中的Border。 4 VBDIF ...

February 3, 2021 · 1 min · jiezi

关于网络:入网指南一文读懂你身边的网络

本文作者是 Ubiquiti 上海公司无线网络工程师,领有思科 CCIE R&S 方向认证。她在工作中发现,大家都受到过网络的困扰,然而并不是所有人都可能通过无效的办法疾速定位问题所在。置信对于绝大多数非计算机相关业余的人来说,网络还是一个比拟神秘的存在。市面上讲网络的书籍大多干燥或者是须要长时间系统性的学习。于是联合这些年的工作教训和所学的常识,查阅了多方材料,才写下了这个系列的文章,在这个系列的文章里,她会向大家介绍网络是什么,当你发消息的时候产生了什么,生存中见到的网络设备在这个过程中充当着什么角色,最初会带大家搭建一个惯例的网络——旨在帮忙大家理解网络,敲响网络世界的大门。「网」是什么?在明天这个时代,网络和咱们非亲非故,别说断网了,网络卡顿一会儿都会影响咱们的生存,这时候大家会不会很想晓得网络呈现问题的起因是什么呢?是不是很想理解一下网络呢?其实这个网络有个名字叫做计算机网络,顾名思义就是计算机组成的网络。下图就是一个简略的计算机网络的拓扑。 能够看到图中有交换机、路由器、AP 这些网络设备,还有电脑、手机这些终端。其中交换机、路由器、AP 是咱们计算机网络通信线路的组成部分,计算机置信就不须要我多说了,大家都晓得,简略和大家说说交换机、路由器和 AP 别离是什么——这三个设施都是帮忙大家将计算机连贯在一起的设施,当然还有网线、光纤这种的通信线缆——而对于路由器、交换机和 AP 到底是不是计算机尚有争议,咱们能够认为它们是嵌入式计算机的一种。 家里是如何上网的?以咱们家里的网络为例,路由器用来将家里所有设施的拜访需要送到运营商的网络下来,接入到互联网,最终送达目的地。如果家里设施多那路由器的口就不太够了,全副都接路由器上,走线也不是很不便,咱们就能够用一台交换机来解决这个问题。 随着网络的倒退,有线曾经不可能满足咱们的需要,这时候 AP 和无线终端就呈现了,AP 实质上是无线侧的交换机,它同交换机一样帮咱们把无线终端接入到网络中,以电磁波为媒介。这里留神辨别家用无线路由器和咱们所说的商用路由器,家用无线路由器其实是一个集路由器、交换机、AP 与一体的设施,个别长这样: 下面有几对天线,一个 WAN 口,多个 LAN 口,WAN 用来接光猫,LAN 口用来连有线终端,天线用来连无线终端。这种设施对家庭用户或者小白用户来说非常敌对,依照下面的提醒一步步设置就能够上网啦,然而对商用场景来说就不太够了,商用场景须要设施性能更弱小,能够自定义的货色更多,所以咱们会有家庭无线路由器和商用路由器之分。 LAN、MAN、WAN 是什么意思?最开始的网络就是将许多终端连在一起(严格意义上来说最开始只能算作联机),而后逐渐壮大,并且这些终端也倒退的更加智能,性能更大多样化,造成了明天的计算机网络。 计算机网络还分为局域网(LAN)、城域网(MAN)和广域网(WAN)。生存中常见的「LAN」就是指局域网,公司内网就是一个局域网,家里从光猫接入往后也是局域网。城域网生存中咱们接触的不多,这里就不具体介绍了。广域网就是常见的“WAN” 标识了,咱们能够简略的认为,运营商给拉进来的宽带连贯的就是广域网,以光猫为分界点,光猫以外就是 WAN,光猫以内就是 LAN。 数据通讯和资源共享除此之外,计算机网络也领有着弱小的性能: 数据通信就是计算机网络最次要的性能之一了,一些其余的重要性能也都须要依赖于数据通信来实现,计算机网络也是对传统通信形式的变革,是继电报、电话业务之后的第三种最大的通信业务。 资源共享是建设计算机网络最次要的目标,能够共享的不仅仅是数据资源,还有软件资源和硬件资源。信息检索,看视频,刷微博共享的就是数据资源;咱们应用的各种应用软件,就是典型的软件共享;而云服务器,云桌面等就是硬件资源共享了。 说到这里,大家可能对计算机网络有些概念了,总结一下就是:一些相互连接的、以共享资源为目标的、自治的计算机的汇合。 指挥核心:操作系统、管理软件、通信协议晚期的一些终端不算是自治的计算机,因而那时候的终端互联只能称作「联机」。简略来说,两台用网线连在一起并且能够互通的电脑,就是一个最小的计算机网络。计算机网络和交通系统很像,路线就是用户连贯不同计算机的通信线路,屋宇、楼宇是进行不同运算和提供各种资源的计算机,人们通过路线在修建之间穿梭,互通有无。当然,计算机网络并不是简略的物理上的互联就能够实现这些性能的,还须要操作系统、管理软件、通信协议从中协调,也就是说,想要运行上来,还须要一个「指挥核心」。 讲到这里,大家有没有感觉计算机网络其实比咱们过来认为的要简单许多呢?理解计算机网络一些基本原理也是一件重要的事件,了解好网络原理对平时学习、工作场景有着大大的晋升,也能够无效防止咱们在组建本人的网络设备时候掉坑的几率。 传输介质和网络设备还记得文章结尾的那张图吗?除了后面提到的网络设备和终端以外,还有负责连贯发送方和接受方的“线”,形成发送方和接管方之间的物理通路。这些看得见和看不见的“线”就是网络传输介质。 常见的网络传输介质有同轴电缆、网线、光纤还有电磁波。 网线和同轴电缆同轴电缆个别用于晚期以太网,传输速度通常在 10Mbps 以内。当然粗缆是能够到 1-2Gbps 的速度,不过当初简直被咱们接下来要说到的网线给取代了。 网线即为双绞线,市面上的网线通常为八芯双绞线,传输间隔倡议不超过一百米。常见的网线规范有五类线、超五类线、六类线、超六类线和七类线这五种规范。不同规范传输速率不同,然而都不倡议超过 100 米。 仔细的小伙伴可能留神到,双绞线的绞合度是不一样的,而且八根芯的色彩也不一样,常见网线规范之间的辨别就是绞合度、铜芯粗细、有无龙骨、有无屏蔽层等。其实这八根芯的色彩排列也是有考究的,在咱们线缆制作中会有线序的说法,上面就是两种线序规范: 规范12356789T568-A绿白绿橙白蓝蓝白橙棕白棕T568-B橙白橙绿白蓝蓝白绿棕白棕光纤:远距传输现实之选当初在中大型商用场景下网线曾经远远不能满足咱们以后的网络规模了,即使是加上中继,传输品质和范畴都无奈满足咱们当初的需要,所以有了光纤的呈现。光纤全称光导纤维,通常由玻璃或塑料制成,最外层会涂一层断绝光线的资料。 光纤具备绝缘性能好、信号衰减小、传输速度快、传输间隔大的劣势,通常利用于主干网的连贯,不受外界电磁场的影响,带宽简直无限度,能够实现每秒万兆位的数据传送,传输间隔可达数百公里。光纤有单模光纤和多模光纤之分,单模光纤传输间隔长,可达 20-120 公里的间隔。多模光纤实用于低速短距离的场景,比如说一个局域网里的交换机之间的互联,交换机和路由器之间的互联都能够用多模光纤,传输间隔在 2 公里以内。 电磁波:冲破网线限度但随着终端的多样化,以及有线对设施挪动范畴的限度,咱们开始应用电磁波作为对有线网络的扩大,电磁波的范畴很广,适宜作为信号传输的只有介于 3 Hz 和约 300 GHz 之间的无线电波,无线电波又被称为射频电波,咱们的无线网络就是用的无线电波中超高频的一部分。国内最罕用的频段是 2.4 GHz 和 5 GHz 。 ...

February 2, 2021 · 1 min · jiezi

关于网络:即构自研海量有序数据网络MSDN构建全球可靠的多云通讯链路

2020是实时音视频技术利用大暴发的一年,电商直播、视频会议、在线课堂等多个场景取得了宽泛关注。即构科技作为寰球当先的云通信商,截止目前已服务超过4000家企业客户,每日音视频通话时长超过20亿分钟,服务笼罩寰球200多个国家和地区。 在继续为大量客户提供音视频服务的过程中,即构发现C端用户对互动品质一直提出更高要求。而影响延时、卡顿、服务可用性等外围质量指标的因素,都与网络品质无关。 基于此,即构通过海量客户的音视频服务教训,联合SDN技术,自研了海量有序数据网络MSDN(Massive Serial Data Network),构建一条寰球牢靠的多云通信链路,帮忙用户获取更高的网络品质,打造更清晰稳固的音视频云服务。 那么,即构MSDN是如何进步保障每日亿级海量音视频流的高质量传输呢?上面咱们追随小Z的实在应用场景,一起来看看~ 小Z是一家直播平台的运维负责人,上周六平台举办了一场大型的直播流动,他和其余小伙伴一起为流动提供技术服务保障,在流动期间,他的工作遇到了几个问题。这些问题,如果通过即构MSDN会如何解决呢?问题1 在流动开始前进行筹备工作时,小Z通过流动热度等数据预测今晚参加流动的用户将会暴增,为了保障服务的可用性和稳定性,小Z要求进行扩容,但服务商反馈目前网络资源缓和,须要从新进行节点部署,耗时比拟久。 解决方案 即构服务了大量的直播客户,在客户业务量暴增须要疾速扩容时,即构能迅速响应需要。即构的自研MSDN ,采纳了中立的网络架构,可接入公网,不同供应商的IDC、网络线路等各类资源,能以最低的老本获取最高品质的资源,做到“AnyWhere,AnyTime,AnyResource”。面对客户业务量爆增时的扩容需要,即构能以分钟级的速度迅速响应,实现用户无感知扩容。 问题2 筹备工作实现后,平台流动如期进行。小Z在后盾实时监控各项数据,这个过程中,小Z发现有一些观众的观看提早比拟大,互动不天然。他判断是网络传输呈现了问题,但因为没有可参照的其余门路,因而无奈进行优化。 解决方案 影响直播提早的因素有很多,网络品质是其中一项。即构MSDN会从网这一侧,进行极致优化。通过实时探测各段网络线路的品质,获取提早、丢包率等信息,即构MSDN能将探测失去的品质数据绘制成⼀张带权图。用户的每一次推流,每一条数据流都会依据这张带权图,抉择最优门路进行传输。当发现网络故障或原有门路品质下降时,会主动布局新的数据传输门路,缩小网络抖动带来的丢包或提早影响。 问题3 只管有小局部提早较大,但参加流动的大部分用户还是很称心这次的直播成果的。公司心愿之后的每次流动在放弃大部分用户稳固服务外,还能进一步晋升。因而小Z须要思考在之后的服务保障中如何改良优化。 解决方案 网络传输品质的晋升,须要依据海量的数据、无数次的传输来继续一直地优化。即构自研MSDN,会对平台每日传输的亿级海量数据,进行实时品质评估和预先品质评估。通过记录一条条优质传输门路,为下一次以及更多用户的数据传输提供参考。通过有数的数据流,无数次的传输,让即构MSDN逐步成为一张可用区覆盖面广、超高并发、可用性强、超低提早的“专线级”稳固的音视频虚构网络。 通过以上场景利用,咱们能够看到即构MSDN的次要性能和作用。即构MSDN可为寰球客户提供清晰、稳固和牢靠的实时语音视频云通信服务,不仅比传统的SDN更具控制力和灵活性,而且更贴合音视频云服务的业务个性。 精细化路由,可实现对流量的管制牵引 即构MSDN粗疏的路由管制,可严格控制数据在既定的门路上进行传输,更易于日常网络运维,例如在灰度公布时,可管制肯定的流量走灰度区域。同时,可基于特定区域/特定业务,调整流量的传输门路,灵便应答简单的业务场景和网络情况,比方当跨境云厂商的传输成果不好时,MSDN 能够通过绕路或基于加权算法另选一条更优门路进行传输。 如以下示例,从IDC1到IDC2,如果直连,提早高达130ms,但即构MSDN通过动静布局抉择绕行IDC3,则提早能够降至80ms。 无感通明,可针对流媒体进行针对性优化 针对非媒体数据的传输,例如房间信令等,通过IP层的门路布局,可实现传输门路的无缝切换,业务层无感知。针对媒体大流量传输,转发门路的节点有针对性的进行传输层协定优化,可进步重传效率,升高提早。尤其在进行长距离传输时, 通过即构MSDN的优化后,能大大降低网络提早。 以下是从上海到香港的多条数据流的传输,高低两图别离是不通过MSDN减速和通过MSDN减速的区别: 上海>香港,未通过MSDN减速 均匀提早100ms,丢包15% 上海>香港,通过MSDN减速 均匀提早37ms,丢包15% 即构MSDN是基于齐全凋谢、真云化的架构,这意味着能够随时随地获取到寰球任意地区的优质网络资源,实现寰球可用性区域的全笼罩;同时基于自研的加权算法,动静实时布局一张寰球节点最优门路传输路线图,并通过可视化品质经营,一直优化和降级,让每一次音视频流的传输,都稳固、牢靠、低延时。

February 2, 2021 · 1 min · jiezi

关于网络:一文看完TCPIP协议基础知识点

一、TCP/IP模型TCP/IP协定模型(Transmission Control Protocol/Internet Protocol),蕴含了一系列形成互联网根底的网络协议,是Internet的外围协定。 基于TCP/IP的参考模型将协定分成四个档次,它们别离是链路层、网络层、传输层和应用层。下图示意TCP/IP模型与OSI模型各层的对照关系。 TCP/IP协定族依照档次由上到下,层层包装。最下面的是应用层,这外面有http,ftp,等等咱们相熟的协定。而第二层则是传输层,驰名的TCP和UDP协定就在这个档次。第三层是网络层,IP协定就在这里,它负责对数据加上IP地址和其余的数据以确定传输的指标。第四层是数据链路层,这个档次为待传送的数据退出一个以太网协定头,并进行CRC编码,为最初的数据传输做筹备。 上图分明地示意了TCP/IP协定中每个层的作用,而TCP/IP协定通信的过程其实就对应着数据入栈与出栈的过程。入栈的过程,数据发送方每层一直地封装首部与尾部,增加一些传输的信息,确保能传输到目的地。出栈的过程,数据接管方每层一直地拆除首部与尾部,失去最终传输的数据。 上图以HTTP协定为例,具体阐明。 二、数据链路层物理层负责0、1比特流与物理设施电压高下、光的闪灭之间的调换。数据链路层负责将0、1序列划分为数据帧从一个节点传输到邻近的另一个节点,这些节点是通过MAC来惟一标识的(MAC,物理地址,一个主机会有一个MAC地址)。 封装成帧: 把网络层数据报加头和尾,封装成帧,帧头中包含源MAC地址和目标MAC地址。通明传输:零比特填充、转义字符。牢靠传输: 在出错率很低的链路上很少用,然而无线链路WLAN会保障牢靠传输。过错检测(CRC):接收者检测谬误,如果发现过错,抛弃该帧。三、网络层1、IP协定IP协定是TCP/IP协定的外围,所有的TCP,UDP,IMCP,IGMP的数据都以IP数据格式传输。要留神的是,IP不是牢靠的协定,这是说,IP协定没有提供一种数据未传播当前的解决机制,这被认为是下层协定:TCP或UDP要做的事件。 1.1 IP地址 在数据链路层中咱们个别通过MAC地址来辨认不同的节点,而在IP层咱们也要有一个相似的地址标识,这就是IP地址。 32位IP地址分为网络位和地址位,这样做能够缩小路由器中路由表记录的数目,有了网络地址,就能够限定领有雷同网络地址的终端都在同一个范畴内,那么路由表只须要保护一条这个网络地址的方向,就能够找到相应的这些终端了。 A类IP地址: 0.0.0.0~127.0.0.0 B类IP地址:128.0.0.1~191.255.0.0 C类IP地址:192.168.0.0~239.255.255.0 1.2 IP协定头 这里只介绍:八位的TTL字段。这个字段规定该数据包在穿过多少个路由之后才会被摈弃。某个IP数据包每穿过一个路由器,该数据包的TTL数值就会缩小1,当该数据包的TTL成为零,它就会被主动摈弃。 这个字段的最大值也就是255,也就是说一个协定包也就在路由器外面穿行255次就会被抛弃了,依据零碎的不同,这个数字也不一样,个别是32或者是64。 2、ARP及RARP协定ARP 是依据IP地址获取MAC地址的一种协定。 ARP(地址解析)协定是一种解析协定,原本主机是齐全不晓得这个IP对应的是哪个主机的哪个接口,当主机要发送一个IP包的时候,会首先查一下本人的ARP高速缓存(就是一个IP-MAC地址对应表缓存)。 如果查问的IP-MAC值对不存在,那么主机就向网络发送一个ARP协定播送包,这个播送包外面就有待查问的IP地址,而间接收到这份播送的包的所有主机都会查问本人的IP地址,如果收到播送包的某一个主机发现自己符合条件,那么就筹备好一个蕴含本人的MAC地址的ARP包传送给发送ARP播送的主机。 而播送主机拿到ARP包后会更新本人的ARP缓存(就是寄存IP-MAC对应表的中央)。发送播送的主机就会用新的ARP缓存数据筹备好数据链路层的的数据包发送工作。 RARP协定的工作与此相反,不做赘述。 3、ICMP协定IP协定并不是一个牢靠的协定,它不保证数据被送达,那么,天然的,保证数据送达的工作应该由其余的模块来实现。其中一个重要的模块就是ICMP(网络管制报文)协定。ICMP不是高层协定,而是IP层的协定。 当传送IP数据包产生谬误。比方主机不可达,路由不可达等等,ICMP协定将会把错误信息封包,而后传送回给主机。给主机一个处理错误的机会,这 也就是为什么说建设在IP层以上的协定是可能做到平安的起因。 四、pingping能够说是ICMP的最驰名的利用,是TCP/IP协定的一部分。利用“ping”命令能够查看网络是否连通,能够很好地帮忙咱们剖析和断定网络故障。 例如:当咱们某一个网站上不去的时候。通常会ping一下这个网站。ping会回显出一些有用的信息。个别的信息如下: ping这个单词源自声纳定位,而这个程序的作用也的确如此,它利用ICMP协定包来侦测另一个主机是否可达。原理是用类型码为0的ICMP发请 求,受到申请的主机则用类型码为8的ICMP回应。 ping程序来计算间隔时间,并计算有多少个包被送达。用户就能够判断网络大抵的状况。咱们能够看到, ping给进去了传送的工夫和TTL的数据。 五、TracerouteTraceroute是用来侦测主机到目标主机之间所经路由状况的重要工具,也是最便当的工具。 Traceroute的原理是十分十分的有意思,它收到到目标主机的IP后,首先给目标主机发送一个TTL=1的UDP数据包,而通过的第一个路由器收到这个数据包当前,就主动把TTL减1,而TTL变为0当前,路由器就把这个包给摈弃了,并同时产生 一个主机不可达的ICMP数据报给主机。主机收到这个数据报当前再发一个TTL=2的UDP数据报给目标主机,而后刺激第二个路由器给主机发ICMP数据报。如此往返直到达到目标主机。这样,traceroute就拿到了所有的路由器IP。 六、TCP/UDPTCP/UDP都是是传输层协定,然而两者具备不同的个性,同时也具备不同的利用场景,上面以图表的模式比照剖析。 面向报文 面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因而,应用程序必须抉择适合大小的报文。若报文太长,则IP层须要分片,升高效率。若太短,会是IP太小。 面向字节流 面向字节流的话,尽管应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序看成是一连串的无构造的字节流。TCP有一个缓冲,当应用程序传送的数据块太长,TCP就能够把它划分短一些再传送。 对于拥塞管制,流量管制,是TCP的重点,前面解说。 TCP和UDP协定的一些利用 什么时候应该应用TCP? 当对网络通讯品质有要求的时候,比方:整个数据要准确无误的传递给对方,这往往用于一些要求牢靠的利用,比方HTTP、HTTPS、FTP等传输文件的协定,POP、SMTP等邮件传输的协定。 什么时候应该应用UDP? 当对网络通讯品质要求不高的时候,要求网络通讯速度能尽量的快,这时就能够应用UDP。 七、DNSDNS(Domain Name System,域名零碎),因特网上作为域名和IP地址互相映射的一个分布式数据库,可能使用户更不便的拜访互联网,而不必去记住可能被机器间接读取的IP数串。通过主机名,最终失去该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协定运行在UDP协定之上,应用端口号53。 八、TCP连贯的建设与终止1、三次握手TCP是面向连贯的,无论哪一方向另一方发送数据之前,都必须先在单方之间建设一条连贯。在TCP/IP协定中,TCP协定提供牢靠的连贯服务,连贯是通过三次握手进行初始化的。三次握手的目标是同步连贯单方的序列号和确认号并替换 TCP窗口大小信息。 ...

February 1, 2021 · 1 min · jiezi

关于网络:基于Segment-Routing技术构建新一代骨干网智能可靠可调度二

在上篇《基于Segment Routing技术构建新一代骨干网:智能、牢靠、可调度(一)》中提到了UCloud数据中心横蛮式增长给MAN网络和骨干网带来了极大挑战以及UCloud骨干网1.0、2.0的演进路线、SR技术局部原理介绍。本文将重点介绍UCloud如何通过Segment Routing技术改良管制面和转发面,实现智能、牢靠、可调度的新一代骨干网。 新一代骨干网架构 设计指标: 控制器智能计算门路和头端主动计算门路:控制器实时收集转发设施状态信息,响应转发节点门路计算申请和门路下发。全场景接入,实现灵便组网:反对用户本地专线、互联网线路混合接入形式,实现用户灵便组网。多维度SLA门路布局:满足多业务不同门路转发需要,确保要害业务的优先级和服务质量。升高专线老本,进步整体专线利用率:破除骨干网2.0中的VXLAN技术,缩减包头开销,升高专线老本;通过智能流量调度正当布局专线容量。流量可视化,按需调度:通过telemetry和netflow技术实现骨干网流量可视化,针对局部“热点流量”和“噪声流量”进行按需调度。整体架构如下: 新一代骨干网次要包含三大组件:智能控制器、骨干边界转发PE、接入侧转发CPE&VPE: 控制器:对全网转发PE、CPE、VPE等设施进行对立的资源管理、信息收集、配置下发,监控告警以及门路计算布局,实现全网资源的对立调度和治理。 骨干网边界:全网PE和RR组成SR-TE骨干网核心层,用于实现多路径转发,流量调度;骨干网边界对外次要接入CPE、M-Core、VPE&VCPE等设施。 接入侧边界:接入侧分为三种设施类型:CPE、M-Core、VPE&VCPE。 CPE:次要用于接入本地专线客户; M-Core:私有云MAN网络外围,实现各城域网接入骨干网; VPE:通过Internet或者4G/5G网络接入用户分支机构的VCPE设施,提供用户混合组网能力。 近年来,云数据中心SDN网络设计思路大行其道,其次要思维是转控拆散,转控拆散益处不必多说,当然也有其弊病;SDN数据中心网络中的管制面故障有太多血的教训,管制面故障带来的转发面影响也是重大的;毕竟转发面才是真正承载客户业务的中央,所以咱们在设计新一代骨干网时须要思考控制器故障时,如何放弃转发层面的独立可用性。 接下来将介绍基于SR技术骨干网的管制面和转发面的设计实现原理。 管制面设计 新一代骨干网的管制面次要包含两个方面: 一、智能控制器; 二、 SR-TE骨干网路由设计管制面。 01、智能控制器控制器的次要架构设计如下: 整个控制器的指标为实现统一的配置下发与可扩大的调度策略。基于设施寰球部署的特点以及网络并非百分之百稳固的前提,该零碎采纳了数据层跨地区部署,同时为了兼顾失常状况下控制器的疾速响应,管制节点采纳了分机房的集群部署形式来保障业务的可靠性与高效的调度能力;下层控制系统通过BGP-LS、Telemetry技术采集转发链路状态信息,收集到数据库,之后对采集到的数据进行剖析解决,最初通过netconf和PCEP形式下发配置和智能计算门路。 其中数据采集次要包含: 根本的IGP拓扑信息(节点、链路、IGP度量值)BGP EPE(Egress peer Engineering)信息SR信息(SRGB、Prefix-SID、Adj-SID、Anycast-SID等)TE链路属性(TE度量、链路提早度量、色彩亲和属性等)SR Policy信息(头端、端点、色彩、Segment列表、BSID等)Netconf和PCEP次要用于配置下发和门路计算: 头端向控制器申请门路计算;控制器针对收到门路计算申请进行门路计算头端从控制器学到门路,控制器通过PCEP向头端传递门路信息头端向控制器报告其本地的SR Policy实现能力如下: 疾速的故障响应:因为外部自定义的算法需要,在线路或者节点呈现问题时,须要从新计算整张拓扑,以避开故障链路;疾速实现手动故障域隔离:借助架构的劣势,实现所有流量在线路级别与节点级别的隔离;疾速自定义调优门路:能够依据客户的需要疾速将客户流量疏导到任意门路上,保障客户各类门路需要;客户流量秒级实时监控:可监控流级别的客户故障,并实现故障状况下的门路爱护;02、SR-TE骨干网管制面为了实现用户L2和L3接入场景需要,在骨干网规划设计了基于MP-BGP的L3VPN和BGP-EVPN的L2VPN,上面来做一个简略的介绍。 MP-BGP 新一代基于SR技术的骨干网采纳了MPLS-VPN的技术个性,大抵须要如下组件: 首先须要在MPLS VPN Backbone内采纳一个IGP(IS-IS)来买通外围骨干网络的外部路由;PE上创立VRF实例,与不同的VRF客户对接,VPN实例关联RD及RT值,并且将相应的端口增加到对应的VRF实例;PE上基于VRF实例运行PE-CPE&VPE、M-Core间的路由协定,从CPE&VPE、M-Core学习到站点内的VRF路由;PE与RR之间,建设MP-IBGP连贯,PE将本人从CE处学习到的路由导入到MP-IBGP造成VPNv4的前缀并传递给对端PE,并且也将对端PE发送过去的VPNv4前缀导入到本地相应的VRF实例中;为了让数据可能穿梭MPLS VPN Backbone,所有的外围PE激活MPLS及SR性能。在传统的MPLS-VPN技术的根底上,摒弃LDP,启用SR性能来调配公网标签,内层标签持续由运行MP-BGP协定的PE设施来调配。 BGP-EVPN 在MPLS网络中实现用户L2场景的接入需要,有很多解决方案比方VPLS,然而传统的VPLS还是有很多问题,比方:不提供 All-Active 双归接入,PE流量泛洪可能导致环路危险以及反复数据帧。 为了解决VPLS的问题,咱们在新一代骨干网架构中采纳了BGP-EVPN协定作为L2网络的管制面;EVPN网络和BGP/MPLS IP VPN的网络结构类似,为了实现各个站点(Site)之间的互通,骨干网上的PE设施建设EVPN实例并接入各个站点的CE设施,同时各个PE之间建设EVPN街坊关系;因为EVPN网络与BGP/MPLS IP VPN网络的不同之处在于各个站点内是二层网络,因而PE从各个CE学习到的是MAC地址而不是路由,PE通过EVPN特有的路由类型将本人从CE学习到MAC地址转发到其它Site。 BGP-EVPN有三个比拟重要的概念: 1、EVPN Instance (EVI) :EVPN是一种虚构公有网络,在一套物理设施上能够有多个同时存在的EVPN实例,每个实例独立存在。每个EVI连贯了一组或者多组用户网络,形成一个或者多个跨地区的二层网络。 2、Ethernet Segment(ESI):EVPN技术为PE与某一CE的连贯定义惟一的标识ESI(Ethernet Segment Identifier),连贯同一CE的多个PE上的ESI值是雷同,连贯不同CE的ESI值不同。PE之间进行路由流传时,路由中会携带ESI值使PE间能够感知到连贯同一CE的其它PE设施。 3、ET(EthernetTag):每个EVI能够形成一个或者多个二层网络。当EVI蕴含了多个二层网络时,通过Ethernet Tag来辨别这些二层网络。如果咱们把二层网络看成是播送域的话(Broadcast Domain),那么ET就是用来辨别不同播送域的。 为了不同站点之间能够互相学习对方的MAC信息,因而EVPN在BGP协定的根底上定义了一种新的NLRI(Network Layer Reachability Information,网络层可达信息),被称为EVPN NLRI。EVPN NLRI中蕴含如下几种罕用的EVPN路由类型: 相比拟VPLS,EVPN的劣势如下: ...

January 28, 2021 · 1 min · jiezi

关于网络:基于Segment-Routing技术构建新一代骨干网智能可靠可调度一

前言 随着网络技术的倒退和云计算业务的疾速遍及,以后各行各业的客户都有迫切上云的需要,越来越多的要害业务,如:web前端、视频会议、办公利用、数据存储等开始部署在云端;新的网络架构设计特地是骨干网,必然要适应云计算和互联网利用的倒退,而传统的MPLS骨干网不能适应这种变动,面临如下诸多挑战: 1、如何实现用户云下与云上、云上VPC之间、云下不同物理地位之间业务的灵便开明; 2、如何利用本地专线和最初一公里互联网线路构建混合组网能力; 3、如何确保要害业务的优先级和服务质量; 4、如何简化开明流程、疾速部署和对立策略管理; 5、如何晋升专线带宽利用率和流量可视化; 6、如何实现新一代骨干网智能、牢靠、可调度。 本文将联合UCloud根底网络团队新一代骨干网的架构演进过程,介绍Segment Routing技术在UCloud骨干网的落地细节,并具体论述以后骨干网如何通过SR-TE技术实现智能、牢靠、可调度的新一代骨干网架构。 DCN网络疾速迭代UCloud数据中心基础架构网络(以下简称DCN)在最近这几年经验了横蛮式的疾速倒退阶段,从北上广三地的数个可用区倒退到寰球25个地区31个可用区;业务云化和分布式数据中心的建设,推动了城域网(以下简称MAN)和骨干网布局建设,如下图所示: DCN网络迭代过程如下: 1、同城单可用区降级至同城多可用区; 2、单Region多可用区降级至少Region多可用区。 DCN网络疾速迭代带来的网络挑战: 1、MAN网络高带宽与可靠性要求:同城分布式DCN网络建设带来的问题是:客户业务扁平化部署,导致同城跨可用区有大量的东西向业务互访流量,对MAN网络的带宽和可靠性有严格的要求。 2、骨干网架构降级与流量工程要求:随着UCloud寰球节点DCN网络的建设部署,跨地区客户开始有业务互访和跨域流量优化需要,对骨干网布局和流量工程提出了新的要求。 寰球专线资源布局以后UCloud寰球CDN节点有500+,25个地区,31个可用区;通过运营商专线买通寰球25个地区,如下图所示: 1、寰球机房专线接入骨干网 骨干网依靠UCloud寰球DCN网络以及专线资源,可为用户提供寰球范畴的就近接入,实现端到端网络稳固,解决跨域业务互访丢包和高提早问题。 2、寰球节点灵便组网 为用户提供基于本地专线和最初一公里互联网接入,实现用户的混合组网能力。 3、提供稳固、牢靠的基础架构 点到点专线资源提供物理层的带环爱护,一方面通过SR-TE技术实现流级别调度和疾速容灾备份能力;另一方面根底网络提供一张1:1基于Internet级的备份骨干网,保障整个骨干网达到99.99%可用率。 UCloud骨干网架构演进历史01、2018年之前骨干网架构 UCloud根底网络团队在2016年下半年开始布局第一代骨干网(以下简称骨干网1.0),2017年底实现了骨干网1.0设计规划,骨干网1.0架构布局专线资源接入到各Region的MAN网络外围设施(以下简称M-Core),各Region的M-Core之间通过供应商二层专线进行寰球组网;M-Core之间运行ISIS协定,买通寰球骨干网ISIS域,每个地区双M-Core或者四M-Core和管制面RR建设IBGP街坊关系,M-Core通过IBGP协定将本地区DCN网络路由信息通告至RR,RR反射给寰球所有M-Core节点;数据转发面通过IBGP路由进行迭代,最终通过ISIS转发至指标DCN网络。为优化骨干网流量转发,在关键设备上开启如下性能: 1、为实现骨干网等价路由(以下简称ECMP),必须在M-Core和RR上开启BGP ADD-PATH属性; 2、为保障IGP最短门路转发,跨域之间ISIS 开销值设置为两地区直连专线理论提早*100,如:北京-上海专线提早为30ms,那么北京-上海地区的ISIS开销设置为3000。 骨干网1.0设计指标: 1、实现Region级别DCN网络互通,提供云业务跨地区容灾能力; 2、反对云上用户通过UCloud高速通道产品UDPN买通跨域VPC资源。 骨干网1.0新挑战: 1、MAN网络与骨干网高度耦合,专线开明配置简单,减少运维难度; 2、不反对客户不同物理地位之间资源互通;云下资源到云上VPC之间资源开明简单、周期简短; 3、不反对跨地区级别的流量智能调度。 02、2020年之前骨干网架构 针对骨干网1.0所面临的一些问题,2018年UCloud根底网络团队设计规划了第二代骨干网(下简称骨干网2.0)。在骨干网2.0中,咱们新增了租户隔离的个性,而要在骨干网上实现大规模的租户隔离,MPLS-VPN技术最合适不过,但因为思考到整体的部署老本以及部署难度,咱们最终放弃了这个计划,借鉴了DCN网络的租户隔离思路,采纳VXLAN二层网关计划来实现; 骨干网2.0整体架构分为两层,Underlay和Overlay;Underlay应用VXLAN+BGP EVPN实现网络大二层,在Overlay上实现骨干网1.0的架构需要;具体实现如下: Underlay层布局1、Underlay层次要由两种设施组成:TBR和TER。TBR用于运营商二层专线资源接入,次要用于数据转发,TER用于封装VXLAN报文,即VTEP设施。寰球节点的TBR和TER设施通过VXLAN+ BGP EVPN技术组建一张寰球二层网络,这张二层网络提供寰球任意跨域节点之间二层业务开明。 2、TBR设施通过ISIS协定买通整个IGP域,TER和管制面TRR建设BGP EVPN街坊关系,各个站点互相学习MAC/IP路由;转发面数据通过VXLAN封装转发,管制面信息通过EVPN学习同步。 3、用户线下IDC业务互访,以及线下IDC到云上业务之间通过VXLAN开明二层业务。 Overlay层布局跨域M-Core直连通过VXLAN开明,M-Core之间运行ISIS协定,买通寰球骨干网ISIS域,每个地区双M-Core或者四M-Core和管制面RR建设IBGP街坊关系,M-Core通过IBGP协定将本地区DCN网络路由通告至RR,RR反射给寰球所有M-Core节点,数据转发面通过IBGP路由进行迭代,最终通过ISIS转发至指标DCN网络。 骨干网2.0设计指标: 1、实现MAN网络和骨干网严格分层,晋升运维效率; 2、通过VXLAN+BGP EVPN构建业务接入网,实现业务灵便就近上骨干; 3、实现客户云下不同物理地位、云下到云上之间资源疾速开明。 骨干网2.0新挑战: 1、不反对骨干网流量智能调度; 2、本地接入只反对专线接入,组网形式不够灵便,减少网络经营老本; 3、VXLAN包头开销过大,网络传输效率低下,专线结算成本上升; 4、不反对L3VPN客户接入场景。 为了解决骨干网2.0以后的问题,UCloud根底网络团队在2019年下半年开始,对新一代骨干网架构进行从新设计、硬件选型,在新一代骨干网架构设计中采纳了以后比拟风行的源路由即Segment Routing技术(以下简称SR),在介绍新一代骨干网架构之前先给大家简略介绍一下SR技术的基本概念。 Segment Routing基本概念01 Segment Routing ...

January 28, 2021 · 1 min · jiezi

关于网络:深度模型的日志异常检测还有谁不会

摘要:日志异样检测的外围是借助AI算法主动剖析网络设备日志来发现并定位故障,依据送入检测模型的数据格式,日志异样检测算法模型分为序列模型和频率模型,其中序列模型又能够分为深度模型和聚类模型。AIOps(Artificial Intelligence for IT Operations)即智能运维,将AI利用于运维畛域,基于已有的运维数据(日志、监控信息、利用信息等),通过机器学习的形式来进一步解决自动化运维没方法解决的问题。华为AIOps使能服务积淀了10+开箱即用的智能APP,笼罩网络保护、网络体验、网络布局、设施故障预测等应用领域,蕴含KPI异样检测、硬盘异样检测、故障辨认及根因定位、日志异样检测等。其中日志异样检测(Log Anomaly Detection,LAD)实时监控日志,辨认并举荐根因异样,辅助运维人员定位故障根因,晋升运维效率。 1. 为什么须要日志异样检测?通信网络中部署的大规模设施在运行过程中产生海量日志。如图1所示,日志是一种时序文本数据,由工夫戳和文本音讯组成,实时记录了业务的运行状态。通过收集并剖析日志,能够发现或预知网络中已产生或潜在的故障。 图1 windows公开数据集中的局部日志样例[1] 目前日志标准不对立。如图2所示,不同类型的设施打印出的日志格局也不同,且日志数据呈现出非结构化的特点。次要体现在日志工夫格局不对立,日志记录的级别不对立,不同厂家自定义的业余词汇或缩略语不对立。这些问题减少了日志剖析的难度。 图2 四种不同标准的日志样例数据[1] 此外,古代网络系统规模宏大,每小时打印日志约50Gb(约1.2亿~ 2亿行)的量级[2],若依附人工剖析日志数据来辨认网络中是否产生了故障则效率低下,因而有必要引入AI算法进行日志异样检测,以达到升高运维老本,显著晋升业务体验的目标。 自2017年Min Du等人提出DeepLog以来[3],基于序列的深度学习建模逐步成为近年来钻研的热点。原始的DeepLog次要包含两个局部:模板序列异样检测模型(Log key anomaly detection model)和参数值异样检测模型(Parameter value anomaly detection model)。模板序列异样检测模型通过学习失常日志打印对应的工作流,而后对测试数据进行推理,以检测出是否存在违反工作流的异样日志。参数值异样检测模型则是对每一个模板(Log key或Template)构建一个模型,用推理出的参数值与理论参数值作比照,比照后果在置信区间内则认为是失常,否则为异样。模板序列异样检测模型的毛病在于对模板应用one-hot向量编码,无奈学习出不同模板之间的语义相似性。参数值异样检测模型的毛病在于建模的数量太多,有多少个模板就要建设多少个模型,实现起来工作量较大。针对上述问题,2019年与2020年Weibin Meng等人先后提出Template2Vec和Log2Vec办法[4,5],能够学习出模板之间的语义相似性,并且可能解决新模板的在线学习问题。 2. 日志异样检测是如何实现的?日志异样检测的外围是借助AI算法主动剖析网络设备日志来发现并定位故障,依据送入检测模型的数据格式,日志异样检测算法模型分为序列模型和频率模型,其中序列模型又能够分为深度模型和聚类模型。本期次要分享近年来钻研的热点:深度模型。 2.1 日志解析非结构化的日志数据间接解决十分艰难。通常的做法是通过日志解析失去日志的模板,而后再对模板进行异样检测。模板相当于日志的“摘要”,日志能够视作模板加参数失去。例如,模板Send Bytes to ,加上参数size=120, block=blk4612,应用打印函数print()能够失去一条具体的日志Send 120 Bytes to blk4612。扭转参数值size=256, block=blk3768,能够失去另一条日志Send 256 Bytes to blk3768。日志解析相当于日志打印的逆过程,由日志反向解决失去模板。以Pinjia He等人提出的Drain办法为例[6],简略阐明日志解析的过程。Drain认为具备雷同长度的(即模板中token个数)日志,其业务含意具备相似性,因而长度是模板提取的一个重要判据。此外,特定的关键字也代表了特定的业务含意。变量个别认为是纯数字或者数字与字母等其余符号的组合。日志解析如图3所示,首先将变量token转换为,而后依据长度辨别类别,最初依据关键字辨别类别,最终失去一个模板。例如Receive from node blk_3587通过解决后失去模板Receive from node 。提取完模板内容后,会调配一个惟一的ID。 图3 模板与日志的关系以及日志解析原理图 2.2 异样检测2.2.1 DeepLog模型 以DeepLog的Log key anomaly detection model为例,网络结构如图3所示,其中LSTM原理能够参看文献[3]。输出 为one-hot编码模式(备注:此处不必one-hot编码也是能够的,间接输出从0开始编码的模板ID即可),h为窗口长度,即x为t时刻之前的h个模板组成的序列。 示意第t个时刻呈现的模板,假如模板ID的汇合为{0,1, …,M},则 ,DeepLog采纳两层LSTM,之后接全连贯网络(FC),通过softmax函数解决后,输入各个模板的概率分布 ,其中_n_为模板的个数。 ...

January 22, 2021 · 2 min · jiezi

关于网络:六步带你完成博流wifi模组对接华为云流程

摘要:本文次要采纳基于博流wifi模组以及咱们的SDK移植实现华为云的对接,上报数据以及命令下发等,心愿对您有所帮忙。1 简介首先须要钻研透彻博流我的项目的编译运行流程,首先看其根目录中包含components(组件),customer_app(多个demo示例)。以sdk根目录的customer_app文件夹中存在大量的demo示例,以bl602_demo_wifi为例,次要看3个文件,genromap、Makefile、proj_config.mk。 咱们晓得在运行代码时只须要在控制台输出命令./genromap即可,剖析其外部细节,仍旧是采纳make+参数的模式,则会依据其参数调用同文件夹下的Makefile文件,在该makeifle文件中蕴含了应用的组件以及对应的头文件名称如咱们在components中增加的iot_link组件文件夹以及相应的头文件。在该Makefile中最初一行调用到了主Makefile即$(BL60X_SDK_PATH)/make_scripts_riscv/project.mk文件,该文件会编译调用使能的组件中的buffalo.mk文件,将所有的指标文件链接到一起,生成.bin文件。 接下来看一下一个典型的buffalo.mk文件,如下图,依照如下格局进行组件中的代码增加,当然也能够灵便应用宏定义进行对立管制,次要包含一些源文件以及头文件的门路以及名称的增加,以及正文掉的CPPFLAGS以及LDFLAGS等等。 2 适配osal层须要将FreeRTOS适配到咱们的SDK中,首先学习FreeRTOS 的罕用接口以及具体应用性能形式,进行适配,FreeRTOS task须要手动删除的特点,因为创立task应用较少,这里我只做了简略的适配,没有深究该细节,因而在调用osal创立工作的时候最好还是手动delete一下。 3 增加主动连贯wifi工作 4 增加lwm2m使能首先依据咱们sdk中的iot.mk文件确定哪些文件须要增加进行编译,这里有两种形式一种是仍旧采纳宏定义形式,将iot.mk文件替换为buffalo.mk文件,在其中实现一个残缺的组件调用包含各种宏定义组件开关配置,对于该形式须要在相应文件中进行宏定义的使能,如proj__config.mk。还有一种疾速形式间接打散原sdk提取对应的.c和头文件,尽管速度快,不易出错,然而打散构造是咱们不提倡的,代码构造档次不够清晰,比拟适宜小白。 (1)源文件列举 (2)头文件列举 留神尽量躲避同名头文件的应用,否则容易出错,如咱们的sdk中的queue.h须要删除。 5 sal层适配因为了lwm2m外部应用tcpip因而如果应用awkka-lwm2m适配须要适配tcpip层,即sal层的适配,在咱们sdk的network/tcpip/sal,留神其中的源文件要增加到上述iot_link的src中,之后适配sal层,因为博流sdk中应用的规范的lwip,这里咱们导入lwip_imp.c即可。同时须要在主文件中增加如下代码。同时原来demo的main函数中的ticip_init()函数,因为该函数已在link_tcpip_init()中执行。 6 正文掉虚援用函数对于本我的项目中应该包含 oc_lwm2m_al.c中__attribute__((weak)) int oc_lwm2m_imp_init(void)函数; osal.c中的__attribute__((weak)) int os_imp_init(void)函数; lwm2m.c中的__attribute__((weak)) int lwm2m_imp_init(void)函数。 sal.c中的__attribute__((weak)) int link_tcpip_imp_init(void)函数。 留神不要正文掉__attribute__((weak)) int netdriver_install()函数,因为该函数不是每个板子都须要适配驱动,如果须要本人实现才进行正文,否则编译报错。 如果拷贝残缺工程须要如下三步 须要您操作的3步 (1)将上述文件iot_link组件增加到bl_iot_sdk的component门路下。 (2) 将bl602_demo_wifi中的demo删除,之后将文件夹中的bl602_demo_wifi拷贝过来。 (3) 该project.mk代码我删除了该代码的264行的Werror=all 本文分享自华为云社区《博流wifi模组对接华为云流程》,原文作者:星辰27 。 [点击关注,第一工夫理解华为云陈腐技术~]

January 21, 2021 · 1 min · jiezi

关于SegmentFault:数据库网络故障愁坏了头五种方法带你解难题

摘要:本文将介绍几种罕用伎俩,用于梳理数据库网络故障可能存在的问题,从而疾速定位复原。1 问题背景在GaussDB各类问题场景中,网络故障是最难定位及复原的问题之一,其不仅可能影响着数据库的性能,甚至在肯定水平上会阻塞业务的失常运行,造成严重后果。网络问题株连着利用侧(即GaussDB)、操作系统、交换机以及硬件资源等,本文将介绍几种罕用伎俩,用于梳理其间可能存在的问题,从而疾速定位复原。文中波及的参数、视图详情可参考产品文档。 2 问题景象 图1. gsar脚本运行后果 对于性能慢、数据库连贯异样等状况,倡议应用gsar脚本查看网络状态,若重传率或丢包率超过0.01%,如图1最初一列红色框,则阐明网络存在问题,需进一步剖析定位。 3 排查一:TaiShan服务器网卡加固对于TaiShan服务器(100/200),均须要应用兼容的网卡及驱动,否则很有可能产生此类网络问题。 须严格依照加固配置指南进行定位,包含通明大页等均需核查。 4 排查二:MTU一致性MTU即最大传输单元,整条数据链路要保障MTU的一致性,否则可能因为数据包大小不匹配导致丢包。应用ifconfig命令即可查看和批改各个网卡的MTU值: 图2. ifconfig批改MTU 如图2,其毛病是重启后生效,想短暂保留还需批改配置文件,不同操作系统批改办法不同,可谷歌查找。 5 排查三:网络重传状况netstat查看重传次数应用gsar脚本察看到显著的重传景象后,可依据netstat命令具体查看重传状态: 图3. netstat查看重传状态 若重传次数达到12次(图3红色框中,第一列示意间隔下一次重传的工夫,第二列为曾经产生重传的次数,实践上重传达到9分钟,keepalive就会检测到连贯异样,将其断开),则阐明此时网络不通,可进一步排查对端过程状态以及网络环境(ping)。 netstat查看缓存区状态当发送缓存区重大阻塞时,可显著看到重传景象,依然应用netstat命令查看缓存区状况: 图4. netstat查看发送缓存区状态 图4红色框为发送端缓存区状态,能够看到阻塞较为重大且接收端均为192.168.2.101,此时能够依据端口号查看对端接管状况: 图5. netstat查看对端接管缓存区状态 图5红色框为44112端口的接收端缓存区,阻塞景象同样显著。此时,能够依据GaussDB相干视图获取各线程状态,进而剖析阻塞起因,以一条阻塞的连贯为例: 图6. DN上依据client_port查到query_id 依据GaussDB节点端口登录数据库,利用对端连贯端口号查找到query_id; 图7. CN上依据query_id查到各线程状态 登录GaussDB的CN节点,依据query_id找到CN线程id,此时DN均在向CN传输数据,能够应用gstack打印此时CN的堆栈等。 打印线程堆栈:gstack lwtid监控线程与内核交互:strace -p lwtid -tt -T -o strace.log查看线程应用的CPU资源:top -p pid -d 0.2已知语句gather慢个别语句执行慢,打印执行打算发现次要耗时在gather上,此时可依据要执行的sql语句找到对应CN和DN的状态,找到慢因所在节点及线程id,再打印堆栈信息等进一步剖析。 图8. 依据sql查到CN线程状态 6 排查四:网络丢包状况内存不足内存不足是引发丢包的一大起因,然而个别会呈现其余的直观体现,可应用free、top等命令查看内存状况,也可应用pv_total_memory_detail视图察看具体的过程情况。 CPU软中断有余网卡接管到数据后,数据进入到TCP缓存区的过程须要进行CPU中断解决,若此时相干CPU忙碌、软中断应用较高,CPU解决网卡的数据不及时,造成丢包。 图9. speed_test压测接收端 图10. speed_test压测发送端 图11. speed_test压测时网络情况 图12. speed_test压测时CPU软中断情况 应用speed_test工具压测察看,两台机器别离作为接管和发送端,如图9~12,此时测试集群无背景压力,能够看到网络流量达到网卡下限,偶发呈现丢包景象,查看对应的CPU软中断,始终处在高于70的程度。 ...

January 20, 2021 · 1 min · jiezi

关于网络:古有诸葛亮八卦阵阻敌今有iptables护网安

摘要:保障网络环境的平安,咱们得“武装”起来,守住各个入口。怎么“武装”呢?网络世界就和事实世界一样,总是会有些不怀好意的“人”呈现,扫扫你的端口啊,探测探测你的利用状况啊,看看有没有什么破绽啊,而后趁虚而入...... 像不像个小偷,这瞅瞅那瞅瞅,门有没有上锁,窗户有没有关严,看准机会就轻轻潜入了。 所以为了保障网络环境的平安,咱们得“武装”起来,守住各个入口。 怎么“武装”呢? 应用iptables就能够做到,您能够依据业务须要设计一套本人的“八卦阵”,每一个报文要进来或者进来都得通过“八卦阵”里的阻碍,能通过严格筛选的报文才是“好”报文。 iptables是什么?iptables是Linux 防火墙工作在用户空间的管理工具,是netfilter/iptablesIP 信息包过滤零碎的一部分,用来设置、保护和查看Linux内核的IP数据包过滤规定。它是收费的,能够代替低廉的商业防火墙解决方案,实现封包过滤、封包重定向和网络地址转换(NAT)等性能。 特点:iptables是基于内核的防火墙,性能十分弱小;iptables内置了filter,nat,mangle和raw四张表。所有规定配置后,立刻失效,不须要重启服务。 iptables组成iptables的构造是由表(tables)组成,而tables是由链(chains)组成,链又是由具体的规定组成。因而咱们在编写iptables规定时,要先指定表,再指定链。tables的作用是辨别不同性能的规定,并且存储这些规定。 iptables的四表五链四个表包含:raw表、mangle表、nat表、filter表。 这四个优先级顺次升高,raw不罕用,次要性能都在其余三种表里实现。每个表能够设置多个链。 mangle:次要用于批改数据包,表内包含五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARDnat:不经内核,用于网络地址转换(IP、端口),表内包含三个链:PREROUTING、POSTROUTING、OUTPUTfilter:通过本机内核的数据,负责过滤数据包,表内包含三个链:INPUT、FORWARD、OUTPUT五个链如下: INPUT:输出,过滤所有指标地址是本机的数据包。FORWARD:转发,过滤所有路过本机的数据包。OUTPUT:输入,过滤所有由本机产生的数据包。PREROUTING:路由前,能够在数据包达到防火墙时扭转指标地址。POSTROUTING:路由后,在数据包来到防火墙时扭转数据包的源地址。iptables解决数据包的流程 数据包有两种:目标地址是本机内核的数据包和通过本机内核的数据包。 数据包进入的时候,首先进入PREROUTING链,本机内核依据数据包目标地址判断是否须要转送进来。如果数据包是进入本机内核的,就进入INPUT链。数据包到了INPUT链后,按条件过滤限度进入。之后进入本机内核,再进入OUTPUT链,按条件过滤限度进来,而后达到POSTROUTING 链输入。如果数据包只是通过本机内核,须要转发进来的,且本机内核容许转发,数据包就会进入FORWARD链,按条件过滤限度转发,而后达到POSTROUTING链输入。iptables命令iptables [ -t 表名 ] 治理选项 [ 链名 ] [ 条件匹配 ] [ -j 指标动作或跳转 ] 留神: 1.不指定表名时,默认示意filter表。 2.不指定链名时,默认示意该表内所有链,除非设置规定链的缺省策略,否则须要指定匹配条件。 举个例子,比方:须要回绝IP地址为10.10.10.8的主机拜访本机。 iptables -A INPUT -s 10.10.10.8 -j DROP 更多命令详情请参见:iptables命令。 iptables规定都能够在云服务器里本人配置。然而如果云服务器数目十分多,每个都要配置,那就太麻烦了,如何实现同样需要的云服务器配置雷同的iptables规定? 平安组?网络ACL? 没错!!! 它们都通过管制Linux iptables来管制进出云服务器或者用户网络的数据包,在不同的地位应用不同的办法来实现不同的目标,能够同时部署网络ACL和平安组实现双重防护。 平安组将具备雷同平安爱护需要并相互信任的云服务器退出同一个平安组。不同平安组的虚拟机之间的拜访以及外网拜访虚拟机,都须要通过平安组进行过滤。 网络ACL则作用于子网上,能够在平安组之前隔离内部过去的歹意流量,对进出用户网络的流量进行过滤。 那么,实际一下,为您的弹性云服务器设置一套“八卦阵”吧~ 为云服务器配置平安组,请戳平安组简介理解。 管制出入子网的数据流,请戳网络ACL简介理解。 本文分享自华为云社区《【云小课】根底服务第70课 网络常识一箩筐——放心网络根本平安?iptables八卦阵为您守护》,原文作者:云小萌。 点击关注,第一工夫理解华为云陈腐技术~

January 15, 2021 · 1 min · jiezi

关于网络:技术干货-mPaaS-客户端问题排查漫长的-3s-等待之谜

面对日益简单的技术世界,App 在开发、上线和运维阶段所遭逢的问题也越来越多。这些不拘一格的问题可能来自整个链路的任意环节,而不仅仅是代码层面。 对于开发者来说,排查伎俩曾经不再局限于构建代码过程中的调试,往往须要裁减排查办法,从多种路径对问题进行剖析和定位。这篇文章会和大家分享 mPaaS 开发者的一例小程序网络性能问题排查之旅。 问题背景“笑联科技”反馈基于 mPaaS 开发的 App 中,其集成的小程序拜访客户自建的 Web API 存在连贯慢的性能问题。问题复现视频如下: ▶播放问题复现视频 从问题复现的状况看,关上小程序后,页面数据的加载有一个“漫长”的期待过程。 和开发者沟通后理解到,页面初始化所必须的局部数据是通过自有的 Web API 获取到的,数据返回慢会导致页面加载的期待。另外开发者也提到,这个问题存在地域性和偶发性,既局部地区的局部用户在一段时间内会被这个问题重大困扰。 问题剖析与排查如前文所述,数据是通过 Web API 获取的,天然咱们心愿通过内部伎俩去确认这个 Web API 自身是否存在性能问题。 然而,通过浏览器或 Postman 等工具去拜访该 Web API ,均无奈复现问题,后端的响应都是毫秒级。然而因为开发者提到该问题存在地域性和偶发性,因而无奈间接排除局部起因。 因为咱们并不是 App 的间接开发者,对于这类问题,一种惯例的伎俩是抓取 HTTP 报文来察看和了解 App 背地的行为特色。比拟侥幸的是,咱们的测试用 iOS 手机能够复现问题,通过 Charles 抓取 App 报文,咱们有如下发现: Web API 的地址为:https://api.xiaolianhb.com/; 当 Charles 开启 SSL Decryption 时(中间人解密 HTTPS Body 模式),问题无奈复现。 当 Charles 敞开 SSL Decryption 时,问题能够复现,数据加载显著存在一个 3s 的期待状况。 上述景象 2 和 3 强烈暗示问题可能和 HTTPS/SSL 协定层面相干(开启 SSL Decryption 时,HTTPS 连贯由 Mac 笔记本和服务器进行;敞开 SSL Decryption 时,HTTPS 连贯由 iPhone 和服务器进行)。 ...

January 14, 2021 · 1 min · jiezi

关于网络:技术干货-mPaaS-客户端问题排查漫长的-3s-等待之谜

面对日益简单的技术世界,App 在开发、上线和运维阶段所遭逢的问题也越来越多。这些不拘一格的问题可能来自整个链路的任意环节,而不仅仅是代码层面。 对于开发者来说,排查伎俩曾经不再局限于构建代码过程中的调试,往往须要裁减排查办法,从多种路径对问题进行剖析和定位。这篇文章会和大家分享 mPaaS 开发者的一例小程序网络性能问题排查之旅。 问题背景“笑联科技”反馈基于 mPaaS 开发的 App 中,其集成的小程序拜访客户自建的 Web API 存在连贯慢的性能问题。问题复现视频如下: ▶播放问题复现视频 从问题复现的状况看,关上小程序后,页面数据的加载有一个“漫长”的期待过程。 和开发者沟通后理解到,页面初始化所必须的局部数据是通过自有的 Web API 获取到的,数据返回慢会导致页面加载的期待。另外开发者也提到,这个问题存在地域性和偶发性,既局部地区的局部用户在一段时间内会被这个问题重大困扰。 问题剖析与排查如前文所述,数据是通过 Web API 获取的,天然咱们心愿通过内部伎俩去确认这个 Web API 自身是否存在性能问题。 然而,通过浏览器或 Postman 等工具去拜访该 Web API ,均无奈复现问题,后端的响应都是毫秒级。然而因为开发者提到该问题存在地域性和偶发性,因而无奈间接排除局部起因。 因为咱们并不是 App 的间接开发者,对于这类问题,一种惯例的伎俩是抓取 HTTP 报文来察看和了解 App 背地的行为特色。比拟侥幸的是,咱们的测试用 iOS 手机能够复现问题,通过 Charles 抓取 App 报文,咱们有如下发现: Web API 的地址为:https://api.xiaolianhb.com/; 当 Charles 开启 SSL Decryption 时(中间人解密 HTTPS Body 模式),问题无奈复现。 当 Charles 敞开 SSL Decryption 时,问题能够复现,数据加载显著存在一个 3s 的期待状况。 上述景象 2 和 3 强烈暗示问题可能和 HTTPS/SSL 协定层面相干(开启 SSL Decryption 时,HTTPS 连贯由 Mac 笔记本和服务器进行;敞开 SSL Decryption 时,HTTPS 连贯由 iPhone 和服务器进行)。 ...

January 14, 2021 · 1 min · jiezi

关于网络:牛逼一篇文章讲透详解-ARP-协议

我把本人以往的文章汇总成为了 Github ,欢送各位大佬 starhttps://github.com/crisxuan/b...公众号连载计算机网络文章如下 ARP,这个隐匿在计网背地的男人 我画了 40 张图就是为了让你搞懂计算机网络层 40 张图带你搞懂 TCP 和 UDP 拿下计网协定后,我就是公园里最靓的仔 TCP/IP 基础知识总结 计算机网络基础知识总结 那么开始咱们本篇文章 只有确定了 IP 地址后,就可能向这个 IP 地址所在的主机发送数据报,这是咱们所熟知的事件。然而再往深了想,IP 地址只是标识网络层的地址,那么在网络层下方数据链路层是不是也有一个地址可能通知对方主机本人的地址呢?是的,这个地址就是MAC 地址。 意识 MAC 地址MAC 地址的全称是 Media Access Control Address,译为媒体访问控制地址,它是网络上以太网或网络适配器的惟一标识符。MAC 地址可能辨别不同的网络接口,并用于多种网络技术,尤其是大多数 IEEE 802 网络。 MAC 地址也称为物理地址,硬件地址和老化地址。MAC 地址次要用于辨认数据链路中互联的节点,如下图所示 MAC 地址长 48 bit,在应用网卡(NIC) 的状况下,MAC 地址个别都会烧入 ROM 中。因而,任何一个网卡的 MAC 地址都是惟一的。MAC 地址的构造如下 MAC 地址中的 3 - 24 位示意厂商识别码,每个 NIC 厂商都有特定惟一的辨认数字。25 - 48 位是厂商外部为辨认每个网卡而用。因而,能够保障全世界不会有雷同 MAC 地址的网卡。 MAC 地址也有例外情况,即 MAC 地址也会有反复的时候,然而问题不大,只有两个 MAC 地址是属于不同的数据链路层就不会呈现问题。ARP 是什么ARP 协定的全称是 Address Resolution Protocol(地址解析协定),它是一个通过用于实现从 IP 地址到 MAC 地址的映射,即询问指标 IP 对应的 MAC 地址 的一种协定。ARP 协定在 IPv4 中极其重要。 ...

January 13, 2021 · 3 min · jiezi

关于权限控制:菜单权限

介绍菜单权限是依据登陆角色实现返回不同的菜单,使不同角色能看到不同的菜单。 思路及问题思路一、首先要在刚进入路由之前应用vue的路由守卫拦挡,来判断有没有获取过菜单权限。二、前端和后盾磋商好菜单的构造和菜单的名称,先在前端定义一个路由表。三、后盾返回平行结构的数据,前端组装成一个菜单构造,并且如果后盾返回子菜单没有返回父菜单那么该父菜单上面所有的子菜单不应该显示。四、将筛选过后的路由作为首页的子路由增加进去。五、前端编写页面 问题一、如何动静增加子路由?二、点击到子路由之后能失常显示,刷新页面之后空白页三、在曾经注册了的路由表中增加了*匹配,为什么刷新页面的时候间接跳转到404页面四、基于element封装一个无论后盾返回多少层级的菜单 代码git仓库https://github.com/mengyuhang4879/auth-menu.git 1 npm install2 启动serve文件3 npm run servegit创立近程仓库及提交https://blog.csdn.net/liuweix...

January 12, 2021 · 1 min · jiezi

关于网络:网络拓扑结构图

阿里云利用网络拓扑图云利用网络架构是指建设在可编程的基础设施之上, 基于对立的运行治理平台, 按需的分配资源 的网络架构。云网络架构在物理链路、主机网络、网关、控制器四个纬度上全面降级,大大提高了整体网络性能。 公司办公网络拓扑图对于很多大型公司来讲,网络的稳定性,会间接影响到公司的收益。如果这个时候网络呈现问题,对于公司的损失将会是不可估量的。可见公司网络稳固,对公司的重要性了。   ERP集群网络拓扑架构图拓扑结构图是指由网络节点设施和通信介质形成的网络结构图。 集群是一组互相独立的、通过高速计算机网络互联的计算机,它们形成了一个组,并以繁多零碎的模式加以治理。 企业网络拓扑图拓扑结构设计是计算机网络设计的根底和终点,重要性是不言而喻的。小型企业网络拓扑图构造分明、布线正当、充分考虑房间散布;局域网性能稳固、平安;软、硬件联合良好,公司日常办公须要,不便资源共享、旅行有良好的兼容性和可扩展性。 局域网拓扑图网络拓扑图是指由网络节点设施和通信介质形成的网络结构图。拓扑图给出网络服务器、工作站的网络配置和相互间的连贯,它的构造次要有星型构造、环型构造、总线结构、分布式构造、树型构造、网状结构、蜂窝状构造等。 流动目录网络结构图流动目录是指域环境中提供目录服务的组件。流动目录对象次要包含用户、组、计算机和打印机,然而网络中的所有服务器、域和站点等也可认为是流动目录中的对象。流动目录根底网络服务:包含DNS、WINS、DHCP、证书服务等。 树状网络拓扑图树型拓扑(tree topology):一种相似于总线拓扑的局域网拓扑。树型网络能够蕴含分支,每个分支又可蕴含多个结点。树状拓扑构造是一种分级构造。 互联网工作原理拓扑图互联网工作原理拓扑图模板,计算机网络是由很多台计算机组成的, 要实现网络之间传输数据, 必须要做两件事, 数据传输目标地址和保证数据迅速牢靠传输的措施。 网络组建拓扑图网络拓扑图是指用传输媒体互连各种设施的物理布局,即用什么形式把网络中的计算机等设施连接起来。拓扑图画出网络服务器、工作站的网络配置和相互间的连贯。网络的拓扑构造有很多种,次要有星型构造、环型构造、总线结构、分布式构造、树型构造、网状结构、蜂窝状构造等。 流动目录图流动目录(Active Directory)是面向Windows Standard Server、Windows Enterprise Server以及 Windows Datacenter Server的目录服务。

January 3, 2021 · 1 min · jiezi

关于网络:软件测试网络协议知识二

一、三次握手四次挥手1、三次握手 所谓三次握手(Three-Way Handshake)即建设TCP连贯,就是指建设一个TCP连贯时,须要客户端和服务端总共发送3个包以确认连贯的建设。 (1)第一次握手:Client将标记位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,期待Server确认。 (2)第二次握手:Server收到数据包后由标记位SYN=1晓得Client申请建设连贯,Server将标记位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连贯申请,Server进入SYN_RCVD状态。 (3)第三次握手:Client收到确认后,查看ack是否为J+1,ACK是否为1,如果正确则将标记位ACK置为1,ack=K+1,并将该数据包发送给Server,Server查看ack是否为K+1,ACK是否为1,如果正确则连贯建设胜利,Client和Server进入ESTABLISHED状态,实现三次握手,随后Client与Server之间能够开始传输数据了。 2、四次挥手 所谓四次挥手(Four-Way Wavehand )即终止TCP连贯,就是指断开一个TCP连贯时,须要客户端和服务端总共发送4个包以确认连贯的断开。 因为TCP连贯时全双工的,因而,每个方向都必须要独自进行敞开,这一准则是当一方实现数据发送工作后,发送一个FIN来终止这一方向的连贯,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,然而在这个TCP连贯上依然可能发送数据,直到这一方向也发送了FIN。首先进行敞开的一方将执行被动敞开,而另一方则执行被动敞开。 (1)第一次挥手:Client发送一个FIN,用来敞开Client到Server的数据传送,Client进入FIN_WAIT_1状态 。 (2)第二次挥手:Server收到FIN后 ,发送一个ACK给Client,确认序号为收到序号+1(与SYN雷同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态 。 (3)第三次挥手:Server发送一个FIN,用来敞开Server到Client的数据传送,Server进入LAST_ACK状态。 (4)第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1 , Server进入CLOSED状态, 实现四次挥手。 二、http和https有区别1、HTTP和HTTPS的基本概念 HTTP:是互联网上利用最为宽泛的一种网络协议,是一个客户端和服务器端申请和应答的规范(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协定,它能够使浏览器更加高效,使网络传输缩小。 HTTPS:是以平安为指标的HTTP通道,简略讲是HTTP的平安版,即HTTP下退出SSL层,HTTPS的平安根底是SSL,因而加密的具体内容就须要SSL。 HTTPS协定的次要作用能够分为两种:一种是建设一个信息安全通道,来保障数据传输的平安;另一种就是确认网站的真实性。 2、HTTP与HTTPS有什么区别? HTTP协定传输的数据都是未加密的,也就是明文的,因而应用HTTP协定传输隐衷信息十分不平安,为了保障这些隐衷数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协定用于对HTTP协定传输的数据进行加密,从而就诞生了HTTPS。简略来说,HTTPS协定是由SSL+HTTP协定构建的可进行加密传输、身份认证的网络协议,要比http协定平安。 HTTPS和HTTP的区别次要如下: 1)https协定须要到ca申请证书,个别收费证书较少,因此须要肯定费用。 2)http是超文本传输协定,信息是明文传输,https则是具备安全性的ssl加密传输协定。 3)http和https应用的是齐全不同的连贯形式,用的端口也不一样,前者是80,后者是443。 4)http的连贯很简略,是无状态的;HTTPS协定是由SSL+HTTP协定构建的可进行加密传输、身份认证的网络协议,比http协定平安。 3、HTTPS比HTTP多了三次平安证书握手 (1)客户应用https的URL拜访Web服务器,要求与Web服务器建设SSL连贯。 (2)Web服务器收到客户端申请后,会将网站的证书信息(证书中蕴含公钥)传送一份给客户端。 (3)客户端的浏览器与Web服务器开始协商SSL连贯的安全等级,也就是信息加密的等级。 (4)客户端的浏览器依据双方同意的安全等级,建设会话密钥,而后利用网站的公钥将会话密钥加密,并传送给网站。 (5)Web服务器利用本人的私钥解密出会话密钥。 (6)Web服务器利用会话密钥加密与客户端之间的通信。 三、接口测试工具软件接口是指程序中具体负责在不同模块之间传输或承受数据的并做解决的类或者函数。 接口测试就是通过向接口传递数据来测试这个接口是否正确。比方:一个QQ登录性能接口,就须要咱们传递QQ号和明码去验证这个登录接口是否正确,是否应用。 在测试接口的时候就须要应用到接口测试工具了,举荐应用国产的接口测试和接口文档生产工具apipost。

December 31, 2020 · 1 min · jiezi

关于网络:RPC远程过程调用

RPC-近程过程调用什么是RPCRPC,Remote Procedure Call,近程过程调用。那么怎么去了解这个近程过程调用呢?咱们能够先了解一下绝对的本地过程调用。 本地过程调用本地调用,很简略,艰深一点来说,就是你在你的我的项目中定义了一个函数,而后调用,这就是本地过程调用。 function add(x, y){ return x + y;}const a = 1, b = 2;const result = add(a, b) // 这就是本地过程调用如下面代码所示,先是定义了一个add函数,在代码块最初一行调用add函数的过程其实就是本地过程调用。那么最初一行代码的执行,在计算机中的过程是怎么的呢? 计算机解析函数名通过最底层的块级作用域始终往上找寻找函数申明的中央计算机寻址,从内存中找到寄存该函数的地址参数a和b入栈,执行函数逻辑返回计算结果并赋值给resultps:这只是简略形容了一下本地调用的过程,其实计算机外部或者浏览器V8引擎做了许多优化。 近程过程调用那么下面讲了本地过程调用,近程过程调用其实是类似的,只是函数申明定义及其作用域在远端,别的机器,别的服务上,因为不存在独特的内存空间,所以不能够间接像本地调用一样寻找到该函数。 那么,比照本地调用,近程调用还须要额定解决什么问题呢? 1.通信问题绝对于本地调用来说,不同服务和不同机器无奈共用同样的内存空间,因而无奈间接通信。因而须要建设TCP连贯,调用方和被调方的数据均是基于此连贯中进行替换。像grpc的框架,底层tcp连贯是基于http2.0协定的,其中的协定数据类型有unary和stream两种,其中差别是客户端和服务端的通信差别,底层还是通过二进制流拼凑的数据帧进行传输,并且在包头中会表明对应的数据类型。 unary,通过一问一答的模式在客户端和服务端中进行通信。stream,其中又分为客户端流、服务端流和双工流。①客户端流:客户端发送多条数据流,服务端答复一条。②服务端流:客户端发送一条数据流,服务端答复多条。③双工流:客户端和服务端都能够被动向对方发送数据流。2.寻址问题基于第一步,两台机器中曾经建设连贯了,那么被调方怎么晓得调用方想调用哪个服务的哪个接口呢?这里就须要在建设tcp连贯进行数据传输的时候,须要调用方把被调方的ip、端口和函数id等信息带过来,这部分信息个别称为call ID映射。一般来说,调用方和被调方都会保护一个映射表,外面蕴含了调用函数的入参和出参,这部分有点相似与接口协议。 3.序列化和反序列化基于网络协议传输是二进制的模式,那么调用方传输的寻址信息和入参等数据须要序列化之后能力传输,而被调方先是反序列化数据,找到对应的函数,并在执行函数后将后果序列化后传回去给到调用方,最初调用方反序列化数据之后失去后果。图片起源(https://www.cs.rutgers.edu/~pxk/417/notes/03-rpc.html) 为什么用RPC置信很多同学都有疑难,为啥要用RPC协定?为啥不能持续用http/https协定进行传输呢?其实大家陷进了一个了解误区,就是RPC和``不是两个平行的概念。RPC只是一个函数调用,然而须要通过近程调用,因而底层通信传输是基于TCP协定的。而HTTP协定是一个网络传输协定,底层也是基于TCP的,因而大家很容易产生误解。 那么为什么要用RPC进行呢? 1.RPC协定,客户端和服务端都会保护一份构造和映射表,使调用和传输的数据更通明,单方都能够更严格地制约调用参数和回包参数的类型,从而缩小bug。 2.对TCP传输进行优化,如:二进制流传输,无用包头信息破除,包体压缩,字节编码解码优化等。其实基于HTTP2.0这些性能曾经反对了,因而gRPC的TCP传输也是参考HTTP2.0的。 3.rpc结构层能够做更多的监控,容错和性能优化。 参考文章:https://www.zhihu.com/question/25536695https://www.zhihu.com/question/41609070

December 26, 2020 · 1 min · jiezi

关于网络:epoll的本质

从事服务端开发,少不了要接触网络编程。epoll作为linux下高性能网络服务器的必备技术至关重要,nginx、redis、skynet和大部分游戏服务器都应用到这一多路复用技术。 文/罗培羽 因为epoll的重要性,不少游戏公司(如某某九九)在招聘服务端同学时,可能会问及epoll相干的问题。比方epoll和select的区别是什么?epoll高效率的起因是什么?如果只靠背诵,显然不能算上粗浅的了解。 网上尽管也有不少解说epoll的文章,但要不是过于通俗,就是陷入源码解析,很少能有通俗易懂的。于是决定编写此文,让不足业余背景常识的读者也可能明确epoll的原理。文章核心思想是: 要让读者清晰明确EPOLL为什么性能好。本文会从网卡接收数据的流程讲起,串联起CPU中断、操作系统过程调度等常识;再一步步剖析阻塞接收数据、select到epoll的进化过程;最初探索epoll的实现细节。目录: 一、从网卡接收数据说起二、如何晓得接管了数据?三、过程阻塞为什么不占用cpu资源?四、内核接管网络数据全过程五、同时监督多个socket的简略办法六、epoll的设计思路七、epoll的原理和流程八、epoll的实现细节九、论断一、从网卡接收数据说起下图是一个典型的计算机结构图,计算机由CPU、存储器(内存)、网络接口等部件组成。理解epoll实质的第一步,要从硬件的角度看计算机怎么接管网络数据。 计算机结构图(图片起源:linux内核齐全正文之微型计算机组成构造) 下图展现了网卡接收数据的过程。在①阶段,网卡收到网线传来的数据;通过②阶段的硬件电路的传输;最终将数据写入到内存中的某个地址上(③阶段)。这个过程波及到DMA传输、IO通路抉择等硬件无关的常识,但咱们只需晓得:网卡会把接管到的数据写入内存。 网卡接收数据的过程 通过硬件传输,网卡接管的数据寄存到内存中。操作系统就能够去读取它们。 二、如何晓得接管了数据?理解epoll实质的第二步,要从CPU的角度来看数据接管。要了解这个问题,要先理解一个概念——中断。 计算机执行程序时,会有优先级的需要。比方,当计算机收到断电信号时(电容能够保留少许电量,供CPU运行很短的一小段时间),它应立即去保留数据,保留数据的程序具备较高的优先级。 一般而言,由硬件产生的信号须要cpu立马做出回应(不然数据可能就失落),所以它的优先级很高。cpu理当中断掉正在执行的程序,去做出响应;当cpu实现对硬件的响应后,再从新执行用户程序。中断的过程如下图,和函数调用差不多。只不过函数调用是当时定好地位,而中断的地位由“信号”决定。 中断程序调用 以键盘为例,当用户按下键盘某个按键时,键盘会给cpu的中断引脚收回一个高电平。cpu可能捕捉这个信号,而后执行键盘中断程序。下图展现了各种硬件通过中断与cpu交互。 cpu中断(图片起源:net.pku.edu.cn) 当初能够答复本节提出的问题了:当网卡把数据写入到内存后,网卡向cpu收回一个中断信号,操作系统便能得悉有新数据到来,再通过网卡中断程序去解决数据。 三、过程阻塞为什么不占用cpu资源?理解epoll实质的第三步,要从操作系统过程调度的角度来看数据接管。阻塞是过程调度的要害一环,指的是过程在期待某事件(如接管到网络数据)产生之前的期待状态,recv、select和epoll都是阻塞办法。理解“过程阻塞为什么不占用cpu资源?”,也就可能理解这一步。 为简略起见,咱们从一般的recv接管开始剖析,先看看上面代码: //创立socketint s = socket(AF_INET, SOCK_STREAM, 0); //绑定bind(s, ...)//监听listen(s, ...)//承受客户端连贯int c = accept(s, ...)//接管客户端数据recv(c, ...);//将数据打印进去printf(...)这是一段最根底的网络编程代码,先新建socket对象,顺次调用bind、listen、accept,最初调用recv接收数据。recv是个阻塞办法,当程序运行到recv时,它会始终期待,直到接管到数据才往下执行。 插入:如果您还不太熟悉网络编程,欢送浏览我编写的《Unity3D网络游戏实战(第2版)》,会有具体的介绍。那么阻塞的原理是什么? 工作队列 操作系统为了反对多任务,实现了过程调度的性能,会把过程分为“运行”和“期待”等几种状态。运行状态是过程取得cpu使用权,正在执行代码的状态;期待状态是阻塞状态,比方上述程序运行到recv时,程序会从运行状态变为期待状态,接管到数据后又变回运行状态。操作系统会分时执行各个运行状态的过程,因为速度很快,看上去就像是同时执行多个工作。 下图中的计算机中运行着A、B、C三个过程,其中过程A执行着上述根底网络程序,一开始,这3个过程都被操作系统的工作队列所援用,处于运行状态,会分时执行。 工作队列中有A、B和C三个过程 期待队列 当过程A执行到创立socket的语句时,操作系统会创立一个由文件系统治理的socket对象(如下图)。这个socket对象蕴含了发送缓冲区、接收缓冲区、期待队列等成员。期待队列是个十分重要的构造,它指向所有须要期待该socket事件的过程。 创立socket 当程序执行到recv时,操作系统会将过程A从工作队列挪动到该socket的期待队列中(如下图)。因为工作队列只剩下了过程B和C,根据过程调度,cpu会轮流执行这两个过程的程序,不会执行过程A的程序。所以过程A被阻塞,不会往下执行代码,也不会占用cpu资源。 socket的期待队列 ps:操作系统增加期待队列只是增加了对这个“期待中”过程的援用,以便在接管到数据时获取过程对象、将其唤醒,而非间接将过程治理纳入本人之下。上图为了不便阐明,间接将过程挂到期待队列之下。 唤醒过程 当socket接管到数据后,操作系统将该socket期待队列上的过程从新放回到工作队列,该过程变成运行状态,继续执行代码。也因为socket的接收缓冲区曾经有了数据,recv能够返回接管到的数据。 以下内容待续 四、内核接管网络数据全过程 五、同时监督多个socket的简略办法 六、epoll的设计思路 七、epoll的原理和流程 八、epoll的实现细节 九、论断 既然说到网络编程,笔者的《Unity3D网络游戏实战(第2版)》是一本专门介绍如何开发多人网络游戏的书籍,用实例介绍开发游戏的全过程,十分实用。书中对网络编程有具体的解说,全书用一个大例子贯通,真正的“实战”教程。 致谢:本文力求具体阐明epoll的原理,特别感谢 @陆俊壕 @AllenKong12 雄爷、堂叔 等共事审阅了文章并给予修改意见。 ...

December 25, 2020 · 1 min · jiezi

关于网络:FireEye红队工具遭盗取腾讯安全已检测到数百个符合规则的利用样本

FireEye红队工具遭盗取,腾讯平安已检测到数百个合乎规定的利用样本 12月8日,美国网络安全公司 FireEye 官网博客发布公告称“本公司受到某政府黑客入侵,FireEye 用于检测客户平安防御能力的红队工具(Red Team Tool)被盗"。腾讯平安专家认为,本次泄露的红队工具(Red Team Tool)可能对政企机构网络安全带来重大挑战,腾讯平安团队已壁垒森严,随时筹备拦挡攻击者应用此类工具的歹意行为。 依据 FireEye 颁布的信息,被盗的红队工具包含用于主动侦察的简略脚本,相似于 CobaltStrike 和 Metasploit 等公开技术的整个框架,没有 0day 破绽。但“黑客应用全新技术窃取FireEye把握的平安工具套件,这可能成为寰球新一波攻打浪潮的终点。” Fireeye官网布告(https://www.fireeye.com/blog/...)机翻版截图如下: “翻译翻译”这段话,就是Fireeye布告说,“咱们是世界级的大牌平安公司,咱们很强,但可怜被业余黑客入侵了,咱们平时干活用的一些工具被黑客拿走了。这些工具可能被入侵者用来干坏事……“Fireeye公司已将这些工具的检测规定公开到Github:(https://github.com/fireeye/red_team_tool_countermeasures) 平安专家认为,该事件的危险性可比2016年黑客组织“影子经纪人”入侵另一个黑客组织“方程式组织”(Equation Group),而后将其攻打工具公之于众。这些被公开的工具包含来自美国国安局(NSA)的网络战武器,其中最驰名的是“永恒之蓝”系列破绽利用工具包,该事件迫使微软公司紧急公布多个安全更新。 2016年的这起攻打事件影响至今,4年来,这些被公开的、来自美国国安局(NSA)的网络战武器被成千上万的攻击者利用,制作了数不清的网络入侵毁坏事件,其中包含臭名远扬的WannaCry勒索蠕虫事件。至今仍有大量挖矿木马、勒索病毒攻击者会应用、携带这些工具对政企机构网络进行入侵浸透。 腾讯平安团队对此次Fireeye被入侵Red Team工具被盗事件高度关注,依据Fireeye公开的文件,在已泄露的红队工具武器库中,包含局部已知破绽利用工具。这些破绽利用工具,腾讯平安团队在相干破绽信息披露后均已具备检测能力。咱们已依据Fireeye公开的检测规定降级了腾讯平安全系列产品,目前已反对检测、进攻Fireeye红队工具歹意利用攻打。 依据Fireeye公开公布的检测规定,咱们已检测到具备这些特色的歹意样本241个,包含窃密工具、Windows/Linux平台后门、Loader、木马性能插件、钓鱼文档、破绽利用程序。 腾讯平安产品应答Fireeye红队工具泄露的检测清单如下: 注: FireEye是一家公开上市的美国网络安全公司,提供用于应答高级网络威逼的主动威逼取证及动静恶意软件防护服务,如高级持续性威逼(APT)和鱼叉式网络钓鱼(Spear phishing)。FireEye是第一家由美国疆土安全部颁发认证的网络安全公司,该公司曾多次披露世界各地与国家背景无关的业余黑客攻击流动。 IOCs MD5 b9c7deb0d1783c971f7eb9d08ad9c8c8 f4a4c34ce46490fec6ce00fedd1a4091 6065e2888e1d8dc6716cde626a7011ae 618e30a0f5aa6119ea7687399227e776 d6a69f04e8747428f7dab5b03b50e7fa e78cfa3c8c63eff71020f4f709321a2e 9cb1fa49d92d6473693acf507802bfae 055cda6fdd1816579192667d59b9bf63 1985ec69f39400e1c6acbe6f31d04906 ffb41e9ffd824784b6ab5f24fabcad14 91aeba7d239fb32ad596f86dfd0c283e 9cacdb4b14a94bff07ce9cde90f6680a d2be8c7ab64648efd20ea60defc8348f d6c86ad30833bf1705c66d7c39dc14f6 2744f6cd65f3224acc15da1f376c2c89 29889d4e0257fcb9b2115fbaf60a288d 826257e6b8b3c6ad16e80078ee9d8ead 37821cc1570359bffe8a39c232313be7 063a21668fac6562e947322855b1c8f8 18b4b628af390212182fc083946e0f92 8ec65a8e0267e9a2cb3305556daa394d 457af86f65e9a9cf90c8191970bc5024 b997b8b40e229a14d59bb50f95650558 bf18a516dae5567acaf57899085b3d26 c21667b26a69d1c59e34b7c72b213afc 6aa5a7cb62a32e13b36f66a30de55f64 2aa34871b1d36c01896968050c662d18 d507987ed2022e929ec5b43a002a8d6f e66f9d44e3eead16613ca5cf2f299f4d ...

December 10, 2020 · 3 min · jiezi

关于网络:网络QoS的平衡之道音视频弱网对抗策略介绍

作者:网易智企云信资深音视频引擎开发工程师 王兴鹤 随着AI和5G的到来,音视频利用将变得越来越宽泛,人们对音视频的品质需要也越来越高,视频分辨率曾经从高清倒退为超高清、VR,视频帧率也已呈现60fps、120fps等利用,交互式的利用对端到端延时也提出了更高的要求。与此同时,设施的硬件性能也突飞猛进。能够预感,随着5G的到来网络中传输的数据将会出现爆发式增长,大量数据将会给网络传输带来微小的挑战。因而,如何保障用户高品质的音视频体验?传输将会是一个重要环节。 网络中常见的问题有丢包、抖动、拥塞、延时。以下将别离介绍这些问题对视频体验带来的影响。 视频帧往往是拆成一个个分组包进行传输,当网络产生丢包时,接收端无奈胜利组帧,不仅影响这一帧的数据解码,从这一帧开始的整个GOP都将无奈解码显示,用户看到的画面将呈现卡顿,直到残缺的I帧达到接收端能力复原画面。 抖动同样是造成卡顿的杀手锏,抖动分为发送数据抖动、网络传输抖动、接管丢包复原抖动。在端到端全链路上,任何环节都会引入抖动而影响画面的流畅性。接收端的Jitter Buffer缓冲区负责打消抖动,提供稳固的解码帧率,然而Jitter Buffer是就义延时作为代价的。 网络产生拥塞时,音视频的播放状况将变得更加顽劣,拥塞造成的间接影响是突发丢包或者突发抖动,如果不及时预测拥塞的发送升高发送数据量,接收端将会呈现卡顿、延时大、画质差等等问题。 产生丢包、抖动、拥塞时往往会随同着延时的增大,ITU StandardG.114对延时的定义是,端到端延时大于400ms时绝大数的交互体验都将不能承受。 咱们用QoE示意用户在接收端的主观体验,而QoS是指通过一些量化指标掂量网络的传输品质并提供优质网络的服务。 那么反抗以上这些网络问题,QoS都有哪些武器呢? 1 FECFEC是罕用的抗丢包伎俩,又叫前向纠错码,是在发送端额定发送一些冗余数据,用于抵制网络丢包。当接收端检测到媒体数据产生丢包时,就能够利用接管到的冗余数据进行丢包复原。FEC的长处是丢包复原延时低,毛病是冗余数据占用额定带宽,在带宽受限场景会挤压视频原始码率,导致画量变低。影响FEC的丢包恢复能力除了冗余数据数量之外,还跟分组大小无关,分组越大,抗丢包能力越强,然而对应的丢包复原延时也会变大。 分组大小与抗丢包能力示意 FEC的编解码算法有XOR、RS等,掂量FEC算法的指标次要有计算性能、抗丢包能力、复原延时。其中基于柯西矩阵的RS(里德-所罗门码)是目前比拟风行的FEC算法。该算法联合适合的分组策略在以上三个指标上都有较好的体现。对于不同的利用场景也有不同的FEC算法有更好的体现,比方喷泉码、卷积码等等,喷泉码联合接收端反馈机制对无线信道等丢包稳定大的场景有较好的体现。 总的来说,FEC是一种用码率流量替换抗丢包能力的技术,相比重传FEC的长处是复原延时低。FEC技术的关键点是如何设计正当的冗余策略和分组大小,达到抗丢包能力、视频码率、复原延时三者的无效均衡。 2 丢包重传有别于FEC的抗丢包技术,重传不须要节约太多的码率,只有当接收端检测到丢包时通过反馈给发送端丢包信息(NACK)才进行相应数据的重传,接收端每隔1个RTT对同1个包发动重传申请,直到胜利接管到相应的数据包。重传最大的益处是码率利用率高,毛病是会引入额定的丢包复原抖动从而拉大延时,显然,网络RTT越大重传的复原成果越差。 思考到双向丢包的场景,对于同一个包,接收端能够以1/2 RTT距离发送重传申请,以应答重传申请包可能失落的状况。发送端对同一个seq的包响应距离依照RTT距离管制,避免重传码率过多节约。发送和接管依照以上距离解决重传申请和重传响应,能够在码率和抗丢包能力上达到无效的均衡,实现收益最大化。一个好的重传策略设计还须要思考是否须要容忍乱序,正当管制重传码率。 3 Jitter Buffer接管侧一个重要环节是Jitter Buffer。Jitter Buffer的作用是以最低的缓冲延时代价打消数据抖动,提供晦涩的播放帧率。因为视频是按帧解码播放,所以Jitter Buffer的延时计算也是按视频帧为最小计算单元,而不是按视频包,输出Jitter Buffer的参数是每一帧视频数据的抖动。造成帧抖动的因素有很多,有采集抖动、编码抖动、发送抖动、网络抖动、丢包修复引入的抖动等,总之,在解码之前的任何环节引入的数据抖动会汇总到Jitter Buffer模块解决抖动打消。 无效施展重传的抗丢包能力须要有Jitter Buffer的拉伸策略加以配合。因为重传只是保证数据可能达到接收端,此外接收端还须要有足够大的Jitter Buffer期待这些晚到的数据帧,否则即使重传达到接收端的数据因为滞后性起因将被抛弃。 重传联合Jitter Buffer拉伸策略是一种用延时替换抗丢包能力的技术,其中影响这种替换性价比的关键因素是RTT,RTT越小重传收益越大,反之收益越差,更多须要FEC实现抗丢包。 4 长期参考帧除了重传、FEC等惯例伎俩之外,长期参考帧技术即抉择参考帧技术,是一种网络模块和编码器独特配合实现的技术。在RTC场景下个别的编码参考策略是向前一帧参考,因为参考的间隔越近压缩成果越好,出于实时的思考编码只有I帧和P帧,没有B帧。而长期参考帧是一种可跨帧的参考帧抉择策略,这种策略突破了传统的向前一帧的参考的规定,能够更加灵便地抉择参考帧。 长期参考帧策略的目标是在有丢包的场景下,接收端不须要期待丢包复原也能持续显示画面,其最大的益处是低延时,不须要期待重传复原,然而带来了压缩率的就义,在雷同码率下体现为图像品质的就义,然而这种就义和收益的替换在某些场景下是值得的。此外,常态的长期参考帧技术在抵制突发丢包能力上有很大晋升,当网络忽然呈现丢包,FEC和重传的立刻复原成果个别是比拟差的,尤其是有根底RTT的网络。而长期参考帧能够饶过失落的帧,利用失落帧之后任何一个复原的帧进行解码显示,从而晋升突发丢包时的流畅性。 依据长期参考帧的特点和目标,实现长期参考帧技术利用须要有接收端侧反馈信息,编码器依据接收端反馈的帧信息抉择参考帧编码,在有丢包的场景下,接收端通过短时的帧率就义将很快复原画面。因为存在接管反馈,高RTT时反馈延时较大将会导致参考间隔变大,而参考间隔超出了编码器的编码缓冲限度将会导致编码找不到参考帧,所以长期参考帧比拟适宜低RTT场景。在多人会议场景中,上行人数太多也会制约长期参考帧的参考帧抉择。 综合来看,长期参考帧适宜1V1的通信场景,适宜低RTT随同丢包或者拥塞的弱网场景,这样的场景下长期参考帧比传统的向前一帧参考有更好的实时性和流畅性,同时联合重传和FEC的抗丢包奉献,其抗弱网能力将大大晋升。 5 大小流和SVC长期参考帧比拟适宜1V1的场景,而多人场景时,须要大小流和SVC发挥作用。 大小流是指上行同时传输两条不同分辨率的流,媒体服务器能够依据上行理论的带宽状况转发相应品质的流,如果带宽足够转发高质量的大流,带宽有余转发低质量的小流。这种大小流机制的益处如下: 1)无需调节源端码率就能向媒体服务器提供两种规格的视频码率; 2)在上行接收者有不同的带宽时,可灵便转发,防止只有一个编码源相互影响的状况。 SVC跟大小流的特点一样,区别在于SVC提供了不同帧率的可选规格,媒体服务能够抉择不同的SVC层进行转发,通过升高帧率达到降低码率的目标。 在带宽有余时,不同用户对清晰优先和晦涩优先的需要不一样,SVC和大小流提供了灵便的机制满足不同利用的需要。 6 场景差异化 咱们把咱们的利用场景简略地分为两大类,通信场景和直播场景。通信场景简略的比方视频会议、主播连麦交换,在线面试等等,这种交互性的利用场景对实时性要求较高,它的特点是低延时、晦涩优先。而直播场景比方主播直播卖货,老师在线授课,这种场景的特点是大部分工夫都是主播或者老师一个人在讲,因而它的特点是高延时、清晰优先。在这两种场景下有不同的策略偏向,通信场景更多的是用FEC,重传作为辅助,晋升实时性。直播场景更多是用重传,FEC作为辅助,晋升清晰度。 结束语 本文次要介绍了反抗弱网的根本QoS策略,除了以上技术之外还有很多模块波及到延时、清晰、晦涩三个维度的均衡。很少有一种技术能做到白璧无瑕,鱼和熊掌不可兼得,咱们要做的均衡策略就是舍短取长,趋利避害,在不同的网络条件下,不同的利用场景下,联合每种技术的本身特点,将其进行组合打出一套组合拳,实现受害最大化。

December 10, 2020 · 1 min · jiezi

关于网络:解读下一代网络算力网络正从理想照进现实

摘要:AI、5G时代下,下一代网络的倒退走向会如何?在往年召开的《面向2030的新型网络》主题论坛中,业内专家给出了它们的答案。研讨会中,专家对于将来网络瞻望的关键词是:算力网络、确定性网络、内生平安。这三个词别离代表了产业对“将来网络的新愿景、须要解决的新问题、面临的新挑战”。 其中,算力网络是2030网络最要害的特色(新愿景)。其实从2017年开始,产业内就开始钻研联接和计算的交融,之后又对下一代“联接+计算”的交融网络进行了瞻望,并逐步造成了2020年产业对“算力网络”的独特愿景。 从网络2020到2030,“联接+计算”成支流网络2020次要是“彩蝶架构”,其特色是无线RAN,光纤FAN两个超宽接入网,面向公众Internet骨干网和面向产业互联的DCI云骨干网,两头是交融的城域智能边缘。 现在,RAN接入从4G到5G,FAN从F4G到F5G,构建了面向集体和家庭的双千兆接入网,以及超宽的DCI云骨干网。 得益于“网络2020”的架构转型,在新冠肺炎疫情期间,Zoom和钉钉等胜利撑持了数亿用户居家视频办公,实现了网络从生产娱乐到近程视频办公能力的显著晋升。 围绕AI和行业数字化需要,业内心愿下一代网络可能具备从目前提供“带宽+机房”的服务晋升到“联接+计算”服务的新能力。 在ITU FG-2030工作组中,对网络2030的定位是“从联接人,到联接组织,到联接社会”,下一代网络的定位是成为联接将来社会、新通信业务和新基础设施的纽带。 智能社会须要算力网络随着AI的呈现和CPU处理器解决能力的大幅晋升,机器算力曾经逐步迫近、甚至超过人类脑力。从引入机器大脑开始,人类就曾经进入了“智能社会”。 但智能社会也存在三个阶段,从以后人脑指挥机脑的初级阶段,到人机协同阶段,再到将来人脑制订规定机脑自主执行的全息化“智能社会”。 在智能社会的演进中,对下一代网络的基础设施、通信能力也提出了新的要求。 将来社会将产生海量数据:全息智能社会和传统社会最大的区别在于各种感知终端将产生海量的原始数据,须要进行解决。 据无关预测,在人机协同阶段,来自大量IoT和视频采集信号的数据,将须要至多千兆的网络接入能力。在全息化阶段,如果须要将人的外观、触感、嗅觉、味觉等信息进行全息传送,未压缩数据就须要4Tbps,即便压缩后也须要至多百G的接入带宽。 数据处理须要网络化算力新基础设施:智能社会产生的海量数据都须要大量的算力进行解决,依据罗兰贝格的预测,各行各业对于算力的需要将呈现高速的增长,从2018年到2030年,主动驾驶对算力的需要将减少390倍,智慧工厂需要将增长110倍,次要国家人均算力需要将从明天有余500GFLOPS,到2035年减少到10000 GFLOPS。 终端算力在超过128核之后,经济性将面临瓶颈,云数据中心受到传输带宽老本和时延的影响,边缘算力将成为撑持智能社会海量数据处理的要害一环。 5G/WiFi6/F5G关上了数据的水龙头,解决数据的三级载体云数据中心、边缘计算、智能终端将组成网络化算力新型基础设施。 新通信将为全社会提供智能服务:网络带给社会的价值就是其承载的业务,以前网络帮忙人们建设了沟通渠道,承载了通信服务;明天网络联接了端和云,带给人们丰盛的内容,承载了内容服务;将来面向智能社会,网络将联接云、边、端,将海量数据传输到网络化算力基础设施,为万物带来智能。 其中,智能服务与内容服务对网络的要求不同,智能服务的流量流向将以上行为主,边缘解决为主,须要网络具备更大的上行带宽能力,对实时性要求更高,网络须要“确定性保障”。内容服务对实时性要求不高,网络仅需“尽力而为”。 思考到将来社会须要给万物带来智能服务,所以算力网络须要满足以下三个个性: 算力网络要撑持海量数据的接入,将来10年须要从千兆到百G超宽带,IP和光要撑持百倍的容量晋升,云节点通过核心+边缘分布式撑持百倍容量的增长,边缘计算将分担数据中心和终端的算力增长有余。 算力网络要联接云、边、端网络化算力基础设施,构建专业化、弹性的算力资源池,撑持百倍增长的高效数据处理能力。 算力网络要反对算网协同,可能感知业务算力需要,为数据到算力提供最优路由和可信服务,并通过IPV6协定扩大,实现一个物理网络与多个虚构网络对立治理,向上感知智能业务,向下感知网络资源,实现算力效率的进一步晋升,并可能在网络资源有余状况下,为业务提供差异化SLA服务。 算力网络钻研减速,业内公布最新成绩2020年产业对算力网络的钻研进入了一个新的阶段,目前算力网络相干规范曾经立项,包含ITU-T 5项、MEF 1项、ETSI 1项、CCSA 2项,并在网络5.0联盟(TC614)成立了算力网络特地工作组。 今年年底,产业也相继公布了最新的研究成果。 联通在《算力网络架构与技术体系白皮书》中提到,目前SDN曾经实现了云和网的拉通特地是专线等级的连贯,NFV实现了核心网性能的全面云化。然而目前SDN与NFV的部署个别互相独立,各自自成体系。联合5G、 泛在计算与AI的发展趋势,以算力网络为代表的云网交融2.0时代正在疾速到来。 云网交融2.0是在云网交融1.0根底上,强调联合将来业务状态的变动,在云、网、芯三个层面继续推动研发,联合“利用部署匹配计算,网络转发感知计算,芯片能力加强计算”要求,实现 SDN 和 NFV 的深度协同。 联通定义的“算力网络体系架构”是指在计算能力一直泛在化发展的根底上,通过网络伎俩将计算、存储等根底资源在云-边-端之间进行无效调配的形式,以此晋升业务服务质量 和用户的服务体验的计算与网络交融思路架构。 挪动在《泛在计算服务白皮书》中将“泛在计算”定义为“通过自动化、智能化调度,人们可在任何工夫任何地点无感知的将计算(算力、存储、网络等)需要与云-边-端多级计算服务能力连贯适配,通过多方算力贡献者和消费者独特参加,实现算力从产生、调度、交易到生产的闭环,实现算网一体、算随人选、算随人动的可信共享计算服务模式”。其具备四个次要特色:算网交融,算随人选,算随人动,可信共享。 电信提出“网络是边缘计算的外围能力之一”,倡议以边缘计算为核心,从新扫视和划分对应的网络基础设施,并将网络划分为ECA(边缘计算接入网络),ECN(边缘计算外部网络),ECI(边缘计算互联网络)。其中,算力网络是联接与计算深度交融的产物,通过成熟牢靠、超大规模的网络管制面(分布式路由协定、集中式控制器等)实现计算、存储、传送资源的散发、关联、交易与调配。并将网络架构划分为“利用资源寻址”,“算法资源寻址”和“根底资源寻址”三层,实现多维度资源的关联、寻址、交易和调配等。 实现“联接+计算”的服务化,首先是要构建SLA量化分级体系,联通与华为实现了《面向业务体验的算力需求量化与建模钻研报告》,信通院公布了《5G切片端到端SLA需要钻研报告》,别离对计算和联接的服务量化分级给出了倡议。 5G+AI是行业倒退业务的关注点,也是算力网路的最佳试验田,在第三届“绽开杯”参赛的4289个我的项目中,有55%的我的项目与AI相干,边缘计算的使用率也达到了49%。 算力网络还需构建两个要害能力计算和联接分级量化只是算力网络落地的终点,面向社会提供泛在算力服务还须要实现AI设计自动化,缩小面向企业提供服务过程中须要高级专家的参加的问题,这须要解决两个技术挑战:从数据到算法的AI利用算法的自动化设计工具、从AI利用到联接+计算资源的“AI应用环境(联接+计算)主动布局工具”。 如果把AI利用场景划分为设计态和运行态,这两个关键技术都属于设计态的工作,目前的算力网络技术架构中对运行态思考比拟充沛,但对设计态则比拟欠缺。 AI利用的自动化设计工具:相似电商平台的“千人千面”引擎,能够基于企业提供的数据和需要,主动实现算法举荐和超参数调优,外围是让非AI领域专家也能够主动构建AI应用程序。 近年来,深度学习在各个领域失去了利用,在图像分类、物体检测、语言建模等畛域,都失去了利用。因为AlexNet在2012年ImageNet大型视觉辨认挑战赛(ILSVRC)中超过了所有其余传统的手动办法,因而越来越简单和深度的神经网络被提出来。例如,VGG-16有1.3亿多个参数,占用近500 MB的内存空间,解决一张224×224大小的图像须要153亿次浮点运算。 然而,值得注意的是,这些模型都是由专家通过试错和手工设计的,这意味着即便是AI专家也须要大量的资源和工夫来创立性能良好的模型。为了升高这些沉重的开发成本,近年来呈现了将机器学习(ML)流水线自动化的新思路,即主动机器学习(Automatic Machine Learning)。 AutoML设计的目标是缩小对数据科学家的需要,使非AI领域专家也可能主动构建ML应用程序,而不须要过多的统计和ML常识。主动机器学习(Automated Machine Learning, AutoML)成为无需人工干预的DL零碎的一种有心愿的解决方案,当初越来越多的研究者开始关注AutoML。 AI应用环境(联接+计算)主动布局工具:依据算法和客户数据处理的实时性需要,主动合成出须要的算力(TOPS),存储,网络带宽和时延的要求。这个软件相似网络布局工具,区别是要把“计算和联接”资源一体化思考,客户能够在设计前减少一些约束条件,比方带宽,时延束缚等。 商业上为了进一步简化,能够参考信通院《5G切片端到端SLA行业需要钻研报告》的分级思路,将联接需要映射到带宽、时延等几个等级,计算能够参考CCSA TC1《面向业务体验的算力需求量化与建模钻研报告》将算力需要映射到算力、存储等几个等级: ...

November 23, 2020 · 1 min · jiezi

关于网络:好家伙我直接好家伙原来吴承恩这厮是个程序员

前言这是一个无关计算机网络协定的故事。一家之言,不用当真,欢送进群973961276交换,并且每个礼拜都会有抽奖送书的流动哦! - 一、我佛造经传极乐 话说我佛如来为度化天下苍生,有三藏真经,可劝人为善。 就如图中所示,真经所藏之处,在于云端。佛祖所管辖之下,有四个区域Region,称为四大部洲, 一是东胜神洲,二是南赡部洲,三是西牛贺洲,四是北俱卢洲。 我佛所在西牛贺洲,是主站点。 在每个区域Region,为保障真经永固,设置多个藏经楼,称为可用区(Available Zone)。 每个藏经楼外面是一排一排的柜子,称为机柜,外面有一排一排的格子,称为服务器,经文就摆放在格子中。 在藏经楼中,柜子依据经文分门别类的组织起来,由不同的神仙进行治理,治理一个柜子的经文的神仙,拜访这外面经文的钥匙就在他手里,称为接入层神仙(接入层交换机)。 多个接入层神仙被一组汇聚层神仙(汇聚层交换机)管着,多个汇聚层的神仙被一组核心层神仙(外围交换机)管着。 神仙体系组织严格,层次分明,不同的接入层神仙替换经文,要通过汇聚层神仙批准,不同的汇聚层神仙替换经文,须要核心层神仙批准。 经文的看管要十拿九稳,因此每一层都是分组看护,互相监督,相互备份,称为重叠。 虽说每个柜子外面放满了经文,为了避免经文被偷听偷看,经文的内容是被仙术封装在一个虚构的私密空间外面,尽管有人可能会偷到物质的经文,然而没有仙术关上这个私密空间,看到的经文如同空白的一样。这个虚构的私密空间称为VPC。 要解读经文,须要应用每一格中一个不起眼的法宝,就是称为Openvswitch的虚构交换机,顾名思义就是起到经文在虚构私密空间和物理空间之间的转换作用。 Openvswitch如何转换呢?应用的是一种称为VXLAN的封装技术,然而必须要当时晓得芝麻开门的ID,也即VXLAN ID,能力看到经文的真正内容。 在虚构的空间中,放着真正能够解读的真经。 真经有法一藏,谈天;论一藏,说地;经一藏,度鬼;三藏共计三十五部,该一万五千一百四十四卷,乃是修真之径,正善之门。 看来曾经前中后盾拆散,分为根底服务层,组合服务层,Controller层,共三十五个模块,一万五千多个服务,真是微服务架构啊。 如何可能不要迷失在这个一万五千卷经文中,也是很有挑战的事件,须要一个索引和指南,这就是常说的RPC框架和服务注册与发现核心。 为了不便诸多僧侣前来取经,灵山脚下会有一个对立的入口地址,这里有一个神仙,称为金顶大仙,专门来接应取经人的。 因为前来取经的人很多,同时经文也很多,所以金顶大仙多起到负载平衡的作用,将不同的取经人引领到不同的藏经楼,拜访不同的经文。 金顶大仙所在的灵山脚下,是一个世界出名的地址,称为外网IP地址,这个地址是寰球可定位的,所有的取经人都先到这个中央,金顶大仙通过NAT规定,将外网IP地址,变成藏经楼的公有IP地址,例如2号藏经楼三楼,4号藏经楼五楼等。在灵山藏经楼外面,是通过公有IP地址定位的。 真经曾经筹备好,就差东土取经人了。 - 二、观音奉旨上长安可是佛祖愁啊,是这样说的:我待要送上东土,叵耐那方众生愚昧,毁谤真言,不识我法门之要旨,怠慢了瑜迦之正宗。怎么得一个有法力的,去东土寻一个善信.教他苦历千山,远经万水,到我处求取真经,永传东土,劝他众生,却乃是个山大的福缘,海深的善庆、谁肯去走一遭来? 真经就在灵山,能够东土之人迟钝,不晓得灵山咋办呢?要一个法力无边的人通知他们呀。而且最好可能通知全世界,灵山这里有真经。 好在有观音菩萨,道:“弟子不才,愿上东土寻一个取经人来也。”,观音菩萨有什么法力呢?当然是BGP协定了。 方才那张图画的是一个可用区的状况,对于多个可用区的状况,咱们能够隐去计算节点的状况,将外网拜访区域放大。 外网IP是放在虚构网关的外网网口上的,这个IP如何让全世界晓得呢?在外围替换里面是安全设备,而后就是边界路由器。边界路由器会和多个运营商连贯,从而每个运营商都可能拜访到这个网站。边界路由器能够通过BGP协定,将本人数据中心外面的外网IP向外播送,也就是通知全世界,如果要拜访这些外网IP,都来我这里。 每个运营商也有很多的路由器、很多的点,于是就能够将如何达到这些IP地址的路由信息,播送到全国乃至全世界。 厉害吧,这是我佛如来通知观音菩萨的:“这一去。要踏看路道,不许在霄汉中行,须是要半云半雾;目过山水,谨记程途远近之数,叮咛那取经人。“ 就是说你去东土的路上,通过了哪些路线,要记住门路,要记住远近,能力通知取经人这一路应该怎么走。 - 三、玄奘秉诚建大会当观音菩萨来到东土大唐,正看到玄奘法师正坐在高台上,率领众人诵经,念一会《受生度亡经》,谈一会《安邦天宝篆》,又宣一会《劝修功卷》。 菩萨近前来,叫道:“那和尚,你只谈判小乘教法,可谈判大乘么?”玄奘闻言,心中大喜,翻身跳上台来,对菩萨起手道:“老师父,弟子失瞻,多罪。见前的盖众僧人,都讲的是小乘教法,却不知大乘教法如何。”菩萨道:“你这小乘教法,度不得亡者超升,只可浑俗和光而已。我有大乘佛法三藏,能超亡者升天,能度难人脱苦,能修无穷寿身,能作无来无去。” 你看,在西方极乐净土,我佛曾经有了更牛的佛经,边远的西方,还在读外乡的僧人晚期从东方传过来的经。 这种模式,称为CDN。 咱们部署利用的时候,个别会把动态资源保留在两个中央,一个是nginx前面的varnish缓存外面,个别是动态页面;对于比拟大的、不常常更新的动态图片,会保留在对象存储外面。这两个中央的动态资源都会配置CDN,将资源下发到边缘节点。 最后佛祖传经,都是口口相传,经文都会记在高僧大德的心里,随着高僧云游天下,随着庙宇遍布天下,佛经从而遍布天下。这就相当于将佛经缓存在边缘节点。 配置了CDN之后,权威DNS服务器上,会为动态资源设置一个CNAME别名,指向另外一个域名cdn.com,返回给本地DNS服务器。 当本地DNS服务器拿到这个新的域名时,须要持续解析这个新的域名。这个时候,再拜访的时候就不是原来的权威DNS服务器了,而是 cdn.com 的权威DNS服务器。这是CDN本人的权威DNS服务器。 在这个服务器上,还是会设置一个CNAME,指向另外一个域名,也即CDN网络的全局负载均衡器。 本地DNS服务器去申请CDN的全局负载均衡器解析域名,全局负载均衡器会为用户抉择一台适合的缓存服务器提供服务,将IP返回给客户端,客户端去拜访这个边缘节点,下载资源。缓存服务器响应用户申请,将用户所需内容传送到用户终端。 如果这台缓存服务器上并没有用户想要的内容,那么这台服务器就要向它的上一级缓存服务器申请内容,直至追溯到网站的源服务器,将内容拉到本地。 CDN的全局负载平衡策略,就相当于当僧人们想读佛经的时候,不必要都去西天,而是能够就近去问,四周有没有庙宇,而后向庙宇的徒弟去求教佛经。 然而缓存的佛经当然是比不上西天取到的经文更新,所以东土因为离西天较远,缓存的还是小乘佛教,要读大乘佛教,就要去西天取经,称为回源。 - ...

November 23, 2020 · 2 min · jiezi