運營商是怎麼分析出數據通道中特定 App 的數據流量的?

經常看到運營商說手機 QQ、微信等等佔用了大量的信道資源,但是手機上有各種 APP,都是通過 TCP/IP 去連接伺服器的,運營商是怎麼在這些連接里區分出特定的 App 並分析出流量的呢?

相關問題: http://zhi.hu/RLgi


同意胡騰的答案。主要是通過DPI(Deep Packet Inspection)來實現的,一般稱之為「深度報文檢測」或「深度包檢測」。從字面意思來講,所謂「深度」是相對於普通的報文檢測而言的。

1. DPI 深度報文檢測
普通的報文檢測僅分析IP包的層4以下5元素:源地址、目的地址、源埠、目的埠及協議類型。而DPI除了對以上5元素進行分析外,增加了應用層分析,用來識別各種應用及其內容。如下圖所示:

普通報文檢測是通過埠號來識別應用類型的。如埠為80時,則代表為上網應用。這樣的情況下會產生很多風險,一些病毒或者垃圾應用會採取假冒的埠號來偽裝成合法報文。那麼,普通檢測方法就沒辦法識別了。
而深度報文檢測是對報文內容和協議特徵進行檢測的,非法的應用可以隱藏和變換埠號,但是比較難以隱藏應用層的協議特徵。2. DPI 常用識別技術

  • 特徵識別

不同的應用通常會採用不同的協議,而各種協議都有其特殊的指紋,這些指紋可能是特定的埠、特定的字元串或者特定的Bit序列。 基於特徵的識別技術,正是通過識別數據報文中的指紋信息來確定業務流所承載的應用。

  • 關聯識別

像VoIP/FTP/在線遊戲等業務普遍採用控制流與業務流分離的方式,通過控制流完成握手,其業務流沒有任何特徵。因此首先由應用層網關識別出控制流,並根據控制流協議分析識別出業務流的埠和對端網關地址等信息,然後對業務流進行解析,從而識別出相應的業務流。

  • 行為識別

基於終端已經實施的行為進行分析,判讀用戶正在進行的動作或即將實施的動作。行為識別技術通常用於無法根據協議判斷的業務識別。如垃圾郵件等。

3. DPI 部署方式

目前有3種部署方式:

  • DPI內置在GGSN(Gateway GPRS Support Node,GPRS網關支持節點 )中,這種屬於全球的主流方案,也是3GPP的標準;
  • DPI外置於以上圖中的Gn或Gi口中,這種方式流程比較複雜,計費困難,運維難度大,方案也不是很成熟;
  • 外置+內置的折中方案。

4. DPI實現的功能

  • 應用分析——網路流量構成分析、性能分析、流向分析等;
  • 用戶分析——用戶群區分、行為分析、終端分析、趨勢分析等;
  • 網元分析——根據區域屬性(市、區、街道等)、基站負載情況進行分析等;
  • 流量管控——P2P限速、保證QoS、帶寬保障、網路資源優化等;
  • 安全保障——DDoS攻擊、數據廣播風暴、防範惡意病毒攻擊等。

5. DPI如何識別App數據
判斷DPI能力如何,首先看協議識別的數量,就是能夠識別多少種網路中運行的應用協議。能夠識別的越多,則DPI的控制就越精確,控制範圍就越廣;其次是從新的協議出現到能夠識別響應速度。
DPI的技術核心點在於如何維護一個高準確性、高實時性的應用特徵庫,進而才能保障檢測的準確性和實時性。所以,當前誤報及漏報率還是比較高的,也不能涵蓋所有應用協議。
以微信舉例,主要是做了針對性的協議監控,通過演算法對特徵數據和字元串進行匹配,對微信的私有協議解析進行識別。


6. 總結
現在很多廠商都宣稱自己可以通過智能流量建模,自動發現業務特徵及雲端識別(以上兩點有點類似殺毒軟體),通過全網的分散式部署來進行檢測和管控,目前還做不到完全準確的、實時的檢測和識別。但對於流量的可視、可管和可控對運營商保障業務,降低安全風險有很大的意義。
--------------------------------------------------------------------------------------------------------------------------
20130328 update:
很多人提到GGSN內置DPI性能會下降,實際上現在2G/3G/4G都向「融合」的分組網SAE(System Architecture Evolvement)演進,統一的分組網進行智能化的深度報文解析以及計費策略的控制。性能在技術上不是問題。

另外,如上圖所示,可以在Gn口或IuPS口使用分光器做鏡像,部署探針來採集數據並上報相應管理平台,進行端到端的信令數據分析。


在運營商的網關設備上都有DPI檢測功能,即深度報文解析,可以將數據報文解析到七層應用層,這樣就清楚的知道該數據報文具體跑的是什麼應用


