遊戲雲間之二 網路環境問題

2022-09-20 06:54:15 字數 2377 閱讀 6510

我還記得幾年前玩網遊的時候,很多遊戲登入前先要選服:網通服、電信服或者是雙線服。之所以造成這個現象是由於歷史政策限制導致,不同運營商之間的互聯互通不但成本高,而且速度慢,跨運營商的網路質量極不穩定。所以很多遊戲為了有更好的使用者體驗和節省成本,按照運營商網路分伺服器,這麼做確實可以保證網速,但問題來了,我們玩遊戲很多時候是和朋友們一起玩的,小夥伴們家裡的網路可是各個運營商都有,設想下你在和小夥伴們組團打副本的時候,眼看boss要掛了,結果你卡了,導致團滅,除了無奈你還能說什麼。

先說說網速,現在的idc大部分的都是雙線(電信、聯通),網速很多時候也跟idc的規模有關係,大點的idc由於頻寬資源充足,網速還不錯,而中小idc由於成本和規模的原因,往往都是某乙個運營商的接入速度很好,另乙個就差強人意了。但是只是雙線還是不夠的,國內還有教育網等其他網路,現在也有很多idc號稱是bgp網路,其實真正的靠譜bgp網路很少,並且也很貴。說道這裡順便簡單介紹下bgp:bgp(border gateway protocol, 邊界閘道器協議)是用來連線internet上的獨立系統的路由選擇協議。bgp主要用於網際網路as( 自治系統)之間的互聯,bgp的最主要功能在於控制 路由的傳播和選擇最好的路由。中國網通 、中國電信、中國鐵通和一些大的民營idc運營商都具有as號,全國各大 網路運營商多數都是通過bgp協議與自身的as號來實現多線互聯的。使用此方案來實現多線路互聯,idc需要在cnnic( 中國網際網路資訊中心)或apnic(亞太 網路資訊中心)和as號,然後通過bgp協議將此段ip位址廣播到其它的網路運營商的網路中。使用bgp協議互聯後,網路運營商的所有骨幹路 由裝置將會判斷到idc機房ip段的最佳路由,以保證不同網路運營商使用者的高速訪問。 從這段介紹就能看出來,要想實現bgp網路也是有很高的門檻,而且就算是實現了bgp網路,出口頻寬和穩定性也是需要比較大的投入的才能保證的。但是網遊由於應用的特殊性和使用者群體的廣泛性,在不考慮成本的情況下bgp網路是首選。

說到成本,idc託管費用的大頭就是網路費用,如果是單線的,會便宜很多,而雙線的則要貴很多,如果頻寬和速度要求高,成本會高的嚇人,如果是bgp網路,頻寬方面的成本就更大,不少idc託管的費用都是按頻寬算的,其他費用甚至可以直接包含在頻寬費用裡,所以可想而知,有可能你辛苦一年,最後發現賺來的錢大部分都花在頻寬上了。

再來說說管理,idc由於各自實力和管理水平的差距,網路或者機房的穩定性參差不齊,好一點的每年故障次數較少,而不好的三天兩頭斷網、出故障,甚至停電了備用電源失靈這種事也常有發生。還有更離奇的,某公司在idc託管的機器某天突然連不上了,最後查到原因,是因為掃地大媽不小心把機櫃的電源線踢掉了。這絕不對大媽的責任,而是資料中心管理及運作規範的缺失。很遺憾,國內太多資料中心真的都還是停留在機房的層次,僅僅是放機器的房間,管理不夠規範,更不要說資訊保安等等,經常由於同機房別人的機器被攻擊,導正整個idc出口網路癱瘓。

最後再說說靈活性,idc機房的頻寬很多時候提前談好價錢和折扣,一般都是半年或者一年起,你想隨意增減頻寬是沒那麼方便的。而如今的移動網際網路時代,網路遊戲的使用者量爆發經常是很突然的,如果不能靈活的控制頻寬,將很難保證好的使用者體驗。當然你可以按照最高峰訪問量預先配置頻寬,但是成本方面的增加將會是非常可觀的。

