国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于在服務(wù)器的接收側(cè)進(jìn)行負(fù)載均衡的方法和系統(tǒng)的制作方法

      文檔序號:8004470閱讀:462來源:國知局
      用于在服務(wù)器的接收側(cè)進(jìn)行負(fù)載均衡的方法和系統(tǒng)的制作方法
      【專利摘要】本發(fā)明公開了一種用于在服務(wù)器的接收側(cè)進(jìn)行負(fù)載均衡的方法和系統(tǒng)。一種系統(tǒng)包括服務(wù)器,該服務(wù)器包括:適于接收來自虛擬機(jī)(VM)的通信量的邏輯部,該通信量包括至少一個分組,適于按照散列算法散列該至少一個分組的至少一部分以獲得散列值的邏輯部,和適于根據(jù)散列值選擇上行鏈路的邏輯部;至少一個加速網(wǎng)絡(luò)接口卡(NIC),每個加速NIC包括:包括適于與服務(wù)器和網(wǎng)絡(luò)通信的多個快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)(PCIe)端口的網(wǎng)絡(luò)端口,每個網(wǎng)絡(luò)端口包括上行鏈路,適于把至少一個分組封裝到疊加封裝分組中的邏輯部,適于把與選擇的上行鏈路對應(yīng)的媒體存取控制(MAC)地址作為信源MAC(SMAC)地址保存在疊加封裝分組的外部報頭中的邏輯部,和適于通過選擇的上行鏈路發(fā)送疊加封裝分組的邏輯部。
      【專利說明】用于在服務(wù)器的接收側(cè)進(jìn)行負(fù)載均衡的方法和系統(tǒng)
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及數(shù)據(jù)中心基礎(chǔ)結(jié)構(gòu),更具體地,本發(fā)明涉及利用一組組隊(duì)的網(wǎng)絡(luò)接口卡使疊加網(wǎng)絡(luò)通信量負(fù)載均衡。
      【背景技術(shù)】
      [0002]網(wǎng)絡(luò)虛擬化是新出現(xiàn)的數(shù)據(jù)中心和云計(jì)算趨勢,其目的是以極大地簡化多租戶環(huán)境,以及傳統(tǒng)環(huán)境中的網(wǎng)絡(luò)服務(wù)開通的方式,使終端站看到的網(wǎng)絡(luò)虛擬化。實(shí)現(xiàn)網(wǎng)絡(luò)虛擬化的更常見技術(shù)之一是利用網(wǎng)絡(luò)疊加,其中在終端站連接到的服務(wù)器、邊緣網(wǎng)絡(luò)交換機(jī)和網(wǎng)關(guān)之間建立隧道。隧道實(shí)際上是通過把信源終端站傳送的分組封裝在疊加報頭(header)中實(shí)現(xiàn)的,所述疊加報頭經(jīng)基于網(wǎng)際協(xié)議(IP)的網(wǎng)絡(luò),利用用戶數(shù)據(jù)報(UDP)傳輸,把分組從源交換機(jī)傳送給目標(biāo)交換機(jī)。疊加報頭包括唯一地識別虛擬網(wǎng)絡(luò)的標(biāo)識符(ID)。目標(biāo)交換機(jī)(隧道終點(diǎn))剝離疊加報頭封裝、UDP傳輸報頭和IP報頭,經(jīng)常規(guī)網(wǎng)絡(luò)連接把原始分組傳遞給目的地終端站。除了這種隧道機(jī)制之外,邊緣交換機(jī)參與地址發(fā)現(xiàn)協(xié)議,所述地址發(fā)現(xiàn)協(xié)議可以是基于學(xué)習(xí)/洪泛的,或者基于查尋的。
      [0003]疊加網(wǎng)絡(luò)可以利用任何可用的虛擬化協(xié)議(比如虛擬可擴(kuò)展局域網(wǎng)(VXLAN)、位置標(biāo)識/身份標(biāo)識分離協(xié)議(LISP)、疊加傳輸虛擬化(OTV)、利用通用路由封裝的網(wǎng)絡(luò)虛擬(NVGRE)等),以便利用稱為隧道的結(jié)構(gòu)連接地理上分離的層2 (L2)網(wǎng)絡(luò)。這些隧道是能夠把分組打包到疊加分組中以跨網(wǎng)絡(luò)傳送的層3 (L3)上的L2傳輸隧道。由一個虛擬網(wǎng)絡(luò)中的虛擬機(jī)(VM)發(fā)起的去往在另一個物理位置的相同虛擬網(wǎng)絡(luò)中的另一個VM或另一組VM的L2分組通過L3隧道承載。
      [0004]通過對進(jìn)出每個VM的網(wǎng)絡(luò)分組的處理進(jìn)行控制的虛擬化平臺,利用任意數(shù)量的VM,可實(shí)現(xiàn)疊加網(wǎng)絡(luò)。一個或多個VM可以與疊加網(wǎng)絡(luò)關(guān)聯(lián)。通過把預(yù)先規(guī)定的性質(zhì)和策略用于對應(yīng)的疊加網(wǎng)絡(luò)和/或VM,虛擬化平臺處理與每個疊加網(wǎng)絡(luò)和/或VM相關(guān)的網(wǎng)絡(luò)通信量。當(dāng)疊加網(wǎng)絡(luò)的數(shù)目增大時,虛擬化平臺的處理負(fù)載需求也增大。虛擬化平臺的處理負(fù)載需求包括端接隧道的數(shù)目、虛擬隧道終點(diǎn)(VTEP)的管理、每個隧道的地址學(xué)習(xí)、每個隧道的分組封裝和解封、等等。于是,對于網(wǎng)絡(luò)的給定性能水平來說,疊加網(wǎng)絡(luò)或VM的數(shù)目受虛擬化平臺的處理能力限制。于是,需要在不增大虛擬化平臺使用的可用物理資源的情況下,提高虛擬化平臺的性能,以便繼續(xù)擴(kuò)展疊加網(wǎng)絡(luò)的使用。
      [0005]另外,為了向服務(wù)器以及具體向服務(wù)器托管的VM提供負(fù)載均衡,可以通過靜態(tài)地把VM綁定到特定上行鏈路(稱為與交換機(jī)無關(guān)的組隊(duì),因?yàn)樵谏嫌蔚慕粨Q機(jī)不需要任何配置),或者通過在交換機(jī)和服務(wù)器都配置靜態(tài)或動態(tài)的端口通道,并進(jìn)行依賴于某個因素(比如分組報頭中的各個字段的散列)的負(fù)載均衡,使服務(wù)器側(cè)網(wǎng)絡(luò)接口卡(NIC)組隊(duì),以使網(wǎng)絡(luò)通信量負(fù)載均衡。配置端口通道被稱為與交換機(jī)有關(guān)的組隊(duì),因?yàn)樗枰谏嫌蔚慕粨Q機(jī)進(jìn)行配置。對疊加通信量來說,這種負(fù)載均衡方法失效,因?yàn)閬碜砸粋€或個VM的原始分組都被封裝在隧道中的疊加報頭中,同時外部報頭包括虛擬化平臺內(nèi)核的媒體存取控制(MAC)地址和網(wǎng)際協(xié)議(IP)地址。網(wǎng)絡(luò)中的多個組件看不見內(nèi)部分組,從而使得傳統(tǒng)的負(fù) 載均衡無效。因而,有益的是能夠使疊加封裝的網(wǎng)絡(luò)通信量負(fù)載均衡。

      【發(fā)明內(nèi)容】

      [0006]在一個實(shí)施例中,一種系統(tǒng)包括服務(wù)器,所述服務(wù)器包括:適合于接收來自虛擬機(jī)(VM)的通信量的邏輯部,所述通信量包括至少一個分組,適合于按照散列算法對所述至少一個分組的至少一部分進(jìn)行散列以獲得散列值的邏輯部,和適合于根據(jù)散列值選擇上行鏈路的邏輯部;至少一個加速網(wǎng)絡(luò)接口卡(NIC),每個加速NIC包括:包括適合于與服務(wù)器和網(wǎng)絡(luò)通信的多個快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)(PCIe)端口的多個網(wǎng)絡(luò)端口,每個網(wǎng)絡(luò)端口包括上行鏈路,適合于把所述至少一個分組封裝到疊加封裝分組中的邏輯部,適合于把與選擇的上行鏈路對應(yīng)的媒體存取控制(MAC)地址作為信源MAC (SMAC)地址保存在疊加封裝分組的外部報頭中的邏輯部,和適合于通過選擇的上行鏈路發(fā)送疊加封裝分組的邏輯部。
      [0007]在另一個實(shí)施例中,一種用于在服務(wù)器的接收側(cè)進(jìn)行負(fù)載均衡的方法包括接收廣播地址解析協(xié)議(ARP)請求分組,確定應(yīng)當(dāng)對廣播ARP請求分組作出響應(yīng),按照散列算法對廣播ARP請求分組的至少一部分進(jìn)行散列,以獲得散列值,根據(jù)所述散列值,從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中選擇上行鏈路,把與選擇的上行鏈路對應(yīng)的MAC地址作為SMAC地址保存在對廣播ARP請求分組的響應(yīng)中,和在與選擇的上行鏈路對應(yīng)的MAC地址被保存為SMAC地址的情況下,把所述響應(yīng)回送給廣播ARP請求分組的信源。
      [0008]在另一個實(shí)施例中,一種用于在服務(wù)器的接收側(cè)進(jìn)行負(fù)載均衡的方法包括接收單播ARP請求分組,確定應(yīng)當(dāng)對單播ARP請求分組作出響應(yīng),按照散列算法對單播ARP請求分組的至少一部分進(jìn)行散列,以獲得散列值,根據(jù)所述散列值,從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中選擇上行鏈路,把與選擇的上行鏈路對應(yīng)的MAC地址作為SMAC地址,保存在對單播ARP請求分組的響應(yīng)中,和在與選擇的上行鏈路對應(yīng)的MAC地址被保存為SMAC地址的情況下,把所述響應(yīng)回送給單播ARP請求分組的信源。
      [0009]按照另一個實(shí)施例,一種用于在多個上行鏈路上對具有至少一個分組的通信量進(jìn)行負(fù)載均衡的方法包括接收來自VM的通信量,按照散列算法,對所述至少一個分組的至少一部分進(jìn)行散列,以獲得散列值,根據(jù)所述散列值,從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中,選擇上行鏈路,把所述至少一個分組封裝在疊加封裝分組中,把與選擇的上行鏈路對應(yīng)的MAC地址作為SMAC地址,保存在疊加封裝分組的外部報頭中,和通過選擇的上行鏈路,發(fā)送疊加封裝分組。
      [0010]在另一個實(shí)施例中,一種用于在多個上行鏈路上對通信量進(jìn)行負(fù)載均衡的系統(tǒng)包括用硬件實(shí)現(xiàn)的處理器,所述處理器適合于執(zhí)行邏輯部,適合于接收ARP請求分組的邏輯部,適合于按照散列算法,對ARP請求分組的至少一部分進(jìn)行散列以獲得散列值的邏輯部,適合于根據(jù)所述散列值從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中選擇上行鏈路的邏輯部,適合于把與選擇的上行鏈路對應(yīng)的MAC地址作為SMAC地址保存在對ARP請求分組的響應(yīng)中的邏輯部,和適合于在與選擇的上行鏈路對應(yīng)的MAC地址被保存為SMAC地址的情況下把所述響應(yīng)回送給ARP請求分組的信源的邏輯部。
      [0011]根據(jù)結(jié)合附圖舉例說明本發(fā)明的原理的以下詳細(xì)說明,本發(fā)明的其它方面和實(shí)施例將變得明顯?!緦@綀D】

      【附圖說明】
      [0012]圖1按照一個實(shí)施例說明網(wǎng)絡(luò)體系結(jié)構(gòu)。
      [0013]圖2按照一個實(shí)施例示出可與圖1的服務(wù)器和/或客戶端相關(guān)的代表性硬件環(huán)境。
      [0014]圖3是按照一個實(shí)施例的虛擬化數(shù)據(jù)中心的簡化圖。
      [0015]圖4按照一個實(shí)施例示出支持疊加的服務(wù)器。
      [0016]圖5按照一個實(shí)施例示出在服務(wù)器的發(fā)射側(cè)進(jìn)行負(fù)載均衡的方法的流程圖。
      [0017]圖6按照一個實(shí)施例示出在服務(wù)器的接收側(cè)進(jìn)行負(fù)載均衡的方法的流程圖。
      [0018]圖7按照一個實(shí)施例示出在服務(wù)器的接收側(cè)進(jìn)行負(fù)載均衡的方法的流程圖。
      【具體實(shí)施方式】
      [0019]下面說明用于舉例說明本發(fā)明的一般原理,并不意圖限制這里要求保護(hù)的發(fā)明概念。此外,這里說明的特定特征可以與其它說明的特征組合地用在各種可能的組合和置換的每一個中。
      [0020]除非這里明確地另有說明,否則所有術(shù)語應(yīng)被給予其最寬廣的可能解釋,包括從說明書暗指的含義,以及本領(lǐng)域的技術(shù)人員理解的和/或在詞典、論文等中定義的含義。
      [0021]另外必須注意,在說明書和附加的權(quán)利要求書中使用的單數(shù)形式的“一”、“一個”和“該”包括復(fù)數(shù)形式,除非另有說明。
      [0022]按照一個實(shí)施例,提供用于運(yùn)送虛擬疊加網(wǎng)絡(luò)通信量的網(wǎng)絡(luò)接口卡(NIC)的與交換機(jī)無關(guān)的組隊(duì)。在一個途徑中,根據(jù)疊加封裝分組的內(nèi)部分組報頭中的字段的散列,選擇上行鏈路。一旦選擇了上行鏈路,就用選擇的上行鏈路的MAC地址替換分組的外部信源媒體存取控制(MAC)地址。這提供上游通信量的有效負(fù)載均衡,而與組隊(duì)模式(與交換機(jī)有關(guān)或者無關(guān)的組隊(duì))無關(guān)。為了使在服務(wù)器接收的通信量負(fù)載均衡,可以利用對地址解析協(xié)議(ARP)分組的接收或傳輸采取的動作,如這里更詳細(xì)所述。
      [0023]在一個實(shí)施例中,系統(tǒng)包括服務(wù)器,所述服務(wù)器包括:適合于接收來自虛擬機(jī)(VM)的通信量,所述通信量包括至少一個分組,適合于按照散列算法散列所述至少一個分組的至少一部分以獲得散列值的邏輯部,和適合于根據(jù)散列值選擇上行鏈路的邏輯部;至少一個加速NIC,每個加速NIC包括:包括適合于與服務(wù)器和網(wǎng)絡(luò)通信的多個快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)(PCIe)端口的多個網(wǎng)絡(luò)端口,每個網(wǎng)絡(luò)端口包括一個上行鏈路,適合于把所述至少一個分組封裝到疊加封裝分組中的邏輯部,適合于把與選擇的上行鏈路對應(yīng)的媒體存取控制(MAC)地址作為信源MAC(SMAC)地址保存在疊加封裝分組的外部報頭中的邏輯部,和適合于通過選擇的上行鏈路發(fā)送疊加封裝分組的邏輯部。
      [0024]在另一個實(shí)施例中,在服務(wù)器的接收側(cè)使負(fù)載均衡的方法包括接收廣播ARP請求分組,確定應(yīng)當(dāng)對廣播ARP請求分組作出響應(yīng),按照散列算法散列廣播ARP請求分組的至少一部分,以獲得散列值,根據(jù)所述散列值,從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中選擇上行鏈路,把與選擇的上行鏈路對應(yīng)的MAC地址作為SMAC地址保存在對廣播ARP請求分組的響應(yīng)中,和在與選擇的上行鏈路對應(yīng)的MAC地址被保存為SMAC地址的情況下,把所述響應(yīng)回送給廣播ARP請求分組的信源。
      [0025]在另一個實(shí)施例中,在服務(wù)器的接收側(cè)使負(fù)載均衡的方法包括接收單播ARP請求分組,確定應(yīng)當(dāng)對單播ARP請求分組作出響應(yīng),按照散列算法散列單播ARP請求分組的至少一部分,以獲得散列值,根據(jù)所述散列值,從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中選擇上行鏈路,把與選擇的上行鏈路對應(yīng)的MAC地址作為SMAC地址保存在對單播ARP請求分組的響應(yīng)中,和在與選擇的上行鏈路對應(yīng)的MAC地址被保存為SMAC地址的情況下,把所述響應(yīng)回送給單播ARP請求分組的信源。
      [0026]按照另一個實(shí)施例,在多個上行鏈路上使具有至少一個分組的通信量負(fù)載均衡的方法包括接收來自VM的通信量,按照散列算法,散列所述至少一個分組的至少一部分,以獲得散列值,根據(jù)所述散列值,從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中選擇上行鏈路,把所述至少一個分組封裝在疊加封裝分組中,把與選擇的上行鏈路對應(yīng)的MAC地址作為SMAC地址保存在疊加封裝分組的外部報頭中,和通過選擇的上行鏈路發(fā)送疊加封裝分組。
      [0027]在另一個實(shí)施例中,在多個上行鏈路上使通信量負(fù)載均衡的系統(tǒng)包括用硬件實(shí)現(xiàn)的處理器,所述處理器適合于執(zhí)行邏輯部,適合于接收ARP請求分組的邏輯部,適合于按照散列算法散列ARP請求分組的至少一部分以獲得散列值的邏輯部,適合于根據(jù)所述散列值從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中選擇上行鏈路的邏輯部,適合于把與選擇的上行鏈路對應(yīng)的MAC地址作為SMAC地址保存在對ARP請求分組的響應(yīng)中的邏輯部,和適合于在與選擇的上行鏈路對應(yīng)的MAC地址被保存為SMAC地址的情況下把所述響應(yīng)回送給ARP請求分組的信源的邏輯部。
      [0028]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“邏輯部”、“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個方面還可以實(shí)現(xiàn)為在一個或多個計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。
      [0029]可以采用一個或多個計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號介質(zhì)或者非暫態(tài)計(jì)算機(jī)可讀存儲介質(zhì)。非暫態(tài)計(jì)算機(jī)可讀存儲介質(zhì)例如可以是一但不限于一電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者以上的任意適當(dāng)組合。非暫態(tài)計(jì)算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉列表)包括:便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、便攜式緊湊盤只讀存儲器(⑶-ROM)、藍(lán)光光盤只讀存儲器(BD-ROM)、光存儲器件、磁存儲器件、或者上述的任意適當(dāng)組合。在本文的上下文中,非暫態(tài)計(jì)算機(jī)可讀存儲介質(zhì)可以是任何能夠包含或存儲程序或應(yīng)用軟件的有形介質(zhì),該程序或應(yīng)用軟件可供指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
      [0030]計(jì)算機(jī)可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計(jì)算機(jī)可讀的信號介質(zhì)還可以是非暫態(tài)計(jì)算機(jī)可讀存儲介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序,比如具有一條或多條導(dǎo)線的電連接、光纖等等。[0031]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于——無線、有線、光纜、射頻(RF)等等,或者上述的任意合適的組合。
      [0032]可以用一種或多種程序設(shè)計(jì)語言的任意組合編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計(jì)語言一諸如“C”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)或服務(wù)器可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)、存儲區(qū)域網(wǎng)(SAN)和/或廣域網(wǎng)(WAN)、任何虛擬網(wǎng)絡(luò)一連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī),例如利用因特網(wǎng)服務(wù)提供商(ISP)通過因特網(wǎng)連接)。
      [0033]下面將參考按照本發(fā)明的各個實(shí)施例的方法、設(shè)備(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
      [0034]也可以把這些計(jì)算機(jī)程序指令存儲在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(article of manufacture)。
      [0035]計(jì)算機(jī)程序指令也可被加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理設(shè)備或其它裝置上,使得在所述計(jì)算機(jī)、其它可編程設(shè)備或其它裝置上執(zhí)行一系列的操作步驟,從而產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,以致在所述計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行的指令提供實(shí)現(xiàn)在流程圖和/或框圖的一個或多個方框中指定的功能/步驟的處理。
      [0036]圖1按照一個實(shí)施例圖解說明網(wǎng)絡(luò)體系結(jié)構(gòu)100。如圖1中所示,提供多個遠(yuǎn)程網(wǎng)絡(luò)102,包括第一遠(yuǎn)程網(wǎng)絡(luò)104和第二遠(yuǎn)程網(wǎng)絡(luò)106。網(wǎng)關(guān)101可I禹接在遠(yuǎn)程網(wǎng)絡(luò)102和鄰近網(wǎng)絡(luò)108之間。在本網(wǎng)絡(luò)體系結(jié)構(gòu)100的環(huán)境中,網(wǎng)絡(luò)104、106都可采取任何形式,包括(但不限于)LAN、VLAN、諸如因特網(wǎng)之類的WAN、公共交換電話網(wǎng)(PSTN)、內(nèi)部電話網(wǎng)等等。
      [0037]使用中,網(wǎng)關(guān)101充當(dāng)從遠(yuǎn)程網(wǎng)絡(luò)102到鄰近網(wǎng)絡(luò)108的入口點(diǎn)。因而,網(wǎng)關(guān)101可起能夠指引到達(dá)網(wǎng)絡(luò)101的數(shù)據(jù)的特定分組的路由器作用,和為特定分組提供進(jìn)出網(wǎng)關(guān)101的實(shí)際路徑的交換機(jī)作用。
      [0038]另外還包括與鄰近網(wǎng)絡(luò)108耦接的至少一個數(shù)據(jù)服務(wù)器114,通過網(wǎng)關(guān)101,可從遠(yuǎn)程網(wǎng)絡(luò)102訪問所述數(shù)據(jù)服務(wù)器114。應(yīng)注意數(shù)據(jù)服務(wù)器114可包括任何種類的計(jì)算設(shè)備/群件。與每個數(shù)據(jù)服務(wù)器114耦接的是多個用戶設(shè)備116。這樣的用戶設(shè)備116可包括桌上型計(jì)算機(jī)、膝上型計(jì)算機(jī)、手持式計(jì)算機(jī)、打印機(jī)和/或任何其它種類的包含邏輯的設(shè)備。應(yīng)注意在一些實(shí)施例中,用戶設(shè)備111也可直接耦接到網(wǎng)絡(luò)任意之一。
      [0039]外設(shè)120或者一系列的外設(shè)120(例如,傳真機(jī)、打印機(jī)、掃描儀、硬盤驅(qū)動器、聯(lián)網(wǎng)的和/或本地的存儲單元或系統(tǒng)等)可以耦接到網(wǎng)絡(luò)104、106、108中的一個或多個。應(yīng)注意數(shù)據(jù)庫和/或另外的組件可以與耦接到網(wǎng)絡(luò)104、106、108的任意種類的網(wǎng)絡(luò)元件一起使用,或者集成到所述任意種類的網(wǎng)絡(luò)元件中。在本說明的上下文中,網(wǎng)絡(luò)元件指的是網(wǎng)絡(luò)的任意組件。
      [0040]按照一些方式,這里說明的方法和系統(tǒng)可以用和/或在虛擬系統(tǒng)和/或仿真一個或多個其它系統(tǒng)的系統(tǒng)上實(shí)現(xiàn),比如仿真IBM z/OS環(huán)境的UNIX系統(tǒng),虛擬托管MICROSOFTWINDOWS環(huán)境的UNIX系統(tǒng),仿真IBM z/OS環(huán)境的MICROSOFT WINDOWS系統(tǒng),等等。在一些實(shí)施例中,通過利用VMWARE軟件,可以增強(qiáng)這種虛擬化和/或仿真。
      [0041]在更多的途徑中,一個或多個104、106、108可代表統(tǒng)稱為“云”的一群系統(tǒng)。在云計(jì)算中,以按需的關(guān)系把諸如處理能力、外設(shè)、軟件、數(shù)據(jù)、服務(wù)器之類的共享資源提供給云中的任意系統(tǒng),從而允許跨越多個計(jì)算系統(tǒng)的服務(wù)的訪問和分布。云計(jì)算一般涉及在云中工作的系統(tǒng)之間的因特網(wǎng)連接,不過本領(lǐng)域中已知,也可使用連接各個系統(tǒng)的其它技術(shù)。
      [0042]圖2按照一個實(shí)施例示出了與圖1的用戶設(shè)備116和/或服務(wù)器114相關(guān)的代表性硬件環(huán)境。圖2圖解說明工作站的典型硬件結(jié)構(gòu),所述工作站具有中央處理器(CPU) 210(比如微處理器)和通過一個或多個總線212互連的多個其它單元,按照幾個實(shí)施例,所述總線212可以是不同種類的總線,比如本地總線、并行總線、串行總線等。
      [0043]圖2中所示的工作站包括隨機(jī)存取存儲器(RAM) 214、只讀存儲器(ROM) 216、用于連接諸如磁盤存儲單元220之類的外設(shè)和一個或多個總線212的1/0適配器218、用于把鍵盤224、鼠標(biāo)226、揚(yáng)聲器228、麥克風(fēng)232、和/或諸如觸摸屏、數(shù)字照相機(jī)(未示出)之類的其它用戶接口設(shè)備連接到一個或多個總線212的用戶接口適配器222、用于把工作站連接到通信網(wǎng)絡(luò)235 (例如,數(shù)據(jù)處理網(wǎng)絡(luò))的通信適配器234、和用于把一個或多個總線212連接到顯示設(shè)備238的顯示適配器236。
      [0044]工作站上可駐留有諸如MICROSOFT WINDOWS操作系統(tǒng)(OS)、MAC OS,UNIX OS等之類的操作系統(tǒng)。應(yīng)理解也可在作上述以外的平臺和操作系統(tǒng)上實(shí)現(xiàn)優(yōu)選實(shí)施例??梢岳肑AVA、XML、C和/或C++語言、或者其它程序語言、以及面向?qū)ο蟮木幊谭椒?,編寫?yōu)選實(shí)施例??梢允褂迷絹碓蕉嗟赜糜陂_發(fā)復(fù)雜應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計(jì)(00P)。
      [0045]現(xiàn)在參見圖3,圖中按照一個實(shí)施例示出了疊加網(wǎng)絡(luò)300的概念圖。為了使網(wǎng)絡(luò)服務(wù)虛擬化,而不是僅僅提供設(shè)備之間的架構(gòu)路徑(連通性),當(dāng)分組通過網(wǎng)關(guān)314時,可在分組上呈遞服務(wù),網(wǎng)關(guān)314為在非虛擬網(wǎng)絡(luò)312與虛擬網(wǎng)絡(luò)A304和虛擬網(wǎng)絡(luò)B306之間移動的分組提供路由和轉(zhuǎn)發(fā)。所述一個或多個虛擬網(wǎng)絡(luò)304、306存在于物理(真實(shí))網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)302內(nèi)。本領(lǐng)域的技術(shù)人員已知,網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)302可包括一般與網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)相關(guān)和/或用在網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)中的任何組件、硬件、軟件和/或功能性,包括(但不限于)交換機(jī)、連接器、導(dǎo)線、電路、電纜、服務(wù)器、主機(jī)、存儲介質(zhì)、操作系統(tǒng)、應(yīng)用程序、端口、1/0,等等。網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)302支持至少一個非虛擬網(wǎng)絡(luò)312,所述非虛擬網(wǎng)絡(luò)312可以是傳統(tǒng)網(wǎng)絡(luò)。
      [0046]每個虛擬網(wǎng)絡(luò)304、306可以利用任意數(shù)目的VM308、310。在一個實(shí)施例中,虛擬網(wǎng)絡(luò)A304包括一個或多個VM308,而虛擬網(wǎng)絡(luò)B306包括一個或多個VM310。如圖3中所示,VM308.310不被虛擬網(wǎng)絡(luò)304、306共享,相反在任何特定時間,都只包含在僅僅一個虛擬網(wǎng)絡(luò) 304、306 中。
      [0047]按照一個實(shí)施例,疊加網(wǎng)絡(luò)300可包括與一個或多個分布式線卡(DLC)互連的一個或多個信元交換域可擴(kuò)展架構(gòu)組件(SFC)。[0048]疊加網(wǎng)絡(luò)300的組件一般根據(jù)稱為VNI或VNID的虛擬網(wǎng)絡(luò)標(biāo)識符,識別把分組路由到何處。虛擬網(wǎng)絡(luò)標(biāo)識符一般是排除0x0或OxFFFFFF之外的24位代碼或數(shù)字。疊加網(wǎng)絡(luò)300具有通過把L2分組封裝到疊加報頭中在層3 (L3)網(wǎng)絡(luò)上隧道傳遞層2 (L2)分組的能力。這可利用虛擬可擴(kuò)展局域網(wǎng)(VXLAN)或者某種其它支持疊加的協(xié)議(比如位置標(biāo)識/身份標(biāo)識分離協(xié)議(LISP)、疊加傳輸虛擬化(OTV)、利用通用路由封裝的網(wǎng)絡(luò)虛擬化(NVGRE)等等)來完成。
      [0049]分組也可被封裝在數(shù)據(jù)報協(xié)議(UDP)和網(wǎng)際協(xié)議(IP)UDP/IP報頭中。疊加網(wǎng)絡(luò)300可包括一個或多個點(diǎn)對點(diǎn)隧道和/或點(diǎn)對多點(diǎn)隧道。另外,可根據(jù)多個因素,比如新設(shè)備被增加到疊加網(wǎng)絡(luò)300中,從疊加網(wǎng)絡(luò)300中除去設(shè)備,任意終端設(shè)備(B卩,管理隧道端點(diǎn)的設(shè)備,比如虛擬疊加網(wǎng)絡(luò)網(wǎng)關(guān)、管理程序、支持疊加功能的交換機(jī)等)的啟動,創(chuàng)建、消除、變更和修改這些隧道任意之一。
      [0050]為了使設(shè)備可以管理隧道,需要存在原始分組的信源地址、目的地地址和隧道標(biāo)識符之間的映射。這樣,物理服務(wù)器能夠把封裝的原始分組轉(zhuǎn)發(fā)給適當(dāng)?shù)哪康牡卦O(shè)備。
      [0051]參見圖4,按照一個實(shí)施例示出了系統(tǒng)400。系統(tǒng)400包括具有虛擬化平臺404和與不同設(shè)備面接的一個或多個NIC406的服務(wù)器402。在該例證實(shí)施例中,NICl被表示成耦接到交換機(jī)408,NIC2被表示成耦接到網(wǎng)絡(luò)410,而NIC3被表示成耦接到支持疊加的網(wǎng)絡(luò)網(wǎng)關(guān)(GW) 412。當(dāng)然,其它設(shè)備、網(wǎng)絡(luò)或系統(tǒng)可通過用來面接這樣的設(shè)備或系統(tǒng)的NIC406,連接到服務(wù)器402。
      [0052]本領(lǐng)域的技術(shù)人員明白,網(wǎng)絡(luò)410可包括交換機(jī)、路由器、電纜、連接器、網(wǎng)絡(luò)設(shè)備等等。另外,虛擬化平臺404可提供和管理適合于向發(fā)送給VM414和/或從VM414接收的分組提供交換功能的虛擬交換機(jī)(vSwithc)416。
      [0053]每個NIC406能夠提供服務(wù)器402和某些其它設(shè)備或系統(tǒng)之間的接口,以及管理它們之間的通信。另外,每個NIC406可包括適合于與網(wǎng)絡(luò)410、服務(wù)器402和任何其它連接的一個或多個設(shè)備通信的一個或多個連網(wǎng)端口。一般地,當(dāng)分組被封裝在疊加報頭中時,與期望的目的地對應(yīng)的NIC406只是把分組傳給在疊加封裝的分組的外部報頭中指定的目的地。
      [0054]每個NIC406和/或虛擬化平臺404可以利用一個或多個處理器。可以使用任意種類的處理器,比如現(xiàn)場可編程門陣列(FPGA)、微處理器、微控制器、中央處理器(CPU)、專用集成電路(ASIC),等等。
      [0055]虛擬化平臺404還可為任意數(shù)目的VM414提供支持,所述VM414可被布置在一個或多個虛擬網(wǎng)絡(luò)中(每個虛擬網(wǎng)絡(luò)具有不同的虛擬網(wǎng)絡(luò)標(biāo)識符(VNID))。圖4中的VM414的數(shù)目和布置并不意圖對可能的各種結(jié)構(gòu)的限制,因?yàn)楦綀D只表示VM414和網(wǎng)絡(luò)的例證布置。
      [0056]在一些實(shí)施例中,為了向服務(wù)器402提供疊加功能,虛擬化平臺404還可與多個離散的軟件引擎交互作用,比如隧道管理器、ARP和轉(zhuǎn)發(fā)信息庫(FIB)管理器、提供網(wǎng)際協(xié)議組件多播(IPMC)支持的引擎、分組封裝和解封引擎、和本領(lǐng)域已知的任何其它疊加增強(qiáng)軟件引擎。
      [0057]一般地,NIC406看不見任何疊加封裝分組的內(nèi)部分組,代替地,NIC406把分組傳送給虛擬化平臺404,以便提供疊加功能。不過,在另一個實(shí)施例中,NIC406可被修改,以提供疊加功能,這里稱為加速NIC。
      [0058]在另一個實(shí)施例中,為了在虛擬化網(wǎng)絡(luò)和非虛擬化網(wǎng)絡(luò)之間進(jìn)行橋接,待通過虛擬疊加網(wǎng)絡(luò)傳遞的分組可被傳遞給支持疊加的網(wǎng)絡(luò)網(wǎng)關(guān)412,以便在服務(wù)器402位于的虛擬網(wǎng)絡(luò)之外進(jìn)一步轉(zhuǎn)發(fā)和/或路由。
      [0059]現(xiàn)在參見圖5,圖中按照一個實(shí)施例示出了在服務(wù)器的發(fā)送側(cè)使負(fù)載均衡的方法500。在各個實(shí)施例中,可以在圖1-4中描述的環(huán)境等中的任意環(huán)境中,按照本發(fā)明進(jìn)行方法500。當(dāng)然,當(dāng)閱讀本說明時,本領(lǐng)域的技術(shù)人員理解,方法500中可以包括比在圖5中具體說明的那些操作更多或更少的操作。
      [0060]方法500的各個步驟可由工作環(huán)境的任何適當(dāng)組件進(jìn)行。例如,在各個非限制性實(shí)施例中,方法500可部分或完全用NIC、支持疊加的加速NIC、嵌入NIC或加速NIC中和/或在NIC或加速NIC內(nèi)工作的處理器(比如CPU、ASIC、FPGA等)、嵌入在NIC或加速NIC內(nèi)的計(jì)算機(jī)可讀存儲介質(zhì)中的計(jì)算機(jī)程序代碼等等進(jìn)行。
      [0061]如圖5中所示,方法500可始于操作502,在操作502中,從VM接收通信量。通信量包括至少一個分組,按照一個實(shí)施例,通信量可由服務(wù)器或其某個組件(比如虛擬化平臺、接口等)接收。一般地,分組是由VM產(chǎn)生的IP分組,不過在其它實(shí)施例,它可以根據(jù)各個實(shí)施例被單播、廣播、疊加封裝等。
      [0062]在操作504中,按照散列算法,散列所述至少一個分組的至少一部分,以獲得散列值??梢允褂帽绢I(lǐng)域中已知的任何適當(dāng)?shù)纳⒘兴惴?。另外,散列算法可以是完全散列算法或非完全散列算法,并且可被這樣選擇,以致可能的散列值對應(yīng)于可用于把通信量繼續(xù)發(fā)送給網(wǎng)絡(luò)的上行鏈路的數(shù)目,在一種途徑中,例如,散列算法可完全地散列成上行鏈路的數(shù)目。在另一種途徑中,可能的散列值的數(shù)目可對應(yīng)于為其使通信量負(fù)載均衡的團(tuán)隊(duì)的成員,例如,如果在數(shù)目為η的上行鏈路上進(jìn)行負(fù)載均衡,那么散列算法可具有η個可能的散列值。
      [0063]在更多的途徑中,可以跨不同組的上行鏈路,在不同的加速NIC上,在不同的服務(wù)器上等等,應(yīng)用不同的散列算法。
      [0064]按照一些實(shí)施例,分組可被封裝在疊加分組內(nèi),在這種情況下,疊加封裝的分組的內(nèi)部分組被散列。
      [0065]所述至少一個分組的任意部分或者全部可被散列,比如分組的報頭,分組的有效負(fù)荷,外部報頭,內(nèi)部報頭等等。如果分組被疊加封裝,那么內(nèi)部報頭最好被散列,不過按照各個實(shí)施例,可以散列分組的任何部分。
      [0066]在操作506中,本領(lǐng)域的技術(shù)人員會理解,所述至少一個分組被封裝在疊加封裝的分組中。在一種途徑中,所述至少一個分組由(能夠提供疊加功能的)加速NIC封裝,不過也可由支持疊加的任何組件或設(shè)備封裝。
      [0067]在操作508中,根據(jù)散列值,選擇上行鏈路。以這種方式,由于上行鏈路是根據(jù)散列值選擇的,因此可在一組上行鏈路、NIC上的所有鏈路、服務(wù)器上的所有上行鏈路、在任何給定時間可用的所有上行鏈路等等之間,使通信量負(fù)載均衡。
      [0068]在操作510中,選擇的上行鏈路的MAC地址作為SMAC地址被保存在疊加封裝分組的外部報頭中。這樣,以期望的方式,不會向網(wǎng)絡(luò)的任何組件增加額外處理地在上行鏈路之間使輸出通信量負(fù)載均衡。[0069]在操作512中,通過選擇的上行鏈路發(fā)送疊加封裝的分組。這是在可用上行鏈路之間進(jìn)行負(fù)載均衡的方式。當(dāng)收到所述至少一個分組時,存在可用于繼續(xù)發(fā)送所述至少一個分組的多個、一組或者一批上行鏈路。在操作512中,在選擇的上行鏈路上發(fā)送所述至少一個分組,選擇的上行鏈路將隨由散列算法確定的多個因素而變化。
      [0070]在例證實(shí)施例中,內(nèi)部分組報頭字段的散列可用于選擇將用于傳送該分組的團(tuán)隊(duì)成員。散列可以基于一個或多個參數(shù),包括:對應(yīng)于VM的虛擬端口(比如,分配給VM的虛擬端口 ),內(nèi)部分組報頭SMAC (inner_smac)地址,內(nèi)部分組報頭目的地MAC (inner_dmac)地址,內(nèi)部信源IP(SIP)地址,內(nèi)部目的地IP(DIP)地址,它們的任意組合,等等。
      [0071]散列算法計(jì)算可導(dǎo)致選擇特定團(tuán)隊(duì)或組中的多個可用物理NIC之一。隨后可用選擇的NIC的MAC地址重寫分組報頭(它最初包括虛擬MAC (VMAC))的外部SMAC。這導(dǎo)致分組在特定的NIC上被發(fā)送,所述特定的NIC總是傳送相同的外部報頭SMAC (它是NIC的MAC地址)。在本例證實(shí)施例中描述的任何NIC可以是加速NIC (如果疊加功能將被用于在該NIC (—個NIC具有多個上行鏈路)或者提供多個上行鏈路的多個NIC (每個NIC —個上行鏈路)的各上行鏈路上發(fā)送分組的話)或者在一個或多個服務(wù)器(一般,單個服務(wù)器)內(nèi)的NIC的組合。
      [0072]按照另一個實(shí)施例中,可以利用能夠執(zhí)行這樣的計(jì)算機(jī)可讀程序代碼的處理器,從計(jì)算機(jī)程序產(chǎn)品執(zhí)行方法500。
      [0073]在另一個實(shí)施例中,方法500可由系統(tǒng)(比如服務(wù)器、NIC、具有疊加功能的NIC、網(wǎng)關(guān)、它們的某種組合等)執(zhí)行。
      [0074]現(xiàn)在參見圖6,圖中按照一個實(shí)施例示出了在服務(wù)器的接收側(cè)使負(fù)載均衡的方法600。在各個實(shí)施例中,可以在圖1-4中描述的環(huán)境等中的任意環(huán)境中,按照本發(fā)明進(jìn)行方法600。當(dāng)然,當(dāng)閱讀本說明時,本領(lǐng)域的技術(shù)人員理解,方法600中可以包括比在圖6中具體說明的那些操作更多或更少的操作。
      [0075]方法600的各個步驟可由工作環(huán)境的任何適當(dāng)?shù)囊粋€或多個組件進(jìn)行。例如,在各個非限制性實(shí)施例中,方法600可部分或完全用支持疊加的加速NIC、NIC、嵌入NIC或加速NIC中和/或在NIC或加速NIC內(nèi)工作的處理器(比如CPU、ASIC、FPGA等)、嵌入在NIC或加速NIC內(nèi)的計(jì)算機(jī)可讀存儲介質(zhì)中的計(jì)算機(jī)程序代碼等等進(jìn)行。
      [0076]如圖6中所示,方法600可始于操作602,在操作602中,接收廣播ARP請求分組。換句話說,接收不僅向方法600中的接收設(shè)備廣播的而且可能還向其它設(shè)備廣播的ARP請求分組。ARP廣播請求分組可由服務(wù)器、尤其是服務(wù)器的NIC接收。
      [0077]在操作604中,判定是否應(yīng)當(dāng)作出響應(yīng)。一般根據(jù)在廣播ARP請求分組中指定的地址是否由接收廣播ARP請求分組的服務(wù)器托管,作出所述判定。如果是,那么應(yīng)當(dāng)作出響應(yīng),從而方法600進(jìn)入操作606。如果否,那么不應(yīng)當(dāng)作出響應(yīng),從而方法600進(jìn)入操作616。
      [0078]在操作606中,按照散列算法,散列廣播ARP請求分組的至少一部分,以獲得散列值。按照各個實(shí)施例,可以散列分組的任意部分或全部。
      [0079]可以使用本領(lǐng)域中已知的任何適當(dāng)?shù)纳⒘兴惴?。另外,散列算法可以是完全散列算法或非完全散列算法,并且可被這樣選擇,以致可能的散列值的數(shù)目對應(yīng)于可用于繼續(xù)發(fā)送通信量的上行鏈路的數(shù)目,在一種途徑中,例如,散列算法可完全地散列,從而產(chǎn)生和上行鏈路的數(shù)目相同的多個可能的散列值。在另一種途徑中,散列可對應(yīng)于為其使通信量負(fù)載均衡的團(tuán)隊(duì)的成員,例如,如果在數(shù)目為η的上行鏈路上進(jìn)行負(fù)載均衡,那么散列算法可基于所述數(shù)目η。
      [0080]散列算法可以基于一個或多個參數(shù),比如:與為其發(fā)起廣播ARP請求分組的VM對應(yīng)的虛擬端口,內(nèi)部分組報頭SMAC地址,內(nèi)部分組報頭DMAC地址,內(nèi)部SIP地址,內(nèi)部DIP地址,等等。
      [0081]在更多的途徑中,可以跨不同組的上行鏈路,在不同的加速NIC上,在不同的服務(wù)器上等等,應(yīng)用不同的散列算法。
      [0082]所述至少一個分組的任何部分或者全部可被散列,比如分組的報頭、分組的有效負(fù)荷、外部報頭、內(nèi)部報頭等等。
      [0083]在操作608中,根據(jù)散列值,選擇上行鏈路。這樣,由于每次收到廣播ARP請求分組時,根據(jù)散列選擇上行鏈路,因此能夠在一組上行鏈路,NIC上的所有鏈路,服務(wù)器上的所有上行鏈路,在任何給定時間可用的所有上行鏈路等等之間,使可從廣播ARP請求分組的信源接收的通信量負(fù)載均衡。
      [0084]在操作610中,選擇的上行鏈路的MAC地址作為信源MAC (SMAC)地址被保存到對收到的廣播ARP請求分組的響應(yīng),該響應(yīng)被發(fā)送給廣播ARP請求分組的信源。這樣,最后收到該響應(yīng)分組的信源設(shè)備能夠保存響應(yīng)設(shè)備的選擇的上行鏈路的MAC地址,以便未來在該選擇的上行鏈路上,把通信量回送給所述響應(yīng)設(shè)備。
      [0085]在可選的操作612中,生成單播ARP請求分組,并回送給接收的廣播ARP請求分組的信源。這樣,接收并響應(yīng)廣播ARP請求分組的服務(wù)器或設(shè)備可學(xué)習(xí)發(fā)端設(shè)備的地址,該地址可能不同于保存在廣播ARP請求分組中的SMAC。
      [0086]在可選的操作614中,在發(fā)送單播ARP請求分組之后,可收到對單播ARP請求分組的響應(yīng)。在這種情況下,可以學(xué)習(xí)并保存關(guān)于廣播ARP請求分組的信源的地址信息,以便隨后與該特定地址通信。這樣,不僅按照期望的方式,在上行鏈路之間使輸出通信量負(fù)載均衡,而且還可按照不向網(wǎng)絡(luò)的任何組件增加額外處理的方式,在可用鏈路之間使輸入通信量負(fù)載均衡。
      [0087]在操作616中,或者因?yàn)閺V播ARP請求分組的接收者不是期望的接收者,或者因?yàn)闅w因于本領(lǐng)域的技術(shù)人員理解的多個因素,例如,認(rèn)為信源不被允許與目標(biāo)通信,信源是間歇性的并將會變化,目標(biāo)是間歇性的等等,而認(rèn)為不必學(xué)習(xí)信源,廣播ARP請求分組不被用于學(xué)習(xí)廣播ARP請求分組的信源。
      [0088]注意,接收的廣播ARP請求分組中的SMAC不被學(xué)習(xí),因?yàn)檫@會重置和/或廢除先前已實(shí)現(xiàn)的任何負(fù)載均衡。
      [0089]例如,在其中遠(yuǎn)程主機(jī)利用一個或多個單播ARP響應(yīng)分組在其可用上行鏈路之間使來自網(wǎng)絡(luò)中的各個主機(jī)的輸入通信負(fù)載均衡的情況中,當(dāng)所述遠(yuǎn)程主機(jī)向網(wǎng)絡(luò)中的各個主機(jī)發(fā)送廣播ARP請求分組時,如果網(wǎng)絡(luò)中的各個主機(jī)高速緩存包含在廣播ARP請求分組中的SMAC,那么這會導(dǎo)致重置所述遠(yuǎn)程主機(jī)早先利用一個或多個一個或多個單播ARP響應(yīng)分組預(yù)先(和有意地)實(shí)現(xiàn)的接收負(fù)載均衡。為了避免這種情況,網(wǎng)絡(luò)中的每個主機(jī)不把廣播ARP請求分組看作用于MAC學(xué)習(xí)的信源。
      [0090]在一些實(shí)施例中,可以獨(dú)立地使輸出和輸入通信量流負(fù)載均衡,或者可以取決于某個其它因素、編組和/或條件,類似地使它們負(fù)載均衡。[0091]按照另一個實(shí)施例,可以利用能夠執(zhí)行這樣的計(jì)算機(jī)可讀程序代碼的處理器,從計(jì)算機(jī)程序產(chǎn)品執(zhí)行方法600。
      [0092]在另一個實(shí)施例中,方法600可由系統(tǒng)(比如服務(wù)器、NIC、具有疊加功能的NIC、網(wǎng)關(guān)、它們的某種組合等)執(zhí)行。
      [0093]在例證實(shí)施例中,與交換機(jī)有關(guān)的組隊(duì)能夠在無(需要保存在現(xiàn)有設(shè)備中的)新邏輯部的情況下,使接收的通信量負(fù)載均衡。在與交換機(jī)無關(guān)的組隊(duì)中,通過在任意數(shù)目的可用團(tuán)隊(duì)成員(上行鏈路、NIC等)之間使ARP響應(yīng)分組負(fù)載均衡,可以實(shí)現(xiàn)接收側(cè)負(fù)載均衡。選擇的團(tuán)隊(duì)成員的MAC地址被嵌入單播ARP響應(yīng)分組中。
      [0094]在各個實(shí)施例中,準(zhǔn)則可用于處理ARP消息。在第一實(shí)施例中,廣播ARP請求分組決不被轉(zhuǎn)發(fā)給操作系統(tǒng)(OS)內(nèi)核(相反,如果目標(biāo)IP(TIP)地址匹配OS內(nèi)核的地址,那么組隊(duì)邏輯部可構(gòu)成單播ARP響應(yīng)),可對信源IP(SIP)地址進(jìn)行散列,以選擇團(tuán)隊(duì)成員,選擇的NIC的MAC地址可用在響應(yīng)中。另外,當(dāng)收到廣播ARP請求分組時,支持疊加的交換機(jī)(比如分布式疊加虛擬以太網(wǎng)(DOVE)交換機(jī))向發(fā)端設(shè)備單播ARP請求分組,以觸發(fā)發(fā)端設(shè)備答復(fù)以單播響應(yīng),所述單播響應(yīng)可被OS內(nèi)核用于學(xué)習(xí)關(guān)于發(fā)端設(shè)備的地址信息。
      [0095]在另一個實(shí)施例中,單播ARP響應(yīng)分組可以總是被轉(zhuǎn)發(fā)給OS內(nèi)核,以便學(xué)習(xí)。這避免了組隊(duì)邏輯部維持ARP高速緩存的需要。這還使來自不同物理主機(jī)的通信量被負(fù)載均衡到團(tuán)隊(duì)的不同成員。注意接收側(cè)負(fù)載均衡非常粗略,沒有能力使來自駐留在相同主機(jī)上的不同遠(yuǎn)程VM的通信量負(fù)載均衡一來自物理服務(wù)器上的所有VM的通信量將進(jìn)入相同的團(tuán)隊(duì)成員。
      [0096]同樣地,當(dāng)外部網(wǎng)關(guān)或路由器為本地支持疊加的交換機(jī)(比如DOVE交換機(jī))發(fā)送ARP請求時,該交換機(jī)可僅以團(tuán)隊(duì)成員之一進(jìn)行響應(yīng)。這意味從下層的網(wǎng)絡(luò)域(比如層2域)外面進(jìn)入支持疊加的交換機(jī)中的所有通信量只可利用團(tuán)隊(duì)成員之一。在不支持疊加的組隊(duì)解決方案中,這種缺陷也常見。
      [0097]現(xiàn)在參見圖7,圖中按照一個實(shí)施例示出了在服務(wù)器的接收側(cè)使負(fù)載均衡的方法700。在各個實(shí)施例中,可以在圖1-4中描述的環(huán)境等中的任意環(huán)境中,按照本發(fā)明進(jìn)行方法700。當(dāng)然,當(dāng)閱讀本說明時,本領(lǐng)域的技術(shù)人員理解,方法700中可以包括比在圖7中具體說明的那些操作更多或更少的操作。
      [0098]方法700的各個步驟可以用工作環(huán)境的任何適當(dāng)組件執(zhí)行。例如,在各個非限制性實(shí)施例中,方法700可部分或完全用NIC、支持疊加的加速NIC、嵌入NIC或加速NIC中和/或在NIC或加速NIC內(nèi)工作的處理器(比如CPU、ASIC、FPGA等)、嵌入在NIC或加速NIC內(nèi)的計(jì)算機(jī)可讀存儲介質(zhì)中的計(jì)算機(jī)程序代碼等等進(jìn)行。
      [0099]如圖7中所示,方法700可始于操作702,在操作702中,接收單播ARP請求分組。單播ARP請求分組可被服務(wù)器、尤其是服務(wù)器的NIC接收。
      [0100]在操作704中,判定是否應(yīng)當(dāng)作出響應(yīng)。一般根據(jù)在單播ARP請求分組中指定的地址是否由接收單播ARP請求分組的服務(wù)器托管,作出所述判定。如果是,那么應(yīng)當(dāng)作出響應(yīng),從而方法700進(jìn)入操作706。如果否,那么不應(yīng)當(dāng)作出響應(yīng),從而方法700進(jìn)入操作716。
      [0101]在操作706中,按照散列算法,散列單播ARP請求分組的至少一部分,以獲得散列值。按照各個實(shí)施例,可以散列所述分組的任意部分或者全部。
      [0102]可以使用本領(lǐng)域中已知的任何適當(dāng)?shù)纳⒘兴惴āA硗?,散列算法可以是完全散列算法或非完全散列算法,并且可被選擇成對應(yīng)于可用于繼續(xù)發(fā)送通信量的上行鏈路的數(shù)目,在一種途徑中,例如,散列算法可完全地散列成上行鏈路的數(shù)目。在另一種途徑中,散列可對應(yīng)于為其使通信量負(fù)載均衡的團(tuán)隊(duì)的成員,例如,如果在數(shù)目為η的上行鏈路上進(jìn)行負(fù)載均衡,那么散列算法可基于所述數(shù)目η。
      [0103]散列算法可以基于一個或多個參數(shù),比如:與為其發(fā)起單播ARP請求分組的VM對應(yīng)的虛擬端口,內(nèi)部分組報頭SMAC地址,內(nèi)部分組報頭DMAC地址,內(nèi)部SIP地址,內(nèi)部DIP地址,等等。
      [0104]在更多的途徑中,可以跨不同組的上行鏈路,在不同的加速NIC上,在不同的服務(wù)器上等等,應(yīng)用不同的散列算法。
      [0105]所述至少一個分組的任意部分或者全部可被散列,比如分組的報頭,分組的有效負(fù)載,外部報頭,內(nèi)部報頭等等。
      [0106]在操作708中,根據(jù)散列值選擇上行鏈路。這樣,由于每次收到單播ARP請求分組時,根據(jù)散列選擇上行鏈路,因此能夠在一組上行鏈路、NIC上的所有鏈路、服務(wù)器上的所有上行鏈路、在任何給定時間可用的所有上行鏈路等等之間,使可從單播ARP請求分組的信源接收的通信量負(fù)載均衡。
      [0107]在操作710中,選擇的上行鏈路的MAC地址作為SMAC地址被保存在對收到的單播ARP請求分組的響應(yīng),該響應(yīng)被回送給單播ARP請求分組的信源。這樣,最后收到該響應(yīng)分組的任何設(shè)備將保存該MAC地址,以便把通信量回送給發(fā)端設(shè)備。這樣,不僅按照期望的方式,在上行鏈路之間使輸出通信量負(fù)載均衡,而且還可按照不向網(wǎng)絡(luò)的任何組件增加額外處理的方式,在可用鏈路之間使輸入通信量負(fù)載均衡。
      [0108]在操作712中,向單播ARP請求分組學(xué)習(xí)信源的地址信息(例如,IP地址,SMAC地址等)。在這種情況下,可以學(xué)習(xí)并保存關(guān)地單播ARP請求分組的信源的地址信息,以便隨后與該特定地址通信。`
      [0109]在操作714中,或者因?yàn)閱尾RP請求分組的接收者不是期望的接收者,或者因?yàn)闅w因于本領(lǐng)域的技術(shù)人員理解的多個因素,例如,認(rèn)為信源不被允許與目標(biāo)通信,信源是間歇性的并將會變化,目標(biāo)是間歇性的等等,而認(rèn)為不必學(xué)習(xí)信源,單播ARP請求分組不被用于學(xué)習(xí)單播ARP請求分組的信源。
      [0110]在一些實(shí)施例中,可以獨(dú)立地使輸出和輸入通信流量負(fù)載均衡,或者可以取決于某個其它因素、編組和/或條件,類似地使它們負(fù)載均衡。
      [0111]按照另一個實(shí)施例,可以利用能夠執(zhí)行這樣的計(jì)算機(jī)可讀程序代碼的處理器,從計(jì)算機(jī)程序產(chǎn)品執(zhí)行方法700。
      [0112]在另一個實(shí)施例中,方法700可由系統(tǒng)(比如服務(wù)器、NIC、具有疊加功能的NIC、網(wǎng)關(guān)、它們的某種組合等)執(zhí)行。
      [0113]按照例證實(shí)施例,在多個上行鏈路上使通信量負(fù)載均衡的系統(tǒng)包括用硬件實(shí)現(xiàn)的處理器,所述處理器適合于執(zhí)行邏輯部(比如,0?1--64、々31(:、微控制器等等),適合于接收ARP請求分組(廣播ARP請求分組或單播ARP請求分組)的邏輯部,適合于按照散列算法散列ARP請求分組的至少一部分以獲得散列值的邏輯部,適合于根據(jù)所述散列值從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中選擇上行鏈路的邏輯部,適合于把與選擇的上行鏈路對應(yīng)的MAC地址作為SMAC地址保存在對ARP請求分組的響應(yīng)中的邏輯部,和適合于在與選擇的上行鏈路對應(yīng)的MAC地址被保存為SMAC地址的情況下把所述響應(yīng)回送給ARP請求分組的信源的邏輯部。
      [0114]在另一個實(shí)施例中,其中當(dāng)ARP請求分組是單播的時,從ARP請求分組學(xué)習(xí)并保存關(guān)于ARP請求分組的信源的地址信息,以便隨后與所述信源通信。另外,當(dāng)ARP請求分組被廣播時,系統(tǒng)還可包括適合于生成單播ARP請求分組并把單播ARP請求分組發(fā)送給廣播ARP請求分組的信源的邏輯部,適合于接收來自廣播ARP請求分組的信源的響應(yīng)的邏輯部,所述響應(yīng)包括關(guān)于廣播ARP請求分組的信源的地址信息,和適合于學(xué)習(xí)并保存關(guān)于廣播ARP請求分組的信源的地址信息的邏輯部。此外,當(dāng)未收到來自廣播ARP請求分組的信源的響應(yīng)時,不從廣播ARP請求分組學(xué)習(xí)地址信息。
      [0115]在更多的途徑中,可用系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品實(shí)現(xiàn)這里描述的任何方法。系統(tǒng)可包括計(jì)算機(jī)可讀存儲介質(zhì)和適合于執(zhí)行期望的方法的邏輯部,所述邏輯部被保存到計(jì)算機(jī)可讀存儲介質(zhì)上。計(jì)算機(jī)程序產(chǎn)品可包括保存計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀程序代碼用來執(zhí)行期望的方法。
      [0116]盡管上面說明了各種實(shí)施例,不過應(yīng)明白這些實(shí)施例只是作出例子給出的,而不是對本發(fā)明的限制。從而,本發(fā)明的實(shí)施例的范圍不應(yīng)由任意上述例證實(shí)施例限制,相反只應(yīng)按照所附權(quán)利要求及其等同物限定。
      【權(quán)利要求】
      1.一種系統(tǒng),包括: 服務(wù)器,所述服務(wù)器包括: 適合于接收來自虛擬機(jī)VM的通信量的邏輯部,所述通信量包括至少一個分組; 適合于按照散列算法對所述至少一個分組的至少一部分進(jìn)行散列以獲得散列值的邏輯部;和 適合于根據(jù)散列值選擇上行鏈路的邏輯部; 至少一個加速網(wǎng)絡(luò)接口卡NIC,每個加速NIC包括: 多個網(wǎng)絡(luò)端口,其包括適合于與服務(wù)器和網(wǎng)絡(luò)通信的多個快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)PCIe端口,每個網(wǎng)絡(luò)端口包括上行鏈路; 適合于把所述至少一個分組封裝到疊加封裝分組中的邏輯部; 適合于把與選擇的上行鏈路對應(yīng)的媒體存取控制MAC地址作為信源MAC地址保存在疊加封裝分組的外部報頭中的邏輯部,其中信源MAC地址即SMAC地址;和適合于通過選擇的上行鏈路發(fā)送疊加封裝分組的邏輯部。
      2.按照權(quán)利要求1所述的系統(tǒng),其中選擇散列算法,以對應(yīng)于可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路。
      3.按照權(quán)利要求1所述的系統(tǒng),其中所述至少一個分組的報頭被散列。
      4.按照權(quán)利要求1所述的系統(tǒng),其中當(dāng)所述至少一個分組被疊加封裝時,所述至少一個分組的內(nèi)部 分組的報頭被散列。
      5.按照權(quán)利要求1所述的系統(tǒng),其中散列算法基于一個或多個參數(shù),所述一個或多個參數(shù)包括: 對應(yīng)于VM的虛擬端口 ; 內(nèi)部分組報頭SMAC地址; 內(nèi)部分組報頭目的地MAC地址,其中目的地MAC地址即DMAC地址; 內(nèi)部信源網(wǎng)際協(xié)議SIP地址;和 內(nèi)部目的地網(wǎng)際協(xié)議DIP地址。
      6.一種用于在服務(wù)器的接收側(cè)進(jìn)行負(fù)載均衡的方法,所述方法包括: 接收廣播地址解析協(xié)議ARP請求分組; 確定應(yīng)當(dāng)對廣播ARP請求分組作出響應(yīng); 按照散列算法對廣播ARP請求分組的至少一部分進(jìn)行散列,以獲得散列值; 根據(jù)所述散列值,從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中選擇上行鏈路;把與選擇的上行鏈路對應(yīng)的媒體存取控制MAC地址作為信源MAC地址保存在對廣播ARP請求分組的響應(yīng)中,其中信源MAC地址即SMAC地址;和 在與選擇的上行鏈路對應(yīng)的MAC地址被保存為SMAC地址的情況下,把所述響應(yīng)回送給廣播ARP請求分組的信源。
      7.按照權(quán)利要求6所述的方法,其中選擇散列算法,以對應(yīng)于可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路。
      8.按照權(quán)利要求6所述的方法,其中所述廣播ARP請求分組的報頭被散列。
      9.按照權(quán)利要求6所述的方法,其中當(dāng)所述廣播ARP請求分組被疊加封裝時,所述廣播ARP請求分組的內(nèi)部分組的報頭被散列。
      10.按照權(quán)利要求6所述的方法,其中散列算法基于一個或多個參數(shù),所述一個或多個參數(shù)包括: 與為其發(fā)起廣播ARP請求分組的虛擬機(jī)VM對應(yīng)的虛擬端口 ; 內(nèi)部分組報頭SMAC地址; 內(nèi)部分組報頭目的地MAC地址,其中目的地MAC地址即DMAC地址; 內(nèi)部信源網(wǎng)際協(xié)議SIP地址;和 內(nèi)部目的地網(wǎng)際協(xié)議DIP地址。
      11.按照權(quán)利要求6所述的方法,還包括: 生成單播ARP請求分組,并把單播ARP請求分組發(fā)送給廣播ARP請求分組的信源;接收來自廣播ARP請求分組的信源的響應(yīng),所述響應(yīng)包含關(guān)于廣播ARP請求分組的信源的地址信息;和 保存關(guān)于廣播ARP請求分組的信源的地址信息, 其中當(dāng)未收到來自廣播ARP請求分組的信源的響應(yīng)時,不從廣播ARP請求分組學(xué)習(xí)地址信息。
      12.按照權(quán)利要求6所述的方法,其中當(dāng)確定不應(yīng)當(dāng)對廣播ARP請求分組作出響應(yīng)時,不從廣播ARP請求分組學(xué)習(xí)地址信息。
      13.一種用于在多個上·行鏈路上對通信量進(jìn)行負(fù)載均衡的系統(tǒng),所述系統(tǒng)包括: 計(jì)算機(jī)可讀存儲介質(zhì);和 適合于執(zhí)行按照權(quán)利要求6所述的方法的邏輯部,所述邏輯部被保存到所述計(jì)算機(jī)可讀存儲介質(zhì)。
      14.一種用于在服務(wù)器的接收側(cè)進(jìn)行負(fù)載均衡的方法,所述方法包括: 接收單播地址解析協(xié)議ARP請求分組; 確定應(yīng)當(dāng)對單播ARP請求分組作出響應(yīng); 按照散列算法對單播ARP請求分組的至少一部分進(jìn)行散列,以獲得散列值; 根據(jù)所述散列值,從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中選擇上行鏈路;把與選擇的上行鏈路對應(yīng)的媒體存取控制MAC地址作為信源MAC地址保存在對單播ARP請求分組的響應(yīng)中,其中信源MAC地址即SMAC地址;和 在與選擇的上行鏈路對應(yīng)的MAC地址被保存為SMAC地址的情況下,把所述響應(yīng)回送給單播ARP請求分組的信源。
      15.按照權(quán)利要求14所述的方法,其中選擇散列算法,以對應(yīng)于可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路。
      16.按照權(quán)利要求14所述的方法,其中所述單播ARP請求分組的報頭被散列。
      17.按照權(quán)利要求14所述的方法,其中當(dāng)所述單播ARP請求分組被疊加封裝時,所述單播ARP請求分組的內(nèi)部分組的報頭被散列。
      18.按照權(quán)利要求14所述的方法,其中散列算法基于一個或多個參數(shù),所述一個或多個參數(shù)包括: 與為其發(fā)起單播ARP請求分組的虛擬機(jī)VM對應(yīng)的虛擬端口 ; 內(nèi)部分組報頭SMAC地址; 內(nèi)部分組報頭目的地MAC地址,其中目的地MAC地址即DMAC地址;內(nèi)部信源網(wǎng)際協(xié)議SIP地址;和 內(nèi)部目的地網(wǎng)際協(xié)議DIP地址。
      19.按照權(quán)利要求14所述的方法,其中當(dāng)確定不應(yīng)當(dāng)對廣播ARP請求分組作出響應(yīng)時,不從單播ARP請求分組學(xué)習(xí)地址信息。
      20.一種用于在多個上行鏈路上對通信量進(jìn)行負(fù)載均衡的系統(tǒng),所述系統(tǒng)包括: 計(jì)算機(jī)可讀存儲介質(zhì);和 適合于執(zhí)行按照權(quán)利要求14所述的方法的邏輯部,所述邏輯部被保存到所述計(jì)算機(jī)可讀存儲介質(zhì)。
      21.一種用于在多個上行鏈路上對通信量進(jìn)行負(fù)載均衡的方法,所述方法包括: 接收來自虛擬機(jī)VM的通信量,所述通信量包含至少一個分組; 按照散列算法,對所述至少一個分組的至少一部分進(jìn)行散列,以獲得散列值; 根據(jù)所述散列值,從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中,選擇上行鏈路; 把所述至少一個分組封裝在疊加封裝分組中; 把與選擇的上行鏈路對應(yīng)的媒體存取控制MAC地址作為信源MAC地址保存在疊加封裝分組的外部報頭中,其中信源MAC地址即SMAC地址;和通過選擇的上行鏈路,發(fā)送疊加封裝分組。
      22.按照權(quán)利要求21所述的方法,其中選擇散列算法,以對應(yīng)于可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路,其中所述至少一個分組的報頭被散列。
      23.按照權(quán)利要求21所述的方法,其中散列算法基于一個或多個參數(shù),所述一個或多個參數(shù)包括: 對應(yīng)于VM的虛擬端口 ; 內(nèi)部分組報頭SMAC地址; 內(nèi)部分組報頭目的地MAC地址,其中目的地MAC地址即DMAC地址; 內(nèi)部信源網(wǎng)際協(xié)議SIP地址;和 內(nèi)部目的地網(wǎng)際協(xié)議DIP地址。
      24.一種用于在多個上行鏈路上對通信量進(jìn)行負(fù)載均衡的系統(tǒng),所述系統(tǒng)包括: 用硬件實(shí)現(xiàn)的處理器,所述處理器適合于執(zhí)行邏輯部; 適合于接收地址解析協(xié)議ARP請求分組的邏輯部; 適合于按照散列算法對ARP請求分組的至少一部分進(jìn)行散列以獲得散列值的邏輯部;適合于根據(jù)所述散列值從可用于向網(wǎng)絡(luò)發(fā)送通信量的多個上行鏈路中選擇上行鏈路的邏輯部; 適合于把與選擇的上行鏈路對應(yīng)的媒體存取控制MAC地址作為信源MAC地址保存在對ARP請求分組的響應(yīng)中的邏輯部,其中信源MAC地址即SMAC地址;和 適合于在與選擇的上行鏈路對應(yīng)的MAC地址被保存為SMAC地址的情況下把所述響應(yīng)回送給ARP請求分組的信源的邏輯部。
      25.按照權(quán)利要求24所述的系統(tǒng), 其中當(dāng)ARP請求分組被單播時,關(guān)于單播ARP請求分組的信源的地址的信息從單播ARP請求分組中被學(xué)習(xí)并被保存用于隨后與所述信源通信,和其中當(dāng)ARP請求分組被廣播時,所述系統(tǒng)還包括:適合于生成單播ARP請求分組并把單播ARP請求分組發(fā)送給廣播ARP請求分組的信源的邏輯部; 適合于接收來自廣播ARP請求分組的信源的響應(yīng)的邏輯部,所述響應(yīng)包含關(guān)于廣播ARP請求分組的信源的地址信息;和 適合于學(xué)習(xí)并保存關(guān)于廣播ARP請求分組的信源的地址信息的邏輯部, 其中當(dāng)未收到來自廣播ARP請求分組的信源的響應(yīng)時,不從廣播ARP請求分組中學(xué)習(xí)地址 信息。
      【文檔編號】H04L12/803GK103595648SQ201310357302
      【公開日】2014年2月19日 申請日期:2013年8月16日 優(yōu)先權(quán)日:2012年8月17日
      【發(fā)明者】A·畢斯瓦, J·奇丹畢, S·拉賈戈帕蘭, 唐剛 申請人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1