下面我们就简略讲述一下以正常途径从iTunesAppStore中得到一个应用的过程。
我们先来介绍一下CDN这个概念,CDN的全称是ContentDeliveryNetwork,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。
目前,国内访问量较高的大型网站如新浪、网易等,均使用CDN网络加速技术,虽然网站的访问巨大,但无论在什么地方访问都会感觉速度很快。而一般的网站如果服务器在网通,电信用户访问很慢,如果服务器在电信,网通用户访问又很慢。
对于苹果公司来说他们用的是美国的AkamaiCDN服务。Akamai是国际上最大的CDN服务商,它巨大的网络分发能力在峰值时可达到15Gbps。Akamai公司是为数不多的旨在消除Internet瓶颈和提高下载速度的几家新公司之一。
这样我们就知道了,当我们从iTunesAppStore下载软件的时候,都会通过本地DNS连接到Akamai的服务器上请求解析分配给我们使用的下载服务器。这时会根据我们使用的DNS的IP的地址来分配下载服务器的IP地址,对于我国的用户来讲,一般主流宽带上网用户用的不是联通就是电信,DNS服务器的地址一般也是自动获取的,这样做的结果就是CDN服务器会得到大量来自同一地点的DNS请求,于是用户们会得到一个相同的下载服务器地址,加上我国用户的带宽相对较小下载速度慢也是合乎情理的。
·该如何解决此问题
对于iTunes下载速度慢的这个问题,已经算不上什么新问题的,曾经也出现过色不少的解决方案。我们来看看之前网友们是怎么解决此问题的。
代理服务器可能是我们使用网络时听到最多的名词了。通过使用代理服务器可以加速一些国外网站的浏览速度,当然还可以解决联通电信之间相互访问速度慢的问题,以及访问一些国内不能访问的网站。
代理服务器的原理就是通过用户机先和代理服务器建立连接然后通过代理服务器抓取目标服务器的数据存入缓存,然后在和用户机做交换。通过上面的步骤可以有效减少之间的一些路由步骤,使得我们和目标服务器的访问速度加快,当然如果代理服务器设置不当,访问速度下降也是时常发生的事情。
■更换DNS服务器(不采纳)
看上去更换DNS的确是一个很好的方法,这样就能让Akamai的CDN服务器分配给我们一个更快的下载服务器地址,而且DNS服务器相对代理服务器来讲要稳定一些,不会动不动就关闭。不过它也有和代理服务器一样的致命缺点,那就是在加速了AppStore软件下载速度的同时可能会降低本地网络的访问速度,可以说是得不偿失啊。所以我们也不采用此方法。
■更改host配置文件(采纳)
既然前面两种方法都被我们排除掉了,那笔者就来给大家介绍一个更有针对性更有效的解决方法,那就是更改计算机的host配置文件。
什么是host呢?在互联网协议中,host表示能够同其他机器互相访问的本地计算机。一台本地机有唯一标志代码,同网络掩码一起组成IP地址,如果通过点到点协议通过ISP访问互联网,那么在连接期间将会拥有唯一的IP地址。在这种情况下,host表示一个网络节点。host的作用是包含IP地址和Hostname(主机名)的映射关系,是一个映射IP地址和Hostname(主机名)的规定,规定要求每段只能包括一个映射关系。
通过上面的介绍可能初级用户还不是很了解,那么就由笔者再来根据iTunesAppStore的情况来解释一下。之前我们提到的两种未经采纳的方法都是为了找到更快的下载服务器地址,这样我们就可以达到高速下载软件的目的了。修改host其实也是这个目的,host是ip地址和主机名的一对一映射,设想一下如果我们把iTunes要查找的服务器地址直接定义在离我们最近的服务器上不就可以了吗?这样我们直需让二者建立映射关系就可以达到快速访问的目的了,同时还不会影响本地网络的访问。
当然说了这么多文字还不是很直观,接下来我们就看看如何操作吧!
·解决方法及操作步骤
■准备工作:
既然是要得到iTunesAppStore请求的下载服务器域名我们首先要准备一个抓包软件(网友不必安装)来获取它,其次是获取较快速的iTunesAppStore下载服务器地址,由于服务器较多最后我们还需要一个群测试ping值软件(网友需下载使用)来得到最快速最稳定的服务器地址,其实这么多操作只需网友下载一个软件即可。
心急的网友直接看步骤三即可
■步骤一:获取iTunes下载服务器域名(不需网友操作)
要想获取iTunes下载服务器的域名我们需要借助软件的支持,我们选择比较经典的Wireshark网络协议检测软件,通过它来抓取iTunes软件的联网信息。
监听开始后以最快的速度点击下载刚才在iTunes中找到的软件,再下载开始后就可以停止Wireshark的监听工作了。我们可以在上图中看到我们已经找到了iTunes发出的需要解析的域名地址。
Host:a953.phobos.apple.comrn****.phobos.apple.comrn
该域名后面的部分每次发出请求的时候都不会变,前面的部分会在a1-a2000之间变化,所以我们只需要在Host配置文件中建立该域名与最快速服务器的映射即可了。
■步骤二:获取速度快的服务器IP地址(不需网友操作)
上一部操作我们完成了Host配置文件中主机域名的查找工作,现在我们只需要再找到速度较快的服务器地址就可以说是大功告成了。怎么操作呢?其实就是通过替换不同区域的DNS域名解析服务器,这样我们再使用抓包软件就会得到许多不同的服务器IP地址了。
为了获取更好的速度我们可以多尝试一些DNS,例如台湾、香港、澳门这些我国有架设服务器的地区,通过他们解析出来的地址一般速度快而且离我们也很近。笔者从网上搜集了一些论坛网友们总结的出来的地址,已经放到了测试群测试ping值软件的压缩包里PingInfoView_hosts.txt文件中了。让我们使用这个软件的时候我们可以导入这些收集到的地址。
上面是笔者收集到的下载服务器IP地址,这要感谢论坛网友辛苦的付出。除了文件中的地址之外我们也可以自己往里面添加,直接把IP地址复制到这个文件中就行了。
■步骤三:获取速度快的服务器IP地址(需网友操作)
说到这终于到了需要您亲自动手的步骤了。在这里我们要打开笔者前面提到的群测试ping值软件——PingInfoView。
■步骤四:修改Host文件(需网友操作)
好了,服务器域名和IP地址我们都解决了,最后一步我们只需把它们加入到Host配置文件中即可。
通过双击结果列表中的条目我们可以查看其详情,从这里我们就可以把IP地址信息复制出来了,我还是挺懒的。。。
之前我们提到了iTunes请求的下载服务器域名是在a1-a2000之前浮动的一个地址,所以我们要建立2000个映射,当然一个一个输入太麻烦了,在压缩包中有一个批量替换用的文本本件。
打开压缩包中的host批量替换文本文档,里面列出了所有的2000个条目,我们只需把前面的IP地址用刚才挑选出来的地址替换一下即可。接下来就是把它们都放入到host配置文件中了。
我们只需要把hosts批量替换文件中的内容复制过来就可以了,再保存一下这样就大功告成了,下面我们就来看看修改前和修改后的效果对比吧。
·修改前后效果对比
怎么样,很震撼吧!修改后的速度对比修改前的速度将近快了60倍,当然这是公司的下载速度,对于网友在家里来说也基本上能达到贷款理论最高下行速度的80%左右。从此我们再也不必为iTunes下载软件漫长的等待所困扰,还有那时不时出现的错误信息。
·在越狱的iOS上使用
我们只需在cydia中添加178的源,apt.178.com。然后搜索HOST加速补丁安装即可。这样我们在iPad或者iPhone端也可以享受高速下载了,从此不再为桌面上“正在载入”的图标而发愁。