中國線上棋牌類游戲從98年的聯(lián)眾游戲、2003年的QQ游戲,到2008年德州撲克、2009年的捕魚,在到2016年的閑徠游戲,開拓了俗人線上棋牌游戲的模式。
BGP高防業(yè)務需求
1、業(yè)務需求描述
有業(yè)務能付得起高昂的高防IP費用么?
中國線上棋牌類游戲從98年的聯(lián)眾游戲、2003年的QQ游戲,到2008年德州撲克、2009年的捕魚,在到2016年的閑徠游戲,開拓了俗人線上棋牌游戲的模式。游戲行業(yè)掀起了腥風血雨的蔓延,到2017年6~7月期間全國大大小小的棋牌公司有上百家。
業(yè)務模式:熟人4個人可以通過手機打麻將,游戲公司收取的是桌臺費,通過總代的方式拉攏客源進入棋牌游戲群里,假設一場麻將10幾分鐘,收取6塊錢桌臺費,那么線下渠道拉客源可以給到4塊,通過病毒式的傳播后,省內(nèi)Top棋牌類公司一天的營業(yè)額大約在10幾或者幾十萬不等。這樣競爭對手看到這么暴力的營收都坐不住了,紛紛研發(fā)棋牌游戲,但是一個省玩麻將的就這么些人,自然的相互攻擊的現(xiàn)象時有發(fā)生,如果你的App服務器訪問不了,大家都上其他家App玩了。
2、解決方案選擇
為什么要使用BGP高防?
游戲公司有錢支付抗D的費用,那么DDoS防御的需求就發(fā)展起來了。那么傳統(tǒng)的抗D解決方案能滿足需求么?答案是不行的,因為棋牌游戲的實時要求非常高,在高延時的情況下,會嚴重影響用戶體驗。所以需要,絕對好的線路,傳統(tǒng)的單線高防,在運營商之前切換延時無法滿足業(yè)務需求。
為啥用3線BGP高防?
傳統(tǒng)的BGP高防機房,都是使用自建BGP機房資源做,這種IDC也只有騰訊會有,而且費用昂貴。大家都知道BGP線路都是優(yōu)先給公有云IAAS服務的,拿來做高防太浪費了(BGP線路是普通單線的至少3倍以上價格),而且這種BGP線路,一般都也只有100G左右,不會有更大的帶寬。這種針對棋牌類的攻擊一般都在200G~300G左右,當時和閑徠聊過,他們業(yè)務高峰的時候攻擊量是平均500G~700G。這么大的帶寬存BGP機房是無法承受的。
CDN與三線BGP高防聯(lián)營
如果直接和運營商談這個機房只做高防機房,其實這是非常虧的,因為高防的流量很大,攻擊時間也不確定,那么,如果我們使用CDN網(wǎng)絡中的其中一個節(jié)點做高防機房,CDN使用出口帶寬,高防使用入口帶寬。這樣帶寬利用率會上升很多。如果按照出入向1:5的比例,80G CDN流量可以換400G入口流量。如果按照平均8元/Mbps.月, CDN的運營費用:160萬。如果你量用到了,其實高防是免費用的。當然,你要集中這個省的幾個節(jié)點,一般一個CDN節(jié)點按照20G規(guī)劃。
有了以上論證,我們有了三線BGP高防,那么,下一步要做什么呢?大家都知道高防切換是使用cname的方式做切換。其實如果你在游戲終端安裝一個安全sdk,切換這就完全擺脫cname的方式,可以使用WebDNS切換。也就是阿里云的游戲盾模式。游戲盾相關的介紹可以參考我以前的文章。本節(jié)主要是講我們?nèi)€BGP高防如何工作。
一、高防系統(tǒng)架構
BGP高防系統(tǒng)架構
二、轉(zhuǎn)發(fā)模塊
模塊作用
轉(zhuǎn)發(fā)模塊在整個高防系統(tǒng)中起到至關重要的作用,把用戶的真實IP隱藏到轉(zhuǎn)發(fā)系統(tǒng)后面,配合用戶通過cname方式切換現(xiàn)有業(yè)務系統(tǒng)到高防機房,同時把清洗后的正常流量轉(zhuǎn)發(fā)給真正的用戶業(yè)務系統(tǒng)。
功能描述
轉(zhuǎn)發(fā)系統(tǒng)分為4層轉(zhuǎn)發(fā)和7層轉(zhuǎn)發(fā),針對棋牌類App業(yè)務數(shù)據(jù)使用4層轉(zhuǎn)發(fā),升級等系統(tǒng)使用7層轉(zhuǎn)發(fā)(一般都是掛在CDN上的一個url下載地址)
原理
4層轉(zhuǎn)發(fā)
高防機房一般會分配幾個C段高防IP端,這些IP就是給轉(zhuǎn)發(fā)模塊用的,我們假定它為IP1
realIP1是用戶業(yè)務源站IP地址
graph LR
A[clientIP:TCP:2004]
A--> |正常訪問| B[IP1:TCP:2004]
B--> |4層轉(zhuǎn)發(fā)| C[realIP1:TCP:10000]
C--> |4層轉(zhuǎn)發(fā)| D[用戶業(yè)務源站]
7層轉(zhuǎn)發(fā)
graph LR
A[clientIP:TCP:80]
A--> |正常訪問| B[IP1:TCP:80]
B--> |4層轉(zhuǎn)發(fā)| C[realIP1:TCP:80]
C--> |7層轉(zhuǎn)發(fā)| D[用戶業(yè)務源站]
業(yè)務流程
1、用戶在控制臺創(chuàng)建高防IP,系統(tǒng)會在剩余的高防IP列表中隨機選一個IP地址。
2、然后通知lvs系統(tǒng)建立pool,通過pool建立虛擬IP,然后建立對應member IP(回源IP)
BGP高防系統(tǒng)
3、設置完以上參數(shù),需要等待用戶把我們產(chǎn)生的隨機域名設置到他們生產(chǎn)網(wǎng)站別名。
4、啟動BGP高防,借助CDN的DNS系統(tǒng),當聯(lián)通用戶,根據(jù)不同線路解析到對應的聯(lián)通高防機房,電信、移動也一樣。
5、不使用的時候可以切換到回源IP上。
返回VIP是否分配成功。
三、清洗系統(tǒng)
BGP高防清洗系統(tǒng)
模塊組成
一般清洗模塊要配合檢測模塊配合使用,我們先把檢查模塊使用NTA標識,清洗模塊使用ADS標識。
檢查模塊負責:需要統(tǒng)計各個高防IP對進入高防機房的流量,傳統(tǒng)檢測手段,例如綠盟的NTA使用netflow和交換機配合,主要是準確性差一些。建議還是使用大數(shù)據(jù)方式計算其流量(spark streaming 統(tǒng)計各種包的數(shù)量,聚合計算檢測),一旦出現(xiàn)流量超出通知核心交換丟棄目的IP所有流量。
清洗模塊負責:需要在用戶購買的黑洞閾值內(nèi)對攻擊流量做清洗。針對4層DDoS攻擊流量,比如:Syn Flood PPS達到8000的時候,啟動清洗,這就需要流量學習的技術。動態(tài)設定PPS。清洗模塊是由集群組成,單臺處理能力能達到40G,小包20G能力,一般一個高防機房需要400G,一個機架柜搞定。針對7層的攻擊流量,要測量一下 nginx服務器大小,一臺服務器http處理能力大約8萬QPS,4臺4層轉(zhuǎn)發(fā)lvs+8臺7層轉(zhuǎn)發(fā)nginx。兩個機架柜。如果是https處理能力大約在7000~8000QPS,一般加SSL加速卡。提升其單臺服務器處理能力。一個集群處理7層流量大約60萬QPS,4層清洗能力大約400G。
業(yè)務流程
1、分線路解析
2、流量檢測發(fā)布黑洞路由=>對應套餐上限
3、經(jīng)過4層流量清洗。
4、經(jīng)過lvs+nginx做4/7層轉(zhuǎn)發(fā)CC清洗。
5、清洗完成后把干凈數(shù)據(jù)轉(zhuǎn)發(fā)給用戶源站。
四、管控中臺
功能
主要是完成用戶購買高防套餐,對高防IP的自動分配,設置DNS分線路解析。
同時要采集攻擊流量圖,連接數(shù),攻擊告警,顯示給用戶。
五、調(diào)度系統(tǒng)
網(wǎng)絡狀況感知
主要是通過CDN撥測系統(tǒng),了解目標用戶的網(wǎng)絡狀況,通過延時和丟包率統(tǒng)計上來,作為調(diào)度系統(tǒng)決策手段,一般延時不能大于100ms,丟包率一般不要大于5%,BGP線路一般都是2%左右。監(jiān)控準確性取決于CDN撥測點數(shù)和反饋數(shù)據(jù)準確性。后臺可以通過tsdb存儲。
調(diào)度
一般通過手工調(diào)度,調(diào)度功能有:
@1、調(diào)度算法,根據(jù)網(wǎng)絡狀況感知模塊決定,降級/升級調(diào)度(取決于機房的延時和丟包率定義升降),
@2、調(diào)度管理:調(diào)度首先要明確你的調(diào)度對象,針對哪個用戶,哪個線路進行調(diào)度。還是整個機房調(diào)度。如果整個機房由于特殊的原因無法使用,需要把這個機房所有用戶調(diào)度到其他可用機房,如果我們有單線機房,我們可以在BGP機房單個線路調(diào)度到相應的機房
@3、資產(chǎn)管理:管理我們現(xiàn)有的高防機房,管理我們高防機房中有高防IP資產(chǎn)。
@4、超賣率統(tǒng)計:高防如何想賺錢必須達到3~5倍的超賣率。超賣率=當前銷售的總帶寬/高防機房現(xiàn)有帶寬。
六、監(jiān)控系統(tǒng)
日常監(jiān)控
主要監(jiān)控高防機房所有的設備監(jiān)控狀態(tài),例如:CPU、memory、DISK、network、process、socket。
性能監(jiān)控
需要了解4、7層性能。ip_port連接的pps,http連接的cps。
未來發(fā)展
BGP高防體系也在不斷的演變,運營商也看上了這塊市場,包括電信云堤,聯(lián)通也在全國部署了相應的清洗服務。再加上運營商可以自己控制路由器,所有IP anycast也是有可能實現(xiàn)的。
河南億恩科技股份有限公司(mszdt.com)始創(chuàng)于2000年,專注服務器托管租用,是國家工信部認定的綜合電信服務運營商。億恩為近五十萬的用戶提供服務器托管、服務器租用、機柜租用、云服務器、網(wǎng)站建設、網(wǎng)站托管等網(wǎng)絡基礎服務,另有網(wǎng)總管、名片俠網(wǎng)絡推廣服務,使得客戶不斷的獲得更大的收益。
服務器/云主機 24小時售后服務電話:
0371-60135900
虛擬主機/智能建站 24小時售后服務電話:
0371-55621053
網(wǎng)絡版權侵權舉報電話:
0371-60135995
服務熱線:
0371-60135900