本週末即是一年一度的開源人年會,記得去年陸續辦過 OSDC, Blog BoF, COSCUP2008 文化與科技國際博覽會 (Culture Mondo Network) 等。有時成功、偶爾失敗,但是大多失敗的問題都是頻寬不足,像是 Blog BoF 第一次只用 8M/640K Hinet ADSL 寬頻,碰到大流量的 Y!Live 視訊就被衝爆了,雖然 Y!Live 已經收掉了,但是現在 High-definition video 的視訊串流網站也已經變得相當普及,萬一演講太無趣,大家都上線看 Youtube *誤* 那也很有機會爆掉。

記得 2008 文化與科技國際博覽會,在展場與主會議廳各拉一條中華 10M 光纖,使用上倒是沒有甚麽大問題,倒是因為 WiFi 的流量限制較嚴格,某些聽眾想即時上傳視訊影片到外部網站,造成了一些問題。剩下的一般網路瀏覽、Skype、讓 im.tv 做即時視訊轉播,又再現場同時開兩台播出都沒有大問題。(當然也可能是因為這個博覽會的聽眾比較不需要即時網路)

今年四月的時候,又當了一次 OSDC 的義工。今年 OSDC 的是使用台灣微軟的會議室七樓會議室 (對,參加開放原始碼軟體研討會,卻在小便斗上看到微軟的催眠文宣貼紙,的確有點奇特的趣味),這次雖提早去了一次場勘,但是礙於政策或麻煩等種種問題,微軟只能提供分別於內部網路外的一條 2M/256K 的中華電信 ADSL 線路,對於我們所提供會有大量的使用者上網的需求,相關人員露出了納悶與不解的神情,直說其實大部分微軟的聽眾都自備 3G 搞定啊,為何需要額外架設無線網路。且若要使用現成無線網路,尚需要額外申請大量帳號。於是,就在半脫半就的狀況下用了 2M/256K 的線路提供大約兩百餘聽眾的會場網路。

下場當然不會太好看。頭一天是 Tutorial, 因為人數不多,因此網路頻寬的流量使用率還好。但是驚爆一個問題,原來接進會議室的上游是一台 D-Link 的 DI-704P 寬頻路由器 (直接接到神秘的內部網路孔去,只好透過 nmap/telnet/mac address 辨識),這台機器只要超過 1K connection sessions 就自爆,剩下的連線都死光,很有可能是因為還接了其他網路或設備,造成可容納數下降,無法察知。

於是當日結束後,請微軟的網管協助,希望直接將 DI-704P 的 WAN 網路線直接插到該孔,如此我們就可以用自己的設備自行撥 ADSL 的 PPPoE 出去。很妙的是,沒有人知道這台神秘的 D-Link DI-704P 接到哪裡去,找不到機器、也找不到線。於是第一天下午結束後,在 gslin, XDite, slzzp 及其他大神的建議下,趕快生了一台有雙網路卡的小電腦出來,裝上 Debian、OpenVPN、shorewall,從微軟的中華電信 ADSL 開 tunnel 到台灣大學,繞過該死的 D-Link DI-704P。這也是為甚麽大家從微軟上網,出去的 IP 卻是台灣大學。這樣算是解決了 DI-704P 自爆的問題。感謝 gslin, XDite, slzzp 及其他朋友當日空著肚子陪我測試最後效果。

不過 2M 的水管根本不夠大家用阿,上線的人數大約是 40-60 人,完完全全不夠分。於是只好開始

  • (在微軟會議室)擋掉頻寬吃最兇的 Windows Updates Services
  • 擋掉 Debian/Ubuntu mirror site. (造成一些人在外面想測試、安裝新軟體,卻完全連不上)
  • 最後一天下午,已經沒法子了。只好把 transparent proxy 設起來,除了講者之外,其他人輪流斷 Web Access,會看到小水管不夠用的畫面)

很苦。另外也碰到一個問題,就是現場其實有一台 SMC SMCWBR14S-N2,是微軟拿來開放給聽眾使用,因為我已帶了自己的設備,於是打算將他拿來給講者專用。由於原始的設定都是出廠預設值,於是改了密碼、訊號名稱,以及加密方式從 WPA 改為 WEP (為了擔心有講者拿了太舊得電腦連不上),但是在第三天早上劉燈與 David Heinemeier Hansson 做 Video conference 時,將所有的自有 AP 都拔掉,剩下 SMC 這台。但是網路卻很巧妙的每次等劉燈問完一個問題、回答到一半的時候,就斷線了,連續試了幾次,每次都要再補充說明一次,大家都有點失去耐心了。這個問題因演講進行中一直沒有機會辨識跟解決,無法察知是 SMC 的問題、抑或又是 D-Link DI-704P 的異常。(SMCWBR14S-N2 乃直接接到 DI-704P 上)

