1. 程式人生 > >網路虛擬化之FlowVisor—網路虛擬層(上)

網路虛擬化之FlowVisor—網路虛擬層(上)

概念解釋:切片:虛擬網路的一個例項

一. 網路虛擬化(虛擬網路)

人類社會的發展在很大方面得益於自然界,飛機受益於鳥,雷達受益於蝙蝠等等,所以專門有個學科為仿生學就是研究和模仿生物的特殊本質,利用生物的結構和功能原理來研製機械或各種新技術的科學技術。而人類社會已經發展了這麼多年,沉澱了很多可以和自然界相媲美的創造和思想,計算機就是其中之一。所以,總結人類歷史上成功的思想,偉大的創新,舉一反三,也是科技進步的重要力量,這篇文章所提到的SDN和網路虛擬化等這些思想在計算機技術中早有應用。

與其說SDN是一種新的技術,不如稱他為一種思想。首先對比下面兩幅圖片,左圖為現在的計算機系統構架,右圖的(b)圖為SDN的系統構架,稍作對比可以發現兩者有很大的相似性,也有些不同,比如網路是分散式系統,但是核心思想還是相同的,所以,計算機系統的優點,比如硬體管理簡單,應用開發方便等等都可以在SDN中發現,這篇文章側重於虛擬網路

計算機虛擬化的成功歸結於底層硬體的抽象。更詳細點說,計算機虛擬層通過硬體抽象允許資源被作業系統切片和共享,所以在使用者看來,這些硬體都是歸作業系統私有,一個定義好的硬體抽象會促進他的上層和下層快速的發展和革新,在更上層,作業系統百花齊放,常用的如UNIX,MacOD,Linux以及Windows,在這些作業系統上面可以跑各種各樣的應用;在更下層,可以按需採購不同的硬體,如Intel,AMD,PPC,ARM等等,只要他可以對映到硬體抽象層,因此不同的硬體可以擁有不同的指令集,他們只需要注重效能優化等等,虛擬層的上下層會將這種靈活性進一步擴散,不同的人群可以DIY自己舒適的工作,學習,生活方式。

網路虛擬化一直是網路研究者追求的一個目標,有了它,多個擁有不同定址和轉發機制的邏輯獨立的網路可以共享底層的物理設施(交換機,路由器,無線集線器等等),現在網路虛擬化的實現方式主要有兩種:利用軟體的靈活性和複製硬體元件。更通俗的來說,我覺得網路虛擬化至少有如下兩個讓程式設計師非常向往的好處:解放勞動力同時可以更好更充分的利用物理資源。

二. 現在和虛擬網路相關的技術

如今部署在網路中的相關策略並不是為了虛擬化而設計的,他們和計算機硬體抽象層也沒有什麼共同之處,雖然存在這一些技術可以劃分特定的硬體資源(MPLS可以虛擬化轉發表)和網路層(WDM劃分物理層,VLANs劃分鏈路層),但是沒有一種技術可以網路虛擬化為一個整體,虛擬網路之間互相獨立。可以預見性的說,在現在的網路裡面實現虛擬化是不大可能的,因為商用交換機的設計都保留在裝置廠商手裡,他們只公佈了一定的介面給網管去改變配置引數,我們能做的只是敲一些命令列。所以FlowVisor是基於OpenFlow交換機的。

三. 網路虛擬化所關注的主要資源

  1. 頻寬:劃分鏈路頻寬給每個網路切片
  2. 拓撲:每個網路切片應該擁有自己的網路拓撲
  3. 流量:流量和虛擬網路關聯
  4. 計算資源:劃分交換機和路由的計算資源
  5. 轉發表:網路裝置支援一定數量的轉發表

四. FlowVisor

