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