一些下次可以注意的細節

  • 應該要監視流量與使用頻率,這牽涉到網路佈署的 topology 。不過若能收集這些資訊,對未來改善研討會的網路環境會很有幫助。
  • 要有心跳 (heartbeat) 監視系統,更好是超過時間未收到心跳,則發簡訊通知。
  • 若使用現場網路設備,更改掉預設設定還是必要得。預設密碼、UPnP 等都要更改、關掉為佳。開源研討會,特別有高手會動手動腳、玩刀弄槍的 😉 。當然、無必要的話,就不要用沒測過的設備來玩。
  • 講者若需要使用視訊、網路電話,無論如何再怎麼機車都要麻煩講者與大會提早測試一遍。

今年 2009 開源人年會將再次租用台灣大學應力所與台大電機博理館,今年籌備團隊特別注意台大的網路是否又會拿週末的時間來進行維護,除了上網看電算中心公告,也請教了內線消息,所幸到目前為止都還沒有這樣的網路、電力的維護安排。今年 COSCUP 人數光聽眾就高達 550 人,希望今年乖乖大神保佑,不要出事阿。

(這篇文章因為事隔數月,可能人名或事項過程有所差異,若有誤記請指教並請見諒)

D-Link DI-707P

最近 802.11 無線網路協定中所使用的加密演算協定 WPA 傳出了一些消息,一說可以利用常見的圖形處理硬體加速破解運算速度,另外則是說德國的學術單位研究出 WPA/TKIP 中使用的弱加密方式,足以用以塞入短封包攻擊。

首先是 Slahsdot 上提到俄國的資訊安全公司 Elcomsoft 釋出了一款商業軟體 ElcomSoft Distributed Password Recovery,這款軟體的最大特色是可以利用 NVIDIA圖形處理器來加速猜密碼的時間,根據 Elcomsoft 的網頁說明,運算速度可加快二十倍到百倍。若是搭配大量的硬碟、主機與顯示卡,的確是有機會快速破解 WPA (WPA2)/PSK 阿。

不過 Elcomsoft 號稱有專利申請中,不過社群中早已有人實做可以在 Linux, MacOS 上執行的版本,叫做 pyrit (對,他是 Python 寫的)。最新的開發進度與消息可以在 pyrit blog 上找到。

Slashdot 上另外一則消息,則是說德國的 Erik Tews 與 Martin Beck 成功的「破解」WPA/TKIP 加密方式,即將在 PacSec 會議上發表。不過事實是,他們利用了 TKIP 的弱驗證碼演算法與 802.11e 的漏洞,於是可以將小封包如 ARP 封包重新送入網路中。這個技術並沒有取得無線網路使用的密碼,而入侵者也無法盜用該無線網路。

詳細的說明可以參考原始的論文 – Practical Attacks against WEP and WPA,應用程式 tkiptun-ng 也可於 aircrack-ng 網站上下載。ArsTechnicaGlenn Fleishman 寫了十分詳盡的技術說明 – Battered, but not broken: understanding the WPA crack

簡單講,就是這次活動網路遜掉了。

主要問題是場地對外頻寬不足,只拉了一條 8M/640K Hinet ADSL,於是變成大家都可以連上無線網路系統,可是卻無法快速的下載網站,或順暢的使用 Y!LiveSkype.

先說明場地的佈建方式,原先第一次場勘的時候,外面的贊助商帳篷預計是要搭設於 B 廳與 C 廳間的廣場(場地平面圖)。由於廣場與 A 廳中間還有其他建築物,當日也還有展覽,為了避免佈線的麻煩,建議籌辦單位準備兩條 8M/640K,分別拉線於兩棟建築物。

結果後來出席活動前一週的籌備會議時,才知道要將各贊助商攤位移至緊臨 A 廳的廣場,對外網路也暫時只改申請一條 8M/640K。會議上,籌辦人不停的詢問我,8M/640K 是否夠用?只要我說一句「不夠用」,他會馬上再去申請一條沒問題。不過當下活動支出已經稍微超出預算,若換了網路,恐怕得少買一些食物。

