一種基於可編程交換機的網絡資源的雙層隔離方法
2023-07-08 05:11:11 1
專利名稱:一種基於可編程交換機的網絡資源的雙層隔離方法
技術領域:
本發明涉及計算機網絡技術領域,尤其涉及一種基於可編程交換機(Net FieldProgrammable Gate Array, NetFPGA)的網絡資源的雙層隔離方法。
背景技術:
網際網路在過去的幾十年中取得了巨大的成功,它為人們提供了一個全新的交換信息、接受信息的平臺。它的廣泛普及,促進了網絡技術的發展和應用。然而,規模巨大的網絡同時也限制了它將來的發展。比如,以當前的網絡的規模和大小,為每個網絡業務保證服務質量非常困難。傳統的QoS實現方法一般基於集成服務或者區分服務的模型。集成服務為每個業務保留單獨的資源,但容易造成資源浪費;區分服務按照優先級等標籤靈活分配資源,但無法給單個業務保留隔離的網絡資源。集成服務與區分服務的模型各有優勢,但缺少靈活性,無法適應多變的網絡需求;另一方面,目前網絡資源的分配方法大多基於軟體模擬或理論推導,缺少具體的實現方法。
發明內容
本發明的目的在於針對現有技術的不足,提供一種基於可編程交換機的網絡資源的雙層隔離方法。本發明的目的是通過以下技術方案來實現的:一種基於可編程交換機的網絡資源的雙層隔離方法,包括以下步驟:
步驟一:數據包通過8個輸入端 口之一進入可編程交換機:可編程交換機共有8個輸入埠,包括4個IG乙太網埠和4個DMA埠 ;交換機採用輪詢方式輪流從8個輸入埠之一選擇數據包進入網絡層;
步驟二:網絡層協議根據路由表,按照數據包頭部選擇數據包的輸出埠,並在數據包頭部標記對應的輸出隊列;
步驟三:使用雙層的網絡資源隔離方法對標記了輸出隊列的數據包進行調度;該步驟通過以下子步驟來實現:
(3.1)獲得數據包的流號:若從網絡層輸出的數據包不帶VLAN標籤,認為該數據包的流號為O ;若從網絡層輸出的數據包帶VLAN標籤,則使用VLAN的VID欄位的低2位標識其流號:不帶VLAN標籤或者VID低2位為00的數據包被識別為流O,VID末2位為01的數據包被識別為流I, VID末2位為02的數據包被識別為流2, VID末2位為03的數據包被識別為流3 ;
(3.2)為每個流建立一條調度隊列,將數據包根據流號送入對應的隊列;
(3.3)對流進行分組,一個或多個流組合成一個聚流;
(3.4)使用加權時間片輪轉方式分配每一個聚流的帶寬:設一次輪轉的時間片總數為N,任意一個聚流i的指定帶寬為bi;總帶寬為b,則給每一聚流在一次輪轉中分配時間片為h / b * N ;當輪到一個聚流i接受服務時,它的時間將被屬於聚流i的所有流使用;當時間片使用完時,聚流i停止接受服務,切換至下一個聚流接受服務;
(3.5)在聚流i分配到的服務時間內,按照流的權重分配屬於每一個流f的服務時間:一個聚流內的多個流排隊接受輪詢,為每一個流設置一個差額計數器;當一個流開始接收服務時,依據該流的權重,給這個流的差額計數器加上一個差額(差額與權重大小成正比);對於一個正在被發送的流來說,每發送一個數據包,差額計數器就會減少該數據包的字節數,當差額計數器用完或者該流的隊列為空時,就切換至下一個流;流的增加與減少會使得每個流得到的帶寬改變,這樣使得聚流內的帶寬能被內部存在的流充分利用;
(3.6)當某個隊列中的數據包充滿隊列,當有新數據包進入該隊列時,該隊列就會丟棄該隊列中最老的數據包;
步驟四:經過調度的數據包進入輸出隊列:可編程交換機共有8個輸出埠,包括4個IG乙太網埠和4個DMA埠 ;根據步驟二中添加的輸出埠標記,送入指定隊列。本發明的有益效果是,本發明使用低成本的NetFPGA硬體設備,實現了網絡資源的靈活、公平且可控的分配,降低了網絡資源分配的實現成本,其實現方法簡便,手段靈活,網絡服務質量能得到顯著保證,且與網絡層協議無關。
圖1是基於NetFPGA硬體的網絡資源的雙層隔離方法流程圖。
具體實施例方式下面根據附圖詳細說明本發明。本發明基於可編程交換機的網絡資源的雙層隔離方法,包括以下步驟:
步驟一:數據包通過8個輸入埠之一進入可編程交換機。可編程交換機共有8個輸入埠,包括4個IG乙太網埠和4個DMA埠。交換機採用輪詢方式輪流從8個輸入埠之一選擇數據包進入網絡層。步驟二:網絡層協議根據路由表,按照數據包頭部選擇數據包的輸出埠,並在數據包頭部標記對應的輸出隊列(供步驟四使用)。步驟三:使用雙層的網絡資源隔離方法對標記了輸出隊列的數據包進行調度。該步驟是本發明的核心,分為以下子步驟。I)獲得數據包的流號。每一個從網絡層輸出的數據包都或者不帶VLAN標籤(此時認為流號為O)或者帶有VLAN標籤(使用VLAN的VID欄位的低2位標識其流號)。不帶VLAN標籤或者VID低2位為00的數據包被識別為流0,VID末2位為01的數據包被識別為流1,VID末2位為02的數據包被識別為流2, VID末2位為03的數據包被識別為流3。2)為每個流建立一條調度隊列,將數據包根據流號送入對應的隊列。隊列可以直接在可編程交換機上使用賽靈思公司(Xilinx)的Core Generator軟體利用NetFPGA上的塊存儲器(BRAM)資源自動生成先進先出隊列。將數據包送入對應隊列。3)對流進行分組,一個或多個流組合成一個聚流。4)使用加權時間片輪轉方式分配每一個聚流的帶寬。
設一次輪轉的時間片總數為N,任意一個聚流i的指定帶寬為bi;總帶寬為b,則給每一聚流在一次輪轉中分配時間片為h/ b * N。當輪到一個聚流i接受服務時,它的時間將被屬於聚流i的所有流使用;當時間片使用完時,聚流i停止接受服務,切換至下一個聚流接受服務。通過這種方法,每一個聚流接受服務的時間都可以明確指定,這樣,單個聚流的帶寬就能得到保證。5)在聚流i分配到的服務時間內,按照流的權重分配屬於每一個流f的服務時間。這裡使用經典的差額輪詢方法。一個聚流內的多個流排隊接受輪詢,為每一個流設置一個差額計數器(Deficit Counter)ο當一個流開始接收服務時,依據該流的權重,給這個流的差額計數器加上一個差額(差額與權重大小成正比)。對於一個正在被發送的流來說,每發送一個數據包,差額計數器就會減少該數據包的字節數,當差額計數器用完或者該流的隊列為空時,就切換至下一個流。流的增加與減少會使得每個流得到的帶寬改變,這樣使得聚流內的帶寬能被內部存在的流充分利用。雙層的結構使得本方法不僅能夠適應例如虛擬網要求嚴格帶寬分配的要求(通過給每個虛擬網分配一個聚流),同時也能夠適應依權重分配帶寬的需求。6)當某個隊列中的數據包充滿隊列,當有新數據包進入該隊列時,該隊列就會丟棄該隊列中最老的數據包。步驟四:經過調度的數據包進入輸出隊列。可編程交換機共有8個輸出埠,包括4個IG乙太網埠和4個DMA埠。根據步驟二中添加的輸出埠標記,送入指定隊列。
權利要求
1.一種基於可編程交換機的網絡資源的雙層隔離方法,其特徵在於,包括以下步驟:步驟一:數據包通過8個輸入埠之一進入可編程交換機:可編程交換機共有8個輸入埠,包括4個IG乙太網埠和4個DMA埠 ;交換機採用輪詢方式輪流從8個輸入埠之一選擇數據包進入網絡層; 步驟二:網絡層協議根據路由表,按照數據包頭部選擇數據包的輸出埠,並在數據包頭部標記對應的輸出隊列; 步驟三:使用雙層的網絡資源隔離方法對標記了輸出隊列的數據包進行調度;該步驟通過以下子步驟來實現: (3.1)獲得數據包的流號:若從網絡層輸出的數據包不帶VLAN標籤,認為該數據包的流號為O ;若從網絡層輸出的數據包帶VLAN標籤,則使用VLAN的VID欄位的低2位標識其流號:不帶VLAN標籤或者VID低2位為OO的數據包被識別為流0,VID末2位為01的數據包被識別為流I, VID末2位為02的數據包被識別為流2, VID末2位為03的數據包被識別為流3 ; (3.2)為每個流建立一條調度隊列,將數據包根據流號送入對應的隊列; (3.3)對流進行分組,一個或多個流組合成一個聚流; (3.4)使用加權時間片輪轉方式分配每一個聚流的帶寬:設一次輪轉的時間片總數為N,任意一個聚流i的指定帶寬為bi;總帶寬為b,則給每一聚流在一次輪轉中分配時間片為h / b * N ;當輪到一個聚流i接受服務時,它的時間將被屬於聚流i的所有流使用;當時間片使用完時,聚流i停止接受服務,切換至下一個聚流接受服務; (3.5)在聚流i分配到的服務時間內,按照流的權重分配屬於每一個流f的服務時間:一個聚流內的多個流排隊接受輪詢,為每一個流設置一個差額計數器;當一個流開始接收服務時,依據該流的權重,給這個流的差額計數器加上一個差額(差額與權重大小成正比);對於一個正在被發送的流來說,每發送一個數據包,差額計數器就會減少該數據包的字節數,當差額計數器用完或者該流的隊列為空時,就切換至下一個流;流的增加與減少會使得每個流得到的帶寬改變,這樣使得聚流內的帶寬能被內部存在的流充分利用; (3.6)當某個隊列中的數據包充滿隊列,當有新數據包進入該隊列時,該隊列就會丟棄該隊列中最老的數據包; 步驟四:經過調度的數據包進入輸出隊列:可編程交換機共有8個輸出埠,包括4個IG乙太網埠和4個DMA埠 ;根據步驟二中添加的輸出埠標記,送入指定隊列。
全文摘要
本發明公開了一種基於可編程交換機的網絡資源的雙層隔離方法,該方法將網絡資源分為聚流層和流層,在聚流層調度時為每一個聚流預留指定帶寬,在流層調度時讓聚流內的多個流根據其權重競爭帶寬。本發明使用低成本的NetFPGA硬體設備,實現了網絡資源的靈活、公平且可控的分配,降低了網絡資源分配的實現成本,其實現方法簡便,手段靈活,網絡服務質量能得到顯著保證,且與網絡層協議無關。
文檔編號H04L12/861GK103166875SQ20131007787
公開日2013年6月19日 申請日期2013年3月12日 優先權日2013年3月12日
發明者吳春明, 曾若瑜, 周伯陽, 姜明 申請人:浙江大學