2010年1月29日 星期五

IPad的震撼彈

 蘋果用低價 499美元進入平板電腦,這讓它更垂涎欲滴! 不僅如此,這真是一個對各個陣營的震撼彈:

1) 對 Atom陣營的平版電腦來說,價格很難批敵,蘋果用 RISC的SOC架構,這意謂著WinTel陣營在相同價位很難賺,而且 Apple的硬體成本還有下修空間,一開始,連價格戰也不用打了

2) 對其它 ARM陣營的 Smartbook來說,如聯想的第一台 Smart book就賣 499元,真是沒有蜜月期,一開始就準備大降價還不一定有人買了

3) 對Android陣營或未來的 Chrome陣營來說,有好有壞,好得是,過去 Android可以踩在Apple的商用模式和市場需求來分享市場,未來平板電腦或smart book也可能可以相同的方式占些市場,壞得是, 應用平台是 Pure Java的 Android及Pure Web的 Chrome,在應用程式的廣度,可能都大不及Apple,當螢幕放大之後,這點差異性可能更明顯,比如說,用Web來文書處理的經驗都還不太Smooth。

4) 對只能賣裝置無法賣服務的小廠,真是一個大警惕,Apple可以靠賣軟體,音樂等來加值,
裝置可以只是一個載具,在雲端市場大行其道的今天,裝置的本身可以表現的越來越有限。對Google而言,裝置本身也不重要,例如它可以繞道在 Iphone上面推他的google talk來賺錢,如果Android或Chrome往Smartbook或平板電腦這條路不成功,對Google而言沒差,它可以在Ipad使用雲端的方向繼續收益,但對於台灣的設備廠來說,相對的就危險了。

如果最終Ipad壓縮了 windows的市場,也抑制了 Android和Chrome,那麼本來想靠Google殺出一條血路的PC廠又只能回去作 Windows NB,而且量還越來越少,那麼是不是一個該警惕的震撼彈?

2010年1月5日 星期二

網路設備的設計規劃 - 第一小節

案例
TR科技是一家網路設備的研發公司,過去公司的主力產品為家用的有線及無線IP分享器,提供NAT(位址轉換)和簡易的防火牆功能並由Web介面設定管理。由於過去TR科技的核心技術主要是修改 SOC廠提供BSP(board support package)中的雛型範例成為標準化產品,並能作大量的生產,且能為客戶客質化。但現今競爭者提供的功能越來越強大,讓單純的無線接取設備和多媒體及網路儲存等功能結合,使得TR科技訂單大量流失。TR科技的董事長king招開了緊急會議來討論這個問題。行銷部協理Johnson建議公司從善如流,引進更高階的SOC,並尋求SOC廠的技術支援。研發部的協理Ken則認為現有的SOC其實運作時CPU也還有很多剩餘的能力,重點不全是SOC,而是當這麼多功能整合在一起時整個網路封包的流程需要有技術know how,另外多媒體的功能則需要有較為複雜的網路應用程式know how,這些know how都需要時間累積。測試及技術服務部的蔡協理則認為在個人用的產品導入這麼多的功能,售價不一定能昇,可是相對要做的售後服務卻增加了,加上公司初期跨入多功能整合產品的市場,還在培養實力的階段,Bug可能不少,會有一段辛苦期。董事長king在聽過了各方的意見後,向大家表達了公司必須轉型及擴展核心競爭力的決心,才能永續的經營。最後在又經過一番的討論後,責成研發副總Robin從研發、行銷及技術服務部的人力抽調出一個Task Force,準備新產品的開發,將朝家用網路及媒體管理站(network and media station)和SOHO VOIP +VPN router兩個方向來評估及進行。


接下來共分四節來討論,第一節為分類介紹,第二節為常見的規格及研發的資源,第三節為軟體架構的介紹,第四節提供範例。