甚麼!居然要拿網路會議三寶 (網路會議有三寶,正妹、網路、食物不能少) 來互換,身為阿宅的我當下決定拿出男子漢的氣概,咬著牙說「行!」。畢竟一條中華電信得 8M/640K 臨時短期租用可以換很多很多食物阿。(這個決定是災難的開始)

現場使用的設備跟上次 OSDC 差不多,一樣是從 FON 臨時借用了一些產品跟網路設備。並且將軔體全部換為客制化過的 OpenWrt。不同的是,由於上次 OSDC 使用的會議室已經有學術網路跟網路佈線,因此完全不用顧慮現場拉線跟頻寬的問題。

這次 Blog BoF 是臨時佈建,現場沒有任何現存的線路與管道。且場地分為兩個部份,在內場 A 廳的部份,佔地約 10Mx50M,屬於長狹空曠型。但是由於場地內人員會走來走去,若只靠一台機器或前後各一台,勢必會因為人員走動而干擾無線網路訊號。而外面廣場與 A 廳則隔了一個小山坡,無線勢必受到干擾。於是使了一些方法讓全場都可以覆蓋到無線網路訊號。

最後的作法是於圖中藍色甲一工作人員區設定為總部,中華電信 8M/640K ADSL 接於此。中華電信小烏龜給了一台康全電訊 CT-511C,只有單孔網路,於是接出至 SMC FMCFS5,示意圖如下

其中甲一、乙與丙一,各接了一台寬頻路由器,與一台無線網路基地台。其中藍色甲一作為主要服務基地台,接於 Buffalo BBR-4HG,搭配 FON 指向性天線與甲二的 Repeater 大致可以覆蓋整個內場。使用人數一直都保持於 30-50 人,整天都正常運作。只有中途因為手殘改亂了設定,重新開機一次。

至於紫色乙區,則是提供給講者、Y!Live 廣播及前排觀眾使用。使用了 SMC SMCWBR14T-G 與一台無線網路基地台,SMC SMCWBR14T-G 已經關閉它的無線功能,讓另外一台 FON 無線網路基地台負責。沒想到它整日還是當機了三、四次,造成 OpenWrtF 與 Y!Live 中斷服務。SMC SMCWBR14T-G 是個很糟的產品。

而綠色丙一區則使用 D-Link DI-624S 與 FON 無線網路基地台。一樣關閉 DI-624S 的無線網路功能,靠 FON 運作,丙二則使用 Wireless Repeater 將訊號接取廣播到戶外舞台另外一側。不過下午因為曬太陽的緣故,丙一舞台旁的 FON 熱壞了,重開機一次,重新開機期間丙二則自動切換廣播甲一的無線訊號。

如此的規劃,大致上沒有嚴重的問題。由於會場都收的到訊號,且週邊 2.4Ghz 頻段很安靜,所以無線大致上沒有問題,只要持續監測他們正常運作即可。麻煩的是,由於這次拿到三個公開 IP,各接於不同的 Router,非常不方便監控每一台的流量與狀態。下次應該把他們都換成開放原碼的軔體才是。

這次最嚴重的問題就是頻寬完全不足!整天都非常專心的再監測到底頻寬被哪些人吃掉了,並且試著把他們暫時踢掉,把頻寬讓給其他人使用。當下發現場內許多人都不停的使用 Y!Live, TwitterButoo

剛稍微測試了一下最吃頻寬的 Y!Live,收到以下的數據

狀態 下傳 (kBit/s) 上傳 (kBit/s) 8M/640K 大約承載使用者數
瀏覽視訊/不開視訊 700~800 10~15 10
瀏覽視訊/視訊討論 1100~1500 80~200 3
廣播視訊 300~400 300~400 2
瀏覽熱到爆頻道 3200~3500 60 2

若純粹瀏覽 Y!Live 單一頻道,且頻道其他聽眾沒有開啟視訊/語音的狀態平均需要下載 700~800 kBit/s, 上傳 10~15 kBit/s。若把自己的 WebCam 也開啟,進行單位觀眾對頻道主人視訊對話的話則需要下載 1100~1500 kBit/s, 上傳 80~200 kBit/s。而自己開設頻道所需的頻寬,且觀眾都未開語音時,需要 120~150 kBit/s,上傳 80~200 kBit/s。

