自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

转载 答疑解惑第五期

目录《第 22 讲 | VPN:朝中有人好做官》课后思考题留言问题《第 23 讲 | 移动网络:去巴塞罗那,手机也上不了脸书》课后思考题《第 24 讲 | 云中网络:自己拿地成本高,购买公寓更灵活》课后思考题《第 25 讲 | 软件定义网络:共享基础设施的小区物业管理办法》课后思考题留言问题《第 26 讲 | 云中的网络安全:虽然不是土豪,也需要基本安全和保障》课后思考题《第 27 讲 | 云中的网络 QoS:邻居疯狂下电影,我该怎么办?》课后思考题留言问题《第 28 讲 | 云中网络的隔离 GRE、VXL

2021-07-18 02:49:40 425

转载 容器网络之Calico:为高效说出善意的谎言

这里写目录标题Calico 网络模型的设计思路Calico 的架构路由配置组件路由广播组件 BGP Speaker安全策略组件全连接复杂性与规模问题跨网段访问问题小结上一节我们讲了 Flannel 如何解决容器跨主机互通的问题,这个解决方式其实和虚拟机的网络互通模式是差不多的,都是通过隧道。但是 Flannel 有一个非常好的模式,就是给不同的物理机设置不同网段,这一点和虚拟机的 Overlay 的模式完全不一样。在虚拟机的场景下,整个网段在所有的物理机之间都是可以“飘来飘去”的。网段不同,就给了我们做

2021-07-17 15:22:18 466

转载 容器网络之Flannel:每人一亩三分地

这里写目录标题小结上一节我们讲了容器网络的模型,以及如何通过 NAT 的方式与物理网络进行互通。每一台物理机上面安装好了 Docker 以后,都会默认分配一个 172.17.0.0/16 的网段。一台机器上新创建的第一个容器,一般都会给 172.17.0.2 这个地址,当然一台机器这样玩玩倒也没啥问题。但是容器里面是要部署应用的,就像上一节讲过的一样,它既然是集装箱,里面就需要装载货物。如果这个应用是比较传统的单体应用,自己就一个进程,所有的代码逻辑都在这个进程里面,上面的模式没有任何问题,只要通过

2021-07-17 15:04:19 248

转载 2021-07-17答疑解惑第四期

目录《第 14 讲 | HTTP 协议:看个新闻原来这么麻烦》课后思考题留言问题《第 15 讲 | HTTPS 协议:点外卖的过程原来这么复杂》课后思考题留言问题《第 16 讲 | 流媒体协议:如何在直播里看到美女帅哥?》课后思考题留言问题《第 17 讲 | P2P 协议:我下小电影,99% 急死你》课后思考题留言问题《第 18 讲 | DNS 协议:网络世界的地址簿》课后思考题留言问题《第 19 讲 | HttpDNS:网络世界的地址簿也会指错路》课后思考题《第 20 讲 | CDN:你去小卖部取过快递么

2021-07-17 14:53:54 190

转载 2021-07-17答疑解惑第三期

目录《第 7 讲 | ICMP 与 ping:投石问路的侦察兵》课后思考题留言问题《第 8 讲 | 世界这么大,我想出网关:欧洲十国游与玄奘西行》课后思考题留言问题《第 9 讲 | 路由协议:西出网关无故人,敢问路在何方》课后思考题留言问题《第 10 讲 | UDP 协议:因性善而简单,难免碰到“城会玩”》课后思考题《第 11 讲 | TCP 协议(上):因性恶而复杂,先恶后善反轻松》课后思考题留言问题《第 12 讲 | TCP 协议(下):西行必定多妖孽,恒心智慧消磨难》课后思考题《第 13 讲 | 套接

2021-07-17 14:40:24 240

转载 2021-07-17答疑解惑第二期

目录《第 3 讲 | ifconfig:最熟悉又陌生的命令行》课后思考题留言问题《第 4 讲 | DHCP 与 PXE:IP 是怎么来的,又是怎么没的》课后思考题留言问题《第 5 讲 | 从物理层到 MAC 层:如何在宿舍里自己组网玩联机游戏?》课后思考题《第 6 讲 | 交换机与 VLAN:办公室太复杂,我要回学校》课后思考题留言问题《第 3 讲 | ifconfig:最熟悉又陌生的命令行》课后思考题你知道 net-tools 和 iproute2 的“历史”故事吗?这个问题的答案,盖同学已经写

2021-07-17 14:17:13 358

转载 答疑解惑第一期

