这是一个有关计算机网络协议的故事

一、我佛造经传极乐

       

话说我佛如来为度化天下苍生,有三藏真经,可劝人为善。

就如图中所示,真经所藏之处,在于云端。佛祖所管辖之下,有四个区域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的全局负载均衡策略,就相当于当僧人们想读佛经的时候,不必要都去西天,而是可以就近去问,周围有没有庙宇,然后向庙宇的师傅去请教佛经。

然而缓存的佛经当然是比不上西天取到的经文更新,所以东土由于离西天较远,缓存的还是小乘佛教,要读大乘佛教,就要去西天取经,称为回源。

四、观音显像化金蝉

观音菩萨打算度化玄奘法师,回源去西天取经。

可是怎么去呢,地址在哪里呢?玄奘法师只听说西天,不知道具体的地址,这就要问观音菩萨了。

这个时候,大家才知道,西天在灵山大雷音寺,距此十万八千里。

这个过程称为DNS解析。

当在手机上面打开一个App的时候,首先要做的事情就是解析这个网站的域名。

在手机运营商所在的互联网区域里,有一个本地的DNS,手机会向这个DNS请求解析DNS。当这个DNS本地有缓存,则直接返回;如果没有缓存,本地DNS才需要递归地从根DNS服务器,查到.com的顶级域名服务器,最终查到权威DNS服务器。

如果你使用云平台的时候,配置了智能DNS和全局负载均衡,在权威DNS服务中,一般是通过配置CNAME的方式,我们可以起一个别名,例如 vip.yourcomany.com ,然后告诉本地DNS服务器,让它请求GSLB解析这个域名,GSLB就可以在解析这个域名的过程中,通过自己的策略实现负载均衡。

GSLB通过查看请求它的本地DNS服务器所在的运营商和地址,就知道用户所在的运营商和地址,然后将距离用户位置比较近的Region里面,将三个本地负载均衡的公网IP地址,返回给本地DNS服务器。本地DNS解析器将结果缓存后,返回给客户端。

对于手机APP来说,可以绕过刚才的传统DNS解析机制,直接只要HTTPDNS服务,通过直接调用HTTPDNS服务器,得到这三个本地负载均衡的公网IP地址。

这个公网IP地址,就是金顶大仙所在的位置。其实这个时候,金顶大仙已经在等待了。

这个时候,李世民突然开始说话了,曰:“谁肯领朕旨意,上西天拜佛求经?“ 并愿意买下观音手中的两件宝物,“锦澜袈裟”一领,“九环锡杖”一根,佛祖说过:”若有取经人坚心来此,穿我的袈裟,免堕轮回;持我的锡枚,不遭毒害。“

玄奘法师回答:“贫僧不才,愿效犬马之劳,与陛下求取真经,祈保我王江山永固。”

这个时候,菩萨说了:“西天路远,更多虎豹妖魔。只怕有去无回,难保身命。”

玄奘道:“我已发了弘誓大愿,不取真经,永堕沉沦地狱。“

其实这里的对话是很有意思的,玄奘法师回复李世民的和回复观音菩萨的不同。

这个时候,李世民作为世俗的君王,已经想求取真经了,也就是东土大唐作为客户端,要发起对于服务端的请求了。但是玄奘法师知道,唐王李世民去取经,求的是江山永固。所以李世民的请求是应用层的,发起的是HTTP的协议,在HTTP的请求正文中,怕是写的“江山永固”四个字。

而玄奘法师回复观音菩萨的时候,说的就不同了,是一种对于真经和佛法本身的坚持。所以玄奘法师是TCP层的,TCP是面向连接的,TCP 是靠谱的协议,但是这不能说明它面临的网络环境好。从 IP 层面来讲,如果网络状况的确那么差,手机号码买号平台是没有任何可靠性保证的,而作为 IP 的上一层 TCP 也无能为力,唯一能做的就是更加努力,不断重传,通过各种算法保证。也就是说,对于 TCP 来讲,IP 层你丢不丢包,我管不着,但是我在我的层面上,会努力保证可靠性。

这一点在流沙河有了验证。观音菩萨度化沙悟净的时候,沙悟净说:“菩萨,我在此间吃人无数,向来有几次取经人来,都被我吃了。凡吃的人头,抛落流沙,竟沉水底(这个水,鹅毛也不能浮),惟有九个取经人的骷髅,浮在水面,再不能沉。我以为异物,将索儿穿在一处,闲时拿来顽耍,这去,但恐取经人不得到此,却不是反误了我的前程也?”菩萨日:“岂有不到之理?你可将骷髅地挂在头顶下,等候取经入,自有用处。”

所以沙悟净脖子上这九个骷髅,是唐三藏的前九辈子,一旦吃了,就不断的重试。

为了能够实现重试,实现TCP的可靠性,客户端和服务器需要建立连接。

       

     

HTTPS协议是基于TCP协议的,因而要先建立TCP的连接。在这个例子中,TCP的连接是从手机上的App和负载均衡器SLB之间的。也就是唐僧和金顶大仙之间,到了金顶大仙,就不怕了,会指引到佛祖那里的。

