趙 明,萬 倩 ,白 鶴,李 博
(1.廣播科學研究院,北京 100053;2.國家廣播電視網工程技術研究中心,北京 100866)
中國廣播電視網絡經過幾十年的發展,已建成世界上覆蓋人口最多,無線、有線、衛星等多種技術手段并用,中央與地方、城市與農村、國內與國外并重的規模龐大的廣播電視網絡,廣播電視的傳播能力、覆蓋水平、服務質量大大提高,廣播電視數字化進程明顯加快,進入了有線、無線、臺內數字化全面推進的新階段。截至2011年底,中國有線電視網絡擁有1.9億有線電視用戶,是用戶聚集度最高、用戶終端規模全球最大的有線電視網絡,是入戶帶寬資源最高的基礎信息網絡,這些都是下一代寬帶網絡與應用技術研究最堅實的物質基礎。
隨著入網用戶的增加,用戶對業務的需求也日益膨脹,廣電寬帶數據網將向多業務承載網的方向發展。在系統中引入的BRAS(Broadband Remote Access Server,寬帶接入服務器)設備負責終端用戶的連接和用戶流量的匯聚,并與認證系統、計費系統和客戶管理系統及服務策略控制系統相配合,實現用戶接入的認證、計費和管理功能。BRAS具有靈活的接入認證方式、有效的地址管理功能、強大的用戶管理功能,并能提供豐富的業務及控制功能。
在建設用戶認證系統平臺中,如何使用正確的測試方法評估系統的處理能力,確保在高峰期間系統的穩定性和健壯性,成為有線網絡運營商面臨的重要問題。
Web認證接入方式采用了HTTP重定向技術,客戶端無需安裝任何軟件,用戶打開瀏覽器輸入任意網址后,由認證系統推送認證登錄界面,輸入用戶名和密碼發送到認證服務器進行身份認證,從而獲得相應的授權。
在使用Web認證的系統中,AAA服務器(認證、授權和計費,Authentication,Authorization,and Accounting)與BRAS設備之間使用RADIUS(遠程用戶撥號認證系統,Remote Authentication Dial In User Service)協議,BRAS設備為AAA服務器的客戶端。門戶服務器從用戶提交的報文中將用戶名和密碼提取,封裝成相應的報文傳遞給BRAS設備,BRAS設備再與AAA服務器通信完成認證,體系結構如圖1所示。

Web認證系統的流程,從用戶發起HTTP請求、BRAS設備觸發認證、到用戶完成認證,可以劃分為6個步驟,如圖2所示。
1)用戶登陸瀏覽器,輸入任意網址發出HTTP請求,BRAS設備收到后,判斷用戶是否通過認證,如果用戶沒有經過認證,則將認證門戶服務器地址推送到用戶客戶端。
2)用戶客戶端對認證門戶服務器發出登陸頁面的HTTP GET請求,認證門戶服務器返回登陸頁面的URL地址。
3)用戶通過瀏覽器頁面呈現的表單輸入用戶名密碼,提交給門戶服務器的認證模塊,等待認證結果。
4)門戶服務器認證模塊將用戶信息進行協議封裝后傳遞給BRAS設備對應接口。
5)BRAS設備收到帶有用戶信息的數據報文后,經過AAA客戶端接口,使用RADIUS協議與AAA服務器完成用戶信息認證。
6)返回的結果信息經由門戶服務器推送到用戶的瀏覽器界面上。
從認證系統的體系結構和整體流程可以看出,影響認證系統性能的接口和環節較多,需要分解整個流程,單步測試后,再進行整體測試,以判斷系統的性能瓶頸。
針對網絡應用層的測試方法學在業界還沒有形成系統的RFC文檔,測試方法的選擇要基于各個協議的RFC文檔定義,以及參考相關網絡設備對于應用層測試的要求。在用戶的整個認證流程中,HTTP協議和RADIUS協議都有相關RFC文檔說明。
HTTP(Hypertext Transport Protocol)協議,即超文本傳輸協議,是網絡應用層最常用的協議之一。HTTP協議目前常用的版本包括HTTP1.0(RFC1945)[1]和HTTP1.1(RFC2616)[2]。兩者的區別在于是否默認支持持續性連接。持續性連接是指在最初的HTTP信息交互完成之后,相應的TCP連接仍然保持打開的狀態,使用持續連接,多個HTTP請求可以在同一個TCP連接里完成,因而能提高HTTP的性能。
根據RFC3511[3]中的相關定義,HTTP事務是指客戶端和服務器之間一次請求與響應的過程,因此HTTP事務處理速率(HTTP Transaction Rate)的測試目的在于檢驗DUT(被測設備,Device Under Test)/SUT(被測系統,System Under Test)能支持的用戶存取HTTP對象的最大速率。HTTP事務處理速率測試的重點在于檢驗被測設備的CPU運算速度、內存資源利用率等性能指標。對于用戶而言,如果設備的運算性能和資源不足,盡管網絡帶寬足夠,用戶仍然無法體驗快速流暢的網絡應用[4]。
RADIUS 協議由 RFC2865[5]、RFC2866[6]定義,是目前應用最廣泛的AAA協議。
用戶請求處理是指用戶通過客戶端與服務器之間發起的一次請求并認證完成的過程。對于RADIUS服務器來說,每個用戶在認證過程中都會首先向服務器發起一次認證請求并獲得認證的結果。用戶請求處理速率的測試重點是檢測服務設備在CPU、內存利用沒有達到飽和狀態時能夠處理的用戶請求速率。如果設備的最大用戶請求速率不能滿足用戶數量的設計要求,那么就會導致大量用戶無法接入的故障出現。
基于認證流程,系統性能測試被分解成4個階段逐一進行,使用Spirent Avalanche網絡應用層仿真及性能測試儀表模擬對應接口的用戶行為。
基于系統流程,如圖3所示將測試儀和BRAS連接,BRAS在收到用戶的HTTP GET請求后,首先判斷用戶是否通過認證,如果是未認證用戶,則返回認證門戶服務器的URL地址。


