真實流量測試環境
Why do we need Beta Site
產品研發越趨完整時,越需要的測試項目也越趨真實,從最初可能只有幾個功能可以直接利用Hallway Test、Alpha Test,到最終已經成為一個趨近完整的商品時所需的Beta Test,但是隨著網際網路流量越趨複雜,現有的In-Lab測試已無法完全滿足網路產品測試的需求,往往產品賣到客戶端才發現產品的問題,造成消費者對產品,甚至是品牌的不信任,最好的方法就是實際上拿到真正的網路環境上做Beta Site Test,讓消費者進行試用,透過真實網路使用行為,觀察產品的問題,一般的Beta Site往往是靠著廠商與各大小單位主管的關係,將產品放置到對應的環境進行測試,測試的內容是不公開的環境,使用者也不見得了解自己處於Beta Site之中,但是別忘了,既然是進行測試,就不保證待測的產品是處於穩定的狀態下,在這樣的Beta Site中,使用者不見得能忍耐不穩定的網路品質,所以產品無法進行長期測試,而且測試的內容單調,規模小也較不具有彈性;因此我們利用交大宿舍網路,精心設計了一個真實網路流量測試環境供國內外廠商進行各種不同的測試,交大Beta Site(以下簡稱Beta Site)是一個公開的測試環境,可以進行長期、整合型、大規模並且具有彈性的測試,期望能協助廠商解決CFD(Customer Found Defect),提升顧客端對產品以及品牌的認同,同時這樣的環境也能提供學校進行學術研究。
Users
Beta Site的參與者目前為使用宿舍網路的同學,每位宿舍網路的使用者在學期初進行申請時,即可自由地依自己的意願來申請為一般平台或是測試平台(Beta Site),由Beta Site提供多項福利作為吸引同學申請測式平台,Beta Site的同學可以享用較新的網路技術:Gigabit Ethernet(包含Switch及贈送同學Gigabit網路卡),802.11n(包含802.11n AP及贈送同學802.11n網路卡),免費提供下載使用Anti Malware軟體供同學使用,讓電腦在網路上使用更為安全;而Beta Site也組織一支服務團隊,專門用來處理同學無法正常使用網路,或是對各項服務有問題時,可以迅速到各位同學的寢室進行相關的服務;而因應各項廠商所欲測試的服務,Beta Site也推出使用測試的服務時贈送各位同學200元便利商店禮券,吸引同學加入測試平台。
依據以往經驗(2007-2009),每學年參與Beta Site的同學約為一千三百位。
Beta Site的參與者目前為使用宿舍網路的同學,每位宿舍網路的使用者在學期初進行申請時,即可自由地依自己的意願來申請為一般平台或是測試平台(Beta Site),由Beta Site提供多項福利作為吸引同學申請測式平台,Beta Site的同學可以享用較新的網路技術:Gigabit Ethernet(包含Switch及贈送同學Gigabit網路卡),802.11n(包含802.11n AP及贈送同學802.11n網路卡),免費提供下載使用Anti Malware軟體供同學使用,讓電腦在網路上使用更為安全;而Beta Site也組織一支服務團隊,專門用來處理同學無法正常使用網路,或是對各項服務有問題時,可以迅速到各位同學的寢室進行相關的服務;而因應各項廠商所欲測試的服務,Beta Site也推出使用測試的服務時贈送各位同學200元便利商店禮券,吸引同學加入測試平台。
依據以往經驗(2007-2009),每學年參與Beta Site的同學約為一千三百位。
Environment Overview

圖1
Degrees of Traffic Volume(流量分級)