目录《第 1 讲 | 为什么要学习网络协议?》课后思考题留言问题《第 2 讲 | 网络分层的真实含义是什么?》课后思考题留言问题《第 1 讲 | 为什么要学习网络协议?》课后思考题当网络包到达一个城关的时候,可以通过路由表得到下一个城关的 IP 地址,直接通过 IP 地址找就可以了,为什么还要通过本地的 MAC 地址呢?徐良红同学说的比较接近。在网络包里,有源 IP 地址和目标 IP 地址、源 MAC 地址和目标 MAC 地址。从路由表中取得下一跳的 IP 地址后,应该把这个地址放在哪里呢?如果放

2021-07-17 14:00:47 160

转载 跨语言类RPC协议:交流之前,双方先来个专业术语表

目录Protocol Buffers协议约定问题网络传输问题服务发现与治理问题小结到目前为止,咱们讲了四种 RPC,分别是 ONC RPC、基于 XML 的 SOAP、基于 JSON 的 RESTful 和 Hessian2。通过学习,我们知道,二进制的传输性能好,文本类的传输性能差一些;二进制的难以跨语言,文本类的可以跨语言;要写协议文件的严谨一些,不写协议文件的灵活一些。虽然都有服务发现机制,有的可以进行服务治理,有的则没有。我们也看到了 RPC 从最初的客户端服务器模式,最终演进到微服务。对于

2021-07-16 15:42:54 171

转载 2021-07-16二进制类RPC协议:还是叫NBA吧,总说全称多费劲

目录数据中心内部是如何相互调用的?如何解决协议约定问题?如何解决 RPC 传输问题?小结前面我们讲了两个常用文本类的 RPC 协议,对于陌生人之间的沟通,用 NBA、CBA 这样的缩略语,会使得协议约定非常不方便。在讲 CDN 和 DNS 的时候,我们讲过接入层的设计,对于静态资源或者动态资源静态化的部分都可以做缓存。但是对于下单、支付等交易场景,还是需要调用 API。对于微服务的架构,API 需要一个 API 网关统一的管理。API 网关有多种实现方式,用 Nginx 或者 OpenResty 结合

2021-07-16 15:27:03 159

转载 2021-07-16基于JSON的RESTful接口协议:我不关心过程,请给我结果

目录传输协议问题协议约定问题服务发现问题小结上一节我们讲了基于 XML 的 SOAP 协议,SOAP 的 S 是啥意思来着?是 Simple,但是好像一点儿都不简单啊!你会发现,对于 SOAP 来讲,无论 XML 中调用的是什么函数,多是通过 HTTP 的 POST 方法发送的。但是咱们原来学 HTTP 的时候,我们知道 HTTP 除了 POST,还有 PUT、DELETE、GET 等方法,这些也可以代表一个个动作,而且基本满足增、删、查、改的需求,比如增是 POST,删是 DELETE,查是 GET,

2021-07-16 15:02:33 326

转载 基于XML的SOAP协议:不要说NBA,请说美国职业篮球联赛

目录ONC RPC 存在哪些问题?XML 与 SOAP传输协议问题协议约定问题服务发现问题小结上一节我们讲了 RPC 的经典模型和设计要点,并用最早期的 ONC RPC 为例子,详述了具体的实现。ONC RPC 存在哪些问题?ONC RPC 将客户端要发送的参数,以及服务端要发送的回复,都压缩为一个二进制串,这样固然能够解决双方的协议约定问题,但是存在一定的不方便。首先,需要双方的压缩格式完全一致,一点都不能差。一旦有少许的差错,多一位,少一位或者错一位,都可能造成无法解压缩。当然,我们可以用传输层

2021-07-15 20:53:25 151

转载 RPC协议综述:远在天边,近在眼前

目录如何解决这五个问题?问题一:如何规定远程调用的语法?问题二:如果传递参数?问题三:如何表示数据?问题四:如何知道一个服务端都实现了哪些远程调用?从哪个端口可以访问这个远程调用?问题五:发生了错误、重传、丢包、性能等问题怎么办?协议约定问题传输问题服务发现问题小结前面我们讲了容器网络如何实现跨主机互通,以及微服务之间的相互调用。网络是打通了,那服务之间的互相调用,该怎么实现呢?你可能说,咱不是学过 Socket 吗。服务之间分调用方和被调用方,我们就建立一个 TCP 或者 UDP 的连接,不就可以通

2021-07-15 20:26:34 239

转载 移动网络:去巴塞罗那,手机也上不了脸书

目录移动网络的发展历程2G 网络2.5G 网络3G 网络4G 网络4G 网络协议解析控制面协议数据面协议手机上网流程异地上网问题小结前面讲的都是电脑上网的场景,那使用手机上网有什么不同呢?移动网络的发展历程你一定知道手机上网有 2G、3G、4G 的说法,究竟这都是什么意思呢?有一个通俗的说法就是:用 2G 看 txt,用 3G 看 jpg,用 4G 看 avi。2G 网络手机本来是用来打电话的,不是用来上网的,所以原来在 2G 时代,上网使用的不是 IP 网络,而是电话网络,走模拟信号,专业名称为

