[發明專利]一種虛擬網絡內的數據轉發方法及系統在審
| 申請號: | 201610533621.5 | 申請日: | 2016-07-07 |
| 公開(公告)號: | CN107453992A | 公開(公告)日: | 2017-12-08 |
| 發明(設計)人: | 李國超;楊萬里 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | H04L12/713 | 分類號: | H04L12/713;H04L12/803;H04L12/931 |
| 代理公司: | 中科專利商標代理有限責任公司11021 | 代理人: | 任巖 |
| 地址: | 100195 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬 網絡 數據 轉發 方法 系統 | ||
技術領域
本發明屬于計算機網絡領域,尤其涉及一種虛擬網絡內的數據轉發方法及系統。
背景技術
目前云數據中心通常采用overlay network技術對虛擬網絡的數據流量進行傳輸,對于跨子網的東西向流量(泛指在虛擬網絡內部通信流量),其是通過虛擬路由器(vRouter)進行轉發,此外,虛擬路由器還承擔南北向流量(泛指虛擬網絡與公共網絡的交互流量)轉發工作。
圖1是一個典型的虛擬網絡的示意圖,如圖1所示,虛線是邏輯上的虛擬網絡,實線是物理上的承載網絡,網絡包括多個虛擬機VM1~VM4,各虛擬機間均與同一虛擬路由器vRouter虛擬連接。云數據中心在物理網絡上使用VXLAN協議承載虛擬網絡的數據流量。VXLAN通過對虛擬流量數據報文做UDP封包、解包實現跨域通信,每次封包、解包操作對通信效率及宿主機CPU性能都有一定的影響。圖2為VM1到VM4的數據發送的流程圖,如圖2所示:
a.在VM1宿主機上,首先VM1發出的數據報文目的MAC是vRouter的MAC,目的IP是VM4的IP。SDN控制器根據目的MAC下發對應流表,將流量指向vRouter宿主機。然后宿主機將數據報文做VXLAN封包,通過物理承載網絡發送至vRouter宿主機。
b.vRouter宿主機收到數據報文后,首先VXLAN解包,然后根據數據報文的目的IP判斷是否是本地IP,發現需要三層轉發,那么修改目的的MAC為VM4的MAC。然后vRouter宿主機將數據報文做VXLAN封包,通過物理承載網絡將數據發送至VM4宿主機。
c.VM4宿主機收到數據報文后,VXLAN解包,接著VM4收到數據報文。需要注意的是,此時VM4收到的數據報文的源MAC是vRouter的MAC。
然而,東西向流量屬于虛擬網絡內部流量,一般來說流量會很大,這些流量都集中到vRouter宿主機上,容易引起vRouter宿主機上網絡資源競爭。此時網絡資源競爭影響包括vRouter東西向、南北向流量,而且影響其他vRouter的流量效率。另外,跨子網東西向流量需要多次進行VXLAN封包、解包,vRouter的三層轉發,消耗宿主機的CPU性能,影響通信效率。
發明內容
(一)要解決的技術問題
本發明的目的在于提供一種虛擬網絡內的數據轉發方法及系統,在虛擬網絡內進行跨子網數據轉發時,能夠不經過虛擬路由器的轉發,使得數據報文直接在虛擬機之間進行收發,提高東西向流量效率,降低虛擬路由器宿主機上的網絡資源競爭。
(二)技術方案
本發明提供一種虛擬網絡內的數據轉發方法,虛擬網絡包括多個虛擬機,各虛擬機間均與同一虛擬路由器虛擬連接,多個虛擬機包括第一虛擬機和第二虛擬機,方法包括:
S1,獲取由第一虛擬機發送的數據報文;
S2,判斷所述數據報文是否需要跨子網發送,如果是,則對該數據報文進行修改,并進入步驟S3,否則,直接進入步驟S3;
S3,令第一虛擬機將該數據報文發送至第二虛擬機。
進一步,第一虛擬機發送的數據報文包括源MAC地址、目的MAC地址和目的IP地址,其中,源MAC地址等于第一虛擬機的MAC地址,目的MAC地址等于所述虛擬路由器的MAC地址,目的IP地址等于第二虛擬機的IP地址;步驟S2中,對該數據報文進行修改,包括:
修改目的MAC地址為第二虛擬機的MAC地址,修改源MAC地址為虛擬路由器的MAC地址。
進一步,步驟S2中,對所述數據報文進行修改時:
判斷是否存在與所述數據報文中的MAC地址和目的IP地址所匹配的流表,如果存在,則根據該流表對所述該數據報文進行修改;
如果不存在,則根據所述數據報文中的MAC地址和目的IP地址創建與其匹配的流表,并根據該流表對所述該數據報文進行修改。
進一步,步驟S2中,根據網絡拓撲及數據報文中的目的MAC地址和目的IP地址,判斷所述數據報文是否需要跨子網發送。
進一步,步驟S3包括:
當第一虛擬機和第二虛擬機處于同一臺宿主機上時,直接通過本地轉發,使得第一虛擬機將該數據報文發送至所述第二虛擬機;
當第一虛擬機和第二虛擬機不處于同一臺宿主機上時,由第一虛擬機所在的宿主機將該數據報文通過物理承載網絡發送給第二虛擬機所在的宿主機,使得第一虛擬機將該數據報文發送至所述第二虛擬機。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610533621.5/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