圖2
廠商在測試時可能遇到產品雖然放在合適的測試環境了,可是卻發現該區域流量太大,待測產品無法負荷,為此Beta Site針對Zone 4, Zone5及Zone 6都有相對應的流量調整機制,如圖1所示,Zone4是整個Beta Site的出入口,流量是較大的位置,為了分散流量,Beta Site配置有兩個不同型號的Core Router進行流量分散,在此簡稱Router1及Router2,以Router1為主要的交換核心,將部份宿舍的流量導入到Router2上,也就是說,有部份的宿舍流量是經過Router1直接出去Internet,一部份的宿舍網量是經由Router2 -> Router1出去Internet,如此便可以在Router1及Router2中間建立一個新的In-Line區進行對應的測試,如圖2;
Zone5可以採用高效能的過濾器進行流量過濾,流量從Core Router的mirror port出來之後需經過一台Regeneration Tap將所有的流量重新複製到所有的連接埠上,Tap上可以對各個連接埠的流量進行過濾,只將待測物所欲需的流量灌入到待測物中即可,Zon6則是使用軟體進行Pcap Library播放,所以可以透過軟體的方式,調節ILLT進行播放網路流量的速度,達成對待測物減低流量的任務。
Traffic Profiling
廠商在進來測試之前最關心的就是流量有多大?有哪些通訊協定?設備要送測所需開?的通訊協定(或功能)?目前Beta Site流量統計是利用MRTG及Netflow進行設備及各IP流量統計,Beta Site網路中使用者所使用的通訊協定分佈狀況透過Beta Site放置在出入口處的Analyzer進行分析,如圖3所示;至於送測的產品需要哪些功能:1. Zone2內需要使用Port Based VLAN,原因是宿舍網路有分成一般平台和測試平台,目前Beta Site是依賴Port Based VLAN讓申請Beta Site的使用者不必再經過實體線路切換才能使用Beta Site,透過VLAN切換將Beta Site的路由切開,讓同學可以不必有線路調整的空窗期,2. Zone3需要BGP路由協定與上層路由器進行路由交換。

