使用nProbe監控行動網路(2G,3G和LTE)
以前,電信行業一直認為監控行動網路流量是複雜,昂貴且專有的。不幸的是,這是開源運動未能廣泛傳播的少數領域之一,而供應商鎖定仍然是標準。去年,我們參觀了巴塞羅那的世界行動通訊大會,以瞭解更多有關的資訊,結論是,藉助Android,移動終端已經相當開放,但是網路仍然很封閉。這一直是向nProbe新增分析移動流量能力的驅動力。
我們的目標一直是監視行動網路流量,類似於在標準IP網路上發生的事情,以便提供更多附加功能。在行動網路中,存在一種稱為GTP(GPRS隧道協議)的協議,該協議可分解為兩個單獨的協議:
GTP-U:用於承載使用者資料流量,即你用手持裝置上網時的網路流量(如電子郵件、網上衝浪、遊戲)。
GTP-C:用於承載GPRS核心網路內的信令。每當您用手持裝置連線/斷開、跳入網路內部時,網路都會產生一條資訊。監控GTP-C是保持和關聯使用者(即IMSI)和行動網路內與使用者相關的動態IP地址的關鍵。GTP-C中的內容遠不止這些,比如使用者的電話號碼、使用者所連線的小區(因而也是它的物理位置)、APN和手持裝置的型號。GTP-C用於協商隧道ID,然後用來承載使用者流量,所以GTP-C的流量狀態必須儲存在資料庫的某個地方,以保持使用者和其IP地址之間的關聯。
GTP-C由兩個外掛(gtpv1和gtpv2外掛)以及radius協議處理。相反,nProbe核心已更新為支援行動網路上使用的許多協議和封裝,例如:
- PPP/多鏈路PPP
- 移動IP
- L2TP
- GTP v1(2G / 3G網路)和v2(4G / LTE網路)
- GRE
- 在行動網路上使用具有3GPP擴充套件的Radius。
所有現有的nProbe外掛均已更新,因此GTP-C的優先順序是最高的。這意味著當nProbe檢測一些GTP封裝的HTTP流量時,還會返回有關生成該流量的使用者的常規資訊(URL,Cookie,User-Agent…。)資訊(即IMSI)。使用微雲示例在nProbe中透明地實現了這種資訊關聯。
每當nProbe檢測某些GTP-C訊息時,它都會動態(自動)將使用者狀態更新到redis資料庫中,以便使用者可以將此資訊繫結到使用者。
微型雲體系結構的另一個優勢是,它允許跨各種探針關聯流量。實際上,行動網路是自然分佈的,通常不可能將所有流量聚合到一個位置。微型雲允許所有探測器共享資料(當然,在示例nProbe例項上實現了資料快取,以避免過多的通訊),因此支援所有組合。
PF_RING群集也已更新,因此無論何時執行nProbe的伺服器,傳入的流量都可以在所有正在執行的nProbe例項之間共享。這是通過尊重GTP隧道來實現的,因為PF_RING不會在外部資料包包絡上保持平衡,而是在隧道流量上保持平衡。使用此方法,PF_RING允許在多個例項之間平衡傳入網路流量(也在多個傳入介面上),從而監視單個伺服器上的多千兆位流量。
當然,nDPI能夠解析GTP封裝的流量,因此您可以配置nProbe(通過指定的模板-T)以在應用程式級別分析流量,從而瞭解第7層協議。
nProbe可以使用以下資訊元素通過NetFlow v9 / IPFIX匯出資訊:
Plugin GTPv1 Signaling Protocol templates: [NFv9 57692][IPFIX 35632.220] %GTPV1_REQ_MSG_TYPE GTPv1 Request Msg Type [NFv9 57693][IPFIX 35632.221] %GTPV1_RSP_MSG_TYPE GTPv1 Response Msg Type [NFv9 57694][IPFIX 35632.222] %GTPV1_C2S_TEID_DATA GTPv1 Client->Server TunnelId Data [NFv9 57695][IPFIX 35632.223] %GTPV1_C2S_TEID_CTRL GTPv1 Client->Server TunnelId Control [NFv9 57696][IPFIX 35632.224] %GTPV1_S2C_TEID_DATA GTPv1 Server->Client TunnelId Data [NFv9 57697][IPFIX 35632.225] %GTPV1_S2C_TEID_CTRL GTPv1 Server->Client TunnelId Control [NFv9 57698][IPFIX 35632.226] %GTPV1_END_USER_IP GTPv1 End User IP Address [NFv9 57699][IPFIX 35632.227] %GTPV1_END_USER_IMSI GTPv1 End User IMSI [NFv9 57700][IPFIX 35632.228] %GTPV1_END_USER_MSISDN GTPv1 End User MSISDN [NFv9 57701][IPFIX 35632.229] %GTPV1_END_USER_IMEI GTPv1 End User IMEI [NFv9 57702][IPFIX 35632.230] %GTPV1_APN_NAME GTPv1 APN Name [NFv9 57703][IPFIX 35632.231] %GTPV1_MCC GTPv1 Mobile Country Code [NFv9 57704][IPFIX 35632.232] %GTPV1_MNC GTPv1 Mobile Network Code [NFv9 57705][IPFIX 35632.233] %GTPV1_CELL_LAC GTPv1 Cell Location Area Code [NFv9 57706][IPFIX 35632.234] %GTPV1_CELL_CI GTPv1 Cell CI [NFv9 57707][IPFIX 35632.235] %GTPV1_SAC GTPv1 SAC
Plugin GTPv2 Signaling Protocol templates: [NFv9 57742][IPFIX 35632.270] %GTPV2_REQ_MSG_TYPE GTPv2 Request Msg Type [NFv9 57743][IPFIX 35632.271] %GTPV2_RSP_MSG_TYPE GTPv2 Response Msg Type [NFv9 57744][IPFIX 35632.272] %GTPV2_C2S_S1U_GTPU_TEID GTPv2 Client->Svr S1U GTPU TEID [NFv9 57745][IPFIX 35632.273] %GTPV2_C2S_S1U_GTPU_IP GTPv2 Client->Svr S1U GTPU IP [NFv9 57746][IPFIX 35632.274] %GTPV2_S2C_S1U_GTPU_TEID GTPv2 Srv->Client S1U GTPU TEID [NFv9 57747][IPFIX 35632.275] %GTPV2_S2C_S1U_GTPU_IP GTPv2 Srv->Client S1U GTPU IP [NFv9 57748][IPFIX 35632.276] %GTPV2_END_USER_IMSI GTPv2 End User IMSI [NFv9 57749][IPFIX 35632.277] %GTPV2_END_USER_MSISDN GTPv2 End User MSISDN [NFv9 57750][IPFIX 35632.278] %GTPV2_APN_NAME GTPv2 APN Name [NFv9 57751][IPFIX 35632.279] %GTPV2_MCC GTPv2 Mobile Country Code [NFv9 57752][IPFIX 35632.280] %GTPV2_MNC GTPv2 Mobile Network Code [NFv9 57753][IPFIX 35632.281] %GTPV2_CELL_TAC GTPv2 Tracking Area Code [NFv9 57754][IPFIX 35632.282] %GTPV2_SAC GTPv2 Cell Identifier
Plugin Radius Protocol templates: [NFv9 57712][IPFIX 35632.240] %RADIUS_REQ_MSG_TYPE RADIUS Request Msg Type [NFv9 57713][IPFIX 35632.241] %RADIUS_RSP_MSG_TYPE RADIUS Response Msg Type [NFv9 57714][IPFIX 35632.242] %RADIUS_USER_NAME RADIUS User Name (Access Only) [NFv9 57715][IPFIX 35632.243] %RADIUS_CALLING_STATION_ID RADIUS Calling Station Id [NFv9 57716][IPFIX 35632.244] %RADIUS_CALLED_STATION_ID RADIUS Called Station Id [NFv9 57717][IPFIX 35632.245] %RADIUS_NAS_IP_ADDR RADIUS NAS IP Address [NFv9 57718][IPFIX 35632.246] %RADIUS_NAS_IDENTIFIER RADIUS NAS Identifier [NFv9 57719][IPFIX 35632.247] %RADIUS_USER_IMSI RADIUS User IMSI (Extension) [NFv9 57720][IPFIX 35632.248] %RADIUS_USER_IMEI RADIUS User MSISDN (Extension) [NFv9 57721][IPFIX 35632.249] %RADIUS_FRAMED_IP_ADDR RADIUS Framed IP [NFv9 57722][IPFIX 35632.250] %RADIUS_ACCT_SESSION_ID RADIUS Accounting Session Name [NFv9 57723][IPFIX 35632.251] %RADIUS_ACCT_STATUS_TYPE RADIUS Accounting Status Type [NFv9 57724][IPFIX 35632.252] %RADIUS_ACCT_IN_OCTETS RADIUS Accounting Input Octets [NFv9 57725][IPFIX 35632.253] %RADIUS_ACCT_OUT_OCTETS RADIUS Accounting Output Octets [NFv9 57726][IPFIX 35632.254] %RADIUS_ACCT_IN_PKTS RADIUS Accounting Input Packets [NFv9 57727][IPFIX 35632.255] %RADIUS_ACCT_OUT_PKTS RADIUS Accounting Output Packets
並使用一些命令列選項將流量資訊儲存在轉儲檔案中:
--gtpv1-dump-dir | Directory where GTPv1 logs will be dumped --gtpv1-exec-cmd | Command executed whenever a directory has been dumped --gtpv2-dump-dir | Directory where GTPv2 logs will be dumped --gtpv2-exec-cmd | Command executed whenever a directory has been dumped --radius-dump-dir | Directory where Radius logs will be dumped --radius-exec-cmd | Command executed whenever a directory has been dumped
本質上,nDPI,PF_RING和nProbe現在能夠監視多千兆位移動流量,並使用微雲將探針中的GTP-C與GTP-U流量自動關聯,而無需像其他工具那樣在收集器上進行操作。優點是,一旦流被匯出,收集器就立即知道產生流量的移動使用者,更不用說收集器上實現的相關性在計算資源方面是昂貴的。由於微雲中的資訊是持久的,因此在極不可能的崩潰情況下,由於微雲中維護了使用者與GTP的流量關聯,因此不會丟失任何內容。這也適用於移動流量增長且需要啟動其他探測的情況(也適用於仍通過IP連線到微雲的不同網路位置):啟動以後,它們會自動執行。
迄今為止,nProbe已有用於永久監視某些國家/地區移動運營商的流量的案例。
相關文章
- 網路分流器|3G/LTE業務採集方面|移動網際網路採集器
- iOS網路效能監控iOS
- Strategy Analytics:2G/3G退網及使用者向4G遷移
- 三大運營商開始2G和3G網路減頻:會影響手機正常上網和打電話嗎?
- 如何使用nload實時監控網路頻寬
- Linux 中如何使用 Htop 監控工具?【網路安全】Linux
- OpManager:網路監控的利器
- Android網路效能監控方案Android
- 在Linux中,如何進行網路服務的監控?Linux
- 如何進行網站的真實使用者監控(RUM)?怎麼進入監控網站網站
- upptime:使用GitHub Actions監控你的網站健康監控Github網站
- centos7使用ntopng進行流量監控和分析CentOS
- 網路效能監控和診斷市場指南(2020版)
- 北京智和信通網路流量監控分析平臺
- 數字體驗監控和網路可觀察性
- 使用Prometheus和Grafana進行系統監控和預測 - flightawarePrometheusGrafana
- 網路監控和遠端辦公:使用者體驗更為關鍵
- Java 監控基礎 - 使用 JMX 監控和管理 Java 程式Java
- 端到端網路全鏈路監控方案
- 網路實時監控工具:PeakHour for macMac
- 北京智和信通企業級網路流量監控方案
- 兩層網路監控拓撲結構的原因和方法
- zabbix的主動模式監控和zabbix-proxy分散式監控模式分散式
- 2G與3G是什麼?有什麼區別?
- 影片監控推流助手/極低延遲/支援N路批次多執行緒推流/264和265推流/監控轉網頁執行緒網頁
- 虛擬網路監控進階之路-DeepFlow
- 【Zabbix】如何使用Zabbix進行IPMI監控?
- 網路分流器-網路分流器-網路流量監控技術及其方法
- 注意啦!10 個你需要了解的 Linux 網路和監控命令Linux
- 使用Admin監控
- 網路分流器|移動網際網路採集器|100G LTE核心網採集裝置
- 在Linux中,如何實時監控網路流量?Linux
- OpManager--強大的網路效能監控工具
- 影片監控裝置網路管理解決方案
- 智慧檔案館網路監控運維策略運維
- NETCONF工具與智慧化網路監控運維運維
- 如何實現一個IOS網路監控元件iOS元件
- iftop--實時網路介面流量監控工具