第一節   分類
    本章網路設備指的是數據通信 (Data-communication )的設備,即透過TCP/IP互連的網路裝置。傳統上網路設備的分類可用該設備位於 TCP/IP的運作層級來區分:Switch及無線網路Access point要管理第二層(Ethernet)以上的功能,路由器要管理第三層(如IP)以上的功能,防火牆要管理第四層(TCP/UDP)以上的功能,而防垃圾郵件的閘道器則要處理應用層級(SMTP)的功能。但是由於這些年來硬體運算能力的加強,擴展了網路設備的功能,第二層(L2)的交換器向上延伸到L3L4甚至L7的控管功能;防火牆結合了VPN、防毒牆等功能;而家用的Access point則結合了File serverPrint server甚至多媒體播放或IP電話等功能。由於網路設備已經不容易詳盡的區分,我們略以主要用途別來作一個分類介紹

資安用途:

  •      防火牆(Firewall)   :     防火牆主要做的事情是存取控制(Access control),即決定封包可不可以通過。比較簡單的作法是由設定靜態的ACL( Access Control List)來控制,例如依TCP/IP各種協定的表頭(header)的內容來決定去留。但防火牆的ACL演變有越來越複雜的趨勢,能依照時間及應用程式的內容來決定封包的去留。許多防火牆使用了應用層級的代理伺服器(Application proxy),來監控使用者應用程式的內容並作控管。防火牆另外也有幾個必須的功能如紀錄或統計它所控制的封包流資訊,作防火牆內部私有位址對外部公開位址(public IP)的轉換等等。防火牆設計近年的挑戰主要是要處理應用層級的資料,因此如何減少對封包處理時間的延遲是個問題,而防火牆也得懂越來越多應用程式協定。
  • 虛擬私有網路 (VPN )
           虛擬私有網路早期以 IPSEC技術為主,使用通道(tunnel)的方式,將加密的封包外包一層IP協定表頭在兩個VPN裝置間傳遞,到達VPN裝置後在將外部IP表頭卸載並解密封包。使得傳輸雙方的資料不僅保密,在網路位址的使用也可以跨區域使用同一個網段達成更方便網路資源的分享。由於使用這個方式來作VPN需要傳輸雙方都支援IPSEC協定,如果其中一方是公司外部使用者的個人電腦,需要灌特殊的軟體。為了方便個人使用者來使用VPN,近年來有SSL VPN技術的興起,這個技術讓外部使用者透過瀏覽器就能使用公司內部的資源,主要建立在既有的Web伺服器SSL加密技術上面,外部使用者使用瀏覽器連接到SSL VPN的伺服器,在由SSL VPN伺服器接取企業內部的網路資源。由於加密本身很耗系統資源,因此不管IPSEC或是SSL VPN都常使用加密的加速晶片來提昇效能。

  • 入侵偵測及防禦系統 (IDS/ IPS)
對於企業正在運作的系統及服務,特別是已經被防火牆放行進入的封包,仍然存在許多資安的危險性,攻擊者可能會利用內部網路正常提供的服務進行入侵的動作。入侵偵測系統使用傳統竊聽(Sniffer)的技術,將經過入侵偵測設備的封包複製一份,並開始分析封包間的關聯來判定入侵的意圖。入侵偵測設備由於處理的是複製的封包,所以不用太去處理封包延遲的問題,但由於入侵偵測設備常至於所有流量都會經過的地方,又要作大量模式的判別,因此,需要強大的計算力量。入侵偵測的也需要一個能保持更新的入侵模式庫。而另外一種入侵防禦(系統IPS)與入侵偵測系統(IDS)的差別在於入侵防禦會主動的斷絕經過入侵模式判定有問題的封包流。

  • 弱點掃描 (vulnerable scanning)
前述IDS及IPS是以被動攔截方式來進行資安的防護,弱點掃描則主動的對網路節點內的網路服務進行測試,以各種已知的弱點來測試網路服務是否有需要修補的地方。弱點掃描簡單的來說,是以駭客的思維來進行網路服務的檢核。和IDS/IPS不同的地方是作網路服務安全的檢核不需要處理的大量的流量,因此弱點掃描也常以套裝軟體的形式存在。

  •  防毒牆
一般網路病毒的來源主要是由網頁或是信件夾帶的,因此防毒牆得掃描完整的的網頁或完整的信件來防止病毒,它作用的方式類似防火牆的Application proxy,能以代理的方式取得內外連線時應用程式完整的資料。由於在網路節點眾多的地方應用程式的流量也非常大量,因此防毒牆需要在有相當大運算能力的主機來同時進行大量的應用程式代理連線。


