案例背景
  某銀行用戶反映銀行網(wǎng)銀系統(tǒng)有時訪問較慢,主要現(xiàn)象為打開登錄界面需很長時間,銀行客戶希望能對網(wǎng)銀系統(tǒng)做一個全面的分析,找出故障的原因。
  網(wǎng)銀系統(tǒng)的網(wǎng)絡(luò)環(huán)境拓撲示意圖如下:


圖 1 網(wǎng)銀系統(tǒng)網(wǎng)絡(luò)拓撲圖

  客戶端訪問網(wǎng)銀系統(tǒng)外網(wǎng)地址,然后經(jīng)過F5負載均衡設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù),直接訪問SSL加密設(shè)備,再通過SSL設(shè)備轉(zhuǎn)發(fā)給網(wǎng)銀系統(tǒng)WEB服務(wù)器。
  本案例選擇在網(wǎng)絡(luò)出口以及SSL加密設(shè)備出口進行部署科來網(wǎng)絡(luò)回溯系統(tǒng)進行抓包分析。
  案例分析
  結(jié)合網(wǎng)銀系統(tǒng)網(wǎng)絡(luò)拓撲及數(shù)據(jù)的走向,網(wǎng)銀系統(tǒng)訪問較慢的原因有以下幾點:
  網(wǎng)銀系統(tǒng)訪問流量太大,出口鏈路擁塞;
  網(wǎng)絡(luò)響應(yīng)延時較大;
  網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)故障;
  網(wǎng)銀服務(wù)器本身響應(yīng)較慢。
  1、整體流量分析
  對1小時內(nèi)網(wǎng)銀系統(tǒng)外網(wǎng)出口流量進行統(tǒng)計,總流量為919MB,峰值流量為5Mbps,平均流量為2.2Mbps。
  2、網(wǎng)絡(luò)延時分析
  在TCP的連接過程中,客戶端和服務(wù)器端在網(wǎng)絡(luò)中共傳輸三個數(shù)據(jù)包,俗稱三次握手,這三個數(shù)據(jù)包都是小包,沒有實際有效數(shù)據(jù)載荷。服務(wù)器端對客戶端TCP SYN的請求在系統(tǒng)底層響應(yīng),響應(yīng)非???,該響應(yīng)同數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸?shù)难舆t比可忽略,同時由于都是小包,網(wǎng)絡(luò)傳輸延遲非常小,因此在數(shù)據(jù)包分析中可以通過三次握手數(shù)據(jù)包的時間間隔來確定網(wǎng)絡(luò)的傳輸延遲。
  隨機選擇系統(tǒng)外網(wǎng)出口多個完整的TCP會話,通過對TCP三次握手時間進行分析,發(fā)現(xiàn)服務(wù)端在收到客戶端的三次握手時間基本在50ms左右,這在互聯(lián)網(wǎng)環(huán)境中屬于比較短的延時,說明網(wǎng)銀系統(tǒng)內(nèi)部網(wǎng)絡(luò)和互聯(lián)網(wǎng)鏈路延時都很正常,網(wǎng)絡(luò)延時并不是造成系統(tǒng)訪問緩慢的原因。
  3、網(wǎng)銀系統(tǒng)性能分析
  對外網(wǎng)出口流量進行分析,重點分析持續(xù)時間較長的TCP會話,發(fā)現(xiàn)部分會話存在異常。如下圖:


圖 2 TCP交易時序圖

  通過TCP交易時序圖可以看出,服務(wù)端在對客戶端的第一個請求進行確認后,經(jīng)過了7秒才發(fā)出了響應(yīng)數(shù)據(jù)包。這段時間應(yīng)該就是導(dǎo)致客戶端訪問網(wǎng)銀系統(tǒng)緩慢的直接原因。
  為了確定這個延遲產(chǎn)生的具體原因,分析SSL加密設(shè)備進出數(shù)據(jù),找出相同源IP的TCP會話數(shù)據(jù)進行對比,發(fā)現(xiàn)在SSL加密設(shè)備出口處同樣出現(xiàn)服務(wù)器端在很長時間后才發(fā)出響應(yīng)數(shù)據(jù)。
  外網(wǎng)出口出現(xiàn)的故障現(xiàn)象在SSL加密設(shè)備出口同樣存在,證明這段延遲不是在SSL加密設(shè)備之前產(chǎn)生,F(xiàn)5到SSL加密設(shè)備之間的網(wǎng)絡(luò)正常。
  進一步分析SSL加密設(shè)備和網(wǎng)銀服務(wù)器交互數(shù)據(jù),由于這部分數(shù)據(jù)是沒有進行加密傳輸?shù)?,因此無法準(zhǔn)確定位到之前分析的同一個TCP會話。而通過對大量TCP會話的對比分析,發(fā)現(xiàn)SSL加密設(shè)備和網(wǎng)銀服務(wù)器之間的數(shù)據(jù)傳輸很快,所有會話都是在1S之內(nèi)完成,基本不存在響應(yīng)延時情況。
  根據(jù)SSL協(xié)議規(guī)范,服務(wù)端發(fā)送的一個數(shù)據(jù)報文應(yīng)該是服務(wù)器數(shù)字證書等加密通訊的握手報文,SSL加密通道的建立過程應(yīng)由SSL加密設(shè)備處理,因此我們基本可以判定由于SSL加密設(shè)備造成了網(wǎng)銀系統(tǒng)訪問緩慢的原因。
  結(jié)合故障數(shù)據(jù)包分析,可以發(fā)現(xiàn)出現(xiàn)延時的數(shù)據(jù)包是由SSL加密設(shè)備向客戶端響應(yīng)的Server hello數(shù)據(jù)包,因此更加可以肯定SSL加密設(shè)備就是造成故障的根本原因。
  分析結(jié)論
  通過以上信息,我們可以做出如下判斷:
  鏈路流量值不大,流量趨勢穩(wěn)定,沒有明顯的遞增或遞減趨勢,監(jiān)控鏈路不存在持續(xù)性擁塞問題;
  網(wǎng)銀系統(tǒng)內(nèi)部網(wǎng)絡(luò)正常,網(wǎng)絡(luò)延時很小;
  網(wǎng)銀系統(tǒng)訪問緩慢,應(yīng)該是由于SSL加密設(shè)備和客戶端進行密鑰交互時,SSL加密設(shè)備響應(yīng)延遲導(dǎo)致。
責(zé)任編輯:admin