﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vi`blog · 唯音 &#187; cdn技术</title>
	<atom:link href="http://www.viyin.net/tag/cdn%e6%8a%80%e6%9c%af/feed" rel="self" type="application/rss+xml" />
	<link>http://www.viyin.net</link>
	<description>岂能尽如人意，但求无愧于心</description>
	<lastBuildDate>Mon, 14 Nov 2011 15:43:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>CDN技术原理</title>
		<link>http://www.viyin.net/2009/07/cdn.html</link>
		<comments>http://www.viyin.net/2009/07/cdn.html#comments</comments>
		<pubDate>Sat, 25 Jul 2009 09:19:18 +0000</pubDate>
		<dc:creator>vi</dc:creator>
				<category><![CDATA[√文章精选]]></category>
		<category><![CDATA[cdn]]></category>
		<category><![CDATA[cdn原理]]></category>
		<category><![CDATA[cdn技术]]></category>
		<category><![CDATA[加速]]></category>

		<guid isPermaLink="false">http://www.viyin.net/?p=316</guid>
		<description><![CDATA[要了解CDN的实现原理，首先让我们来回顾一下网站传统的访问过程，以便理解其与CDN访问方式之间的差别： 由上图可见，传统的网站访问过程为: 1. 用户在浏览器中输入要访问的域名； 2. 浏览器向域名解析服务器发出解析请求，获得此域名对应的IP地址； 3. 浏览器利用所得到的IP地址，向该IP对应的服务器发出访问请求； 4. 服务器对此响应，将数据回传至用户浏览器端显示出来。 与传统访问方式不同，CDN网络则是在用户和服务器之间增加Cache层，将用户的访问请求引导到Cache节点而不是服务器源站点，要实现这一目的，主要是通过接管DNS实现，下图为使用CDN缓存后的网站访问过程： 由上图可见，使用CDN缓存后的网站访问过程演变为： 1.  用户在浏览器中输入要访问的域名； 2.  浏览器向域名解析服务器发出解析请求，由于CDN对域名解析过程进行了调整，所以用户端一般得到的是该域名对应的CNAME记录，此时浏览器需要再次对获得的CNAME域名进行解析才能得到缓存服务器实际的IP地址。 注：在此过程中，全局负载均衡DNS解析服务器会根据用户端的源IP地址，如地理位置（深圳还是上海）、接入网类型（电信还是网通）将用户的访问请求定位到离用户路由最短、位置最近、负载最轻的Cache节点（缓存服务器）上，实现就近定位。定位优先原则可按位置、可按路由、也可按负载等。 3. 再次解析后浏览器得到该域名CDN缓存服务器的实际IP地址，向缓存服务器发出访问请求； 4.  缓存服务器根据浏览器提供的域名，通过Cache内部专用DNS解析得到此域名源服务器的真实IP地址，再由缓存服务器向此真实IP地址提交访问请求； 5.  缓存服务器从真实IP地址得到内容后，一方面在本地进行保存，以备以后使用，同时把得到的数据发送到客户端浏览器，完成访问的响应过程； 6.  用户端得到由缓存服务器传回的数据后显示出来，至此完成整个域名访问过程。 通过以上分析可以看到，不论是否使用CDN网络，普通用户客户端设置不需做任何改变，直接使用被加速网站原有域名访问即可。对于要加速的网站，只需修改整个访问过程中的域名解析部分，便能实现透明的网络加速服务。 本文转载自：http://www.51cto.com/art/200704/45928.htm]]></description>
			<content:encoded><![CDATA[<p>要了解CDN的实现原理，首先让我们来回顾一下网站传统的访问过程，以便理解其与CDN访问方式之间的差别：</p>
<p><a href="http://www.viyin.net/wp-content/uploads/2009/07/1554200.gif"><img class="alignnone size-full wp-image-317" title="1554200" src="http://www.viyin.net/wp-content/uploads/2009/07/1554200.gif" alt="1554200" width="441" height="40" /></a></p>
<p>由上图可见，传统的网站访问过程为:</p>
<p>1. 用户在浏览器中输入要访问的域名；<br />
2. 浏览器向域名解析服务器发出解析请求，获得此域名对应的IP地址；<br />
3. 浏览器利用所得到的IP地址，向该IP对应的服务器发出访问请求；<br />
4. 服务器对此响应，将数据回传至用户浏览器端显示出来。</p>
<p>与传统访问方式不同，CDN网络则是在用户和服务器之间增加Cache层，将用户的访问请求引导到Cache节点而不是服务器源站点，要实现这一目的，主要是通过接管DNS实现，下图为使用CDN缓存后的网站访问过程：</p>
<p><span id="more-316"></span></p>
<p><a href="http://www.viyin.net/wp-content/uploads/2009/07/1554201.gif"><img class="alignnone size-full wp-image-318" title="1554201" src="http://www.viyin.net/wp-content/uploads/2009/07/1554201.gif" alt="1554201" width="392" height="340" /></a></p>
<p>由上图可见，使用CDN缓存后的网站访问过程演变为：</p>
<p>1.  用户在浏览器中输入要访问的域名；<br />
2.  浏览器向域名解析服务器发出解析请求，由于CDN对域名解析过程进行了调整，所以用户端一般得到的是该域名对应的CNAME记录，此时浏览器需要再次对获得的CNAME域名进行解析才能得到缓存服务器实际的IP地址。<br />
<em>注：在此过程中，全局负载均衡DNS解析服务器会根据用户端的源IP地址，如地理位置（深圳还是上海）、接入网类型（电信还是网通）将用户的访问请求定位到离用户路由最短、位置最近、负载最轻的Cache节点（缓存服务器）上，实现就近定位。定位优先原则可按位置、可按路由、也可按负载等。</em><br />
3. 再次解析后浏览器得到该域名CDN缓存服务器的实际IP地址，向缓存服务器发出访问请求；<br />
4.  缓存服务器根据浏览器提供的域名，通过Cache内部专用DNS解析得到此域名源服务器的真实IP地址，再由缓存服务器向此真实IP地址提交访问请求；<br />
5.  缓存服务器从真实IP地址得到内容后，一方面在本地进行保存，以备以后使用，同时把得到的数据发送到客户端浏览器，完成访问的响应过程；<br />
6.  用户端得到由缓存服务器传回的数据后显示出来，至此完成整个域名访问过程。</p>
<p>通过以上分析可以看到，不论是否使用CDN网络，普通用户客户端设置不需做任何改变，直接使用被加速网站原有域名访问即可。对于要加速的网站，只需修改整个访问过程中的域名解析部分，便能实现透明的网络加速服务。</p>
<p><span style="color: #ff00ff;">本文转载自：http://www.51cto.com/art/200704/45928.htm</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.viyin.net/2009/07/cdn.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

