男生: 哈喽大家好欢迎来到我们的播客。啊今天我们就来聊一聊。你在访问百度的时候,背后会涉及到哪些网络技术,啊比如说像这个智能的 DNS 解析。全局负载均衡,以及这个容器的 Overlay 网络。
女生: 听起来很有意思,那我们就直接开始吧直接开始看看这些技术是怎么协同工作的。
男生: 咱们先来聊第一个啊就是这个当我们在浏览器里面输入 www.baidu.com 之后。这个 DNS 解析,是怎么找到一个最优的路径的?
女生: 就这个过程其实挺复杂的,就首先浏览器会先看一下自己的缓存。然后再看一下操作系统的缓存,如果都没有的话,它就会去问。本地的 DNS 服务器,那这个 LDNS 呢它就会。迭代的去问,根域名服务器,点 com 的这个顶级域名服务器。最后才到,百度的这个权威 DNS 服务器。
技术要点:DNS解析是一个分层查询过程,从本地缓存到根域名服务器再到权威DNS服务器
男生: 所以百度的这个权威 DNS 服务器是关键对。
女生: 对它会,呃,根据你的这个 LDNS 的 IP 来判断你的地理位置。然后你的网络运营商,同时呢它还会去看。各个数据中心的这个健康情况负载情况。它会把你,指向一个最适合你的那个入口的 IP,比如说你是北京联通的用户那他可能就会给你一个。北京联通机房的一个 GLB 的 IP,同时呢为了让这个。呃切换更高效嘛他的这个 TTL 一般也会设置的比较短,几十秒。
男生: 好那这个请求到了百度的这个第一道门的这个 IP 之后。接下来他是怎么?到达,具体的这个服务的呢?
女生: 就这个时候呢,GLB 它就会扮演一个智能前台的角色,它会首先根据一些负载均衡的算法。比如说最少连接数啊等等,去选一个。健康的容器实例,然后呢它会把这个。请求的目的 IP 改成这个容器的虚拟 IP,同时呢它会记录一个这个映射关系。就有点像是一个访客登记册一样,他会记下来。
男生: 听起来好像不光是做了负载均衡,还做了一层隐藏保护?
女生: 对对对完全没错,就是这个 DNAT 的转换呢,让这个外界只能看到这个 GLB 的公网 IP.然后呢,隐藏了内部的这个容器的网络,同时呢也让。内部的这个服务的调整变得非常灵活,就是你可以随意的去。改变这个容器的虚拟 IP 而不会影响到外面的这个世界。
技术要点:GLB通过DNAT转换实现负载均衡和内部网络隐藏
男生: 好那这个请求到了这个容器的虚拟 IP 之后。数据中心的这个物理网络是怎么识别这个虚拟 IP 然后把这个请求转发到这个正确的容器的呢?
女生: 这就靠这个 overlay 网络技术了,就是,呃数据中心它其实有一个。underlay 网络,这个就是相当于城市里面的主干道,它是由这个物理的服务器和交换机组成的。然后呢这个 overlay 网络呢就是相当于在这个主干道上面架了一个专用的高速路。那这个 overlay 呢我们这里用的是 VXLAN 协议。
男生: 哦这个 VXLAN 协议听起来很关键对它是怎么工作的?
女生: 就是当这个请求离开 GLB 的时候呢,GLB 会把这个原始的数据包。作为一个内层的数据包,然后呢,再加上一个 UDP 的头。这个 UDP 头里面呢会有这个。源和目的的这个物理网络的地址,同时呢有一个 VNI 的标识,来区分不同的虚拟网络。这个就像是一个快递盒一样,他就把这个。数据包送到了这个物理机上面。这个物理机呢就会把这个快递盒拆开,把这个原始的数据包。通过这个虚拟的网络接口送到这个目标容器里面。
技术要点:VXLAN协议通过封装/解封装实现虚拟网络与物理网络的映射
男生: 好那这个容器处理完这个请求之后。这个响应的数据包是怎么返回给用户的呢?
女生: 它就是原路返回嘛,就是这个容器它发出来的这个响应的包。它的源 IP 是这个虚拟 IP,然后目的 IP 是用户的公网 IP,它会通过这个 VXLAN 的隧道。再回到这个 GLB, GLB 呢再做一个 SNAT.把这个源 IP 再改成自己的公网 IP,这个时候才会发到公网上去。
男生: 所以相当于这个 GLB 在这个返回的过程当中又做了一次地址的转换?
女生: 对没错,所以这个就是整个这个多层次的地址映射,就用户他始终看到的只是这个 GLB 的公网 IP.然后这个 DNS 解析呢是把他导向了这个 GLB,这个 GLB 呢又做了这个。虚拟 IP 到物理 IP 的这个转换,这个物理网络呢就负责去承载这个虚拟的流量。就整个这个过程就非常的高效也很安全。
男生: 好那我们今天聊了这么多啊关于这个百度的网站背后的这些网络技术。你觉得这些技术,在一起,是一个什么样的存在?
女生: 就是我觉得,呃 DNS 它就像是一个智能的导航。然后这个 GLB 和这个 NAT 呢就像是一个。呃接待员同时也是一个保安,这个 overlay 网络呢就像是一个。地下的管网,就是他们这些东西合在一起才让。百度能够每天处理这么多的请求,同时呢也给我们这些。现代的云原生的应用提供了一个非常灵活又非常可靠的一个网络的支撑。
男生: 对今天我们聊了这么多啊关于从这个智能的 DNS 解析到这个 overlay 网络。这些技术是怎么协同工作的让你可以非常流畅的去访问百度这样的网站。然后其实背后你也可以看到现代的互联网架构的这种精妙和复杂。
女生: 以上就是这期播客的全部内容啦然后,咱们下期再见拜拜!