尽管中间要经过很多的路由器和交换机,但是TCP的连接是端到端的。

TCP这一层和更上层的HTTPS无法看到中间的包的过程。尽管建立连接的时候,所有的包都逃不过在这些路由器和交换机之间的转发,转发的细节我们放到那个下单请求的发送过程中详细解读,这里只看端到端的行为。

对于TCP连接来讲,需要通过三次握手建立连接,为了维护这个连接,双方都需要在TCP层维护一个连接的状态机。

一开始,客户端和服务端都处于CLOSED状态。服务端先是主动监听某个端口,处于LISTEN状态。然后客户端主动发起连接SYN,之后处于SYN-SENT状态。服务端收到发起的连接,返回SYN,并且ACK客户端的SYN,之后处于SYN-RCVD状态。

客户端收到服务端发送的SYN和ACK之后,发送ACK的ACK,之后处于ESTABLISHED状态。这是因为,它一发一收成功了。服务端收到ACK的ACK之后,处于ESTABLISHED状态,因为它的一发一收也成功了。

当TCP层的连接建立完毕之后,接下来轮到HTTPS层建立连接了,在HTTPS的交换过程中,TCP层始终处于ESTABLISHED。

对于HTTPS,客户端会发送Client Hello消息到服务器,用明文传输TLS版本信息、加密套件候选列表、压缩算法候选列表等信息。另外,还会有一个随机数,在协商对称密钥的时候使用。

然后,服务器会返回Server Hello消息,告诉客户端,服务器选择使用的协议版本、加密套件、压缩算法等。这也有一个随机数,用于后续的密钥协商。

然后,服务器会给你一个服务器端的证书,然后说:“Server Hello Done,我这里就这些信息了。”

客户端当然不相信这个证书,于是你从自己信任的CA仓库中,拿CA的证书里面的公钥去解密电商网站的证书。如果能够成功,则说明电商网站是可信的。这个过程中,你可能会不断往上追溯CA、CA的CA、CA的CA的CA,反正直到一个授信的CA,就可以了。

其实观音菩萨手里的锡杖和袈裟,就相当于佛祖办法的证书,保证西行路上的安全,玄奘法师这个网络包别被别人吃了,或者篡改。

就像误入小雷音一集中,白眉老佛想吃了唐僧肉,自己披上袈裟,西天取经,求得正果。

当然,一开始观音菩萨拿出锡杖和袈这个证书的时候,大家也不相信,所以需要观音菩萨现出真身,作为CA,证明给客户端,唐王李世民和玄奘法师才下拜。

证书验证完毕之后,觉得这个服务端是可信的,于是客户端计算产生随机数字Pre-master,发送Client Key Exchange,用证书中的公钥加密,再发送给服务器,服务器可以通过私钥解密出来。

接下来,无论是客户端还是服务器,都有了三个随机数,分别是:自己的、对端的,以及刚生成的Pre-Master随机数。通过这三个随机数,可以在客户端和服务器产生相同的对称密钥。

有了对称密钥,客户端就可以说:“Change Cipher Spec,咱们以后都采用协商的通信密钥和加密算法进行加密通信了。”

然后客户端发送一个Encrypted Handshake Message,将已经商定好的参数等,采用协商密钥进行加密,发送给服务器用于数据与握手验证。

同样,服务器也可以发送Change Cipher Spec,说:“没问题,咱们以后都采用协商的通信密钥和加密算法进行加密通信了”,并且也发送Encrypted Handshake Message的消息试试。

当双方握手结束之后,就可以通过对称密钥进行加密传输了。

五、唐王素酒送三藏

玄奘这个网络包要发出了。

太宗设朝,聚集文武,要去送行。李世民送给玄奘三个东西。

上一节说了太宗是应用层,关注保大唐江山永固,玄奘是TCP层,要通过坚定的意志到达西天。

李世民给的第一个东西是通关文牒,这个是IP层的,将来要通过这个文牒通过一个个城关。

第二个东西是紫金钵盂,这个用于玄奘法师到了某个城市里面化斋,同时打听路的时候使用,这个是一个MAC层的。

第三个东西是白马一匹,作为远程脚力,这个是物理层的。

最后,太宗敬了玄奘一杯素酒,言道:宁恋本乡一捻土,莫爱他乡万两金。三藏方悟捻土之意,复谢恩饮尽,辞谢出关而去。

当客户端和服务端之间建立了连接后,接下来就要发送下单请求的网络包了。

在用户层发送的是HTTP的网络包,因为服务端提供的是RESTful API,因而HTTP层发送的就是一个请求。

POST /purchaseOrder HTTP/1.1
Host: www.geektime.com
Content-Type: application/json; charset=utf-8
Content-Length: nnn{"order": {"date": "2018-07-01","className": "趣谈网络协议","Author": "刘超","price": "68"}
}

HTTP的报文大概分为三大部分。第一部分是请求行,第二部分是请求的首部,第三部分才是请求的正文实体。