FLowVisor為一個網路抽象層,包含了一種新的交換機層網路虛擬化技術,同一個硬體轉發平面可以被多個邏輯網路共享。類似於計算機的虛擬層,FLowVisor位於底層硬體和上層軟體之間,他的結構如下圖所示。作業系統利用指令集控制底層硬體,FLowVisor利用的是前文提到的OpenFlow協議,有如下如特性:

  • FLowVisor定義切片為由OpenFlow交換機組成的拓撲上的一組流
  • FLowVisor位於每個OpenFlow控制器和OpenFlow交換機之間,確保每個控制器只能看到和控制他應該管理的OpenFlow交換機
  • FLowVisor通過給組成切片的流一個最小的資料速率來劃分頻寬
  • FLowVisor通過追蹤流表項屬於哪個控制器來劃分交換機的流表

本文圍繞著計算機系統的虛擬層和網路虛擬層的比較,做了大量的鋪墊,引出了位於OpenFlow控制器和OpenFlow交換機之間的虛擬層FLowVisor,接下來的文章會詳細介紹FLowVisor的技術

相關推薦

網路虛擬化FlowVisor網路虛擬

概念解釋:切片:虛擬網路的一個例項 一. 網路虛擬化(虛擬網路) 人類社會的發展在很大方面得益於自然界,飛機受益於鳥,雷達受益於蝙蝠等等,所以專門有個學科為仿生學就是研究和模仿生物的特殊本質,利用生物的結構和功能原理來研製機械或各種新技術的科學技術。而人類社會已經發展

vSphere虛擬化外部存儲部署

pass con ef6 完成 ces 知識 服務 今天 center 知識部分1、ESXi存儲:分為外部共享存儲和本地存儲·外部共享存儲:指ESXi主機通過網絡連接的外部存儲和磁盤陣列,其中包括SAN、iSCSI、NFS等存儲協議。今天外部共享存儲用openfiler來做

計算機網路2——網路應用、應用

一、網路應用的體系結構 網路應用與單機應用本質性不同,網路應用需要網路的基礎環境,一部分應用執行在自己的計算機,資料資訊等執行在網際網路的某個硬體伺服器,兩部分軟體互相互動。 1、客戶機/伺服器結構(Client-Server,C/S) 伺服器:7*24小時提供

Qt網路程式設計QNetworkRequest和QNetworkReply例項

設想有如下場景:輸入若干的url,然後依次的下載並存儲到檔案。本案例使用QNetworkRequest和QNetworkReply。原始碼如下: 案例原始碼 標頭檔案 #pragma once //////////////////////////////////

Android網路程式設計傳遞資料給伺服器

        我曾在《Android網路程式設計之傳遞資料給伺服器(一) 》一文中介紹瞭如何通過GET方式傳遞資料給伺服器,通過GET方式傳遞資料主要適用於資料大小不超過2KB,且對安全性要求不高的情況下。下面就介紹通過POST方式傳遞資料主到伺服器。 一、通過P

java網路程式設計Netty實戰資料通訊

Netty最佳實戰資料通訊 1 分析       我們需要了解下在真正專案應用中如何去考虛Netty的使用,大體上對於一引數設定都是根據伺服器效能決定的。這個不是最主要的。       我們要考慮的問題是兩臺機器(甚至多臺)使用Netty的怎樣進行通訊,我

網路最大流演算法EdmondsKarp

求網路流有很多演算法,這幾天學習了兩種,記錄一下EK演算法。 首先是網路流中的一些定義: V表示整個圖中的所有結點的集合.E表示整個圖中所有邊的集合.G = (V,E) ,表示整個圖.s表示網路的源點

Qt網路程式設計QTCPSocket和QTCPServer例項

設想有如下場景:若干的客戶端與伺服器端建立連線,建立連線後,伺服器端隨機發送字串給客戶端,客戶端列印輸出。該節案例使用TCP程式設計。 伺服器端-單執行緒 標頭檔案 #pragma once ///////////////////////////////////

vSphere虛擬化外部存儲部署

自動 我的博客 sqlserve vpd windows7 water 完成後 圖片 完成 vClient工具操作vCenter連接外部共享存儲環境:vCenter、SQLServer數據庫服務器、DC\DNS服務器各一臺;windows7辦公機安裝vClient連接上vC

