網絡流量貫穿業務流轉的各個環節,從我們電腦、手機,到數據中心、WEB組件和應用等都需要通過網絡流量完成數據交互。因此,網絡流量存在著巨大的應用價值。
但原始的網絡流量以二進制方式呈現,無法直接讀取和應用,因此需要通過相關工具和技術,把網絡流量變成更加容易讀取的數據信息,進而更好地應用在業務場景中,實現其價值最大化。在這過程中就要對網絡流量進行採集、解碼和分析。
接下來,我們就來看看如何把天書般的網絡流量翻譯成“人話”,更好地為我們所用。
第一步:網絡流量採集
採集網絡流量需要藉助相關工具來實現,如果是臨時性抓取網絡流量,可以採用一些開源工具,例如Wireshark、Tcpdump等;但如果需要長期對網絡流量進行捕獲和分析,就需要一些專業的工具了,例如專業的探針設備。
第二步:網絡數據包解碼
在完成網絡流量的採集之後,就要對數據包進行解析。數據包解析的過程,是對二進制比特流中各個位置的字段進行提取和解析的過程。在不同的分析工具和應用場景下,所需要分析的層級是不同的。
首先,根據使用場景的不同,需要解析的層級是不同的
1、網絡性能監控場景:如果是用做網絡性能的分析,只需要對網絡相關層級進行解析即可。對應上圖TCP/IP協議模型,即需要對鏈路層、網絡層、傳輸層進行解析。按照各個字段所在的位置和長度,可以獲取報文長度、流量大小、連接數、源IP、目的IP、源端口、目的端口、TCP建連、TCP斷連、TCP耗時等網絡性能指標。
通過對TCP/IP的解析,可以精準地分析某一個IP、端口、連接的交互狀況,這也是網絡故障分析至關重要的一個使用場景。例如連接中是否存在網絡耗時過長、TCP三次握手成功率低、丟包、傳輸效率低等情況。
2、應用性能監控場景:如果用作應用性能、交易性能的監控分析,則需要對TCP/IP協議所承載的應用層報文進行解析。從而獲得交易渠道、交易代碼、交易流水號、交易金額、返回碼、交易類型等等業務相關指標信息,經過計算,還可以獲得交易量、交易耗時、交易成功率、交易響應率等指標,甚至可以做到單筆交易流水的全流程追蹤。
其次,不同數據包類型的解碼分析也有所不同
1、通用協議的解碼分析:
- 通用協議的解碼分析相對容易,TCP/IP作為標準的通信協議,在對數據包鏈路層、網絡層、傳輸層進行解碼時,只需要參照標準格式規範進行解碼分析即可;
- HTTP、DNS等通用的應用層協議,也可以參照標準的規範進行解碼分析。
2、私有協議解碼分析:
- 不同的行業都存在著私有應用層協議,如果協議採用的是標準接口格式,只需要參照標準的格式進行解碼分析即可。但並非所有私有協議都會採用標準接口格式進行消息的傳輸,如果是非標準接口的協議,則需要按照接口規範進行協議解碼。
- 對於行業或者用戶私有的報文格式,則需要按照其報文封裝格式規範進行單獨的解碼。
- 此外,TCP或者UDP所承載的應用層消息部分,其實包含了大量有價值的信息,例如交易渠道、交易代碼、交易流水號、交易金額、返回碼、交易類型等等,這是通常解碼中容易被忽略的地方。
私有協議解碼相對較複雜,為了提升網絡數據分析效率,天旦基於大量協議解碼經驗積累,融和AI技術,開發了Smart Decoder智能解碼引擎,無需專業代碼編寫,即可實現大部分私有協議的可視化智能解碼。
部分天旦智能解碼支持的協議
第三步:網絡流量數據的應用
對網絡流量進行解碼分析後,就可以進一步應用在很多場景中了。例如:
1、網絡性能監控:利用網絡流量數據,可以建立覆蓋數據中心重要鏈路、關鍵設備、核心服務的監控視圖,實時提煉網絡性能的關鍵監控指標,實現精準故障告警與自動化故障診斷。
2、業務性能監控:通過網絡流量鏡像技術,即可全網採集數據,覆蓋傳統網絡、虛擬化、雲環境,實現端到端的一體化業務性能監控,精準及時告警。
3、數據庫性能監控:從數據庫通訊報文解析的相關指標,可以用於數據庫監控,利用網絡流量零侵入的方式對數據庫的每一筆SQL語句進行監控。
4、業務創新: 對網絡流量數據中應用層協議進行解碼分析,可以獲得高價值的業務數據。通過活用業務大數據,實現實時風控、精準營銷、商業智能等創新應用。
閱讀更多 星Vin 的文章