在请求行中,URL就是 www.geektime.com/purchaseOrder ,版本为HTTP 1.1。

请求的类型叫作POST,它需要主动告诉服务端一些信息,而非获取。需要告诉服务端什么呢?一般会放在正文里面。正文可以有各种各样的格式,常见的格式是JSON。

请求行下面就是我们的首部字段。首部是key value,通过冒号分隔。

Content-Type是指正文的格式。例如,我们进行POST的请求,如果正文是JSON,那么我们就应该将这个值设置为JSON。

接下来是正文,这里是一个JSON字符串,里面通过文本的形式描述了,要买一个课程,作者是谁,多少钱。

这样,HTTP请求的报文格式就拼凑好了。接下来浏览器或者移动App会把它交给下一层传输层。

怎么交给传输层呢?也是用Socket进行程序设计。如果用的是浏览器,这些程序不需要你自己写,有人已经帮你写好了;如果在移动APP里面,一般会用一个HTTP的客户端工具来发送,并且帮你封装好。

HTTP协议是基于TCP协议的,所以它使用面向连接的方式发送请求,通过Stream二进制流的方式传给对方。当然,到了TCP层,它会把二进制流变成一个的报文段发送给服务器。

在TCP头里面,会有源端口号和目标端口号,目标端口号一般是服务端监听的端口号,源端口号在手机端,往往是随机分配一个端口号。这个端口号在客户端和服务端用于区分请求和返回,发给那个应用。

在IP头里面,都需要加上自己的地址(即源地址)和它想要去的地方(即目标地址)。当一个手机上线的时候,PGW会给这个手机分配一个IP地址,这就是源地址,而目标地址则是云平台的负载均衡器的外网IP地址。

在IP层,客户端需要查看目标地址和自己是否是在同一个局域网,计算是否是同一个网段,往往需要通过CIDR子网掩码来计算。

对于这个下单场景,目标IP和源IP不会在同一个网段,因而需要发送到默认的网关。一般通过DHCP分配IP地址的时候,也会同时配置默认网关的IP地址。

但是客户端不会直接使用默认网关的IP地址,而是发送ARP协议,来获取网关的MAC地址,然后将网关MAC作为目标MAC,自己的MAC作为源MAC,放入MAC头,发送出去。

一个完整的网络包的格式是这样的。

       

     

接下来,网络包就正式发出了。

如果你是用手机打开APP,下单购物发送网络包,一般通过手机运营商的网络。

       

     

客户的手机开机以后,在附近寻找基站eNodeB,发送请求,申请上网。基站将请求发给MME,MME对手机进行认证和鉴权,还会请求HSS看有没有钱,看看是在哪里上网。

当MME通过了手机的认证之后,开始建立隧道,建设的数据通路分两段路,其实是两个隧道。一段是从eNodeB到SGW,第二段是从SGW到PGW,在PGW之外,就是互联网。

PGW会为手机分配一个IP地址,手机上网都是带着这个IP地址的。

对于手机来讲,默认的网关在PGW上。在移动网络里面,从手机到SGW,到PGW是有一条隧道的。在这条隧道里面,会将上面的这个包作为隧道的乘客协议放在里面,外面SGW和PGW在核心网机房的IP地址。网络包直到PGW(PGW是隧道的另一端)才将里面的包解出来,转发到外部网络。

所以,从手机发送出来的时候,网络包的结构为:

  • 源MAC:手机也即UE的MAC;

  • 目标MAC:网关PGW上面的隧道端点的MAC;

  • 源IP:UE的IP地址;

  • 目标IP:SLB的公网IP地址。

进入隧道之后,要封装外层的网络地址,因而网络包的格式为:

  • 外层源MAC:E-NodeB的MAC;

  • 外层目标MAC:SGW的MAC;

  • 外层源IP:E-NodeB的IP;

  • 外层目标IP:SGW的IP;

  • 内层源MAC:手机也即UE的MAC;

  • 内层目标MAC:网关PGW上面的隧道端点的MAC;

  • 内层源IP:UE的IP地址;

  • 内层目标IP:SLB的公网IP地址。

当隧道在SGW的时候,切换了一个隧道,为从SGW到PGW的隧道,因而网络包的格式为:

  • 外层源MAC:SGW的MAC;

  • 外层目标MAC:PGW的MAC;

  • 外层源IP:SGW的IP;

  • 外层目标IP:PGW的IP;

  • 内层源MAC:手机也即UE的MAC;

  • 内层目标MAC:网关PGW上面的隧道端点的MAC;

  • 内层源IP:UE的IP地址;

  • 内层目标IP:SLB的公网IP地址。

在PGW的隧道端点将包解出来,转发出去的时候,一般在PGW出外部网络的路由器上,会部署NAT服务,将手机的IP地址转换为公网IP地址,当请求返回的时候,再NAT回来。

因而在PGW之后,相当于做了一次欧洲十国游型的转发,网络包的格式为:

  • 源MAC:PGW出口的MAC;

  • 目标MAC:NAT网关的MAC;

  • 源IP:UE的IP地址;

  • 目标IP:SLB的公网IP地址。