圖3 URL重定向性能測試
1)使用測試儀模擬客戶端,在測試儀表的物理測試端口,通過配置,模擬仿真一定數量的IP地址,并保證這些IP地址并沒有被BRAS設備認證過,如圖4所示。

圖4 測試端口模擬客戶端(截圖)
2)配置客戶端發出HTTP GET請求的行為。由于測試系統未包含DNS域名解析服務器,使用任意一個不可被直接訪問到的IP地址即可,例192.168.1.1/index.html(見圖5),客戶端的HTTP版本配置為HTTP 1.1。

圖5 任意HTTP GET請求行為(截圖)
3)GET請求發出后,BRAS設備要判斷用戶是否認證,并回復URL重定向的報文,其中HTTP狀態碼為302(見圖6),客戶端收到此報文認為一次有效的HTTP重定向請求事務處理結束。

圖6 URL重定向報文(截圖)
4)如果每次事務處理都成功,則提高每秒鐘事務的請求數目,反之則降低。在所有事務都成功的臨界狀態下,記錄每秒的事務請求處理速率(TPS,Transactions/s)。
認證門戶服務器基于HTTP架構設計,服務器的硬件和HTTP軟件環境的性能同樣會成為影響Web認證整體性能的瓶頸之一。按照圖7所示,將測試儀表和門戶服務器集群直接連接。
門戶測試指標同樣是HTTP事務處理速率,同時需要分別測試門戶服務器靜態首頁和動態處理兩種情況下的對應數據。因為在實際業務運行中,如果門戶的動態處理能力出現飽和,但是靜態性能仍有空閑,用戶還是可以訪問到認證首頁。
1)靜態頁面
使用測試儀模擬用戶客戶端,配置客戶端為HTTP1.1版本,對門戶服務器的靜態首頁發出HTTP GET請求。記錄系統能夠成功處理的最大HTTP事務請求處理速率。
2)動態頁面
使用測試儀模擬用戶客戶端,配置客戶端為HTTP1.1版本。通過讀取真實用戶數據信息表(見圖8)中的用戶ID和登陸密碼,對門戶服務器的用戶名密碼提交頁面發出大量的用戶HTTP POST請求。

門戶服務器配置模擬認證程序,在收到用戶信息后返回HTTP/1.1 200 OK的狀態結果(見圖9)。記錄系統能夠成功處理的最大HTTP事務請求處理速率。
AAA服務器對RADIUS請求的處理能力是Web認證系統性能的重要測試指標。測試儀和RADIUS服務器連接如圖10所示。



對于AAA服務器的服務性能,需要測試記錄用戶請求處理速率。利用測試儀模擬RADIUS客戶端,按照RADIUS標準協議發出認證請求,AAA服務器在收到請求后返回認證結果給客戶端。
對于不同的AAA服務器,RADIUS協議采用的EAP(可擴展身份驗證協議,Extensible Authentication Protocol)類型可能不同,在實際測試中,主要評估的是系統處理能力,無論用戶認證是通過還是拒絕,都算一次有效的請求處理過程,如圖11所示。
理論上,上述3個測試結果中獲得的最小數據即是系統整體性能參考值。認證流程涉及的每個環節和接口,都可能會對測試結果帶來影響,為了保證該數據的準確性,需要進行一次完整的系統測試,如圖12所示。

負責認證的服務系統位于省級的中心機房,BRAS設備位于地市機房。整體性能測試將認證系統看作一個黑盒,使用網絡測試儀讀取用戶信息數據表數據,模擬用戶發起HTTP GET請求,獲得重定向地址后,輸入用戶名密碼,HTTP POST提交后,返回HTTP/1.1 200 OK的狀態碼。
測試儀表配置中,需要對每一步系統回應報文的捕獲后,提取相關變量,模擬用戶客戶端連續請求發出過程。在獲得到HTTP/1.1 200 OK狀態碼后,一個有效的認證流程結束。將整個認證過程看成一個HTTP事務處理,記錄獲得的HTTP事務處理速率,即整體系統的性能。
本文研究了針對基于BRAS設備Web認證系統的性能測試方法。根據Web認證系統自身的特點,將被測系統劃分為3部分分別測試,獲取相應的數據后,再進行整體測試。運用此方法可以有效地發現認證系統存在的性能瓶頸,并在進行整體測試時,可以模擬更接近真實處理能力的請求量。
隨著廣電寬帶數據網的進一步建設,BRAS設備會被更加廣泛地使用,而Web認證作為一種認證手段也會得到相關的應用。運用合理的性能測試方法,可以準確判斷系統的瓶頸,為制定系統進一步的升級改造策略提供指導。

[1]BERNERS L T,FIELDING R,FRYSTYK H.Hypertext transfer protocol—HTTP/1.0,RFC1945[S].1996.
[2]FIELDING R,GETTYS J,MOGUL J,et al.Hypertext transfer protocol—HTTP/1.1,RFC2616[S].1999.
[3]HICKMAN B,NEWMAN D,TADJUDIN S.Benchmarking methodology for firewall performance,RFC 3511[S].2003.
[4]林田,施小秋,胡波.網絡性能測試與分析[M].北京:高等教育出版社,2009.
[5]RIGNEY C,WILLENS S,RUBENS A,et al.Remote authentication dial in user service(RADIUS),RFC 2865[S].2000.
[6]RIGNEY C.RADIUS accounting,RFC 2866[S].2000.