开发者学堂课程【企业级互联网分布式系统应用架构学习:网络链路存在的问题及解决方案】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/369/detail/4389
网络链路存在的问题及解决方案
内容介绍
一、网络链路存在的问题
二、解决方案
一、网络链路存在的问题
上图展示了网络链路可能存在的问题。
整个互联网应用会在网络上分成三个层次。
(1)第一公里就是网站所在的服务器平台,阿里云就在这个位置。
(2)中间主要是运营商的网络,如中国联通,中国电信,中国移动等运营商的网络。中国还有教育网,学生在校园里都是用教育网进行网络访问的。
(3)最后一公里就是在家或在一些公共场合通过自身的网络接入到网络的运营商。如在家通过光纤的 ADSL 来访问互联网,这就是最后一公里。
网络链路存在的问题
(1)网站服务器的处理能力,网络的带宽的瓶颈。可以说是机房提供的网络的带宽,或是它提供的服务能力的瓶颈。
(2)网络运营商之间的互联网瓶颈问题,不同运营商之间的骨干网进行交换传输时存在瓶颈,会产生阻塞或延迟,最终导致客户的体验效果不佳。
举个例子,服务器如果放在 a 运营商,而接入网络是 b 运营商的网络,由于他们之间瓶颈的问题,可能导致访问某一网页的延迟非常大。
从最后一公里来讲,随着提速降价策略的推出,客户端的问题实际上已经大大缓解。链路上存在的问题主要是上述两个问题。
二、解决方案
1、第一个问题就是第1公里的解决方案。市场上有一个 bgp 多线技术,它是通过一定的技术手段使得不同运营商的网络能够共同访问一个 ip,并且不同运营商之间都能达到最快的接入速度。上面接入了多个运营商的网络线路,所以称它为 bgp 多线。bgp 多线技术能够解决以往单线 idc 机房或双线 idc 机房存在的运营商体验不一致的问题。举个例子,客户通过 a 运营商的 ADSL 拨号来访问网站的时候,可以通过最佳的路由策略来触达 bgp 的 ip。
这样可以使用户在最低延迟的情况下获取到网站的内容。目前阿里云所有在国内部署的北京、青岛、上海、杭州和深圳的机房都运用了 bgp 多线技术。如此可以不用考虑客户使用什么运营商的线路。
2、解决多个运营商之间的网络防瓶颈的问题。
(1)使用的技术是 cdn,它是一个非常成熟的网络加速的解决方案,全称是内容分发网络。
目的是在现有的互联网架构下增加一层网络架构,将网站的内容,尤其是静态内容如图片,小的视频或网页发布到离用户最近的边缘站点上,使用户可以就近取得所需的内容,以此来解决互联网的拥塞状况,提高用户访问网站的响应速度。
举个例子,用户把自己的网站放在阿里云的杭州机房,在这个网站上发布一系列的静态内容,如图片和连接网页。假如在哈尔滨的某小区里有两个用户,这两个用户都通过某个运营商的 ADSL 拨号。cdn 可以做到用户访问某一个图片之后,这张图片就可以缓存在离用户最近的一个边缘节点。
与他同一个小区,用同一个运营商 ADSL 拨号上网的用户访问同一张图片时,这个用户就不需要再访问阿里杭州的机房,而是可以直接从边缘节点上访问相同的图片内容,使得访问速度就可以加快。
(2)普通访问形式与 cdn 对比
①没有 cdn 之前的用户的访问形式分为以下几步,第一步用户访问的网站先做 DNS解析,dns 解析会把原来的地址返回到客户的浏览器。客户浏览器接收到这个地址后发起对源站的正式访问。
这样的形式会有以下几个问题:
大量的用户会对源站点发起访问,源站点的服务器压力会很大,需要购买更多的服务器来支撑。
受源站点带宽的限制,访问同一个内容的时候,网站的响应速度会变慢。
网络传输过程中的情况非常复杂,如跨运营商情况的出现,会导致用户最终的反应速度变慢。
②cdn 访问方式
通过 cdn 后访问量会发生变化。
如北京的用户访问杭州的站点时,通过 cdn 发起的访问域名会被阿里云的智能 dns 进行解析。
如他访问的是 www.a.com,如果没有 sdn,a.com 这个 IP 会解析到杭州的机房,有dns 后会根据用户所处的位置北京,将 ip 解析到北京的边缘节点上,用户的请求会被转发到北京的边缘节点,如果北京的边缘节点有所需内容,那么边缘节点会直接把内容返回到浏览器。除非内容没有被命中,才会真正由边缘节点发起访问杭州服务器的请求。
这样的路径变化会使得源站的响应压力大大降低,而用户的响应速度会大大提升。