在NAT网关,相当于做了一次玄奘西游型的转发,网络包的格式变成:

  • 源MAC:NAT网关的MAC;

  • 目标MAC:A2路由器的MAC;

  • 源IP:UE的公网IP地址;

  • 目标IP:SLB的公网IP地址。

在手机运营商的网络里面,网络状况是比较好的。

对于玄奘法师,在大唐国境之内,还是比较平安的。原文说:们行了数日,到了巩州城。早有巩州合属官吏人等,迎接入城中。安歇一夜,次早出城前去。一路饥餐渴饮,夜住晓行,两三日,又至河州卫。早有镇边的总兵与本处僧道,闻得是钦差御弟法师上西方见佛,无不恭敬,接至里面供给了,着僧纲请往福原寺安歇。本寺僧人,一一参见,安排晚斋。斋毕,吩咐二从者饱喂马匹,天不明就行。

真的是有接有送。

行经半日,只见对面处,有一座大山,真个是高接青霄,崔巍险峻。此山唤做两界山,东半边属我大唐所管,西半边乃是鞑靼的地界。过了这座山,就不是大唐的土地了。

六、历经千山与万险

离开大唐的国土,接下来的路应该怎么走呢?

好在此去西天,要经过一个个国家,每个国家有一个个城关,玄奘法师只要到处问路,只要这些城关的守门人知道大概路怎么走,就能一个个国家的走下去,如果遇到国家,还有通关文牒,还能保护玄奘法师在国内的安全。

这里有两个问题要解决,第一个是每个城关的守门人和每个国家,是怎么知道去西天怎么走的。第二个问题是玄奘如何问路,如何走。

我们先第一个问题,这个观音菩萨从西天来东土的时候,已经通过一种法术告诉这些国家和城关了。

菩萨的法术主要分两种情况,一种情况是在一个国家内部如何走,另一种情况在国家之间,在野外如何走的问题。

在一个国家内部,菩萨主要遵循最短路径原则,就是走得路越少越好,道路越短越好。

但是国家之间,菩萨不但要考虑远近的问题,还要考虑政策的问题。例如有的国家路近,但是路过的国家看不惯僧人,见了僧人就抓。例如灭法国,连光头都要抓。这样的情况即便路近,也最好绕远点走。

菩萨的法术是什么呢?咱们在大学里面学习计算机网络与数据结构的时候,知道求最短路径常用的有两种方法,一种是 Bellman-Ford 算法,一种是 Dijkstra 算法。在计算机网络中基本也是用这两种方法计算的。

距离矢量路由(distance vector routing),它是基于 Bellman-Ford 算法的。

链路状态路由(link state routing),基于 Dijkstra 算法。

最常用的两种路由协议:

OSPF(Open Shortest Path First,开放式最短路径优先)就是这样一个基于链路状态路由协议,广泛应用在数据中心中的协议,称为内部网关协议(Interior Gateway Protocol,简称IGP)

BGP 协议使用的算法是路径矢量路由协议(path-vector protocol)。它是距离矢量路由协议的升级版,称为外网路由协议(Border Gateway Protocol,简称BGP)

路由协议是城关之间相互沟通到哪里应该怎么走的协议。

第二个问题,也就是玄奘如何问路,如何走。这就是IP协议。

这就要靠通关文牒了,里面写着贫僧来自东土大唐(就是源IP地址),欲往西天拜佛求经(指的是目标IP地址)。路过宝地,借宿一晚,明日启行,请问接下来该怎么走啊?

在解决第一个问题的时候,每个城关已经通过菩萨的法术,和邻近的城关进行沟通,知道了下面的信息。

这个叫路由表,根据这个表格,可以告诉唐僧怎么走。

接下来我们看完整故事。

       

     

出了NAT网关,就从核心网到达了互联网。在网络世界,每一个运营商的网络成为自治系统AS。每个自治系统都有边界路由器,通过它和外面的世界建立联系。

对于云平台来讲,它可以被称为Multihomed AS,有多个连接连到其他的AS,但是大多拒绝帮其他的AS传输包。例如一些大公司的网络。对于运营商来说,它可以被称为Transit AS,有多个连接连到其他的AS,并且可以帮助其他的AS传输包,比如主干网。

如何从出口的运营商到达云平台的边界路由器?在路由器之间需要通过BGP协议实现,BGP又分为两类,eBGP和iBGP。自治系统间,边界路由器之间使用eBGP广播路由。内部网络也需要访问其他的自治系统。

边界路由器如何将BGP学习到的路由导入到内部网络呢?通过运行iBGP,使内部的路由器能够找到到达外网目的地最好的边界路由器。

网站的SLB的公网IP地址早已经通过云平台的边界路由器,让全网都知道了。于是这个下单的网络包选择了下一跳是A2,也即将A2的MAC地址放在目标MAC地址中。

