【視頻直播場景下P2P對等網技術②】任意兩節點的聯通性能評估

【視頻直播場景下P2P對等網技術②】任意兩節點的聯通性能評估

如上文(【視頻直播場景下P2P對等網技術①】)所述,當一個新的節點FF加入現有的網絡GG的時候,若m=VGm=|V_G|,則此時可能需要衡量mm條可能的連接才能從這mm條潛在的邊中選取符合條件的最優的 CmA1C_m^{A_1} 的那一組組合。

那我,我們怎麼衡量一條連接的好壞呢?

在這裏插入圖片描述

相信很多人,尤其是常玩遊戲的人,都會知道一個概念,ping值。雖然ping值本來是表示網絡延時的,但是從我們的經驗看,ping值與網絡帶寬(對應Network中的路徑容量)是高度相關的。

我們從運營商基礎設施管理建設、數據評測方面做了分析和驗證,證明是可以用ping值,即rtt來表示互聯網上任意兩個地址之間的聯通性能的。

而上圖是作者在家裏通過北京聯通分別ping(新疆的)天山網和百度的結果。

從上圖能看出來,雖然天上網能正常訪問,但ping卻不通。這很可能是因爲天上網的服務器屏蔽了ICMP;

那麼,互聯網上的IP地址那麼多,我們如何能夠預測任意兩個IP之間的ping值呢?我們不可能對所有的IP對之間都做ping,一是我們很難觸及到所有的IP,二是232×2322^{32}\times2^{32}個IP對對我們來說規模也實在是太大了。
在這裏插入圖片描述
在這裏插入圖片描述
我們知道,網絡通信是通過路由器一跳又一跳的層層轉發到目的地址的。如上圖,我們可以探測到這條轉發路徑上每一跳經過的時間,也就是說可以得到路由器與路由器之間的rtt。

即便對於ping不通的天山網,通過traceroute這種方法,也能還原其應該的轉發路徑。也就是說,我們並不必須保證目標IP在線且響應報文,也能還原整條轉發路徑的大部分信息。

考慮到運營商部署的現實問題,路由器的數量應該是有限的,尤其是核心網、骨幹網的路由器數量。如果能還原運營商內和運營商間的路由器的拓撲,還原出一張加權圖(weighted graph),那麼我們就有可能預測出任意兩點之間的rtt。

那麼我們如何探測還原出這張大(network,weighted directed graph)呢?
首先,可以通過龐大的活躍用戶羣作爲agent去探測網絡,所以探測的發起端算是現成的資源。但探測目標呢?我們不太可能去探測2322^{32}那麼多的目標,而如果目標不足,或者不夠均勻,將可能導致覆蓋度降低,rtt預測精度降低。

在這裏插入圖片描述
考慮到運營商一般都是通過BGP協議管理網絡的,我們有理由相信自治域聲稱的IP Prefix在運營商內部是一個相對比較細粒度的一個網段劃分。
所以,我們在每個AS的每個IP段內各選區一個IP作爲探測目標,理論上應該可以覆蓋到所有的IP段。

那麼,該怎麼獲取(中國)所有的AS自治域及其域下的所有的IP段呢?

當然,如果我們自己有BGP路由器一切就簡單了,然而如果沒有資格,是不是就沒辦法了呢?當然不是。

首先,我們從APNIC可以獲取所有CN的ASN,然後可以便利所有的ASN獲取該域下所有的IP段。然後每個段去重後取一個加入探測目標List即可。如下圖所示。

在這裏插入圖片描述
在這裏插入圖片描述

通過一段時間的沉澱,中國這張互聯網的大網基本上就可以被還原出來了。

那麼有了這張網,我們能做什麼呢?

在這裏插入圖片描述
上圖分成上下兩層,每層各有一個Graph。上層的Graph是我們上篇文章中的那個示意圖;下層的Graph代表運營商核心&骨幹網的網絡拓撲。

下層的Graph並不是真實的拓撲,真實的拓撲沒這麼規規整。但不失一般性,且該拓撲形式對我們分析這個問題沒有影響。

在這裏插入圖片描述
顯然,我們業務場景中的每個節點都可以映射到下層網絡拓撲上,而藉助下層的網絡拓撲,我們就可以預測出上層Graph中每個節點對之間的聯接性能。

接下來,我們將和大家分享一下我們中國的互聯網核心拓撲是什麼樣的,有什麼特點,以及如何爲我所用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章