根據特定應用使用的網關IP來進行判斷。
曾經參與過手機QQ免流量的項目,就是把手機QQ後台所有的網關IP報到運營商處,由運營商對流量進行標記及減免。但是實施起來技術難度很大,因為用戶數越多的應用IP越多,手機QQ這個統計起來非常嚇人,運營商內部系統不支持非常多的IP進行標記。所以做起來技術難度很大,後期實現應該是內部對IP量進行了優化減免。
p.s.現在似乎沒法對單一用戶使用某一款應用產生的流量做精確標記。


運營商現在把精力放在這個上面,並熱衷於這就是所謂的大數據研究,我認為是沒用對地方,方法找錯了。

我知道周星馳住香港九龍某個公寓幾號房間,每天出門幾點,幾點遛狗,可我還是不知道怎麼賣給周星馳一輛賓士車。


其實前面已經有人說到了DPI,正解,說的太專業了,我來點聽得懂的。

簡單說,DPI這個技術可以用來分析用戶利用網路幹了什麼事,例如刷微信,看視頻,看網站,看圖片等。現在聯通不是和微信合作有個微信流量包,搜狐視頻和運營商也有個套餐么?其實這些都是基於DPI做的。

DPI如何工作呢?簡單說,就是分析網路包,咱不說7層,太複雜太專業,就說它能夠把源IP,目的地IP等都分析出來,同時一些協議或者App都有一些自己的signature(可以翻譯成特徵),也就是說,可以根據這些signature來區分到底現在的流量是由誰產生的。通俗點,每個人都有自己的長相,長相就是區分人的signature。

接下就是講效率,有人說可能會影響現在的上網不穩定。那就看系統是怎麼做的,你要是直接在網路鏈路中間放個DPI,如果DPI性能有問題,肯定會引起網路的不穩定。但還是有其他方法,如果我們copy一份流量出來,然後再做分析,不影響網路使用的情況下,又能做數據包分析,豈不完美,所以,現在壓力全部在DPI這裡了,如果性能可以解決,基本上能分析的很準確,關鍵是DPI到底能識別哪些東西。

DPI是一門很專業的技術,不是靠我說幾句就能解釋清楚的,我只是大概說一下。

裡面很多東西涉及到3GPP的一些東西,不贅述。


哈哈,看了答案,感覺有些人做過,有些人沒做過。有些人只是做過手機APP,沒玩過運營商數據。
說一下,運營商通過DPI可以解析七層。裡面會包括URL,也就是你申請的網站地址啊,裡面可以對應到大部分APP。還有些有固定的IP, DNS啊,也可以輔助分析。最後 以後HTTPS有加密了,很多可能不知道了,到時候再另想方法吧。
DPI放哪都可以,無線側,核心網側,甚至以上。


運營商拿到用戶使用app訪問的域名以及ip地址,然後跟app的ip地址庫做匹配,app-ip這個地址資料庫,是通過分析各個app軟體的數據包,梳理出來的。


DPI報文識別實時處理要求高,這樣管道才能控制;分光器複製的數據流主要是做海量分析使用,發現客戶行為背後的價值。


GGSN上的DPI功能


恰好我之前做的就是這個。

跟前面說的一樣,用的是DPI。DPI包裡面包含起始IP,目的IP,埠號,請求URL,cookie等非常多的信息。通過分析目的IP,請求和cookie等可以判斷是哪個應用,再配合3a資料庫,可以判斷出用戶帳號,進而獲得用戶身份信息。

數據量一半非常大,像江蘇省固網用戶,每秒數據量在200萬左右,2GB/秒。


做比賽看到過聯通提供的流量數據,可以得到某個手機號碼在某段時間內,訪問某一個地址或IP產生的流量多少,根據這個就可以定期統計出來。


告訴你個實話,運營商說那些只是為了封堵此類業務提供理論支持,目的是讓你用彩信、簡訊、打電話作為主要通信方式。報告的數據80%是編的,屬於理論計算出來的。
至於業務識別的方式就是DPI,採用旁路接入通信網路核心網,對網路完全無影響,整體準確性50%就算不錯的,主流業務識別準確性較高,但很難到100%。
從技術上講 這個領域運營商是個忽悠與被忽悠的確色。


據我所知運營商根本就不知道這些信息,都是蒙的。 如果誰說他知道,肯定是騙你的。不服可以報出你是哪個省,哪個廠家 哈哈


推薦閱讀:

手機是否可以被監聽?
三家運營商的 4G LTE 網路,消費者該如何選擇,要考慮哪些因素?

TAG:移動互聯網 | iOS應用 | 電信運營商 | 移動通信 | Android應用 |