圖3 (註: 此為2008年的資料)
Auto Failure Detection and Notification
網管在維護Beta Site時最怕影響到同學使用網路的權益,的確在Beta Site內無法保證所有的待測產品都處於非常穩定的情況,因此如何在第一時間就知道產品出現問題並立即通知管理人員便顯得非常重要,Beta Site對於這個問題有兩套機制並行使用,一個是利用Zone4的bypass switch,bypass switch會於固定時間內發送heartbeat封包,對待測產品發出類似ICMP封包,如果待測產品有回應,則表示它處於正常運作的狀態,若否則表示處於不正常的狀態,需要進行啟動bypass模式(i.e. Auto Recovery);另一種是使用user-behavior probing,Beta Site根據NBL App-Test系統開發了Beta Site Monitor System(簡稱BSMS),BSMS會定期發出ICMP、ARP及Application封包,對真實網路使用情況進行驗證,其中ICMP及ARP是針對各宿舍機房的Switch進行測試,Application則包含HTTP, FTP及多媒體串流(Youtube, Wretch.cc),各個裝有BSMS的PC會散佈到各個宿舍機房內,並定期進行各項測試,測試完畢再向監控中心回報相關的測試情況,如此一來網管便可得知在Beta Site內的使用者使用網路的品質,一有回題會由Beta Site Server進行e-mail及簡訊回報,網管便可迅速進行反應及修正。
Auto Recovery
圖4
上面談到對於網路情況的監控,若遇到問題時該如何自動進行修復?bypass switch本身就具有Auto Recovery的功能,如圖4所示,在Normal Mode下流量是由External Network <-> DUT <-> Internal Network,而Bypass Mode則是直接由External Network <-> Internal Network,i.e. 就是流量沒有經過待測產品,一旦bypass siwtch偵測到待測物處於不正常運作情況下,就會自動進行切換模式可迅速進行反應及修正。
綜合以上為Beta Site的架構內容,整體摘要整理如表:
圖1
Degrees of Traffic Volume(流量分級)
圖2
Traffic Profiling
廠商在進來測試之前最關心的就是流量有多大?有哪些通訊協定?設備要送測所需開?的通訊協定(或功能)?目前Beta Site流量統計是利用MRTG及Netflow進行設備及各IP流量統計,Beta Site網路中使用者所使用的通訊協定分佈狀況透過Beta Site放置在出入口處的Analyzer進行分析,如圖3所示;至於送測的產品需要哪些功能:1. Zone2內需要使用Port Based VLAN,原因是宿舍網路有分成一般平台和測試平台,目前Beta Site是依賴Port Based VLAN讓申請Beta Site的使用者不必再經過實體線路切換才能使用Beta Site,透過VLAN切換將Beta Site的路由切開,讓同學可以不必有線路調整的空窗期,2. Zone3需要BGP路由協定與上層路由器進行路由交換。
圖3 (註: 此為2008年的資料)
Auto Failure Detection and Notification
網管在維護Beta Site時最怕影響到同學使用網路的權益,的確在Beta Site內無法保證所有的待測產品都處於非常穩定的情況,因此如何在第一時間就知道產品出現問題並立即通知管理人員便顯得非常重要,Beta Site對於這個問題有兩套機制並行使用,一個是利用Zone4的bypass switch,bypass switch會於固定時間內發送heartbeat封包,對待測產品發出類似ICMP封包,如果待測產品有回應,則表示它處於正常運作的狀態,若否則表示處於不正常的狀態,需要進行啟動bypass模式(i.e. Auto Recovery);另一種是使用user-behavior probing,Beta Site根據NBL App-Test系統開發了Beta Site Monitor System(簡稱BSMS),BSMS會定期發出ICMP、ARP及Application封包,對真實網路使用情況進行驗證,其中ICMP及ARP是針對各宿舍機房的Switch進行測試,Application則包含HTTP, FTP及多媒體串流(Youtube, Wretch.cc),各個裝有BSMS的PC會散佈到各個宿舍機房內,並定期進行各項測試,測試完畢再向監控中心回報相關的測試情況,如此一來網管便可得知在Beta Site內的使用者使用網路的品質,一有回題會由Beta Site Server進行e-mail及簡訊回報,網管便可迅速進行反應及修正。
Auto Recovery
圖4
上面談到對於網路情況的監控,若遇到問題時該如何自動進行修復?bypass switch本身就具有Auto Recovery的功能,如圖4所示,在Normal Mode下流量是由External Network <-> DUT <-> Internal Network,而Bypass Mode則是直接由External Network <-> Internal Network,i.e. 就是流量沒有經過待測產品,一旦bypass siwtch偵測到待測物處於不正常運作情況下,就會自動進行切換模式可迅速進行反應及修正。
綜合以上為Beta Site的架構內容,整體摘要整理如表:
| Concern | Solution(s) |
| DUT Coverage | Zone 1 ~ Zone 6 |
| Remote Control | Remote Console, Remote Power |
| Degrees of Traffic Volume | Use a switch to regular traffic volume, High Performance Filtering, ILLT |
| Traffic Profiling | MRTG, NetFlow, Analyzer |
| Volunteers | Students’ free will, Incentive, NDA,Use VLAN Separate from Dormnet |
| Auto Failure D&N | User-behavior probing, Bypass switch |
| Auto Recovery | Bypass switch |
SOP
談到這裡,或許已經開始對於Beta Site的測試感到有興趣,想將您的DUT送進來測試,產品送Beta Site測試有一定的SOP,如圖5。 產品要進行測試前,需填妥BS-001表格,內容是關於DUT的資訊以及與合作廠商及NBL負責人員的相關聯絡資料,待確定此資料之後會將產品安裝上適合的環境,同時視流量的需要進行調整,當進行到Testing階段時,廠商工程師開始進行對DUT的監控,NBL工程師進行網路情況的監控,一旦偵測到發生問題時,會進行發生情況收集,並將DUT上的log進行備份,NBL這邊會將所有的資訊記錄到BS-003中,讓廠商工程師能迅速了解並還原發生問題時的情況,同時進行Fail Recovery,若問題屬於相當嚴重,就會暫時將產品離線,這時RD開始進行debug的動作,待問題解決之後再重新上線進行測試,並且將問題發生的原因及解決的方式記錄到BS-002中作為記錄。
談到這裡,或許已經開始對於Beta Site的測試感到有興趣,想將您的DUT送進來測試,產品送Beta Site測試有一定的SOP,如圖5。 產品要進行測試前,需填妥BS-001表格,內容是關於DUT的資訊以及與合作廠商及NBL負責人員的相關聯絡資料,待確定此資料之後會將產品安裝上適合的環境,同時視流量的需要進行調整,當進行到Testing階段時,廠商工程師開始進行對DUT的監控,NBL工程師進行網路情況的監控,一旦偵測到發生問題時,會進行發生情況收集,並將DUT上的log進行備份,NBL這邊會將所有的資訊記錄到BS-003中,讓廠商工程師能迅速了解並還原發生問題時的情況,同時進行Fail Recovery,若問題屬於相當嚴重,就會暫時將產品離線,這時RD開始進行debug的動作,待問題解決之後再重新上線進行測試,並且將問題發生的原因及解決的方式記錄到BS-002中作為記錄。
Case Study
底下將舉三個不同的產品,其中所發生的情況為例子,作為供大家經驗上的交流以及參考。

