CDN的工作原理和过程
1个回答
展开全部
CDN一种比较重要的优化手段就是和DNS结合,让用户访问延迟最小的节点。
一种比较简单的方法是基于地理位置的routing,即,对于DNS请求总是返回距离请求者最近的节点。实现方法很多,不过最终都依赖于一个CIDER到地理位置的表。
这里的地理位置,可以是经纬度,也可以是就近城市的代号。
DNS服务器,接收到请求之后,会根据用户IP找到最匹配的一项,并且计算距离这个用户最近的Edge服务器,将这个最优点的IP返回给用户。
这种方法并不是最优的。因为地理位置上最近的两个点,延迟可能反而很高。比如欧洲某些国家到美国东海岸的延时可能相当小。
或者某个网络服务提供商内部延迟比较小,北美自己的教育网内部延迟比较小,等等。
还有就是根据用户AS号码和AS之间的样本延迟来估计延迟的。这种做法比较复杂:比如,我有很多分布在世界各地的主机,这些主机之间可以周期性的计算延迟,这样就能动态的获得AS-AS之间的延迟。由于网络的特殊性质,这种方法比起前一种要准确得多。
DNS是用户请求的第一步,所以针对DNS查询结果的优化是一个很重要的课题。
DNS对于CDN还有其他功用,比如负载均衡(load balancing)(使用RR或者WRR)和DNS failover。我不是很熟悉,就不多说了。
CDN是一种重要的优化方法,它与DNS相结合,使用户能够以最小的延迟访问节点。
一个更简单的方法是基于地理路由,也就是说,对于DNS请求,总是返回到请求者最近的节点。实现方法有很多,不过最终都依赖于一个CIDER到地理位置的表。
这里的地理位置可以是纬度和经度,也可以是附近城市的代号。
DNS服务器在收到请求后,根据用户的IP找到最匹配的项目,并计算出离用户最近的边缘服务器,并将最佳IP返回给用户。
这种方法不是最佳的。由于地理位置上的两个最近点,延迟可能非常大。例如,从一些欧洲国家到美国东海岸的延误可能很小。
或者网络服务提供商的内部延迟相对较小,北美自身教育网络的内部延迟相对较小,等等。
另一种方法是根据用户as number和as之间的样本延迟来估计延迟。这种方法更复杂:例如,我在世界各地分布了许多主机,它们可以定期计算这些主机之间的延迟,以便动态地获得as-as之间的延迟。由于网络的特殊性,该方法比以前的方法更准确。
DNS是用户请求的第一步,因此DNS查询结果的优化是一个非常重要的课题。
DNS还具有用于CDN的其他功能,例如负载平衡(使用rr或wrr)和DNS故障转移。我不太熟悉,我们不要说太多。
CDN使用了DNS的CNAME、edns-client-subnet和负载均衡等技术。
1.CNAME
在用户访问某网页、视频等资源时,会将域名指向另一个CDN中定义的域名,再解析成另一个IP地址来供客户端进行访问,使客户端访问时进行加速。
2.edns-client-subnet
智能DNS解析是CDN重要的组成部分,是根据请求用户对同一域名作出相应不同的解析,因此CDN的调度准确性是依靠DNS智能解析的。
一种比较简单的方法是基于地理位置的routing,即,对于DNS请求总是返回距离请求者最近的节点。实现方法很多,不过最终都依赖于一个CIDER到地理位置的表。
这里的地理位置,可以是经纬度,也可以是就近城市的代号。
DNS服务器,接收到请求之后,会根据用户IP找到最匹配的一项,并且计算距离这个用户最近的Edge服务器,将这个最优点的IP返回给用户。
这种方法并不是最优的。因为地理位置上最近的两个点,延迟可能反而很高。比如欧洲某些国家到美国东海岸的延时可能相当小。
或者某个网络服务提供商内部延迟比较小,北美自己的教育网内部延迟比较小,等等。
还有就是根据用户AS号码和AS之间的样本延迟来估计延迟的。这种做法比较复杂:比如,我有很多分布在世界各地的主机,这些主机之间可以周期性的计算延迟,这样就能动态的获得AS-AS之间的延迟。由于网络的特殊性质,这种方法比起前一种要准确得多。
DNS是用户请求的第一步,所以针对DNS查询结果的优化是一个很重要的课题。
DNS对于CDN还有其他功用,比如负载均衡(load balancing)(使用RR或者WRR)和DNS failover。我不是很熟悉,就不多说了。
CDN是一种重要的优化方法,它与DNS相结合,使用户能够以最小的延迟访问节点。
一个更简单的方法是基于地理路由,也就是说,对于DNS请求,总是返回到请求者最近的节点。实现方法有很多,不过最终都依赖于一个CIDER到地理位置的表。
这里的地理位置可以是纬度和经度,也可以是附近城市的代号。
DNS服务器在收到请求后,根据用户的IP找到最匹配的项目,并计算出离用户最近的边缘服务器,并将最佳IP返回给用户。
这种方法不是最佳的。由于地理位置上的两个最近点,延迟可能非常大。例如,从一些欧洲国家到美国东海岸的延误可能很小。
或者网络服务提供商的内部延迟相对较小,北美自身教育网络的内部延迟相对较小,等等。
另一种方法是根据用户as number和as之间的样本延迟来估计延迟。这种方法更复杂:例如,我在世界各地分布了许多主机,它们可以定期计算这些主机之间的延迟,以便动态地获得as-as之间的延迟。由于网络的特殊性,该方法比以前的方法更准确。
DNS是用户请求的第一步,因此DNS查询结果的优化是一个非常重要的课题。
DNS还具有用于CDN的其他功能,例如负载平衡(使用rr或wrr)和DNS故障转移。我不太熟悉,我们不要说太多。
CDN使用了DNS的CNAME、edns-client-subnet和负载均衡等技术。
1.CNAME
在用户访问某网页、视频等资源时,会将域名指向另一个CDN中定义的域名,再解析成另一个IP地址来供客户端进行访问,使客户端访问时进行加速。
2.edns-client-subnet
智能DNS解析是CDN重要的组成部分,是根据请求用户对同一域名作出相应不同的解析,因此CDN的调度准确性是依靠DNS智能解析的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
万山数据
2024-11-14 广告
2024-11-14 广告
作为北京万山数据科技有限公司的工作人员,对于数据反向治理有一定的了解。数据反向治理可以理解为对数据治理流程的逆向操作,旨在确保数据的准确性、一致性和安全性。在数据治理过程中,如果发现数据问题或异常,可以通过反向治理进行追溯和修正。我们公司拥...
点击进入详情页
本回答由万山数据提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询