那麼在雲時代呢,這些傳統idc託管所面臨的網路問題會不會有什麼不一樣?如果乙個雲服務提供商告訴你他的網路有雙線什麼的,那基本可以不考慮了。因為在雲時代,bgp網路是標配,既然是雲,意味著使用者有可能來自全國或者全球各地,如果沒有完善的網路條件,雲服務也只不過是空談。bgp網路帶來的另乙個好處是使用起來非常方便,你再也不用為同一臺伺服器配置多個ip來連線不用的運營商網路,只需乙個ip就能保證所有的網路連通。當然,要達到這些條件對雲服務提供商的要求就非常高了,首先雲服務提供商一定要規模夠大,因為規模大才有可能拿到優質網路資源,保證頻寬質量,其次要有很強的技術實力,必須有乙個非常強大的技術和運維團隊來管理成千上萬臺物理機的集群,光有這些還不夠,其資料中心還必須在國內的主要的大城市都有,確保全國範圍的覆蓋,再好一點的最好有海外節點,比如香港,東南亞等。現在國內的不少遊戲公司已經衝出中國,走向亞洲了,所以乙個好的雲服務提供商必須也具備一定數量的海外資料節點。而成本方面,正式由於雲服務提供商的規模效應,才有可能協調國內的各個運營商,以較低的成本拿到優質網路資源,所以成本反而更低。現在很多雲服務提供商的頻寬**都是非常誘人的。

當然最最重要的還是彈性,你不用再去判斷遊戲上線後需要多少流量和頻寬,事實是,在移動網際網路時代,你也很難**。既然很難**,那就不需要**,在雲上,頻寬也不過是可以隨意調配的資源的一種。由於頻寬調整的靈活性,你可以在需要的時候增加頻寬,不需要的時候降低頻寬。比如在發動城戰的活動期間,臨時增加頻寬,亦或是在每天開通副本的7-9點間,臨時增加頻寬,其餘時間則降低頻寬。這樣做不但能夠保證高峰時期的網路質量,讓使用者任何時候都覺得很快,更重要的是按需使用,按使用量付費,把每一分錢都花在刀刃上。

而說到管理,相信雲服務提供商都將其機房管理規範和要求,以及sla公布和簽署在合同裡。而管理只能說是因公司而異,因為管理需要的不僅僅是流程、規範,更需要技術實力、特別是曾經運營過大型idc的經驗,這樣才能夠構建強大且穩定的服務。

遊戲引擎基礎(七)(網路和連線遊戲環境)

第7部份 網路和連線遊戲環境 網路遊戲 我記得一些年前坐在gdc 遊戲開發者大會 聽負責開發x wing vs tie fighter的傢伙們題為 淹沒在internet 的演講,全是關於讓網路遊戲實時地在internet上工作的東西。他們選擇那個題目是多麼的正確啊。當它開始處理資料報的丟失,亂序,...

傻瓜式Linux之二 網路配置

不管你安裝linux的目的是什麼,搭建生產環境,做測試伺服器,或者開發伺服器 都避免不了要配置網路,至少intranet還是少不了的,孤立的乙個節點,在實際的工作中幾乎是沒有意義的 更何況我們習慣了在網路下的生活和工作,如果少了internet,簡直難以想象啦!不要著急,如果你原來的主機在乙個lan...

boost庫在工作(27)網路客戶端之二

由於一台伺服器上可能存在多個服務,而每個服務使用了不同的埠,因而對一台伺服器的查詢,就可能返回多個服務的埠。為了表示多個服務,需要使用乙個列表來表達多個服務存在。而訪問乙個列表,通常使用迭代設計模式來訪問整個列表。因此就會使用下面的 來進行網域名稱解釋 include stdafx.h includ...