BP神經網路原理分析及c++程式碼實現

    本部落格所述BP神經網路,是本人研究總結的結果,希望對您有所幫助,當然,如果有需要,大家可以互相交流。    設計一個BP神經網路類,來實現一個BP神經網路。要求輸入層節點數、隱層數、隱層節點數、輸出層節點數、傳遞函式、演算法等等可以由使用者自主設定。 神經網路

百度地圖js 畫執行軌跡加黑色圖

在百度地圖展示執行軌跡的時候,有時候想要加一個灰濛濛的圖層展示,像是以黑色主題為主,顯的高大上些,實現方式如下: 在js呼叫如下: this.layoutMap(mapInit); // mapI

在VMware Workstation中批量創建千臺虛擬

vnc workstation VMware Workstation 是我們經常使用的虛擬機軟件,其功能強大,性能較好。大多數用戶都會在"圖形界面"中創建虛擬機、修改虛擬機配置、添加虛擬機參數,或者使用"克隆"功能創建多個虛擬機,這些都無需介紹。但是你有沒有想過● 將 VMware Workstati

Python學習:基本數據類型與變量與基礎條件及循環

sets 但是 while循環 spl view put 算數運算 sse 邏輯運算 一.數據類型和變量 1.可變與不可變數據類型   可變數據類型:在id不變的情況下,數據類型內部的元素可以改變   列表   字典   不可變數據類型:value改變,id也跟著改變

PDO數據訪問抽象

local dsn 關聯數組 comm roo 地址 數組 dex code PDO比MySQLi功能強大 PDO可以訪問MySQL及其它數據庫 一、造對象 1 2 3 4 5 <?php $dsn = "mysql:dbname = cr

算法智能搜索

rdma fff () setname sets exce skip entry water 筆者並不了解,各大搜索網站是怎麽實現智能搜索的。以下只是筆者一時的想法,筆者覺得這個方法可以實現智能匹配搜索內容。 一、首先我們獲取細胞詞庫內容 ①建表語句: DROP TABLE

Web安全初探闖關遊戲Natas

 作為一名安全小白,若你想對Web安全進行了解學習,那麼推薦你嘗試這個闖關遊戲,此款遊戲共33關,當你拿到上一關金鑰時方可進入下一關,在這裡我和大家分享一下闖關經驗以及學習心得。附上游戲地址:http://overthewire.org/wargames/natas/nata

Linux指令初探闖關遊戲Bandit

    開學季,Evan會帶領小萌新們一點點接觸安全領域,今天要給大家講的是和Linux有關的一款遊戲Bandit,通過Bandit你會學到Linux的一些基礎指令,這對今後的學習有很大的幫助,準備好了嗎讓我們開始今天的闖關。遊戲地址:http://overthewire.o

istio原始碼分析pilot-discovery模組分析_Kubernetes中文社群

Istio是由Google/IBM/Lyft共同開發的新一代Service Mesh開源專案。 上次我們深入剖析了pilot-agent的各個功能,這次讓我們一起來看看pilot-discovery有何功能。 注:本文分析的istio程式碼版本為0.8.0,commit為0cd8d67,com

資料結構和演算法美-二叉樹

學習筆記 “樹”這種資料結構的形態特徵 包括有哪些命名節點和它們的概念,這些節點是根節點,葉子節點,父節點,子節點,兄弟節點等;以及相關節點關係的建立,這些關係是父子關係和兄弟關係 “樹"這種資

(四)資料鏈路------

一、資料鏈路層基本概念及基本問題   1、基本概念   先來看一張圖,理解一下:資料鏈路層之間的運輸、資料鏈路層之間的通道。說的是什麼意思?看圖中的註釋,我們應該注意的就是這裡說的資料鏈路層之間的通道等語句,是不考慮物理層中運輸的問題。直接考慮鏈路層這一層。要注意這個事情。