效能用途:

  • 頻寬保證設備(QoS equipment)
傳統的TCP/IP協定下的網路交通流量其多個連線時的頻寬分配機制是公平的,這會造成許多不重要的流量佔用了大量的頻寬,頻寬保証設備主要能依照頻寬管理政策的需求來作頻寬的分配。例如企業可以在一條1M的線路決定https協定的外送流量優先於smtp,並且保障其至少有512k的頻寬。頻寬管理設備大多使用某種封包佇列的排程演算法來達到頻寬分配的功能。

  • 負載平衡設備 ( Load Balance equipment)
負載平衡設備分為對外網路連線的負載平衡設備和專對伺服器叢集來作的負載平衡分配。
對外連線的網路分配能將內送及外送的流量分配到多條實體的ISP線路,通常其機制是以每個TCP/IP的連線(session)為單位,依量測線路的結果來分配較多連線到較佳的線路。專門針對伺服器叢集則是把依量測伺服器效能的結果來分配較多連線到較佳的伺服器。

  • 快取裝置         (Cache & Proxy equipment)
  快取裝置針對重複性高且變動性低的Internet存取資料暫存在近端,以加快網路的存取。快取裝置主要針對Web相關的應用,它類似防毒牆也必須以代理方式來作應用程式的中介連結角色,因此需要耗掉較多的CPU資源,而磁碟的容量和容錯機制在這類設備上也相對重要。




接取及傳送用途:
  • 交換器(Switch)
交換器主要能把封包在區域網路中轉送,使得從某個阜口來的封包能送到另一個阜口的電腦或設備。交換器依照可以處理TCP/IP不從層表頭(header)的能力來區分,能針對Ethernet 的表頭來作轉送的是第二層的交換器。能針對IP 層表頭來作轉送的是第三層的交換器,這通常用在企業的骨幹上。能針對TCP,UDP等層以上表頭來作轉送的是第四層交換器以上的設備。第二層及第三層交換器由於需交換大量的流量,因此多用硬體晶片(ASIC)來作主要的演算。第四層以上的交換器則針對專屬的流量來作封包的轉送及導引,如判別TCP某些特定的port來轉送到不同的機器。
  • 路由器(Router)
傳統上路由器透過路由器之間路由協定交換的路由表,來決定封包下一個目的地,因此路由器都要能支援多種的路由協定及相關的演算法。由於骨幹上的路由資料很大,因此會配合ASIC晶片來作高速的演算。

  • 無線接取點(Wireless Access Point)
目前常見的無線網路有 802.11a/b/g/n等協定,無線接取點就是要將支援這些協定的網卡
連結在無線的通道(channel)上,並在這個酬載通道上進行Ethernet的訊息封裝和交換。無線接取點通常也會包含網路第三層以上如IP分享器的功能,如動態IP發放或位址轉換等功能。



結合影音等通訊用途: 


  • IP電話(IP Phone)
  • 視訊設備(Video Conference)
主要是支援聲音及影像壓縮編碼,並依特殊的應用層協定如 SIP, H323來作傳輸的設備。由於IP phone要與傳統的電話交換網路介接,因此這也使數據通信(Datacom)和電信通信(Telecom)不在有清楚的分水嶺。另外由於要支援多人的應用服務,因此IP電話及視訊會議設備不只是端對端的設備,這中間會透過如SIP 閘道器及MCU(視訊會議服務器,Multipoint Control Units)等設備來進行連線建立的協調工作。總體而言,和通訊系統連結上的裝置都有著非常複雜的應用層協定得支援。

其他用途 

局端及電信設備:
近年來數據和電信兩種服務已經相互結合,因此許多的設備介於兩者之間,如ADSL Router,ADSL的局端設備DSLAM,和3G網路中相關的設備等。

傳統設備網路化設備:
如監控設備(Survillance system)或是終端機切換設備(KVM)近年來也大量的網路化

2009年9月14日 星期一

設計產品的一些共同考量

這裡主要討論是Linux和硬體結合的一個完整資訊產品的開發諸如多媒體播放裝置、網路閘道器、監控裝置、伺服器裝置及個人通訊裝置...等等。這些資訊產品在設計時有一些共同的項目要考量的項目,我們舉個實例開始吧。