到达A2之后,从路由表中找到下一跳是路由器C1,于是将目标MAC换成C1的MAC地址。到达C1之后,找到下一跳是C2,将目标MAC地址设置为C2的MAC。到达C2后,找到下一跳是云平台的边界路由器,于是将目标MAC设置为边界路由器的MAC地址。

你会发现,这一路,都是只换MAC,不换目标IP地址。这就是所谓下一跳的概念。

在云平台的边界路由器,会将下单的包转发进来,经过核心交换,汇聚交换,到达外网网关节点上的SLB的公网IP地址。

我们可以看到,手机到SLB的公网IP,是一个端到端的连接,连接的过程发送了很多包。所有这些包,无论是TCP三次握手,还是HTTPS的密钥交换,都是要走如此复杂的过程到达SLB的,当然每个包走的路径不一定一致。

当网络包走在这个复杂的道路上,很可能一不小心就丢了,怎么办?这就需要借助TCP的机制重新发送。

既然TCP要对包进行重传,就需要维护一个Sequence Number,看哪些包到了,哪些没到,哪些需要重传,传输的速度应该控制到多少,这就是TCP的滑动窗口协议。

       

     

整个TCP的发送,一开始会协商一个Sequence Number,从这个Sequence Number开始,每个包都有编号。滑动窗口将接收方的网络包分成四个部分:

  • 已经接收,已经ACK,已经交给应用层的包;

  • 已经接收,已经ACK,未发送给应用层;

  • 已经接收,尚未发送ACK;

  • 未接收,尚有空闲的缓存区域。

对于TCP层来讲,每一个包都有ACK。ACK需要从SLB回复到手机端,将上面的那个过程反向来一遍,当然路径不一定一致,可见ACK也不是那么轻松的事情。

如果发送方超过一定的时间没有收到ACK,就会重新发送。只有TCP层ACK过的包,才会发给应用层,并且只会发送一份,对于下单的场景,应用层是HTTP层。

你可能会问了,TCP老是重复发送,会不会导致一个单下了两遍?是否要求服务端实现幂?从TCP的机制来看,是不会的。只有收不到ACK的包才会重复发,发到接收端,在窗口里面只保存一份,所以在同一个TCP连接中,不用担心重传导致二次下单。

但是TCP连接会因为某种原因断了,例如手机信号不好,这个时候手机把所有的动作重新做一遍,建立一个新的TCP连接,在HTTP层调用两次RESTful API。这个时候可能会导致两遍下单的情况,因而RESTful API需要实现幂等。

当ACK过的包发给应用层之后,TCP层的缓存就空了出来,这会导致上面图中的大三角,也即接收方能够容纳的总缓存,整体顺时针滑动。小的三角形,也即接收方告知发送方的窗口总大小,也即还没有完全确认收到的缓存大小,如果把这些填满了,就不能再发了,因为没确认收到,所以一个都不能扔。

七、功成行满见真如

唐僧经历九九八十一难,终于到达了西天。发现金顶大仙已经在等他们了。

网络包从手机端经历千难万险,终于到了SLB的公网IP所在的公网网口。由于匹配上了MAC地址和IP地址,因而将网络包收了进来。

到了西天,唐僧度过最后一条河凌云仙渡的时候,发现滚浪飞流,约有八九里宽阔,四无人迹。好不容易盼来一条船,还没有底。原来驾船的是接引佛祖,玄奘法师的肉体随着河水飘走,从而脱胎换骨,成就金身。

在虚拟网关节点的外网网口上,会有一个NAT规则,将公网IP地址转换为VPC里面的私网IP地址,这个私网IP地址就是SLB的HAProxy所在的虚拟机的私网IP地址。

从而网络包也脱胎换骨,实现公网IP到私有网络IP的转换。

       

     

当然为了承载比较大的吞吐量,虚拟网关节点会有多个,物理网络会将流量分发到不同的虚拟网关节点。同样HAProxy也会是一个大的集群,虚拟网关会选择某个负载均衡节点,将某个请求分发给它,负载均衡之后是Controller层,也是部署在虚拟机里面的。

当网络包里面的目标IP变成私有IP地址地址之后,虚拟路由会查找路由规则,将网络包从下方的私网网口发出来。这个时候包的格式为:

  • 源MAC:网关MAC;

  • 目标MAC:HAProxy虚拟机的MAC;

  • 源IP:UE的公网IP;

  • 目标IP:HAProxy虚拟机的私网IP。

在第一部分,我们 说佛经是存放在一个虚拟空间里面的,要打开这个虚拟空间,解读经文,需要一个芝麻开门的ID。接引佛祖会给玄奘法师一个ID。

在虚拟路由节点上,也会有OVS,将网络包封装在VXLAN隧道里面,VXLAN ID就是给你的租户创建VPC的时候分配的。VXLAN ID就是VPC虚拟空间的ID,OVS就是那个能够封装和解开私密空间的法宝。

包的格式为:

  • 外层源MAC:网关物理机MAC;

  • 外层目标MAC:物理机A的MAC;

  • 外层源IP:网关物理机IP;

  • 外层目标IP:物理机A的IP;

  • 内层源MAC:网关MAC;

  • 内层目标MAC:HAProxy虚拟机的MAC;

  • 内层源IP:UE的公网IP;

  • 内层目标IP:HAProxy虚拟机的私网IP。

