490 likes | 585 Views
From Cloud Computing to Net2Display. Speaker : Yung-Da Chen Advisor : Kai-Wei Ke Date : 2010/03/24. Outline. Cloud Computing Introduction Overview From PCS to PCS Net2Display Standard Introduction Overview Remoting Approach Networking IP Security Other Contents Conclusion
E N D
From Cloud Computing to Net2Display Speaker : Yung-Da Chen Advisor : Kai-Wei Ke Date : 2010/03/24
Outline • Cloud Computing Introduction • Overview • From PCS to PCS • Net2Display Standard Introduction • Overview • Remoting Approach • Networking • IP Security • Other Contents • Conclusion • Future Works • Reference NET LAB
Outline • Cloud Computing Introduction • Overview • From PCS to PCS • Net2Display Standard Introduction • Overview • Remoting Approach • Networking • IP Security • Other Contents • Conclusion • Future Works • Reference NET LAB
Cloud computing sample architecture Cloud Computing - Overview • Cloud Computing 是一種抽象的概念,同時也是 Internet-based computing • 所謂「Cloud」其實就是泛指「網路」- 名稱來自在繪製網路示意圖時常以一朵雲來代表網路 • 由遠端網路上的伺服器進行資料的存取及運算 • 大體來說,雲端運算的主要精神在於: • 虛擬化(Virtualization) • 可延展性(Scalability) • 自由混搭(Mesh Up) • 兩個判斷雲端運算的重要準則: 「零」和「無限大」 NET LAB
Cloud Computing – Overview (cont.) • 「雲端運算」的概念事實上也不算新,主要承襲自: • 「分散式運算」(Distributed Computing) • 把需要進行大量計算的工程數據分割成小塊,由多台計算機分別計算,最後再將結果統一合併得出數據結論的科學。 • 「網格運算」(Grid Computing) • 所謂的「網格」指的則是以公開的基準處理分散各處的資料。是分散式運算的一種延伸。 • 其主要特點在於將各種不同平台、不同架構、不同等級的電腦透過分散式運算的方式做整合運用。 • 透過網路將龐大的運算處理程序自動分拆成無數個較小的子程序,再交由多部伺服器所組成的龐大系統,經搜尋、運算分析之後將處理結果回傳給用戶。 NET LAB
Cloud Computing – Overview (cont.) • 雲端運算的分類有兩種方式 • 第一種是以服務和部署方式分類,分為: • 公有雲 • 通常為服務提供者,如 Google App Engine、和 Microsoft Window Azure,把應用程式或儲存內容等雲端服務經由網際網路提供給一般大眾。 • 私有雲 • 私有公司網路,利用虛擬化 (Virtualization) 和分散式計算 (Distributed Computing) 等雲端計算技術,將資源做整合及應用,以改善公司資源利用及降低管理開銷。 • 混合雲 • 整合公有雲和私有雲,例如某些公司會利用公有雲如 Amazon Elastic Compute Cloud (EC2) 的雲端服務進行一般運算,而把客戶資料存在公司內部私有網路。 NET LAB
Cloud Computing – Overview (cont.) • 第二種是以服務類型分類,分為: • IaaS (Infrastructure as a Service)– 基礎設施雲 • 提供電腦運算基礎設施,包括伺服器 (Servers)、網路設施 (Network Equipment)、記憶體 (RAM)、儲存硬體 (Disk)、CUP 及資料中心 (Data Center) 等設施。 • 如 Amazon 的 Elastic Computing Cloud (EC2)、Simple Storage Service (S3) • PaaS (Platform as a Service) – 平台雲 • 提供一個開發平台,給開發人員更大的彈性,依不同需求客製化 Web Applications。 • 開發人員,IT 管理者等,無需下載及安裝軟體皆可以享用此平台提供的好處。 • 如 Google App Engine、Microsoft Azure • SaaS (Software as a Service)– 應用雲 • 透過 Internet 提供軟體的模式,用戶向服務供應商租用 Web 軟體來管理企業經營活動。 • 無須對軟體進行維護,服務供應商會負責管理及維護軟體。 • 如 Google 的各種服務,Gmail、Google Doc、Google Group NET LAB
Outline • Cloud Computing Introduction • Overview • From PCS to PCS • Net2Display Standard Introduction • Overview • Remoting Approach • Networking • IP Security • Other Contents • Conclusion • Future Works • Reference NET LAB
Cloud Computing - From PCS to PCS • 過去的 PCS (Personal Communications Services),主要訴求的相關技術有三方面: • 手機移動性 (Terminal Mobility) • 帶著手機隨意移動,低速到高速,從室內到室外。 • 個人移動性 (Personal Mobility) • 更進一步讓個人電話號碼與手機可以分開。比如說當人在公司或家中,打個人的電話號碼,就自動轉成有線電話接聽。 • 服務設定檔管理 (Service Profile Management) • 希望能讓客戶本身去選擇所需要的服務,而不是由通訊公司來規定用戶需要什麼服務。 NET LAB
Cloud Computing - From PCS to PCS (cont.) • 今天的另一種型態 PCS (Personal Cloud Services) • 雲端最簡單的意涵,就是將運算能力當做一種服務 • 企業或個人可以透過網路取得。使用者的資料是放在網路的「雲」上面,而不必儲存在個人電腦上,使用者可以在任何有網路的地方使用雲端服務。 • 「雲」代表了規模龐大的運算能力 • 經由建造雲端服務大型機房,提供各種軟體應用,讓使用者享有媲美超級電腦的運算能力,並提供可靠的安全性及管理。而使用者不須煩惱伺服器的位置或資料的所在。 • 個人雲端運算有三個主要的核心技術 • 隨時可用的雲端計算平台 (CloudPlatform) • 人性化的雲端裝置 (Client Devices) • 無所不在的通訊聯結 (Ubiquitous Connectivity) • 提供創新的雲端服務 (Cloud Application) NET LAB
Why?N2D NET LAB
Outline • Cloud Computing Introduction • Overview • From PCS to PCS • Net2Display Standard Introduction • Overview • Remoting Approach • Networking • IP Security • Other Contents • Conclusion • Future Works • Reference NET LAB
Net2Display - Overview • Propose • 透過有線/無線之區域/廣域之 IP 網路,提供高效率的 Remote Computer/Server display 及 I/O access • 支援 Keyboards、Pointers、Audio、Motion Video及USB attached peripheral devices 之 I/O 設備 • 讓 Multiple client devices 與 Host systems 連接,以實現 Internet display 的概念,滿足現有和未來遠端顯示的需要 • 使 User 能夠感受到與 PC 相同的性能及速度之精簡型電腦 • Introduction • 由視訊電子標準協會 (Video Electronic Standard Association,VESA) 建立之標準 (Oct. 22, 2009),以現有的安全協定及基礎設施情況來制定 • 盡量減少 Client device 需求的複雜性 • 支援遠端距離,從一公尺到數千公里 • 使用頻寬低於10Mbps,及保持回應時間延遲小於 100 milliseconds • 支援高品質之全動態影像 (full motion video) • 遠端 USB devices 不需要修改驅動程式即可使用 NET LAB
Net2Display - Overview (cont.) • Features • 在發展Net2DisplayRemoting 時,必須達成以下目標: • Simple Client • Simple Client 表示在這個客戶端內包含了最少量的狀態而且這個客戶端並不會常常被要求更新 • 3D Graphics and Flash on Server • 3DGraphics 與 Flash 支援在高效能的伺服器處理器上運作,在低客戶端相容性的前提下,提供高效能的服務 • Flexible Server Location • Plug and Play Direct Connection • 當 Net2Display 客戶端直接連接到一個 Net2Display 主機,他們會認得這個直接的連結,且客戶端也會支援這個主機運作 • Automatic Local Service Location • 本地端的 Net2Display 伺服器會自動發現 Net2Diplay 的伺服器在本地環境中使用 multicast requests NET LAB
Net2Display - Overview (cont.) • Integrated Quality of Service • QoS 被建立在不同 Net2Display 資料型態中,並使用不同的虛擬通道來傳輸資料,以及的不同優先權來建置 • TCP and UDP Transport • TCP 用來提供可靠的傳輸;UDP 則是用在具即時性的傳輸,如影像或是音訊等 • Audio and Motion Video Synchronization • 音訊和動態影像利用 timestamps 來傳輸以達到同步 • Automatic Reconnection • 當連線中斷時,自動選擇重新連接網絡路徑或恢復連線 • Security • 除了點對點傳輸之外,加密都是必要的 NET LAB
Net2Display - Overview (cont.) • Tolerant of High Latency • Minimal Round Trips • Net2Display Remoting 使用最少且較低層的網路堆疊往返操作,以盡量減少延遲造成的影響 • Virtual Channels • 虛擬通道可以用來 卸載額外的功能,以減少客戶端延遲的影響 • Efficient Resource Utilization • Variable Fidelity • Display、motion video 和 audio 之 quality 可以動態調整,以符合網路及計算資源的利用 • Efficient Compression • Motion video、audio 和 image 之 compression algorithms 做最佳化來達到最小網路頻寬的使用 NET LAB
Outline • Cloud Computing Introduction • Overview • From PCS to PCS • Net2Display Standard Introduction • Overview • Remoting Approach • Networking • IP Security • Other Contents • Conclusion • Future Works • Reference NET LAB
Std. Figure 2-1: Basic Topology Net2Display - Remoting Approach • 基本的 Net2Display topology 包含 Host、Client 及可選的 Connection Management Server。 • 以 Network Interface Card (NIC) 連接 Host 及 Client 這兩個 Nodes • 一般的網路設備即可傳送或接收 Net2Display data traffic NET LAB
Net2Display - Remoting Approach (cont.) • The Net2Display™ standard remotes displays by: • Remoting the display content from the Host to the Client Display. • Optionally remoting I/O devices attached to the client to the host using USB. • Connection Management block is present at each end of the connection to manage the connections between Net2Display hosts and clients. Host Computer Net2Display General Structure – Block Diagram NET LAB
Net2Display - Remoting Approach (cont.) • Host • Host 是一個只提供作業系統或應用程式使得Net2Display traffic能夠在網路上傳送的電腦 • Host 也可是一台完整的電腦,並提供Net2Display reomting protocol 給某些用戶部份的作業系統及應用程式 • Network • 使用標準的 Internet Protocol (IP),包括各種 network topologies、latency、packet loss conditions 以及 packet reordering • 任何能夠傳送 IP network traffic 之同質性或異質性的計算機網路 • 包含 Ethernet segments、WAN links、Wireless networks、DSL links 或是任何其它支援 IP traffic 的網路 • 同時也支援 IP networks可靠的 TCP 及不可靠的 UDP 網路傳輸 • Client • Client 是一個用來傳輸 Net2Display 協定的系統或裝置,以這個協定用來顯示output 訊號,並提供 I/O 裝置連結 • Client 也可以獨立於顯示裝置外或是在傳統 PC 或 NB 上執行的軟體 NET LAB
Net2Display - Remoting Approach (cont.) • Connection Management Server (CMS) • CMS 是一個管理網路連接的伺服器,提供可用的 Host 位置及其資源和服務給 Client • 具有處理網路負載以及平衡多個 Host 及 Client 的能力 • 當 CMS 收到 Net2Display Client 的連線請求,CMS 即會提供一個可用的 Host 與其連線 • CMS 會收集可用 Host 的資訊並選擇最適當的 Host 給欲連線的 Client • Virtual Channels • Virtual Channel 是一個存在 Host 及 Client 之間的通信路徑,允許資料或控制指令通過 • Net2Display Remoting 使用多個 Virtual Channels 讓不同優先等級的資料和控制指令在 Host 及 Client 間傳輸,避免被更高優先權的 traffic 給 block • 一個 Virtual Channel 在方向和操作上具有相同的優先等級和傳輸協定 NET LAB
Net2Display - Remoting Approach (cont.) • Example of Topologies: • Simple Topologies that consist of a single Host and Client connected together. (Figure:a, b, c, and d) c) Multi-Headed Client, Trader (O) a) Remote Display (R) b) Thin Client (O) d) Multi-Headed Display Port-based Client (O) NET LAB
Net2Display - Remoting Approach (cont.) • Multiple Client devices may be • connected to the same Host • (Figure: e, f, and g) • Display information from multiple • Hosts may be display by one Client • (Figure: h) f) Trader with one set User I/O (O) e) Display Wall (O) g) Virtualized PCs or Trader with Multiple Sets of I/O (O) h) Multi-Host Views on One Display Management Console, Laptop (O) NET LAB
Outline • Cloud Computing Introduction • Overview • From PCS to PCS • Net2Display Standard Introduction • Overview • Remoting Approach • Networking • IP Security • Other Contents • Conclusion • Future Works • Reference NET LAB
Net2Display - Networking • Network Topologies Std. Figure 4-1: Wired Point to Point Std. Figure 4-1: Wireless Point to Point • 有線點對點配置,Client 直接與 Host 連接,無任何中間設備 • 沒有 DHCP、DNS services,也沒有連接管理伺服器 • Client 通常配置安全性較低的裝置,如顯示器 • 也沒有連接到網際網路或其他存取設備 • 無線點對點配置,Client 與 Host 透過無線網路連接,如 802.11 無基地台的模式 • 沒有 DHCP、DNS services,也沒有連接管理伺服器 • 無線傳輸點對點的配置具有較大的安全問題,因為無線訊號可以被其他設備接收,且主機也可能被其他設備欺騙,所以加密是必要的 NET LAB
Net2Display - Networking (cont.) • 在需要 Network switches 的配置下運作,但孤立於 Internet 及其他基礎設施之外 • 沒有 DHCP、DNS services,也沒有連接管理伺服器 • 可用來直接連接多台顯示器 • 安全性較點對點更為重要 Std. Figure 4-3: Isolated Network Switches Std. Figure 4-4: Connection to a Network Infrastructure • 有線或無線的方式連接,且位置也可以是動態或靜態分配 NET LAB
Net2Display - Networking (cont.) Std. Figure 4-5: Client connected through a NAT to a local Host or to an Optionally Firewalled Host • NAT 會干擾 TCP 及 UDP,使得封包的傳遞無法到達目的地 Std. Figure 4-6:NATConnected Hosts (Not Support) NET LAB
Net2Display - Networking (cont.) Std. Table 4-1:Examplesof Supported Topologies NET LAB
Net2Display - Networking (cont.) • Network Facilities • Net2Display Remoting 使用以下的標準網路傳輸及安全協定來處理 Client 之 Display 和 I/O data • IP Networking • 以 IP 網路來傳遞所有 data • TCP and UDP Transport(port 9068) • TCP 連接所有 Node;UDP 用於 motion video 及 audio • DNS Servers • 提供名稱解析及 IP 位址對應之服務 • mDNS • 在沒有 DNSServer 的情況下提供名稱解析及 IP 位址對應之服務 • IPsec • 用於確保 Node 間通訊之安全 • NAT Traversal (NAT-T) • 附加 UDP 封裝 header 使 IPsectraffic 能夠穿過 NATgateways • Network Transport • 包含可靠即不可靠的各種 IP 網路傳輸 • IP Differentiated Services (DiffServ) • 確保不同 QoS levels間 realtimedata 的傳輸 NET LAB
Net2Display - Networking (cont.) Std. Table 4-2: Transport Protocols used by Net2DisplayRemoting • Note: • SOAP:簡單物件存取協定 (Simple Object Access Protocol),是一種用於 web service 標準化的通訊規範,讓不同應用程式透過 HTTP 以 XML格式互相交換資料。 • SCTP :串流控制傳輸協定 (Stream Control Transmission Protocol),它提供的服務有點像 TCP,又同時將 UDP 的一些優點相結合。 NET LAB
Net2Display - Networking (cont.) • IPsec Security – Specified in RFC 4301 • Encapsulating Security Payload(ESP)– Specified in RFC 4303 Std. Figure 4-7: TCP Packet Structure with IPsec NET LAB
Net2Display - Networking (cont.) Std. Figure 4-7: UDP Packet Structure with IPsec NET LAB
Net2Display - Networking (cont.) • Net2DisplayRemoting 使用 NAT Traversal (NAT – T) ,它定義了 UDP 封裝的 ESP 封包,來協助穿越防火牆。 Specified in RFC 3947 • 使用 UDP 封裝 – Specified in RFC 3948 • IPsec 與 NAT 的相容 - Specified in RFC 3715 Std. Figure 4-9: TCP Packet Structure with IPsec and NAT-T NET LAB
Net2Display - Networking (cont.) Note: • 當使用NAT-T時,為了穿越 NAT,UDPheader會被加在 IPsecheader前,並提供 Port Number,因此網路上的封包都會是UDPpackets Std. Figure 4-10: UDP Packet Structure with IPsec and NAT-T NET LAB
Outline • Cloud Computing Introduction • Overview • From PCS to PCS • Net2Display Standard Introduction • Overview • Remoting Approach • Networking • IP Security • Other Contents • Conclusion • Future Works • Reference NET LAB
Net2Display – IP Security • IPsec • IPSecurity 是針對位於網路層的 Internet Protocol 所提出的安全性協定。確保網路通訊的安全。 • 即使位於 IP 層上層的應用程式或傳輸層沒有提供任何安全性的機制,也可以保護整個網路通訊的內容。 • IPsec 主要可提供兩種功能: • 認證功能(Authentication) - 確認通訊雙方的身份,以及確保雙方之間傳輸的資料未受他人破壞或竄改。 • 保密功能(Confidentiality)- 將通訊內容予以加密,防止網路上的第三者讀取通訊內容。 • 制定於 IPv6 中,加入認證與保密的功能,這些相關功能統稱為IPsec 。 IPsec 在設計時也考慮到必須與現有 IPv4 相容。因此也可將 IPsec 移植到現有的 IPv4 NET LAB
Net2Display - IP Security (cont.) • IPsec 運作方式: • 在初始化時,雙方必須建立安全聯結 (Security Associations)。讓雙方對於如何使用 IPsec的方式達成共識。如,選擇何種安全功能;決定加密的演算法;使用金鑰的原則等。 • 金鑰交換。利用非對稱加密法,讓雙方各自擁有相同的密鑰。 • 開始以安全的管道來傳輸資訊 • IPsec 封包結構: • 除了對封包執行加密或認證演算外,IPSec 還會在傳統的IP封包中加入額外的 IPSecheader,用來記錄加密或認證的相關資訊。 NET LAB
Net2Display - IP Security (cont.) • IPsec 使用模式: • 傳輸模式 (Transport mode):僅加密或認證上層協定的資料。 • 通道模式 (Tunnel mode):IPSec 會加密或認證整個封包,然後在最外面再加上一個新的 IP 表頭。 • IPsec 使用協定: • 金鑰交換協定:負責建立安全聯結與交換金鑰。 • 認證表頭 (Authentication Header,AH):主要提供認證的功能。 • 資料封裝加密 (Encapsulating Security Payload,ESP):主要提供加密的功能,也可選擇性地再加上認證的功能。 Note: • 建立IPsec連線一定會使用金鑰交換協定。 • AH與ESP則是二選一,或是兩者合併使用。 NET LAB
Net2Display - IP Security (cont.) • 金鑰交換協定 • IPSec 協定中包含了許多參數。當兩個 Node 使用 IPSec 來傳輸資料時,雙方要先相互溝通,對相關參數達成一致的共識,之後才能建立安全的傳輸管道 • 安全聯結中有三個最重要的參數,三者合起來可共同定義或識別安全聯結: • Security Parameters Index (SPI,安全係數索引):SPI 是由 IPSec 接收端自行定義的數值,長度為32位元,記載於每個IPSec封包中。 • Security Protocol ID (安全協定ID):指定要使用 AH 或是 ESP header。每項安全聯結僅能在 AH 或 ESP 中擇其一,不能同時指定這兩者。 • IP destination address (IP目的位址):安全聯結的單方關係是以接收端的IP位址來定義 • 金鑰交換原理 • IPSec 金鑰交換協定首先利用非對稱式加密法來建立安全連線,然後再利用對稱式加密法來加密或認證傳輸的資料。 NET LAB
Net2Display - IP Security (cont.) • Encapsulating Security Payload(ESP) • 資料封裝加密 (ESP) 可提供來源可靠性、完整性、封包加密的功能,也可以選擇性的加上認證功能。 • ESP 支援 CBC(Cipher Block Chaining) 模式的DES加密演算法 • 以下列舉幾種ESP所支援的加密法: • Three-key triple DES • RC5 • IDEA • Three-key triple IDEA • CAST • Blowfish NET LAB
Net2Display - IP Security (cont.) • ESP 表頭欄位: • Security Parameters Index(32 bits) :和 IP 位置一起用來識別安全聯結。 • Sequence Number(32 bits):IP 封包序號,可用來防止重送攻擊。 • Payload Data(variable):封包所負載的資料,包括上層協定的 header,及實際要傳送的資料。 • Padding(0-255 octets):為了將 Payload Data 補足一定的長度,以符合加密法對區塊的要求。 • Pad Length (8 bits):用來記載 padding 的長度。 • Next Header (8 bits):記載下一個 header 的類型。 • Integrity Check Value(multiple of 32 bits):認證數據,用來記載 ICV。 Encapsulating Security Payload format NET LAB
Net2Display - IP Security (cont.) • 防止重送攻擊 • 不論AH或ESP都提供防止重送攻擊的功能,運作的方式與原理皆同。 • 相對於連接導向傳輸 (connection-oriented) 的 TCP 協定,IP屬於非連接導向傳輸 (connectionless) 的協定,在封包傳送過程中,不會確認每一個封包是否完整送達目的地,即使接收一方沒收到某個IP封包,也不會要求傳送一方重送封包。因此,傳統的IP封包特別容易遭受重送攻擊。有鑑於此,IPsec 利用序號 (Sequence Number) 欄位,將每個封包加以編號,以防止重送攻擊。 • ESP的認證功能 • ESP可選擇性地加上認證功能。使用時,ESP會先加密封包,再計算封包的ICV,然後在封包最後面加上一個認證欄位,用來儲存ICV。也就是說,ICV不在加密範圍內。接收端收到封包後,先進行比對ICV值,確認無誤後再將封包解密。 NET LAB
Outline • Cloud Computing Introduction • Overview • From PCS to PCS • Net2Display Standard Introduction • Overview • Remoting Approach • Networking • IP Security • Other Contents • Conclusion • Future Works • Reference NET LAB
Other Contents • Protocol Data Units(PDU) • Associations • Display Remoting Process • Motion Video Remoting • Universal Serial Bus (USB) Remoting Architecture • Keyboard Remoting • Pointer Remoting • Audio Remoting Architecture • Extended Virtual Channels • Node Association Management (NAM) • Host Operation • Client Operation • Configuration Management NET LAB
Conclusion • 事實上,現有的許多遠端技術,包括 Microsoft Remote Desktop Protocol、Citrix MetaFrame ICA protocol、VNC 及 Sun Ray 等都有許多明顯的缺點 • 在這個標準的制定直接使用現有的許多協定或標準,但也保留了許多彈性的空間。 • Net2Display Standard 著重於 Remoting 設計,使得對 Client 的需求越少越好,以降低維護及服務成本 • 無論是家庭或企業,能夠達到多人共享一台 Server 的概念。也減少了潛在的管理及病毒感染的問題 • 此外,簡化及標準化能夠使得 Remoting 具有更高的性能,如:以硬體資源提供圖型及聲音的壓縮、加密等 • 個人雲端服務的概念更夠加以提升及實現,並提供更好的服務品質 • 除了制定標準,VESA 也預計將釋出 PC 版本的 Net2DisplayOpen-source NET LAB
Future Works • 雲端技術的深入探討 • 各家遠端連線的網路相關研究及優缺點 • Net2DisplayNetwork referenceIETFRFC • IETF RFC 3550: RTP: A Transport Protocol for Real-Time Applications • IETF RFC 3551: RTP Profile for Audio and Video Conference with Minimal Control • IETF RFC 3715: IPsec-Network Address Translation (NAT) Compatibility Requirements • IETF RFC 3927: Dynamic Configuration of IPv4 Link-Local Addresses • IETF RFC 3947: Negotiation of NAT-Traversal in IKE • IETF RFC 3948: UDP Encapsulation of IPsec ESP Packets • IETF RFC 4301: Security Architecture for the Internet Protocol • IETF RFC 4303: IP Encapsulating Security Payload (ESP) • IETF RFC 4306: Internet Key Exchange (IKEv2) Protocol • IETF RFC 4346: The Transport Layer Security (TLS) Protocol NET LAB
Reference • Wiki, Cloud Computing, URL: http://en.wikipedia.org/wiki/Cloud_computing • NCP(Network Communications Program) Newsletter / No.10 December 2009 • VESA (Video Electronics Standards Association), URL: http://www.vesa.org/ • VESA Net2Display Standard Version 1 • IETF RFC 4301: Security Architecture for the Internet Protocol(IPsec) • Wiki, IPsec, URL: http://en.wikipedia.org/wiki/IPsec NET LAB