很久前弄一个问题的时候,稍微研究了一下免备案主机这方面的事情。大抵上都是俩办法,一个是机房查的不严,逃过去,不过现在这个已经几乎销声匿迹了。二个就是反向代理了,这个也是老生常谈,没太多好说的。
可就这时候我听说还有一种很牛逼的方法。域名解析在国外,自然无备案之烦恼。但接受web服务器返回的80端口的数据的时候,却是从国内服务器返回给用户,速度自然大是不同。当时我觉得这是天方夜谭,以我粗浅的网络知识我都知道,我是跟国外服务器握手的,你个国内服务器跑过来响应我的请求算哪门子事,我本机也不认你呀。
但看到有人说的确是这样,我就稍微探究了一下,请教了一个人,大概是这么说的。
“说白了,(国外)CDN服务器相当于一个中转DNS,只是这个DNS在国外。触发信道端口不是默认的,是分发中转的。所以域名不需要进行备案,因为直接Ping域名出来的是CDN服务器的地址。”
“你研究一下局域网的NAT原理就明白了,把一个端口映射给一个IP。只是这个稍微改装一下,是公网的NAT映射。由于http协议默认都是80端口,所以中转服务器需要一个数据库,来识别不同域名。另外一个就是这个端口是可以动态分配回收的,从而满足上万的转发。”
看到这里仍然云里雾里,似乎有点门道,但又说不出什么来。这位大师于是又指点我。
“QQ的文件传输你想想,QQ服务器就相当于CDN 比如A用户要给B用户发数据会出现什么情况。”
“整个握手是要走2次CDN的,但是页面的数据传输是点对点的。第1次是问地址,第2次是答地址。”
今天想起这件事来,于是又翻了下找到当时这段记录(QQ聊天记录能入mysql就好了,现在检索太慢了……),研读了十几遍,还是觉得无法理解。
我困惑的就是,为什么我向A发起的请求,A告诉B,B直接就返回给了我,都不经过A了?
这倒似乎和LVS里的direct routing有点像了……
因为也好久没关注过这方面的事情,所以也没找到什么实力。V2EX牛人众多,不知道有没有从事研究过这方面东西的,是否有人在实际使用类似的系统,求指教,先行拜谢了。
-eof-
可就这时候我听说还有一种很牛逼的方法。域名解析在国外,自然无备案之烦恼。但接受web服务器返回的80端口的数据的时候,却是从国内服务器返回给用户,速度自然大是不同。当时我觉得这是天方夜谭,以我粗浅的网络知识我都知道,我是跟国外服务器握手的,你个国内服务器跑过来响应我的请求算哪门子事,我本机也不认你呀。
但看到有人说的确是这样,我就稍微探究了一下,请教了一个人,大概是这么说的。
“说白了,(国外)CDN服务器相当于一个中转DNS,只是这个DNS在国外。触发信道端口不是默认的,是分发中转的。所以域名不需要进行备案,因为直接Ping域名出来的是CDN服务器的地址。”
“你研究一下局域网的NAT原理就明白了,把一个端口映射给一个IP。只是这个稍微改装一下,是公网的NAT映射。由于http协议默认都是80端口,所以中转服务器需要一个数据库,来识别不同域名。另外一个就是这个端口是可以动态分配回收的,从而满足上万的转发。”
看到这里仍然云里雾里,似乎有点门道,但又说不出什么来。这位大师于是又指点我。
“QQ的文件传输你想想,QQ服务器就相当于CDN 比如A用户要给B用户发数据会出现什么情况。”
“整个握手是要走2次CDN的,但是页面的数据传输是点对点的。第1次是问地址,第2次是答地址。”
今天想起这件事来,于是又翻了下找到当时这段记录(QQ聊天记录能入mysql就好了,现在检索太慢了……),研读了十几遍,还是觉得无法理解。
我困惑的就是,为什么我向A发起的请求,A告诉B,B直接就返回给了我,都不经过A了?
这倒似乎和LVS里的direct routing有点像了……
因为也好久没关注过这方面的事情,所以也没找到什么实力。V2EX牛人众多,不知道有没有从事研究过这方面东西的,是否有人在实际使用类似的系统,求指教,先行拜谢了。
-eof-