在物理机A上,OVS会将包从VXLAN隧道里面解出来,发给HAProxy所在的虚拟机。HAProxy所在的虚拟机发现MAC地址匹配,目标IP地址匹配,就根据TCP端口,将包发给HAProxy进程,因为HAProxy是在监听这个TCP端口的。因而HAProxy就是这个TCP连接的服务端,客户端是手机。对于TCP的连接状态,滑动窗口等,都是在HAProxy上维护的。

在这里HAProxy是一个四层负载均衡,也即他只解析到TCP层,里面的HTTP协议他不关心,就将请求转发给后端的多个Controller层的一个。

HAProxy发出去的网络包就认为HAProxy是客户端了,看不到手机端了。网络包格式如下:

  • 源MAC:HAProxy所在虚拟机的MAC;

  • 目标MAC:Controller层所在虚拟机的MAC;

  • 源IP:HAProxy所在虚拟机的私网IP;

  • 目标IP:Controller层所在虚拟机的私网IP。

当然这个包发出去之后,还是会被物理机上的OVS放入VXLAN隧道里面,网络包格式为:

  • 外层源MAC:物理机A的MAC;

  • 外层目标MAC:物理机B的MAC;

  • 外层源IP:物理机A的IP;

  • 外层目标IP:物理机B的IP;

  • 内层源MAC:HAProxy所在虚拟机的MAC;

  • 内层目标MAC:Controller层所在虚拟机的MAC;

  • 内层源IP:HAProxy所在虚拟机的私网IP;

  • 内层目标IP:Controller层所在虚拟机的私网IP。

在物理机B上,OVS会将包从VXLAN隧道里面解出来,发给Controller层所在的虚拟机。Controller层所在的虚拟机发现MAC地址匹配,目标IP地址匹配,就根据TCP端口,将包发给Controller层的进程,因为他是在监听这个TCP端口的。

在HAProxy和Controller层之间,维护一个TCP的连接。

Controller层收到包之后,他是关心HTTP里面是什么的,于是解开HTTP的包,发现是一个POST请求,内容是下单购买一个课程。

八、取得真经成金身

玄奘法师终于到达西天大雷音寺,见到了我佛如来。

佛祖愿意传经给玄奘,于是让玄奘去藏经楼取经文,谁知道西天也有西天的规矩,如果不懂这里的规矩,就很难和管理经文的人沟通,取不到真经。

同理,在电商服务里面,往往在组合服务层会有一个专门管理下单的服务,Controller层虽然对外暴露的是标准的RESTful协议,但是对内会通过RPC协议调用这个组合服务层。如果不懂这个协议,就没法通信。

假设我们使用的是Dubbo,则Controller层需要读取注册中心,将下单服务的进程列表拿出来,选出一个来调用。

Dubbo中默认的RPC协议是Hessian2。Hessian2将下单的远程调用序列化为二进制进行传输。

Netty是一个非阻塞的基于事件的网络传输框架。Controller层和下单服务之间,使用了Netty的网络传输框架。有了Netty,就不用自己编写复杂的异步Socket程序了。Netty使用的方式,就是咱们讲Socket编程的时候,一个项目组支撑多个项目(IO多路复用,从派人盯着到有事通知)这种方式。

Netty还是工作在Socket这一层的,发送的网络包还是基于TCP的。在TCP的下层,还是需要封装上IP头和MAC头。如果跨物理机通信,还是需要封装的外层的VXLAN隧道里面。当然底层的这些封装,Netty都不感知,它只要做好它的异步通信即可。

在Netty的服务端,也即下单服务中,收到请求后,先用Hessian2的格式进行解压缩。然后将请求分发到线程中进行处理,在线程中,会调用下单的业务逻辑。

玄奘师徒好在后来碰到了懂得内情的注册中心——弥勒佛,从而会到灵山,还是按照人家的规矩办了,才将无字经文,换成有字经文。

下单的业务逻辑比较复杂,往往要调用基础服务层里面的库存服务、优惠券服务等,将多个服务调用完毕,才算下单成功。下单服务调用库存服务和优惠券服务,也是通过Dubbo的框架,通过注册中心拿到库存服务和优惠券服务的列表,然后选一个调用。

调用的时候,统一使用Hessian2进行序列化,使用Netty进行传输,底层如果跨物理机,仍然需要通过VXLAN的封装和解封装。

咱们以库存为例子的时候,讲述过幂等的接口实现的问题。因为如果扣减库存,仅仅是谁调用谁减一。这样存在的问题是,如果扣减库存因为一次调用失败,而多次调用,这里指的不是TCP多次重试,而是应用层调用的多次重试,就会存在库存扣减多次的情况。