圖6
Case1是一個關於Botnet/Malware系統的測試,待測產品包括在Zone1的Agent軟體,Zone5的Traffic Analyzer及Chief Server,在Beta Site內的使用者,透過Beta Site網路將本系統中的Agent程式下載並安裝到自己的電腦上,而所有經過Beta Site的流量都會送到Traffic Analyzer進行分析是否有惡意程式被下載或進行攻擊,當Traffic Analyzer發現有問題的PC時,會透過Chief Server通知有問題的PC,進行Delete Process or Software Program等動作,同時會將整個發生問題的原因以及有問題的PC IP通知管理者,達成對使用者資料保護。
在Case1內透過使用者的回報以及管理者監控,找到下列的defects:
‧False-Negative/False-Positive:
1.Users can’t use Alcohol 120% successfully after install Agent
2.Users can’t use Raidenftpd successfully after install Agent
3.Users can’t use TrendMicro Internet Security 2009 successfully after install Agent
4.Agent can’t recognize many antivirus software successfully
‧Service Compatibility:
1.Users can’t watch Network TV by using Vigor and TVant after install Agent
2.Users can’t use Hinet Digital Home service after install Agent
‧廠商的解決方式:
1.FN/FP: Software Exception List, Upgrade recognize policy
2.Service Compatibility: Upgrade Agent
Case2是放置於Zone4 (One-In, One-Out)的設備,主要的功能具有防火牆及IPS, IDP等功能,而在這個case中發生了使用者在client往像是yahoo或是無名小站等極受歡迎的網站時,卻無法正常建立連線,發生問題的原因是 DUT本身收到來自使用者端發出的不完整封包,造成DUT產生invalid memory access,而廠商的解決方式是透過增加額外的判斷式,去確認當收到這類型的封包時,避免發生執行部份function時產生invalid memory access的情況。
Case 3則是當Beta Site佈置Gigabit Switch時發現的問題,Gigabit Ethernet是Beta Site給同學的福利之一,但是由於同學使用各種不同的系統、網路卡以及各種不同的使用習慣,如圖7,而發生Zone1與Zone2產品之間互通性的問題,這部份的問題通常發生在產品之間要進行Auto Negotiation時,常常使用者使用的網路卡與Switch之間有相容性問題時,會發生系統發出線路已拔除的訊息,甚至要取消Auto Negotiation,將速度設定為100Mbps或10Mbps時才可以正常使用,目前已知有兩種型號的網路卡有這樣的問題,廠商的處理方式是需要加強對於電氣訊號的收送,以及對Auto Negotiation程序有更大的容錯空間。