上述都是單純的使用。根據昨天 Blog BoF 頻道的盛況,同時有四五頻道訪客加入視訊討論,由於會同時收到數人的影像,需要的頻寬至少需要下載 3200~3500 kBit/s, 上傳需要 60 kBit/s.

如此證明,只要超過十個人開啟 Y!Live 瀏覽視訊,會場的 8M 線路就會爆掉。超過兩人進入 Blog BoF 視訊頻道,現場網路就會滿載。

問題在於昨天上午活動開始時,每位有電腦的朋友都會開啟 Blog BoF 首頁去看議程,偏偏 Blog BoF 首頁就內嵌了 Y!Live 視窗,於是很不幸的,上午的狀況非常的糟。第一場過後就開始在場內每台機器上擋掉 Y!Live 網址,如此至少眾人不會不停的於場內同時開啟 Y!Live.

不過麻煩的是大家還是會不停的、連續的讀取 Twitter 或巴布的回應,剛剛測試了一下類似的行為會用掉平均下傳 65~150 kBit/s, 上載 15~30 kBit/s。8M 預計可以支撐 20 餘人,就算兩條 ADSL 也只能承受 40 人這樣搞阿。就算拉了多條線,也得再處理分流的問題才能有效分擔流量。

下午的時候,負責轉播的 Tyler Lin 已經暫時轉移到備援的 3G 網路上 (因此下午影音效果可能不佳)。問題是大家還同時開 Youtube/Y!Live/Skype/PTT/Twitter/Buboo 阿,其中光是 Skype 對話大約需要 200~300/100~150 kBit/s。會場平均上線人數都超過三十到六十人,這樣講起來上傳要拉到 3M 以上在尖峰時段才稍微堪用阿。於是整場都忙著調整 QoS 與踢掉用太多頻寬的人,中途還不小心踢掉林凱洛小姐,害她嬌驕嗔的在 Twitter 上幹譙 (我還白目的持續在不同的機器上踢了好幾次,到底是甚麼軟體會同時開一兩百個 TCP Sessions 阿)

凱洛小姐,我把妳的 Laptop MAC Address 背起來了,不會再犯,請原諒我吧!

不過,CarolPunch Party 6 有一場與毛向輝作 Skype 對談的節目,雖然直接接了有線網路,效果也相當不好,雖然當下 PP6 已經是整天活動的高潮,場內已經由於節目太嗨沒有人在上網。看來這應該是中國對台灣的網路問題,與會場的網路無關。因為下午笑談華文部落格江湖二三事議程時,喬敬用的是自己的 3G 網路與毛向輝作 Skype 對談,語音效果也不佳。

檢討與改建

  • 應該認真分析、預估鄉民的行為與需求,一點都不能大意阿。
  • 種活動,下次或許可以直接租用學術單位的會議室,這樣可以借用現成的網路基礎建設。會議前一天才拉好臨時線路,實在令人劈劈挫。
  • 要先跟各場主持人講清楚需求,像是需要現場作 Y!Live/Skype 等需要高優先值的流量。可以先設定起 QoS,將優先值調到最高。
  • 對外的機器應該準備一台 PC 或更換開放原碼軔體的機器,這樣才方便臨時作最佳化修改與監測現場狀態。每一台 AP 應該先內建 Management Agent,不要當下才切換網路各台連入設定。

另外,萬一覺得 BoF 網路不好用,完全是我錯估情勢的錯阿。陳力完全是看了這篇被騙的。Orz

若是要對我砍劈或指教,請報名免費的 COSCUP 2008,我將於 8/24 09:30-10:40 間分享相關經驗。

補充附註:

CHT 臨時租用線路,目前只提供 ADSL,最高速度到 8M/640K。8M/640K 資費1500 + 1500 + 1000,上述 4000 元是基本費用,另加 3000 保證金。另外 電路費用+網路費用+電話費 則是以每日 1/15 計算。例如 8M/640K 一週租金大約是 (1599+500)/15*7 =~ 980 元。

光纖部份不屬一般臨時租用業務,需另外接洽中華電信二線業務人員。

以上補充作為未來活動參考之用。由於主要支出為設定費,因此請盡量申請光纖或更高速網路。

之前在講 Nokia S60 上的連線軟體時,曾經提到可以使用 HandyWi 來登入無線熱點如 FON中華電信WiFly