这里常用的方法是,使用乐观锁(Compare and Set,简称CAS)。CAS要考虑三个方面,当前的库存数、预期原来的库存数和版本,以及新的库存数。在操作之前,查询出原来的库存数和版本,真正扣减库存的时候,判断如果当前库存的值与预期原值和版本相匹配,则将库存值更新为新值,否则不做任何操作。

这是一种基于状态而非基于动作的设计,符合REST的架构设计原则。这样的设计有利于高并发场景。当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试。

最终,当下单更新到分布式数据库中之后,整个下单过程才算真正告一段落。

当然,这个下单调用要返回一个结果。

我们下单成功啦!!!!!!

想像读小说一样的了解网络协议,欢迎订阅《趣谈网络协议》

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 140种Python标准库、第三方库和外部工具

    导读:Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库、函数和外部工具。其中既有Python内置函数和标准库,又有第三方库和工具。 这些库可用于文件读写、网络抓取和解析、数据连接、数清洗转换、数据计算和统计分析、图像和视频处…...

    2024/4/18 0:28:10
  2. 利用 OCI Service Connector Hub 实现应用日志采集

    摘要: 本文主要描述了如何利用OCI Service Connector Hub服务,实现应用部署在OCI上的应用系统的日志采集和数据处理、数据存储到对象存储或ADW中,从而实现应用日志采集和数据分析功能。 1 日志数据采集与分析 从数据采集角度来说&#xff…...

    2024/4/18 20:12:10
  3. 有孚容灾云,为您护航云上安全

    ​随着云计算技术的快速发展和落地,越来越多的信息系统都由传统IT系统建设过渡到云上,上云后虽然提升了IT资源使用效率和运维能力,但也引发了新的问题:由于数据的集中,使得故障域变得更大,任意一个小的系统…...

    2024/4/7 1:05:20
  4. 高吞吐消息中间件Kafka

    Kafka三 高吞吐消息中间件Kafka1.Kafka 简介2.Kafka 基本架构3.Kafka 主要术语4.kafka 工作流程5.Kafka 实践5.1 安装配置JDK5.2 安装配置Zookeeper5.3 安装配置Kafka5.4 SpringBoot整合Kafka三 高吞吐消息中间件Kafka 1.Kafka 简介 Kafka是最初由Linkedin公司开发,…...

    2024/4/20 14:02:51
  5. ionic5+vue3移动端开发Tips

    转载自移动云开发者社区 一. ionic已经更新到5.4.0了,支持了最新的vue 3.4.2版本,最近体验了一把ionic5vue3的组合开发,在此记录下心得体会。 1. 常规操作,创建项目 ionic start myApp blank --type vue 2.安装官方文档ionic…...

    2024/4/15 9:28:53
  6. 基于JWT的token认证 - API 网关 - 阿里云

    阿里云API网关在Json Web Token(JWT)这种结构化令牌的基础上实现了一套基于用户体系对用户的API进行授权访问的机制,满足用户个性化安全设置的需求。 阿里云API网关在Json Web Token(JWT)这种结构化令牌的基础上实现了…...

    2024/4/20 16:10:48
  7. 我为什么选择这条路,送给每个路口都很茫然的人(2)

    记得在婚后半年后已经是春节,当地有个习俗就是婆婆家第一年会给刚过门不久的新媳妇压岁钱用来给置办一套新年衣服,我家里一般是公公管钱的,那天我和婆婆在客厅,公公走过来准备递给我压岁钱我正要去接,我婆婆一把抢过来…...

    2024/4/15 4:00:57
  8. 看表情读情绪:AI“察言观色”背后的表情识别数据

    拍一张自己的表情,社交软件Polygram就可以使用这张脸部表情来生成一个emoji。Polygram可以理解人脸表情,利用人脸识别技术,对面部的真实表情进行检测,从而搜索到相应的表情。 社交软件Polygram可以理解人脸表情 人脸表情识别技术…...

    2024/4/20 11:02:58
  9. 散列表(哈希表hash)概述

    目录 前言 一、散列表查找定义 1、散列表查找步骤 🎯整个散列过程分为两步: 2、Hash冲突 二、散列函数的构造 1、直接定址法 2、数字分析法 3、平方取中法 4、折叠法 5、除留余数法 此方法为最常用的构造散列函数的方法: 6、…...

    2024/4/19 3:36:20
  10. Skywalking基础篇-01-概述

    1. Skywalking 概述 1.1 什么是APM系统 ? 1.1.1 APM系统概述 APM (Application Performance Management) 即应用性能管理系统,是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。 应用性能管理,主要指对企业的关…...

    2024/4/20 7:48:31
  11. 电子血压计方案的主控芯片型号SIC32F911RET6

    电子血压计方案测量准确,语音播报结果,大屏幕,显示更清晰,算法经过大量临床测试,更稳定等特点,另外对于此类方案,由于已经拥有成熟方案,可配合客户需求开发设计,可以在短…...

    2024/4/15 4:02:13
  12. ONNX转换NCNN

    ncnn编译依赖OpenCV和protobuf 一、安装OnenCV 下载 Releases opencv/opencv GitHub 以OpenCV 4.5.4为例,下载Source code (zip), ##源码编译 unzip opencv-4.5.4.zip cd opencv-4.5.4 mkdir build cd build cmake -D CMAKE_BUILD_TYPERELEASE -D …...

    2024/4/15 4:02:44
  13. 独立站AB轮收轮询收款怎么玩?合理规避封号风险

    大部分独立站都是通过直连支付的方式,配置网站收款通道,方式比较单一,常见的独立站系统如Shopify等,不可添加相同类型的账号收款,比如P和Stripe都只能绑定一个,无法同时绑定多个P和Stripe账号。 如果当你的…...

    2024/4/20 2:40:43
  14. android 电量性能优化

    1、官方文档 优化电池续航时间 | Android 开发者 | Android Developers了解如何使应用节省电量。https://developer.android.google.cn/topic/performance/power2、Battery Historian 分析工具安装 由于官方所给docker 镜像国内无法访问,所以换一个 runcare/…...

    2024/4/15 4:01:58
  15. [Linux 基础] -- Linux问题分析与性能优化

    排查顺序 整体情况: top/htop/atop 命令查看进程/线程、CPU、内存使用情况,CPU 使用情况;dstat 2 查看 CPU、磁盘IO、网络IO、换页、中断、切换、系统 I/O 状态;vmstat 2 查看内存使用情况,内存状态;iosta…...

    2024/4/15 4:01:53
  16. VR制作中必须踩的坑365之042(oculus2、UE4、UE5、VR记录一年的踩坑之旅)拳击VR制作起来

    VR制作中必须踩的坑365之042(oculus2、UE4、UE5、VR记录一年的踩坑之旅)VR box game tutorial ( unreal engine VR tutorial ) https://www.youtube.com/watch?v1J483VHPVREhttps://www.youtube.com/watch?v1J483VHPVRE...

    2024/4/15 4:01:43
  17. 工程结构规约

    一、应用分层 隐藏下层业务逻辑的复杂性 提高系统的组件化和可维护性 MVC框架模式:Model View Controller 推荐分层结构: 分层异常处理: DAO层 → 异常类型很多,不需要打印日志 Manager/Service层 → 必须记录出错日志到磁盘&…...

    2024/4/20 15:37:11
  18. 木马病毒制作及分析

    实验目的 本次实验为考核实验,需要独立设计完成一次网络攻防的综合实验。设计的实验中要包括以下几个方面内容: (1) 构建一个具有漏洞的服务器,利用漏洞对服务器进行入侵或攻击; (2) 利用网络安全工具或设备对入侵与攻击进行检测…...

    2024/4/19 20:48:21
  19. MySQL主从复制与读写分离

    目录 前言 一、基本概念 1. 读写分离 (1) 什么是读写分离 (2) 为什么要读写分离 (3) 什么时候要读写分离 (4) 主从复制与读写分离 2. MySQL 主从复制 (1) mysql 支持的复制类型 (2) 主从复制的工作过程 (3) mysql 主从复制高延迟的原因 (4) mysql 主从复制高延迟的…...

    2024/4/19 10:07:52
  20. BERT模型解读

    BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 2019年goole AI发表的文章,附上原文:https://paperswithcode.com/method/bert pytorch版本代码:https://github.com/huggingface/transformers/tree/mast…...

    2024/4/15 4:01:53