圖7
底下將舉三個不同的產品,其中所發生的情況為例子,作為供大家經驗上的交流以及參考。
Case 1: Botnet/Malware
圖6
在Case1內透過使用者的回報以及管理者監控,找到下列的defects:
‧False-Negative/False-Positive:
1.Users can’t use Alcohol 120% successfully after install Agent
2.Users can’t use Raidenftpd successfully after install Agent
3.Users can’t use TrendMicro Internet Security 2009 successfully after install Agent
4.Agent can’t recognize many antivirus software successfully
‧Service Compatibility:
1.Users can’t watch Network TV by using Vigor and TVant after install Agent
2.Users can’t use Hinet Digital Home service after install Agent
‧廠商的解決方式:
1.FN/FP: Software Exception List, Upgrade recognize policy
2.Service Compatibility: Upgrade Agent
Case 2: Security Appliance
Case2是放置於Zone4 (One-In, One-Out)的設備,主要的功能具有防火牆及IPS, IDP等功能,而在這個case中發生了使用者在client往像是yahoo或是無名小站等極受歡迎的網站時,卻無法正常建立連線,發生問題的原因是 DUT本身收到來自使用者端發出的不完整封包,造成DUT產生invalid memory access,而廠商的解決方式是透過增加額外的判斷式,去確認當收到這類型的封包時,避免發生執行部份function時產生invalid memory access的情況。
Case 3: Gigabit Switch
Case 3則是當Beta Site佈置Gigabit Switch時發現的問題,Gigabit Ethernet是Beta Site給同學的福利之一,但是由於同學使用各種不同的系統、網路卡以及各種不同的使用習慣,如圖7,而發生Zone1與Zone2產品之間互通性的問題,這部份的問題通常發生在產品之間要進行Auto Negotiation時,常常使用者使用的網路卡與Switch之間有相容性問題時,會發生系統發出線路已拔除的訊息,甚至要取消Auto Negotiation,將速度設定為100Mbps或10Mbps時才可以正常使用,目前已知有兩種型號的網路卡有這樣的問題,廠商的處理方式是需要加強對於電氣訊號的收送,以及對Auto Negotiation程序有更大的容錯空間。
圖7
Statistics of Product Defect
根據Beta Site對廠商收集各種defects,將各個defects分類為以下四種:
而所收集的defect數量如表2所示:
各種新的產品以及應用仍將持續的被研發出來,Beta Site也將在未來進行提供更多元化、更大規模的測試環境讓國內外的廠商進行測試,並極力致力於協助廠商改進相關的產品,未來Beta Site將會吸引更多的使用者,導入更大的流量供高端產品進行更大的產品壓力測試,也將納入更大的範圍(i.e. 不只有宿舍區的流量)進入Beta Site中進行測試,能提供更多種不同的通訊協定以及使用者習慣供測試時使用,未來也將提供10G網路、VOIP及IPv6等對應環境。
根據Beta Site對廠商收集各種defects,將各個defects分類為以下四種:
| Stability: | Hanging, Reboot |
| Performance: | Slow Down, Connection Loss |
| Functionality: | False-Negative/False-Positive, Software/Service Compatibility, Hardware Interoperability |
| Other: | DUT can’t boot successfully after power loss |
而所收集的defect數量如表2所示:
| Types of Defects | Stability | Performance | Functionality | Other |
| # of Defects | 26/129 | 20/129 | 81/129 | 2/129 |
| # of Products | 25/42 | 8/42 | 23/42 | 3/42 |
表2(註: 此為2008年的資料)
Beta Site所送測的產品都是已經通過實驗室內部測試過,而且大部份廠商已了解的bug都已經解決了才送過來,也就是說產品都是已經接近要賣到市面上的產品了,可是從表中可以了解,幾乎各項產品都還存在有數量不一的bug,從找到的defect來看,functionality還佔了大多數的情況,從產品的角度來看,幾乎都還有一半以上的產品具有穩定性以及功能性的問題,顯示在Beta Site中的測試是具有其相當不錯的功效,能確實的找到實驗室內無法找到的defect。各種新的產品以及應用仍將持續的被研發出來,Beta Site也將在未來進行提供更多元化、更大規模的測試環境讓國內外的廠商進行測試,並極力致力於協助廠商改進相關的產品,未來Beta Site將會吸引更多的使用者,導入更大的流量供高端產品進行更大的產品壓力測試,也將納入更大的範圍(i.e. 不只有宿舍區的流量)進入Beta Site中進行測試,能提供更多種不同的通訊協定以及使用者習慣供測試時使用,未來也將提供10G網路、VOIP及IPv6等對應環境。