2021-07-11 12:00:40 215

转载 朝中有人好做官

目录VPN 是如何工作的?IPsec VPN 的建立过程小结前面我们讲到了数据中心,里面很复杂,但是有的公司有多个数据中心,需要将多个数据中心连接起来,或者需要办公室和数据中心连接起来。这该怎么办呢?第一种方式是走公网,但是公网太不安全,你的隐私可能会被别人偷窥。第二种方式是租用专线的方式把它们连起来,这是土豪的做法,需要花很多钱。第三种方式是用 VPN 来连接,这种方法比较折中,安全又不贵。VPN,全名 Virtual Private Network,虚拟专用网,就是利用开放的公众网络,

2021-07-11 11:48:02 219

转载 数据中心:我是开发商,自己拿地盖别墅

这里写目录标题无论你是看新闻、下订单、看视频、下载文件,最终访问的目的地都在数据中心里面。我们前面学了这么多的网络协议和网络相关的知识,你是不是很好奇,数据中心究竟长啥样呢?数据中心是一个大杂烩,几乎要用到前面学过的所有知识。前面讲办公室网络的时候,我们知道办公室里面有很多台电脑。如果要访问外网,需要经过一个叫网关的东西,而网关往往是一个路由器。数据中心里面也有一大堆的电脑,但是它和咱们办公室里面的笔记本或者台式机不一样。数据中心里面是服务器。服务器被放在一个个叫作机架(Rack)的架子上面。数据中心的入

2021-07-11 11:25:43 206

转载 知识串讲:用双十一的故事串起碎片的网络协议(下)

目录7. 一座座城池一道道关,流控拥塞与重传8. 从数据中心进网关,公网 NAT 成私网9. 进入隧道打标签,RPC 远程调用下单10. 下单扣减库存优惠券,数据入库返回成功上一节,我们封装了一个长长的网络包,“大炮”准备完毕,开始发送。发送的时候可以说是重重关隘,从手机到移动网络、互联网,还要经过多个运营商才能到达数据中心,到了数据中心就进入第二个复杂的过程,从网关到 VXLAN 隧道,到负载均衡,到 Controller 层、组合服务层、基础服务层,最终才下单入库。今天,我们就来看这最后一段过程。

2021-07-10 21:36:05 98

转载 知识串讲:用双十一的故事串起碎片的网络协议(中)

这里写目录标题4. 购物之前看图片,静态资源 CDN5. 看上宝贝点下单,双方开始建连接6. 发送下单请求网络包,西行需要出网关上一节我们讲到,手机 App 经过了一个复杂的过程,终于拿到了电商网站的 SLB 的 IP 地址,是不是该下单了?别忙,俗话说的好,买东西要货比三家。大部分客户在购物之前要看很多商品图片,比来比去,最后好不容易才下决心,点了下单按钮。下单按钮一按,就要开始建立连接。建立连接这个过程也挺复杂的,最终还要经过层层封装,才构建出一个完整的网络包。今天我们就来看这个过程。4. 购物之

2021-07-10 21:23:00 129

转载 知识串讲:用双十一的故事串起碎片的网络协议(上)

目录1. 部署一个高可用高并发的电商平台2. 大声告诉全世界,可以到我这里买东西3. 打开手机来上网,域名解析得地址基本的网络知识我们都讲完了,还记得最初举的那个“双十一”下单的例子吗?这一节开始,我们详细地讲解这个过程,用这个过程串起我们讲过的网络协议。我把这个过程分为十个阶段,从云平台中搭建一个电商开始,到 BGP 路由广播,再到 DNS 域名解析,从客户看商品图片,到最终下单的整个过程,每一步我都会详细讲解。这节我们先来看前三个阶段。1. 部署一个高可用高并发的电商平台首先,咱们要有个电商平台

2021-07-10 21:15:23 119

转载 CDN:你去小卖部取过快递么?

目录那这里面还有没有可以优化的地方呢?我们先说,我们的网站访问可以借鉴“就近配送”这个思路。CDN 可以进行缓存的内容有很多种。referer 的机制相对比较容易破解,所以还需要配合其他的机制。小结上一节,我们看到了网站的一般访问模式。当一个用户想访问一个网站的时候,指定这个网站的域名,DNS 就会将这个域名解析为地址,然后用户请求这个地址,返回一个网页。就像你要买个东西,首先要查找商店的位置,然后去商店里面找到自己想要的东西,最后拿着东西回家。那这里面还有没有可以优化的地方呢?例如你去电商网站下单

2021-07-10 21:07:45 98

转载 HttpDNS:网络世界的地址簿也会指错路