最新文章

  1. LeetCode 热题 100 Day04

    矩阵相关题型 Leetcode 73. 矩阵置零【中等】 题意理解: 将矩阵中0所在位置,行|列置换为全0 其中可以通过记录0元素所在的行、列号,来标记要置换的行|列 将对应位置置换为0 解题思路: 第一个思路: 可以…...

    2024/4/24 15:04:56
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 探索进程控制第一弹(进程终止、进程等待)

    文章目录 进程创建初识fork函数fork函数返回值fork常规用法fork调用失败的原因 写时拷贝进程终止进程终止是在做什么?进程终止的情况代码跑完,结果正确/不正确代码异常终止 如何终止 进程等待概述进程等待方法wait方法waitpid 进程创建 初识fork函数 在…...

    2024/4/22 16:14:13
  4. CQT 质押者将从 Wormhole 的空投计划中获益,凸显跨链互操作的重要性

    在向去中心化协议治理迈进的战略进程中,Wormhole 近期公布了分发 6.17 亿枚 W 代币的计划,这一举措旨在激励多个链上社区参与。这些代币将促进在 Wormhole 平台内的治理参与度,并对贡献者进行激励,将近有 400,000 个钱包即将收到部…...

    2024/4/24 11:52:20
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/23 20:58:27
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/23 13:30:22
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/23 13:28:06
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/20 23:26:47
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/23 13:27:44
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/19 11:57:53
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/23 13:29:53
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/23 13:27:22
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/23 13:28:42
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/23 22:01:21
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/23 13:29:23
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/23 13:27:46
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/23 13:47:22
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/19 11:59:23
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/19 11:59:44
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/23 13:28:08
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/23 13:29:47
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/23 13:28:14
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/23 13:27:51
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/23 13:27:19
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57