事實上,這些無線網路服務商入口認證網頁中都支援 WISPr,WISPr 是由 Wi-Fi Alliance 所提供,由 Browan (Gemtek)、iPass 與 Nomadx 等公司所擬定。這個協定讓使用者可以於不同的無線網路服務供應商間漫遊,透過內嵌於網頁中的敘述,無線使用者可以透過 802.1XUAM (網頁介面認證機制) 來自動登入,而不需要每次都手動打入自己的帳號密碼。(規格可於此下載)

行動裝置上有不少工具都支援 WISPr,如 FON 提供了 Symbian 連線管理員iFON,社群裡面也有人開發了 CrYpToNyM Pocket FON Connecto。WiFly 則支援 Windows Mobile.

若你也時常帶著筆記型電腦到處跑,大約也會時常需要登入使用無線網路熱點。若你讀了 WISPr協定,應該會了解實做一個自動登入 UAM 是頗為容易的事情。只要幾行 Perl script 就可以搞定,就像我的這個小範例。當然網路上也有其他人以其他語言做了類似的軟體,如以 Java 寫的 FONnector

若你使用 Firefox ,又常常在外面亂跑,不妨試試 Coova Firefox Extension,這是 David Bird開發的外掛。它會自動判斷目前網路是否需要登入,並自動使用你所輸入儲存的密碼登入網路。相當方便。


Source: http://coova.org/wiki/index.php/CoovaFX

這個外掛核心是使用 JRadius Project 中的 WISPr client,因此需要安裝 Java Plugin 才能執行。請記得在 “Edit/Preferences/Content/Enable Java” 選單中開啟 Java 喔。

若你使用 Nokia 手機,而是偶爾使用 WiFi 或 GPRS 存取一些行動網路服務,就會了解手機上操作選取網路有多不方便。因為你的手機通常預設會使用 GPRS/EDGE/UMTS 上網,你得先叫出無線網路連線軟體、掃描訊號、設定、開啟應用程式、選擇正確的 ‘Access Point’、連線。特別是某些軟體每次都必須針對不同的 Access Point 進行,無法自動選取。操作實在太過繁雜。

所幸,Psiloc 開發了 Connect 來彌補 Nokia 手機無法自動選擇連線類型的問題。記得在發行前,Psiloc 還故作神秘的開發了一個網站叫做 Psiloc What?,請人來猜想這個偉大神秘的軟體!經過幾個禮拜後,才正式宣佈 Psiloc Connect

基本上,它的功能讓你可以很有彈性的設定 Access Point。你的應用程式只需要選擇單一的 Access Point 名稱即可,當你的軟體有連線需求時,Psiloc Connect 會根據你的設定,先搜尋是否有無線網路可用,然後再尋找 GPRS 網路來傳資料。當然你也可以完全關掉使用 GPRS,於是就可以省下許多連線費用,但同時可以隨時再找到訊號的時候自動連線,特別適合沒有使用吃到飽費率的朋友使用。

稍早的時候,它還不支援我的 E70,但目前也已經支援。這是商業軟體,價值 9.95 €/15.65$。可惜的是,它不支援 WISPr 自動登入。


Image Source: Symbian in montion

當初買 E70 的原因之一,是因為它同時支援 UMTS/WCDMA/Bluetooth/WiFi,所有的近端、遠端無線通訊都支援了。

不過當初購買的時候,市面上還沒有方便的連線軟體。Nokia 倒是附贈內建了
Psiloc Hotspot Finder。但操作起來遠沒有目前的新款手機如 N95, N82 來的方便,系統內沒有任何設定精靈可以用,因此你必須進入 Settings/Connection/Access Points 一組一組設定 ESSID 到加密類型、密碼等,非常麻煩。

所幸,Nokia N-Series 的 WLAN Wizard 是可以免費下載的,雖然在 E70 上,並不會在待機畫面出現快捷按鍵,但是自動搜尋與定義 Access Point 的功能也可以相當滿足了。

但倘若你需要存取 HotSpot,就必須使用另外一套軟體。由於 WiFi HotSpot 通常會使用所謂 Web-based Universal Access Method (UAM),你透過手機連上訊號後,必須再使用瀏覽器輸入帳號密碼。但在手機上,瀏覽網頁跟輸入帳號密碼都頗為困難,所幸 UAB TeleSoftas 免費提供了 Handy Wi,此軟體支援所謂 WISPr 漫遊認證協定,因此只要你輸入一次 ISP 的帳號密碼,軟體就可以自動搜尋附近的熱點,並且自動登入。

HandyWi connecting to FON

這兩個軟體是我目前的主力連線工具。