在互聯(lián)網(wǎng)你的請求是如何被引導(dǎo)、劫持的?
一、DNS正常引導(dǎo)
1、cname引導(dǎo)
此引導(dǎo)方式是大多數(shù)CDN廠商的做法,面向各網(wǎng)站主,用cname的方式為其提供接入CDN系統(tǒng)的入口,在操作上,一般CDN廠家會提供一個域名供網(wǎng)站主做cname使用,在做完cname的那一刻,你連接的服務(wù)器就由CDN廠家來控制了,也就成功將用戶請求智能的引導(dǎo)到他們的設(shè)備上去了。另外,要正常提供服務(wù),主要得關(guān)注兩個問題,一個是cname解析,另一個是網(wǎng)站回源問題。
2、forword引導(dǎo)
此引導(dǎo)方式是大多數(shù)運營商的做法,他們有自己的DNS,有自己的寬帶用戶、專線用戶、無線用戶,為了節(jié)省網(wǎng)間流量成本的同時提高用戶體驗,他們會自建或找cache廠家合作進(jìn)行cache集群建設(shè),拿cache廠家為例,在操作上,運營商或cache廠家會先分析出一批可以做緩存的網(wǎng)間域名,然后將這些域名forword到cache廠家自建的DNS(二次開發(fā)后適合cache配置的)上,cache廠家的dns根據(jù)不同的解析規(guī)則(比如輪序、hash等)解析到后端的cache集群,進(jìn)而成功的將用戶請求引導(dǎo)到了cache廠家的設(shè)備上,每臺緩存代理服務(wù)器會安裝bind并配置回源DNS(或者直接根域回源)。當(dāng)然cache廠家也做了很好的高可用策略,比如說cache集群掛了訪問直接回源、兩臺DNS做高可用等等。
有同學(xué)問運營商為什么要用forword遞歸的方式,而不是迭代指定dns的方式.先說一下迭代和遞歸的區(qū)別,舉個例子,你向A詢問什么是互聯(lián)網(wǎng),A不知道,他告訴我讓我問B或C然后就不管了,這叫迭代,但同樣如果A不知道,但他說雖然我不知道但我向B或C問清楚后再告訴你,這就是遞歸,很清楚了吧。遞歸有個好處,每經(jīng)過的環(huán)節(jié)能夠做到信息同步,所以用遞歸處理。下面是一個精簡的業(yè)務(wù)架構(gòu)原理圖:
二、劫持污染
劫持和污染是運營商進(jìn)行請求引導(dǎo)的另外一種重要方式,在操作上會在入口鏈路上使用分光設(shè)備將流量復(fù)制一份,復(fù)制后的流量使用流量分析設(shè)備進(jìn)行分析處理,由于更靠近網(wǎng)內(nèi)網(wǎng)民,設(shè)備會將要劫持的請求搶先將偽造的結(jié)果回傳給用戶,而這個結(jié)果就是欺騙網(wǎng)民去訪問指定的服務(wù)器,從而達(dá)到將請求劫持到cache服務(wù)集群上的效果,從劫持的請求看分為dns劫持和http劫持。有些同學(xué)叫這種dns引導(dǎo)方式為dns污染,因為感覺只是偽裝回復(fù)沒有劫持,反正不管怎么叫,都是這么一個理,畫了一張業(yè)務(wù)流程架構(gòu)圖如下:
1、DNS劫持(污染)
DNS劫持(污染)是指流量分析劫持設(shè)備在分析到需要的DNS查詢請求后(一般為udp53號端口,要抓取的dns的ip地址設(shè)置白名單),搶先偽裝一個DNS回復(fù)請求給用戶,為什么會搶先呢,因為用戶和流量分析劫持設(shè)備是網(wǎng)內(nèi)對網(wǎng)內(nèi),不管是時延也好還是其它鏈路質(zhì)量也好,都要比網(wǎng)間要快很多很多,而udp的特點是沒有驗證機(jī)制,用戶會接受第一個查詢結(jié)果,其余的將會被拋棄。
2、http請求劫持
http請求劫持是指流量分析劫持設(shè)備在分析道需要的http請求后,偽裝客戶端給源站發(fā)一個reset標(biāo)記斷開連接,然后偽裝源站給用戶回一個302重定向到cache設(shè)備上,比如說你訪問的是www.aaa.com/123.html,cache設(shè)備是1.1.1.1,被劫持后會發(fā)一個http://1.1.1.1/www.aaa.com/123.html的302重定向給用戶,用戶自然就被引導(dǎo)到1.1.1.1上面了。
三、透明代理引導(dǎo)
透明代理是將cache設(shè)備作為中間網(wǎng)關(guān)串聯(lián)到鏈路中去的,作為網(wǎng)關(guān)其實說白了cache設(shè)備要開啟路由轉(zhuǎn)發(fā),承擔(dān)了路由器的作用,很多大的企事業(yè)單位為什么節(jié)約流量,會在其出口上安裝一臺這樣的設(shè)備,比如說原來需要買兩個G帶寬,在做了透明代理后只需要買1.5個G了,的對于用戶而言沒有任何需要操作的,所以叫透明代理。
透明代理也有兩種方式,都是基于iptable,一種是基于端口轉(zhuǎn)發(fā),將目的地址是80的請求,轉(zhuǎn)發(fā)到本地啟用的比如說8080的cache應(yīng)用上,由cache應(yīng)用處理后為客戶提供服務(wù),這種方式的弊端是有可能影響一些服務(wù),因為80端口過來不一定全是http請求。另外一種是采用tcp旁路監(jiān)聽代理的方式tproxy,此種方式是非常好的,配置iptable的mangle表的PREROUTING鏈,對tcp的socket的連接打上mark標(biāo)記,然后新建路由表讓打過標(biāo)記的tcp通過,監(jiān)聽目的端口是80的tcp通過tproxy代理至8080的cache應(yīng)用上,由cache應(yīng)用處理后為客戶提供服務(wù)。
操作上,服務(wù)器要開啟路由轉(zhuǎn)發(fā)、開啟iptable,要安裝緩存代理軟件,然后進(jìn)行相應(yīng)的配置,當(dāng)然在高可用性上要做到對路由的心跳,一旦代理服務(wù)器故障,直接跳過代理服務(wù)器到下一跳,保證業(yè)務(wù)的持續(xù)性。
責(zé)任編輯:售電衡衡
-
碳中和戰(zhàn)略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
兩部門:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
國家發(fā)改委、國家能源局:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè)
-
碳中和戰(zhàn)略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
深度報告 | 基于分類監(jiān)管與當(dāng)量協(xié)同的碳市場框架設(shè)計方案
2020-07-21碳市場,碳排放,碳交易 -
碳市場讓重慶能源轉(zhuǎn)型與經(jīng)濟(jì)發(fā)展并進(jìn)
2020-07-21碳市場,碳排放,重慶
-
兩部門:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
國家發(fā)改委、國家能源局:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
2020年二季度福建省統(tǒng)調(diào)燃煤電廠節(jié)能減排信息披露
2020-07-21火電環(huán)保,燃煤電廠,超低排放
-
四川“專線供電”身陷違法困境
2019-12-16專線供電 -
我國能源替代規(guī)范法律問題研究(上)
2019-10-31能源替代規(guī)范法律 -
區(qū)域鏈結(jié)構(gòu)對于數(shù)據(jù)中心有什么影響?這個影響是好是壞呢!