R公司是國內一家工業電腦(IPC)製造廠,它的客戶涵蓋了伺服器,網路設備,監控設備,車用多媒體及通訊設備等等。由於市場競爭激烈,該公司研發副總 Joe決定提供類似Turn key(即幫客戶做好產品雛型)的解決方案給客戶至少讓客戶有個可以快速開發及測試的環境,但是由於產品種類繁多,Joe決定進行知識管理的工作,統合各項TurnKey解決方案的共同技術模組,這個工作交給了資深工程師 Wayne進行。Wayne對過去的各個雛型和正在接觸的客戶需求做了一些整理,他規劃出了這些產品需要的共同技術區塊如下列項目:

  • 儲存方式、防盜拷機制及系統升級的規劃 
  • 使用者操作方式及介面的規劃 
  • 主要系統運作的軟體架購 
  • 其他輔助功能的規劃包含 : 開關機流程,自我診斷及錯誤回覆方式,電源管理,安全管理等 
這些規劃我們一個架構圖來展現,現在分別討論如下:

2009年9月7日 星期一

前言及編排內容



本出版品以產品規劃的角度來探討使用Linux來開發一個資訊產品所需的知識、技術及資源。讓我們舉個實例開始吧:

 S公司要開發一個類似數位相框的多媒體播放裝置,由於數位相框技術已經十分成熟,所以希望加上一些創新功能,例如一個連線播放功能可以播放遠端另一台同款式數位相框內容的功能。S公司的RD部張協理負責和行銷部一起規劃這個產品的規格,而研發部的陳經理則擔當本產品的架構師及這個產品team的leader。張協理請陳經理針對競爭者類似的規格作一些初步的規劃。陳經理接到這個工作時首先列下了一些問題

  •   要選擇什麼樣的硬體平台,CPU 速度? Ram大小 ? 儲存裝置的大小及種類 ? 哪些週邊要支援 ?
  •   使用者是如何操控這台設備?只能使用螢幕還是也可以使用遠端登入例如使用瀏覽器來操控
  •   儲存方式要如何規劃? 開機的系統、設定檔、影像資料、回復出廠系統檔案要如何安置
  •   開關機的流程要如何規劃?開機有哪些啟始流程? 關機又需要有哪些?
接下他又針對Linux列了一些相關的問題

  • 使用甚麼版本的核心?及甚麼樣的根目錄檔案系統? 由自己製作還是硬體供應商提供
  • 考慮單機下的功能時,軟體架構為何? 有哪些常駐程式(Daemon)?有哪些驅動程式(Driver) ?
  • 考慮網路相關的功能,網路服務如何提供?主從式的架構為何?
  • 單機下的常駐程式、驅動程式及網路服務的伺服程式彼此如何溝通?
  • 使用甚麼方式來做系統的自我診斷,紀錄,及回復

接下來他列了一些產品開發管理的問題

  • 雛形預計功能和時程為何?
  • 如何切割模組和分工?概略的甘特圖為何?現有人力足夠否?
  • 如何整合到公司既有的版本管理系統,程式碼文件系統,錯誤追蹤系統


本出版品就是為了探討這些相關問題的內容及細節,不同於專在探討Linux系統的使用及Linux程式開發的書籍,本出版品以產品開發生命週期中各項的需求向讀者介紹所需的知識和資源,並將分類介紹不同型式的產品。將包含三大篇:  產品設計篇、作業系統技術篇及軟體開發管理篇。個篇預計內容如下:

          產品設計篇
  •  設計產品的一些共同準則
  • 網路閘道器的設計規劃
  • 伺服器的設計規劃
  • 多媒體播放設備的設計規劃
  • 影音監控設備的設計規劃
  • 行動上網裝置的設計規劃
  • 手機及通訊裝置的設計規劃
          作業系統技術篇
  •   重要參考資料書籍導讀
  • Linux作業系統運作流程概念
  • 系統程式運作流程概念上
  • 系統程式運作流程概念下
  • 驅動程式運作流程概念上
  • 驅動程式運作流程概念下
  •  TCP/IP網路程式運作流程概念
  • 系統安全性
         軟體開發管理篇

  • 開發環境及除錯環境
  • 建構程式碼管理環境
  • 研發及專案管理
  • 測試管理維運管理