一種轉發報文的方法、裝置和數據中心網絡與流程
2023-09-23 05:28:15 2
本發明涉及通信技術領域,尤其涉及一種轉發報文的方法、裝置和數據中心網絡。
背景技術:
大型的數據中心網絡通常要求支持多租戶。這裡的租戶主要是指具有通信需求的企業用戶,每個租戶均擁有一定數量的網絡設備和終端。為了信息安全,要求數據中心支持每個租戶之間流量隔離,使得一個租戶的流量不會被另一個租戶看見。為了實現這種基於租戶的流量隔離,目前一種新興的方法是採用基於疊加網(overlay)的網絡虛擬化技術。其基本思想就是每個租戶或者每個租戶的每個VLAN或子網對應一個虛擬疊加網(VirtualoverlayNetwork,VN),每個VN具有自己的虛擬疊加網標識VNID,數據只能在具有相同VNID的租戶終端之間傳送,因此可以實現流量隔離。VNID通常是一個較長的欄位,比如24比特,用於唯一標識一個VN。連接虛擬疊加網與其他網絡或者終端的設備稱為網絡虛擬邊緣(NetworkVirtualizationEdge,NVE),其主要功能就是隱藏租戶的真實的地址信息。租戶終端系統(TenantEndSystem,TES)通過不同的NVE接入虛擬疊加網,所述TES可以包括虛擬機(VirtualMachine,VM),或者其他物理設備。如圖1所示,為現有技術中基於三層虛擬疊加網的數據中心網絡結構示意圖。各TES分別通過各自的NVE接入虛擬疊加網。當TES1要發送報文給屬於同一VN的TES3時,TES1發送源地址為TES1目的地址為TES3的報文。當所述報文到達TES1連接的NVE1時,NVE1根據預先獲得的TES地址和NVE地址的映射關係,找到TES3對應的NVE,即NVE2。NVE1對該報文進行封裝,封裝後的報文的源地址為NVE1的地址,目的地址為NVE2的地址,所述封裝後的報文的頭部包含VNID的信息。NVE1將封裝後的報文發送給NVE2,NVE2對該報文進行解封裝,還原出該報文,然後將該報文發送給TES3。當NVE的邏輯功能由伺服器的系統管理程序(Hypervisor)來承擔時,數據中心中NVE的數量會和伺服器的數量一樣多。Hypervisor通常是由軟體實現,運行負載重的協議以及實現封裝解封裝功能的時候,佔用大量伺服器系統資源,可能會造成伺服器本身的性能下降。當數據中心網絡中大量伺服器的性能下降時,整個數據中心網絡的性能必然會下降。
技術實現要素:
有鑑於此,本發明實施例提供了一種轉發報文的方法、裝置和數據中心網絡,以提高數據中心網絡的性能。本發明第一方面提供了一種轉發報文的方法,包括:接收第一租戶終端系統發送的第一報文,所述報文的目的地址為第二租戶終端系統的地址,所述第一租戶終端系統與所述第二租戶終端系統對應不同的虛擬網絡邊緣;為所述第一報文添加標籤,所述標籤用於指示所述租戶終端系統所屬的虛擬疊加網;將所述添加了標籤的第一報文發送給所述第一租戶終端系統對應的網絡虛擬邊緣。根據本發明第一方面的第一種實現方式,為所述第一報文添加標籤包括:查找標識映射表,獲取所述標識映射表中對應所述第一租戶終端系統的虛擬疊加網標識VNID,將所述獲取到的VNID作為標籤添加到所述第一報文中;所述標識映射表包括包括租戶終端系統標識TESID與虛擬疊加網標識VNID的對應關係.根據本發明第一方面的第二種實現方式,所述為所述第一報文添加標籤包括:查找標籤映射表,獲取所述第一租戶終端系統對應的標籤,為所述第一報文添加所述標籤,所述標籤映射表包括了所述租戶終端系統標識TESID與標籤的對應關係。結合本發明第一方面的上述第一和第二種實現方式,在本發明第一方面的第三種實現方式中,為所述第一報文添加所述標籤包括:將所述標籤直接添加在所述第一報文的報文頭中;所述將所述添加了標籤的第一報文發送給所述第一租戶終端系統對應的網絡虛擬邊緣包括:根據非隧道方式的二層轉發將所述添加了標籤的第一報文發送給所述第一租戶終端系統對應的網絡虛擬邊緣。結合本發明第一方面的上述第一和第二種實現方式,在本發明第一方面的第四種實現方式中,為所述第一報文添加所述標籤包括:對所述第一報文進行隧道封裝,將所述標籤添加在隧道封裝後的第一報文中;所述將所述添加了標籤的第一報文發送給所述第一租戶終端系統對應的網絡虛擬邊緣包括:根據隧道轉發方式將所述添加了標籤的第一報文發送給所述第一租戶終端系統對應的網絡虛擬邊緣。結合本發明第一方面的上述各實現方式,在本發明第一方面所述方法還包括:接收所述網絡虛擬邊緣發送的第二報文,所述第二報文攜帶所述標籤;所述第二報文的源地址為所述第二租戶終端系統,目的地址為所述第一租戶終端系統;對所述第二報文進行處理,獲得處理後的第二報文;將所述處理後的第二報文發送給所述第一租戶終端系統。當所述第二報文為非隧道封裝的報文時,所述對所述第二報文進行處理包括:刪除所述第二報文中攜帶的所述標籤;當所述第二報文為隧道封裝的報文時,所述對所述第二報文進行處理包括:對所述第二報文進行解封裝,刪除所述第二報文攜帶的所述標籤,所述標籤攜帶在所述隧道封裝的第二報文的內層報文頭中或外層報文頭中。本發明第二方面提供了另一種轉發報文的方法,包括:接收本地管理功能發送的添加了標籤的第一報文,所述標籤用於指示所述第一租戶終端系統所屬的虛擬疊加網;所述添加了標籤的第一報文為從第一租戶終端系統發送到第二租戶終端系統的報文,所述第一租戶終端系統與所述第二租戶終端系統對應不同的虛擬網絡邊緣,根據所述標籤獲取所述第一租戶終端系統對應的虛擬疊加網標識;對所述第一報文進行隧道封裝,將所述隧道封裝後的第一報文發送給所述第二租戶終端系統對應的網絡虛擬邊緣,所述隧道封裝後的第一報文攜帶所述虛擬疊加網標識。在本發明第二方面的第一種實現方式中,當所述添加了標籤的第一報文為隧道封裝後的報文時,根據所述標籤獲取所述第一租戶終端系統對應的疊加網標識之前,所述方法還包括:對所述隧道封裝後的第一報文進行解封裝,獲取所述標籤。結合所述第二方面或第二方面的第一種實現方式,在所述第二方面的第二種實現方式中,根據所述標籤獲取所述第一租戶終端系統對應的虛擬疊加網標識包括:確定所述標籤為所述虛擬疊加網標識;或根據所述標籤查找標籤映射表,獲取所述標籤對應的虛擬疊加網標識;所述標籤映射表包括標籤和虛擬疊加網標識的對應關係。根據所述第二方面的第二種實現方式,在所述第二方面的第三種實現方式中,當確定所述標籤為所述虛擬疊加網標識時,直接根據所述虛擬疊加網標識對所述第一報文進行隧道封裝;或當所述標籤為能夠映射到虛擬疊加網標識的信息時,根據所述標籤映射表獲取所述虛擬疊加網標識,將所述標籤從所述第一報文中刪除,根據所述虛擬疊加網標識對所述第一報文進行隧道封裝。結合所述第二方面的上述各實現方式,所述方法還包括:接收所述第二租戶終端系統對應的網絡虛擬邊緣發送的隧道封裝的第二報文,所述第二報文為所述第二租戶終端系統發送給所述第一租戶終端系統的報文;對所述隧道封裝的第二報文進行解封裝,獲得所述虛擬疊加網標識以及解封裝後的第二報文;根據所述虛擬疊加網標識對所述解封裝後的第二報文進行處理,並將所述處理後的第二報文發送給所述第一租戶終端系統對應的本地管理功能。根據所述虛擬疊加網標識對所述第二報文進行處理包括:當轉發表中的封裝類型表明需要對所述解封裝後的第二報文進行再次封裝時,根據所述轉發表對所述解封裝後的第二報文進行隧道封裝,將所述虛擬疊加網標識添加到所述隧道封裝後的第二報文中;或當所述轉發表中的封裝類型表明不需要對所述解封裝後的第二報文進行再次封裝時,查找標籤映射表,獲取所述虛擬疊加網標識對應的標籤,將該標籤添加到所述第二報文中,將添加了標籤的第二報文根據所述轉發表進行轉發。本發明第三方面提供了一種轉發報文的裝置,包括:接收器,用於接收第一租戶終端系統發送的第一報文,所述第一報文的目的地址為第二租戶終端系統的地址;所述第一租戶終端系統與所述第二租戶終端系統對應不同的虛擬網絡邊緣;處理器,用於為所述第一報文添加標籤,所述標籤用於指示所述第一租戶終端系統所屬的虛擬疊加網;發送器,用於將所述添加了標籤的第一報文發送給所述第一租戶終端系統對應的網絡虛擬邊緣。根據本發明第三方面的第一種實現方式,所述裝置還包括存儲器,所述處理器具體用於:查找所述存儲器中的標識映射表,獲取所述標識映射表中對應所述第一租戶終端系統的VNID,將所述獲取到的VNID作為標籤添加到所述第一報文中;所述標識映射表包括包括租戶終端系統標識TESID與虛擬疊加網標識VNID的對應關係。根據本發明第三方面的第二種實現方式,所述裝置還包括存儲器,所述處理器具體用於:查找所述存儲器中的標籤映射表,根據所述標籤映射表獲取所述第一租戶終端系統對應的標籤,為所述第一報文添加所述標籤,所述標籤映射表包括了所述租戶終端系統標識TESID與標籤的對應關係。根據本發明第三方面的第一或第二種實現方式,在本發明第三方面的第三種實現中,當所述標籤直接添加在所述第一報文的報文頭中時,所述發送器具體用於:根據非隧道方式的二層轉發將所述添加了標籤的第一報文發送給所述第一租戶終端系統對應的網絡虛擬邊緣。根據本發明第三方面的第一或第二種實現方式,在本發明第三方面的第四種實現中,當所述標籤添加在隧道封裝後的第一報文中時,所述發送器具體用於:根據隧道轉發方式將所述添加了標籤的第一報文發送給所述第一租戶終端系統對應的網絡虛擬邊緣。根據本發明第三方面的以上各實現方式,所述接收器還用於接收所述網絡虛擬邊緣發送的第二報文,所述第二報文攜帶所述標籤;所述第二報文的源地址為所述第二租戶終端系統,目的地址為所述第一租戶終端系統;所述處理器還用於對所述第二報文進行處理,獲得處理後的第二報文;所述發送器還用於將所述處理後的第二報文發送給所述第一租戶終端系統。當所述第二報文為非隧道封裝的報文時,所述處理器還用於:刪除所述第二報文攜帶的所述標籤;當所述第二報文為隧道封裝的報文時,所述處理器還用於:對所述第二報文進行解封裝,刪除所述第二報文攜帶的所述標籤,所述標籤攜帶在所述隧道封裝的第二報文的內層報文頭中或外層報文頭中。本發明第四方面提供了另一種轉發報文的裝置,包括:接收器,用於接收本地管理功能發送的添加了標籤的第一報文,所述標籤用於指示所述第一租戶終端系統所屬的虛擬疊加網;所述添加了標籤的第一報文為從第一租戶終端系統發送到第二租戶終端系統的報文,所述第一租戶終端系統與所述第二租戶終端系統對應不同的虛擬網絡邊緣;處理器,用於根據所述標籤獲取所述第一租戶終端系統對應的虛擬疊加網標識;對所述第一報文進行隧道封裝,所述隧道封裝後的第一報文攜帶所述虛擬疊加網標識;發送器,用於將所述隧道封裝後的第一報文發送給所述第二租戶終端系統對應的網絡虛擬邊緣。根據所述第四方面的第一種實現方式,所述處理器還用於對所述隧道封裝後的第一報文進行解封裝,獲取所述標籤。根據所述第四方面或第四方面的第一種實現方式,在所述第四方面的第二種實現方式中,所述裝置還包括存儲器;所述處理器具體用於確定所述標籤為所述虛擬疊加網標識;或根據所述標籤查找所述存儲器中的標籤映射表,獲取所述標籤對應的虛擬疊加網標識;所述標籤映射表包括標籤和虛擬疊加網標識的對應關係。根據所述第四方面的第二種實現方式,在所述第四方面的第三種實現方式中,當確定所述標籤為所述虛擬疊加網標識時,所述處理器具體用於直接根據所述虛擬疊加網標識對所述第一報文進行隧道封裝;或當所述標籤為能夠映射到虛擬疊加網標識的信息時,所述處理器具體用於根據所述標籤映射表獲取所述虛擬疊加網標識,將所述標籤從所述第一報文中刪除,根據所述虛擬疊加網標識對所述第一報文進行隧道封裝。基於本發明第四方面上述各實現方式,所述接收器還用於接收所述第二租戶終端系統對應的網絡虛擬邊緣發送的隧道封裝的第二報文,所述第二報文為所述第二租戶終端系統發送給所述第一租戶終端系統的報文;所述處理器還用於對所述隧道封裝的第二報文進行解封裝,獲得所述虛擬疊加網標識以及解封裝後的第二報文;對所述解封裝後的第二報文進行處理;所述發送器還用於將所述處理後的第二報文發送給所述第一租戶終端系統對應的本地管理功能。對所述解封裝後的第二報文進行處理時,所述處理器具體用於:對所述解封裝後的第二報文進行隧道封裝,將所述虛擬疊加網標識添加到所述隧道封裝的第二報文中;或查找所述標籤映射表,獲取所述虛擬疊加網標識對應的標籤,將所述標籤添加到所述第二報文中,將添加了標籤的第二報文進行隧道封裝。本發明第五方面提供了一種數據中心網絡,包括包括至少兩個租戶終端系統、至少兩個本地管理功能和至少兩個網絡虛擬邊緣,所述本地管理功能為上述第三方面所述的裝置,所述網絡虛擬邊緣為上述第四方面所述的裝置。本發明通過將虛擬網絡邊緣和本地管理功能分離,進一步將虛擬網絡邊緣和伺服器分離,減輕了伺服器的負擔,提高了數據中心網絡的性能。此外,本發明實施例中,本地管理功能為報文添加用於指示租戶終端系統所屬的虛擬疊加網標籤,便於虛擬網絡邊緣獲取相應的虛擬疊加網標識,也減輕了虛擬網絡邊緣的負擔,進一步提高了數據中心網絡的性能。附圖說明為了更清楚地說明本發明實施例中的技術方案,下面將對實施例中所需要使用的附圖做簡單地介紹。顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為現有技術中基於三層虛擬疊加網的數據中心網絡結構示意圖...