目录传统 DNS 存在哪些问题?1. 域名缓存问题2. 域名转发问题3. 出口 NAT 问题4. 域名更新问题5. 解析延迟问题HttpDNS 的工作模式HttpDNS 的缓存设计HttpDNS 的调度设计小结上一节我们知道了 DNS 的两项功能,第一是根据名称查到具体的地址,另外一个是可以针对多个地址做负载均衡,而且可以在多个地址中选择一个距离你近的地方访问。然而有时候这个地址簿也经常给你指错路,明明距离你 500 米就有个吃饭的地方,非要把你推荐到 5 公里外。为什么会出现这样的情况呢?还记得吗?

2021-07-10 20:56:52 132

转载 DNS协议:网络世界的地址簿

目录DNS 服务器DNS 解析流程负载均衡示例:DNS 访问数据中心中对象存储上的静态资源前面我们讲了平时常见的看新闻、支付、直播、下载等场景,现在网站的数目非常多,常用的网站就有二三十个,如果全部用 IP 地址进行访问,恐怕很难记住。于是,就需要一个地址簿,根据名称,就可以查看具体的地址。例如,我要去西湖边的“外婆家”,这就是名称,然后通过地址簿,查看到底是哪条路多少号。DNS 服务器在网络世界,也是这样的。你肯定记得住网站的名称,但是很难记住网站的 IP 地址,因而也需要一个地址簿,就是 DNS

2021-07-10 20:46:09 186

转载 P2P协议:我下小电影,99%急死你

这里写目录标题P2P 是什么?种子(.torrent)文件去中心化网络(DHT)哈希值DHT 网络中的朋友圈是怎么维护的?DHT 网络是如何查找朋友的?DHT 网络中,朋友圈如何更新呢?小结如果你想下载一个电影,一般会通过什么方式呢?当然,最简单的方式就是通过 HTTP 进行下载。但是相信你有过这样的体验,通过浏览器下载的时候,只要文件稍微大点,下载的速度就奇慢无比。还有种下载文件的方式,就是通过 FTP,也即文件传输协议。FTP 采用两个 TCP 连接来传输一个文件。==控制连接==:服务器以被动

2021-07-10 20:37:14 722

转载 流媒体协议:如何在直播里看到美女帅哥?

目录三个名词系列视频和图片的压缩过程有什么特点?视频编码的两大流派如何在直播里看到帅哥美女?编码:如何将丰富多彩的图片变成二进制流?推流:如何把数据流打包传输到对端?拉流:观众的客户端如何看到视频?小结最近直播比较火,很多人都喜欢看直播,那一个直播系统里面都有哪些组成部分,都使用了什么协议呢?无论是直播还是点播,其实都是对于视频数据的传输。一提到视频,大家都爱看,但是一提到视频技术,大家都头疼,因为名词实在是太多了。三个名词系列我这里列三个名词系列,你先大致有个印象。名词系列一:AVI、MPEG、

2021-07-10 20:21:25 177

转载 HTTPS协议:点外卖的过程原来这么复杂

这里写目录标题对称加密非对称加密数字证书HTTPS 的工作模式重放与篡改小结用 HTTP 协议,看个新闻还没有问题,但是换到更加严肃的场景中,就存在很多的安全风险。例如,你要下单做一次支付,如果还是使用普通的 HTTP 协议,那你很可能会被黑客盯上。你发送一个请求,说我要点个外卖,但是这个网络包被截获了,于是在服务器回复你之前,黑客先假装自己就是外卖网站,然后给你回复一个假的消息说:“好啊好啊,来来来,银行卡号、密码拿来。”如果这时候你真把银行卡密码发给它,那你就真的上套了。那怎么解决这个问题呢?当然

2021-07-10 20:05:04 99

转载 HTTP协议:看个新闻原来这么麻烦

目录HTTP 请求的准备HTTP 请求的构建第一部分:请求行第二部分:首部字段HTTP 请求的发送HTTP 返回的构建HTTP 2.0QUIC 协议的“城会玩”机制一:自定义连接机制机制二:自定义重传机制机制三:无阻塞的多路复用机制四:自定义流量控制小结前面讲述完传输层,接下来开始讲应用层的协议。从哪里开始讲呢,就从咱们最常用的 HTTP 协议开始。HTTP 协议,几乎是每个人上网用的第一个协议,同时也是很容易被人忽略的协议。既然说看新闻,咱们就先登录 http://www.163.com 。htt

2021-07-10 19:52:46 80

原创 LeetCode136题只出现一次的数字

描述现在有一个整数类型的数组,数组中素只有一个元素只出现一次,其余的元素都出现两次。注意:你需要给出一个线性时间复杂度的算法,你能在不使用额外内存空间的情况下解决这个问题么?示例1输入:[1,0,1]复制返回值:0...

2021-06-01 10:33:58 254

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除