用于以太網(wǎng)交換機(jī)的沒有查找表的第2層分組交換的制作方法
【專利摘要】在一個實施例中,一種系統(tǒng)包括至少一個處理器,其包括:被配置成接收針對為一個端口上的設(shè)備指派介質(zhì)接入控制(MAC)地址的請求的邏輯;被配置成至少部分地基于所述端口確定將為所述設(shè)備指派的MAC地址的邏輯;以及被配置成發(fā)送帶有MAC地址的針對所述請求的響應(yīng)的邏輯。在另一個實施例中,一種用于指派MAC地址的計算機(jī)程序產(chǎn)品包括其中具體實現(xiàn)有計算機(jī)可讀程序代碼的計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀程序代碼包括:被配置成在不使用查找表的情況下確定將為設(shè)備指派的MAC地址的計算機(jī)可讀程序代碼■’以及被配置成向設(shè)備發(fā)送MAC地址的計算機(jī)可讀程序代碼。根據(jù)更多實施例還給出了其他系統(tǒng)、方法和計算機(jī)程序產(chǎn)品。
【專利說明】用于以太網(wǎng)交換機(jī)的沒有查找表的第2層分組交換
【背景技術(shù)】
[0001] 本發(fā)明涉及數(shù)據(jù)中心基礎(chǔ)設(shè)施,更具體來說,本發(fā)明涉及能夠在不使用查找表的 情況下進(jìn)行第2層分組交換的以太網(wǎng)交換機(jī)。
[0002] 在分組交換網(wǎng)絡(luò)交換機(jī)中,通常對目的地介質(zhì)接入控制(MAC)地址或目的地互聯(lián) 網(wǎng)協(xié)議(IP)地址實施查找,以便發(fā)現(xiàn)用于轉(zhuǎn)發(fā)分組的交換設(shè)備的實際目的地端口。大多數(shù) 系統(tǒng)利用某種交換處理器來進(jìn)行這一確定,比如專用集成電路(ASIC)。所述交換處理器保 持用于實施查找解析的查找表,其在典型的網(wǎng)絡(luò)中可能相當(dāng)長,并且可能具有數(shù)以千計的 條目。所述查找表被存儲在芯片上或者被存儲在芯片外部。在任一種情況下,對于查找表 的使用都會對于芯片增加顯著的邏輯復(fù)雜度、空間和存儲器需求。這一附加的復(fù)雜度最終 會增加更多等待時間,并且使得芯片比起所期望的情況更加昂貴。因此,有益的是將能夠在 不使用查找表的情況下發(fā)現(xiàn)實際目的地端口。
【發(fā)明內(nèi)容】
[0003] 在一個實施例中,一種系統(tǒng)包括至少一個處理器,其包括:被配置成接收針對為一 個端口上的設(shè)備指派介質(zhì)接入控制(MAC)地址的請求的邏輯;被配置成至少部分地基于所 述端口確定將為所述設(shè)備指派的MAC地址的邏輯;
[0004] 以及被配置成發(fā)送帶有MAC地址的針對所述請求的響應(yīng)的邏輯。
[0005] 在另一個實施例中,一種用于指派MAC地址的計算機(jī)程序產(chǎn)品包括隨之具體實現(xiàn) 計算機(jī)可讀程序代碼的計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀程序代碼包括:被配置成在 不使用查找表的情況下確定將為設(shè)備指派的MAC地址的計算機(jī)可讀程序代碼;以及被配置 成向設(shè)備發(fā)送MAC地址的計算機(jī)可讀程序代碼。
[0006] 根據(jù)另一個實施例,一種用于指派MAC地址的方法包括:在交換設(shè)備的端口處接 收來自設(shè)備的針對MAC地址的請求;至少部分地基于所述端口確定將為所述設(shè)備指派的 MAC地址;以及利用所述MAC地址對所述請求做出響應(yīng)。
[0007] 在另一個實施例中,一種用于取回MAC地址的方法包括:向MAC分配服務(wù)器 (MAAS)發(fā)送針對MAC地址的請求;等待預(yù)定時間量以接收針對所述請求的響應(yīng),所述響應(yīng) 包括MAC地址;以及在所述預(yù)定時間量內(nèi)接收到針對所述請求的響應(yīng)時使用所述MAC地址。
[0008] 通過后面結(jié)合附圖做出的以舉例的方式說明本發(fā)明的原理的詳細(xì)描述,本發(fā)明的 其他方面和實施例將變得顯而易見。
【專利附圖】
【附圖說明】
[0009] 圖1示出了根據(jù)一個實施例的網(wǎng)絡(luò)架構(gòu)。
[0010] 圖2示出了根據(jù)一個實施例的可以與圖1的服務(wù)器和/或客戶端相關(guān)聯(lián)的代表性 硬件環(huán)境。
[0011] 圖3是根據(jù)一個實施例的交換設(shè)備的簡化圖示。
[0012] 圖4示出了根據(jù)一個實施例的介質(zhì)接入控制(MAC)地址分配表。
[0013] 圖5是根據(jù)一個實施例的方法的流程圖。
[0014] 圖6是根據(jù)另一個實施例的方法的流程圖。
【具體實施方式】
[0015] 后面的描述是為了說明本發(fā)明的一般原理,而不意圖限制這里所要求保護(hù)的發(fā)明 性概念。此外,這里所描述的特定特征可以與多種可能的組合和置換當(dāng)中的每一種組合和 置換中的其他所描述的特征組合使用。
[0016] 除非在這里明確地另行定義,否則應(yīng)當(dāng)為所有術(shù)語給出其所可能的最寬泛的解 釋,其中包括說明書所暗指的含義以及本領(lǐng)域技術(shù)人員所理解和/或如詞典、協(xié)定中所定 義的含義。
[0017] 還必須提到的是,除非另行表明,否則用在說明書和所附權(quán)利要求書中的單數(shù)形 式"一個"、"一項"和"所述"也包括復(fù)數(shù)的所指對象。
[0018] 在一種方法中,可以對于稱合到交換系統(tǒng)的遵循某一系統(tǒng)的設(shè)備確定介質(zhì)接入控 制(MAC)地址,其中每一個MAC地址在被應(yīng)用散列算法時對應(yīng)于特定散列數(shù)值,從而使得 每一個散列數(shù)值對應(yīng)于交換設(shè)備的一個端口,從而簡化并且改進(jìn)為設(shè)備指派MAC地址的方 式。
[0019] 在一個一般性實施例中,一種系統(tǒng)包括至少一個處理器,其包括:被配置成接收針 對為一個端口上的設(shè)備指派介質(zhì)接入控制(MAC)地址的請求的邏輯;被配置成至少部分地 基于所述端口確定將為所述設(shè)備指派的MAC地址的邏輯;以及被配置成發(fā)送帶有MAC地址 的針對所述請求的響應(yīng)的邏輯。
[0020] 在另一個一般性實施例中,一種用于指派MAC地址的計算機(jī)程序產(chǎn)品包括隨之具 體實現(xiàn)計算機(jī)可讀程序代碼的計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀程序代碼包括:被配 置成在不使用查找表的情況下確定將為設(shè)備指派的MAC地址的計算機(jī)可讀程序代碼;以及 被配置成向設(shè)備發(fā)送MAC地址的計算機(jī)可讀程序代碼。
[0021] 根據(jù)另一個一般性實施例,一種用于指派MAC地址的方法包括:在交換設(shè)備的端 口處接收來自設(shè)備的針對MAC地址的請求;至少部分地基于所述端口確定將為所述設(shè)備指 派的MAC地址;以及利用所述MAC地址對所述請求做出響應(yīng)。
[0022] 在另一個一般性實施例中,一種用于取回MAC地址的方法包括:向MAC分配服務(wù)器 (MAAS)發(fā)送針對MAC地址的請求;等待預(yù)定時間量以接收針對所述請求的響應(yīng),所述響應(yīng) 包括MAC地址;以及在所述預(yù)定時間量內(nèi)接收到針對所述請求的響應(yīng)時使用所述MAC地址。
[0023] 所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或計算 機(jī)程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、 完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實施方 式,這里可以統(tǒng)稱為"電路"、"模塊"或"系統(tǒng)"。此外,在一些實施例中,本發(fā)明的各個方面 還可以實現(xiàn)為在一個或多個計算機(jī)可讀介質(zhì)中的計算機(jī)程序產(chǎn)品的形式,該計算機(jī)可讀介 質(zhì)中包含計算機(jī)可讀的程序代碼。
[0024] 可以利用一個或多個計算機(jī)可讀介質(zhì)的任意組合。計算機(jī)可讀介質(zhì)可以是計算機(jī) 可讀信號介質(zhì)或者非瞬時性計算機(jī)可讀存儲介質(zhì)。非瞬時性計算機(jī)可讀存儲介質(zhì)例如可以 是--但不限于--電子、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或設(shè)備,或者任意以 上的組合。非瞬時性計算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計 算機(jī)盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM 或閃存)、便攜式緊湊盤只讀存儲器(⑶-ROM)、藍(lán)光盤只讀存儲器(BD-R0M)、光存儲設(shè)備、 磁存儲設(shè)備、或者上述的任意合適的組合。在本文件中,非瞬時性計算機(jī)可讀存儲介質(zhì)可以 是任何能夠包含或存儲程序或應(yīng)用的有形介質(zhì),該程序或應(yīng)用供指令執(zhí)行系統(tǒng)、裝置或者 設(shè)備使用或者與其結(jié)合使用。
[0025] 計算機(jī)可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號, 其中承載了計算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括--但 不限于--電磁信號、光信號或上述的任意合適的組合。計算機(jī)可讀的信號介質(zhì)還可以是 計算機(jī)可讀存儲介質(zhì)以外的任何計算機(jī)可讀介質(zhì),該計算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者 傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者設(shè)備使用或者與其結(jié)合使用的程序,比如具有一條或 多條連線的電連接、光纖等等。
[0026] 計算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括--但不限 于--無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0027] 可以以一種或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計算 機(jī)程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++ 等,還包括常規(guī)的過程式程序設(shè)計語言一諸如"C"語言或類似的程序設(shè)計語言。程序代碼可 以完全地在用戶計算機(jī)上執(zhí)行、部分地在用戶計算機(jī)上執(zhí)行、作為一個獨立的軟件包執(zhí)行、 部分在用戶計算機(jī)上部分在遠(yuǎn)程計算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計算機(jī)或服務(wù)器上執(zhí)行。 在涉及遠(yuǎn)程計算機(jī)的情形中,遠(yuǎn)程計算機(jī)可以通過任意種類的網(wǎng)絡(luò)--包括局域網(wǎng)(LAN) 存儲區(qū)域網(wǎng)(SAN)和/或廣域網(wǎng)(WAN)-連接到用戶計算機(jī),或者,可以連接到外部計算機(jī) (例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0028] 下面將參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機(jī)程序產(chǎn)品的流程圖 和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖 中各方框的組合,都可以由計算機(jī)程序指令實現(xiàn)。這些計算機(jī)程序指令可以提供給通用計 算機(jī)、專用計算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計 算機(jī)程序指令在通過計算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程 圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0029] 也可以把這些計算機(jī)程序指令存儲在計算機(jī)可讀介質(zhì)中,這些指令使得計算機(jī)、 其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲在計算機(jī)可讀介質(zhì)中的 指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令 的制造品(article of manufacture) 〇
[0030] 計算機(jī)程序指令還可以被加載到計算機(jī)、其他可編程數(shù)據(jù)處理裝置或者其他設(shè)備 上,從而使得在所述計算機(jī)、其他可編程裝置或其他設(shè)備上實施一系列操作步驟以產(chǎn)生計 算機(jī)實施的處理,從而使得在計算機(jī)或其他可編程裝置上執(zhí)行的指令提供用于實施在流程 圖和/或方框圖的一個或多個方框中規(guī)定的功能/動作的處理。
[0031] 圖1示出了根據(jù)一個實施例的網(wǎng)絡(luò)架構(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可以耦合在遠(yuǎn)程網(wǎng)絡(luò)102 與鄰近網(wǎng)絡(luò)108之間。在這一網(wǎng)絡(luò)架構(gòu)100的情境中,網(wǎng)絡(luò)104U06可以分別采取任何形 式,其中包括但不限于LAN、例如因特網(wǎng)之類的WAN、公共交換電話網(wǎng)(PSTN)、內(nèi)部電話網(wǎng)等 等。
[0032] 在使用中,網(wǎng)關(guān)101充當(dāng)從遠(yuǎn)程網(wǎng)絡(luò)102到鄰近網(wǎng)絡(luò)108的進(jìn)入點。因此,網(wǎng)關(guān)101 可以充當(dāng)能夠引導(dǎo)到達(dá)該網(wǎng)關(guān)101處的給定數(shù)據(jù)分組的路由器,以及對于給定分組布置進(jìn) 入和離開該網(wǎng)關(guān)101的實際路徑的交換機(jī)。
[0033] 此外還包括耦合到鄰近網(wǎng)絡(luò)108的至少一個數(shù)據(jù)服務(wù)器114,其可以從遠(yuǎn)程網(wǎng)絡(luò) 102經(jīng)由網(wǎng)關(guān)101訪問。應(yīng)當(dāng)提到的是,(多個)數(shù)據(jù)服務(wù)器114可以包括任何類型的計算 設(shè)備/群件。每一個數(shù)據(jù)服務(wù)器114耦合有多個用戶設(shè)備116。這樣的用戶設(shè)備116可以 包括臺式計算機(jī)、膝上型計算機(jī)、手持式計算機(jī)、打印機(jī)以及/或者任何其他類型的包含邏 輯的設(shè)備。應(yīng)當(dāng)提到的是,在某些實施例中,用戶設(shè)備111還可以直接耦合到任何網(wǎng)絡(luò)。
[0034] 一個外設(shè)120或一系列外設(shè)120可以耦合到一個或多個網(wǎng)絡(luò)104、106、108,所述外 設(shè)比如是傳真機(jī)、打印機(jī)、掃描儀、硬盤驅(qū)動器、聯(lián)網(wǎng)和/或本地存儲單元或系統(tǒng)等等。應(yīng)當(dāng) 提到的是,數(shù)據(jù)庫和/或附加的組件可以與耦合到網(wǎng)絡(luò)104、106、108的任何類型的網(wǎng)絡(luò)設(shè) 備一同使用或者被集成到其中。在本發(fā)明的描述的情境中,網(wǎng)絡(luò)元件可以指代網(wǎng)絡(luò)的任何 組件。
[0035] 根據(jù)某些方法,這里所描述的方法和系統(tǒng)可以利用虛擬系統(tǒng)和/或仿真一個或多 個其他系統(tǒng)的系統(tǒng)來實施以及/或者被實施在其上,比如仿真IBM z/OS環(huán)境的UNIX系統(tǒng)、 虛擬主機(jī)MICROSOFT WINDOWS 環(huán)境的 UNIX 系統(tǒng)、仿真 IBM z/OS 環(huán)境的 MICROSOFT WINDOWS 系統(tǒng)等等。在一些實施例中,通過使用VMWARE軟件可以增強(qiáng)這一虛擬化和/或仿真。
[0036] 在更多方法中,一個或多個網(wǎng)絡(luò)104、106、108可以代表被共同稱為"云"的系統(tǒng)群 集。在云計算中,通過按需關(guān)系為云中的任何系統(tǒng)提供例如處理能力、外設(shè)、軟件、數(shù)據(jù)、月艮 務(wù)器等共享資源,從而允許在許多計算系統(tǒng)之間訪問和分配服務(wù)。云計算通常涉及在云中 操作的系統(tǒng)之間的因特網(wǎng)連接,但是也可以采用本領(lǐng)域內(nèi)已知的其他連接系統(tǒng)的技術(shù)。
[0037] 圖2示出了根據(jù)一個實施例的與圖1的用戶設(shè)備116和/或服務(wù)器114相關(guān)聯(lián)的 代表性硬件環(huán)境。圖2示出了工作站的典型硬件配置,其具有中央處理單元(CPU) 210 (比 如微處理器)以及經(jīng)由一條或多條總線212互連的若干其他單元,所述總線根據(jù)幾個實施 例可以是不同類型,比如局部總線、并行總線、串行總線等等。
[0038] 圖2中所示出的工作站包括隨機(jī)存取存儲器(RAM) 214,只讀存儲器(ROM) 216,用 于把例如盤存儲單元220之類的外圍設(shè)備連接到一條或多條總線212的1/0適配器218,用 于把鍵盤224、鼠標(biāo)226、揚(yáng)聲器228、麥克風(fēng)232和/或例如觸摸屏、數(shù)字?jǐn)z影機(jī)(未示出) 等其他用戶接口設(shè)備連接到一條或多條總線212的用戶接口適配器222,用于把所述工作 站連接到通信網(wǎng)絡(luò)235 (例如數(shù)據(jù)處理網(wǎng)絡(luò))的通信適配器234,以及用于把一條或多條總 線212連接到顯示設(shè)備238的顯示適配器236。
[0039] 所述工作站上可以駐留有操作系統(tǒng),比如MICROSOFT WINDOWS操作系統(tǒng)(OS)、MAC 0S、UNIX 0S等等。應(yīng)當(dāng)認(rèn)識到,一個優(yōu)選實施例還可以被實施在所提到的之外的其他平臺 和操作系統(tǒng)。一個優(yōu)選實施例可以利用JAVA、XML、C和/或C++語言或其他編程語言連同 面向?qū)ο蟮木幊谭椒▉砭帉憽?梢允褂迷絹碓蕉嗟乇挥脕黹_發(fā)復(fù)雜應(yīng)用的面向?qū)ο蟮木幊?(00P)。
[0040] 當(dāng)前,IEEE向例如公司、教育機(jī)構(gòu)等組織指派MAC地址,其隨后按照需要在其(多 個)網(wǎng)絡(luò)上自由指派MAC地址。但是這一處理效率低下,并且存在大量等待時間和問題。舉 例來說,在以太網(wǎng)交換中,取決于存儲對于特定交換設(shè)備所獲知的所有MAC地址的MAC地址 表的尺寸,在對交換機(jī)進(jìn)行擴(kuò)展以用在不斷擴(kuò)張的網(wǎng)絡(luò)中時,在針對MAC地址解析的處理 能力和保持較低查找等待時間方面可能存在很大問題。
[0041] 為了克服與當(dāng)前使用的MAC編址協(xié)議相關(guān)聯(lián)的問題和等待時間,取代指派固定 MAC地址,可以在耦合到要求MAC地址的設(shè)備的交換設(shè)備引導(dǎo)(boot-up)時指派MAC地址。 這些MAC地址可以基于對算法分配的符合來確定。
[0042] 根據(jù)一個實施例,將把所接收到的分組交換到該處的目的地端口可以是目的地 MAC 地址的函數(shù),其可以被寫作 Dest_Port = F(Dest_MAC_Address, is_mirror, is_flow), 其中F表示函數(shù),Dest_Port是目的地端口,Dest_MAC_Address是由分組提供的目的地MAC 地址,is_mirror表示該分組是否被允許鏡像到多個端口,并且is_f low表示特殊操作和流 控制。is_mirror和is_flow對于分組交換不是必須的,但是在希望時可以使用。這樣,與 傳統(tǒng)方法相比,MAC地址分配被更加高效地實施并且所需的開銷處理更少。
[0043] 現(xiàn)在參照圖3,其中示出了根據(jù)一個實施例的系統(tǒng)300,比如交換設(shè)備。如圖所示, 系統(tǒng)300包括服務(wù)器,比如MAAS,其被適配成對于電耦合到系統(tǒng)300的設(shè)備304指派和管 理MAC地址。所述服務(wù)器可以是一個組件并且/或者由至少一個處理器306管理,比如用 于執(zhí)行邏輯的交換處理器。在一些實施例中,系統(tǒng)300還可以包括用于執(zhí)行邏輯的本地處 理器302,其電耦合到所述至少一個處理器306。對于本地處理器302和/或至少一個處理 器306可以使用本領(lǐng)域內(nèi)已知的任何類型的處理器,比如中央處理單元(CPU)、現(xiàn)場可編程 門陣列(FPGA)、集成電路(1C)、專用集成電路(ASIC)等等。在另一個實施例中,交換ASIC 和本地CPU都可以被包括在系統(tǒng)300中,其中交換ASIC管理交換操作,本地CPU管理MAC 地址分配操作。
[0044] 每一個變?yōu)樵诰€的新的主機(jī)、服務(wù)器或設(shè)備采集MAC地址以便與其他設(shè)備通信。 這從傳統(tǒng)方法來說是唯一的,其中設(shè)備的網(wǎng)絡(luò)接口卡(NIC)預(yù)先編程有MAC地址。在傳統(tǒng) 上,設(shè)備在引導(dǎo)時使用該MAC地址進(jìn)行通信。但是根據(jù)這里所描述的實施例,一種利用MAC 地址采集算法或MAC地址采集協(xié)議(MAAP)的MAC地址采集方法不再需要預(yù)先編程的MAC 地址,而是可以在某些方法中作為針對預(yù)先編程的MAC地址的補(bǔ)充來使用。
[0045] 根據(jù)一個實施例,所述至少一個處理器306包括或者可以訪問被配置成接收針對 為端口 308上的設(shè)備304指派MAC地址的請求的邏輯。所述請求可以由設(shè)備304發(fā)送,或 者可以源自網(wǎng)絡(luò)中或系統(tǒng)300中的其他地方。在該處接收到請求的端口 308被存儲或者以 其他方式被記住,從而使其可以被用來在將來發(fā)送去往設(shè)備304的所有外出通信量。所述 至少一個處理器306還包括或者可以訪問被配置成至少部分地基于所述端口確定將為設(shè) 備指派的MAC地址的邏輯,以及被配置成發(fā)送帶有MAC地址的針對所述請求的響應(yīng)的邏輯。
[0046] 在一個實施例中,所述至少一個處理器306還可以包括或者可以訪問被配置成創(chuàng) 建MAC地址分配表的邏輯。現(xiàn)在參照圖4, MAC地址分配表400可以包括多個散列數(shù)值402, 每一個散列數(shù)值402與一個端口 404和多個MAC地址406相關(guān)聯(lián)。在一種方法中,現(xiàn)在參 照圖3-4,對所述多個MAC地址406當(dāng)中的任一個應(yīng)用散列算法會得到相關(guān)聯(lián)的散列數(shù)值 402,從而存在一種為設(shè)備304指派MAC地址406的系統(tǒng)性方法,其中設(shè)備304請求對應(yīng)于 該設(shè)備304在其上耦合到系統(tǒng)300的端口 404的MAC地址406。
[0047] 在一種方法中,被配置成確定將為設(shè)備304a指派的MAC地址406a的邏輯可以包 括被配置成從MAC地址分配表400中選擇MAC地址406a的邏輯,從而使得對所選MAC地址 406a應(yīng)用散列算法會得到與耦合到設(shè)備304a的端口 404a相關(guān)聯(lián)的散列數(shù)值402a。
[0048] 在另一種方法中,被配置成從MAC地址分配表400中選擇MAC地址406a的邏輯包 括被配置成從多個可用MAC地址406當(dāng)中順序地或隨機(jī)地選擇下一個可用MAC地址406的 邏輯,其中可用MAC地址當(dāng)前未被分配給設(shè)備304。當(dāng)然,與此相反,不可用MAC地址當(dāng)前被 指派給設(shè)備304。
[0049] 在另一種方法中,所述邏輯還可以包括在從MAC地址分配表400中選擇MAC地址 406a時被配置成將MAC地址406a標(biāo)記為不可用的邏輯,這是通過將MAC地址406a從MAC 地址分配表400中去除并且將所述MAC地址添加到已使用MAC地址表(未示出,但是其將 類似于MAC地址分配表400,不同之處在于其將僅包括已指派MAC地址)中。在更多方法 中,所述邏輯還可以包括在設(shè)備304a釋放為之指派的MAC地址406a時被配置成將MAC地 址406a標(biāo)記為可用的邏輯,這是通過將MAC地址406a添加到MAC地址分配表400中并且 從已使用MAC地址表400中去除MAC地址406a。
[0050] 在另一個實施例中,所述邏輯可以被配置成在MAC地址分配表400中翻轉(zhuǎn)與MAC 地址406a相關(guān)聯(lián)的指示比特,從而表明MAC地址406a可用或不可用。
[0051] 根據(jù)各個實施例,所述散列算法可以包括本領(lǐng)域內(nèi)已知的任何完美或不完美 散列算法。在一種方法中,所述散列算法可以包括:H(DM) = (DM[0]*1X0R DM[1]*2X0R 0皿[2]*3父01?0厘[3]*4父(《0厘[4]*5父(《0厘[5]*6)]\?)0?,其中0厘是麻(:地址,!1(0厘)是麻(:地 址DM的所有六個字節(jié)的散列數(shù)值,并且P是系統(tǒng)300的物理端口 308的總數(shù)。
[0052] 在另一個實施例中,所述散列算法可以包括:H(DM) = (DM[0]*1X0R DM[1]*2. ..XOR DM[N-1]*N)M0D P,其中 DM 是 MAC 地址,H(DM)是 MAC 地址 DM 的散列數(shù)值, DM[N-1]是具有N個字節(jié)的MAC地址DM的一個字節(jié),并且P是物理端口總數(shù)。
[0053] 根據(jù)另一個實施例,可以在所述至少一個處理器306的啟動(start-up)處理期間 創(chuàng)建MAC地址分配表400。這一啟動處理可以是系統(tǒng)300引導(dǎo),或者是發(fā)生一次以便令各個 組件達(dá)到運轉(zhuǎn)速度的任何其他處理。
[0054] 在另一個實施例中,所述請求可以包括具有源地址的MAC地址采集協(xié)議(MAAP)分 組。在這種情況下,所述響應(yīng)可以包括經(jīng)過改動的所接收到的MAAP分組,從而使得經(jīng)過改 動的MAAP分組的目的地址被改變到所接收到的MAAP分組的源地址。這樣,通過源和目的 地地址之間的簡單切換,相同的MAAP分組可以被用于請求和響應(yīng)。
[0055] 現(xiàn)在參照圖5,其中示出了根據(jù)一個實施例的用于指派MAC地址的方法500的流程 圖。在各個實施例中,特別可以根據(jù)本發(fā)明在圖1-4所描繪的任何環(huán)境中實施方法500。當(dāng) 然,本領(lǐng)域技術(shù)人員通過閱讀本發(fā)明的描述將會理解的是,在方法500中可以包括比在圖5 中具體描述的那些操作更多或更少的操作。
[0056] 方法500的每一個步驟可以由操作環(huán)境的任何適當(dāng)組件實施。舉例來說,在一個 實施例中,方法500可以部分地或完全地由交換設(shè)備和/或交換設(shè)備的MAAS實施。
[0057] 如圖5中所示,方法500可以發(fā)起于操作502,其中在交換設(shè)備的一個端口處接收 來自設(shè)備的針對MAC地址的請求。正如這里所描述的那樣,在該處接收到請求的端口被存 儲以用于確定對應(yīng)于所述設(shè)備的MAC地址。
[0058] 在操作504中,至少部分地基于所述端口確定將為設(shè)備指派的MAC地址。
[0059] 在一種方法中,可以創(chuàng)建MAC地址分配表。MAC地址分配表可以包括多個散列數(shù) 值,每一個散列數(shù)值與對應(yīng)于多個MAC地址的一個端口相關(guān)聯(lián)。此外,對所述多個MAC地 址當(dāng)中的任一個應(yīng)用散列算法會得到相關(guān)聯(lián)的散列數(shù)值,其又與所述MAC地址的端口相關(guān) 聯(lián)。
[0060] 此外,在一個實施例中,MAAS可以使用從輸入文件提供到MAAS的預(yù)先定義的MAC 地址集合來建立MAC地址分配表。在這種情況下,MAAS響應(yīng)于接收到MAC地址分配協(xié)議 (MAAP)分組從MAC地址分配表中確定將為設(shè)備指派的MAC地址。
[0061] 在一個實施例中,所述散列算法可以是完美散列算法或不完美散列算法???以使用的一種此類完美散列算法是:H(DM) = (DM[0]*1X0R DM[1]*2X0R DM[2]*3X0R DM[3] *4X0R DM[4] *5X0R DM[5] *6) MOD P,其中 DM 是 MAC 地址,H (DM)是 MAC 地址 DM 的所 有六個字節(jié)的散列數(shù)值,并且P是交換設(shè)備的物理端口的總數(shù)。
[0062] 根據(jù)另一個實施例,所述散列算法可以包括H(DM) = (DM[0]*1X0R DM[1]*2. . . X0R DM[N-1]*N)M0D P,其中DM是MAC地址,H(DM)是MAC地址DM的散列數(shù)值,DM[N-1]是具有 N個字節(jié)的MAC地址DM的一個字節(jié),并且P是端口總數(shù)。
[0063] 在某些方法中,如果接收到來自設(shè)備的分組并且對MAC地址應(yīng)用散列算法沒有得 到交換設(shè)備的適當(dāng)端口,例如目的地MAC地址并非由MAAP提供,則可以使用常規(guī)查找算法 來找到目的地端口。隨后可以將所述分組轉(zhuǎn)發(fā)到目的地端口。為了識別出并非由MAAS利 用MAAP提供的MAC地址,可以比較MAC地址的全球唯一標(biāo)識符(UUID)字段的范圍。MAAP 在特定預(yù)先編程的范圍內(nèi)分配MAC地址。
[0064] 在一種方法中,可以在交換設(shè)備的啟動處理期間(比如在引導(dǎo)期間)創(chuàng)建MAC地 址分配表。此外,MAC地址分配可以是列表、關(guān)聯(lián)、文件或者某種其他手段,其允許將一個或 多個MAC地址與單一端口和單一散列數(shù)值相關(guān)聯(lián)。
[0065] 在另一種方法中,方法500還可以包括從MAC地址分配表中選擇MAC地址,從而使 得對所選MAC地址應(yīng)用散列算法會得到與耦合到所述設(shè)備的交換設(shè)備的端口相關(guān)聯(lián)的散 列數(shù)值。舉例來說,如果設(shè)備連接到交換設(shè)備的端口 4,則對為所述設(shè)備選擇的MAC地址應(yīng) 用散列算法會得到與端口 4相關(guān)聯(lián)的散列數(shù)值。所述散列數(shù)值可以是4,或者可以是在指派 散列到該特定散列數(shù)值的MAC地址之前與交換設(shè)備的所述端口相關(guān)聯(lián)的任何其他數(shù)字。
[0066] 在另一種方法中,從MAC地址分配表中選擇MAC地址可以包括從多個可用MAC地 址當(dāng)中順序地或隨機(jī)地選擇下一個可用MAC地址??捎肕AC地址是當(dāng)前未被指派給設(shè)備的 MAC地址,不可用MAC地址則是當(dāng)前被指派給設(shè)備的MAC地址。
[0067] 在另一個實施例中,方法500可以包括在從MAC地址分配表中選擇MAC地址時, 將所述MAC地址標(biāo)記為不可用,或者將所述MAC地址從MAC地址分配表中去除并且將所述 MAC地址添加到已使用MAC地址表中。此外,在設(shè)備釋放為之指派的MAC地址時,可以將所 述MAC地址添加到MAC地址分配表中并且從已使用MAC地址中去除,或者可以將所述MAC 地址標(biāo)記為可用。當(dāng)然,在另一些實施例中可以使用全部兩個單獨的分配表和標(biāo)記。
[0068] 在另一種方法中,所述標(biāo)記可以包括翻轉(zhuǎn)MAC地址分配表中的與MAC地址相關(guān)聯(lián) 的指示比特,或者本領(lǐng)域內(nèi)已知的對表中的條目進(jìn)行標(biāo)記的任何方法。
[0069] 在操作506中,利用MAC地址對所述請求做出響應(yīng)。可以使用包括MAC地址的任 何響應(yīng),比如以太網(wǎng)分組。在一種此類情況中,所述請求可以包括具有源地址的MAAP分組。 在這種情況下,所述響應(yīng)可以包括經(jīng)過改動的所接收到的MAAP分組,從而使得經(jīng)過改動的 MAAP分組的目的地地址被改變到所接收到的MAAP分組的源地址。這樣,通過源和目的地地 址之間的簡單切換,相同的MAAP分組可以被用于請求和響應(yīng)。
[0070] 根據(jù)一個實施例,在引導(dǎo)時,可以利用D-MAC = 01:00:5e:00:00:xx、S-MAC = NIC MAC地址以及EtherType = OxFFFF或OxXXXX來形成分組,其中XX或xx尚未被定義,但是 可以由網(wǎng)絡(luò)管理員確定并且在配置時間為主機(jī)操作系統(tǒng)給出。因此,這些數(shù)值可以是為全 部兩個實體所知的任何數(shù)值。
[0071] 隨后,在所連接的NIC端口上向MAAS發(fā)送出以太網(wǎng)分組(優(yōu)選地是MAAP分組), 其可以是交換設(shè)備的一部分。接下來,交換設(shè)備在該交換設(shè)備的其中一個端口上接收所述 分組。相應(yīng)地,MAAP請求分組連同源端口信息被發(fā)送到本地MAAS。此時,本地MAAS運行地 址分配算法,并且確定對應(yīng)于主機(jī)操作系統(tǒng)的MAC地址H-MAC。
[0072] 在一種方法中,所述地址分配算法可以包括提取出在其上接收到MAAP請求的交 換機(jī)端口號"P",并且利用控制軟件將該端口傳遞到MAAS。隨后對MAC地址分配表進(jìn)行解 析,并且確定第一可用(未分配)MAC地址。該地址隨后被添加到MAAP分組中,并且所述地 址被標(biāo)記為不可用(已分配)。
[0073] 接下來,MAAS通過把H-MAC地址寫入到MAAP分組中并且把目的地地址改變到原 始MAAP請求的原始源地址而改動MAAP分組。所述分組被發(fā)送出源端口。發(fā)出請求的主機(jī) 操作系統(tǒng)在預(yù)定等待時間(t_wait)接收到響應(yīng)MAAP分組,并且隨后開始將H-MAC用作其 所有未來通信的源MAC地址。
[0074] 如果MAAP響應(yīng)沒有在等待時間(t_wait)內(nèi)到達(dá),則主機(jī)操作系統(tǒng)可以重試所述 處理兩次或更多次。在所述重試沒有接收到響應(yīng)之后,主機(jī)操作系統(tǒng)開始利用預(yù)先編程的 NIC MAC地址作為其所有未來通信的源MAC地址。
[0075] 根據(jù)大多數(shù)實施例,這里所描述的方法和系統(tǒng)可以被初始化在平坦第2層網(wǎng)絡(luò) 上,其中所有的主機(jī)、設(shè)備或服務(wù)器都被指派相同子網(wǎng)的IP地址。
[0076] 現(xiàn)在參照圖6,其中示出了根據(jù)一個實施例的用于取回MAC地址的方法600的流程 圖。在各個實施例中,特別可以根據(jù)本發(fā)明在圖1-4所描繪的任何環(huán)境中實施方法600。當(dāng) 然,本領(lǐng)域技術(shù)人員通過閱讀本發(fā)明的描述將會理解的是,在方法600中可以包括比在圖6 中具體描述的那些操作更多或更少的操作。
[0077] 方法600的每一個步驟可以由操作環(huán)境的任何適當(dāng)組件實施。舉例來說,在一個 實施例中,方法600可以部分地或完全地由交換設(shè)備和/或交換設(shè)備的MAAS實施。
[0078] 如圖6中所示,方法600可以發(fā)起于操作602,其中向MAAS發(fā)送針對MAC地址的請 求。在一種方法中,所述請求可以是MAAP分組。
[0079] 在操作604中,等待針對請求的響應(yīng)。如果在預(yù)定時間量期間沒有接收到針對所 述請求的響應(yīng),則可以采取其他行動。
[0080] 在操作606中,當(dāng)在預(yù)定時間量內(nèi)接收到針對請求的響應(yīng)時,使用MAC地址。所述 響應(yīng)包括MAC地址,并且在接收到MAC地址之后,由最初發(fā)送請求的設(shè)備或者耦合到該設(shè)備 的某一其他設(shè)備使用所述MAC地址。
[0081] 在一個實施例中,當(dāng)在預(yù)定時間量期間沒有接收到針對請求的響應(yīng)時,發(fā)送針對 MAC地址的請求的設(shè)備可以使用預(yù)先編程的MAC地址。根據(jù)一種方法,該MAC地址在制造時 被預(yù)先編程到設(shè)備中。
[0082] 根據(jù)這里給出的實施例和方法,可以在不使用查找表的情況下做出交換決定,這 是因為網(wǎng)絡(luò)中的每一個設(shè)備具有對應(yīng)于交換設(shè)備的目的地端口的MAC地址。此外,這樣提 供了極快的交換算法并且提供了非常低的等待時間。其還通過簡化交換邏輯大大縮短了直 通(cut-through)等待時間并且降低了成本。
[0083] 雖然前面描述了各個實施例,但是應(yīng)當(dāng)理解的是其僅僅是作為實例而非限制給出 的。因此,本發(fā)明的實施例的寬度和范圍不應(yīng)當(dāng)受限于任何前面所描述的示例性實施例,而 是應(yīng)當(dāng)僅根據(jù)所附權(quán)利要求書及其等效表述來限定。
【權(quán)利要求】
1. 一種包括至少一個處理器的系統(tǒng),其中,所述至少一個處理器包括: 被配置成接收針對為端口上的設(shè)備指派介質(zhì)接入控制MAC地址的請求的邏輯; 被配置成至少部分地基于所述端口確定將為所述設(shè)備指派的MAC地址的邏輯;以及 被配置成發(fā)送帶有MAC地址的針對所述請求的響應(yīng)的邏輯。
2. 如權(quán)利要求1所述的系統(tǒng),還包括被配置成創(chuàng)建MAC地址分配表的邏輯, 其中,所述MAC地址分配表包括多個散列數(shù)值,每一個散列數(shù)值與一個端口和多個MAC 地址相關(guān)聯(lián),其中對于所述多個MAC地址當(dāng)中的任一個應(yīng)用散列算法會得到相關(guān)聯(lián)的散列 數(shù)值。
3. 如權(quán)利要求2所述的系統(tǒng),其中,被配置成為設(shè)備指派MAC地址的邏輯包括被配置成 從MAC地址分配表中選擇MAC地址的邏輯,從而使得對所選MAC地址應(yīng)用散列算法會得到 與耦合到所述設(shè)備的端口相關(guān)聯(lián)的散列數(shù)值。
4. 如權(quán)利要求3所述的系統(tǒng),其中,被配置成從MAC地址分配表中選擇MAC地址的邏輯 包括被配置成從多個可用MAC地址當(dāng)中順序地或隨機(jī)地選擇下一個可用MAC地址的邏輯, 其中可用MAC地址當(dāng)前未被指派給設(shè)備。
5. 如權(quán)利要求4所述的系統(tǒng),其還包括: 在從MAC地址分配表中選擇MAC地址時,通過將所述MAC地址從MAC地址分配表中去 除并且將所述MAC地址添加到已使用MAC地址表中,或者通過在MAC地址分配表中翻轉(zhuǎn)與 所述MAC地址相關(guān)聯(lián)的指示比特而被配置成將所述MAC地址標(biāo)記為不可用的邏輯;以及 在設(shè)備釋放為其指派的MAC地址時,通過將所述MAC地址添加到MAC地址分配表中并 且從已使用MAC地址表中去除所述MAC地址,或者通過在MAC地址分配表中翻轉(zhuǎn)與所述MAC 地址相關(guān)聯(lián)的指示比特而被配置成將所述MAC地址標(biāo)記為可用的邏輯。
6. 如權(quán)利要求3所述的系統(tǒng),其中,所述散列算法是:H(DM) = (DM[0]*1X0R DM[1]*2X0R DM[2]*3X0R DM[3]*4X0R DM[4]*5X0R DM[5]*6)M0D P,其中 DM 是 MAC 地址, H(DM)是MAC地址DM的所有六個字節(jié)的散列數(shù)值,并且P是系統(tǒng)的端口總數(shù)。
7. 如權(quán)利要求2所述的系統(tǒng),其中,在所述至少一個處理器的啟動處理期間創(chuàng)建MAC地 址分配表,并且其中所述散列算法包括:H(DM) = (DM[0]*1X0R DM[1]*2. ..XOR DM[N-1]*N) MOD P,其中DM是MAC地址,H(DM)是MAC地址DM的散列數(shù)值,DM[N-1]是具有N個字節(jié)的 MAC地址DM的字節(jié),并且P是端口總數(shù)。
8. 如權(quán)利要求1所述的系統(tǒng),其中,所述請求包括具有源地址的MAC地址采集協(xié)議 MAAP分組,并且其中所述響應(yīng)包括經(jīng)過改動的所接收到的MAAP分組,從而使得經(jīng)過改動的 MAAP分組的目的地址被改變到所接收到的MAAP分組的源地址。
9. 一種用于指派介質(zhì)接入控制MAC地址的計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括 其中具體實現(xiàn)有計算機(jī)可讀程序代碼的計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀程序代碼包 括: 被配置成在不使用查找表的情況下確定將為設(shè)備指派的MAC地址的計算機(jī)可讀程序 代碼;以及 被配置成向設(shè)備發(fā)送MAC地址的計算機(jī)可讀程序代碼。
10. 如權(quán)利要求9所述的計算機(jī)程序產(chǎn)品,還包括: 被配置成創(chuàng)建MAC地址分配表的計算機(jī)可讀程序代碼,其中所述MAC地址分配表包括 多個散列數(shù)值,每一個散列數(shù)值與對應(yīng)于多個MAC地址的端口相關(guān)聯(lián),對所述多個MAC地址 當(dāng)中的任一個應(yīng)用散列算法會得到相關(guān)聯(lián)的散列數(shù)值;以及 被配置成從MAC地址分配表中的多個MAC地址當(dāng)中選擇MAC地址的計算機(jī)可讀程序代 碼,從而使得對所選MAC地址應(yīng)用散列算法會得到與耦合到所述設(shè)備的端口相關(guān)聯(lián)的散列 數(shù)值。
11. 如權(quán)利要求10所述的計算機(jī)程序產(chǎn)品,還包括,在從MAC地址分配表中選擇MAC地 址時,被配置成將所述MAC地址標(biāo)記為不可用的計算機(jī)可讀程序代碼,或者被配置成將所 述MAC地址從MAC地址分配表中去除并且將所述MAC地址添加到已使用MAC地址表中的計 算機(jī)可讀程序代碼,其中不可用MAC地址當(dāng)前被指派給設(shè)備。
12. 如權(quán)利要求11所述的計算機(jī)程序產(chǎn)品,還包括在設(shè)備釋放為其指派的MAC地址 時: 被配置成將所述MAC地址添加到MAC地址分配表中并且從已使用MAC地址表中去除所 述MAC地址的計算機(jī)可讀程序代碼;或者 被配置成將所述MAC地址標(biāo)記為可用的計算機(jī)可讀程序代碼。
13. 如權(quán)利要求12所述的計算機(jī)程序產(chǎn)品,其中,被配置成將MAC地址標(biāo)記為可用的計 算機(jī)可讀程序代碼包括被配置成在MAC地址分配表中翻轉(zhuǎn)與所述MAC地址相關(guān)聯(lián)的指示比 特的邏輯。
14. 如權(quán)利要求10所述的計算機(jī)程序產(chǎn)品,其中,所述散列算法是:H(DM)= (DM[0]*1X0R DM[l]*2XOR DM[2]*3XOR DM[3]*4XOR DM[4]*5XOR DM[5]*6)MOD P,其中 DM 是MAC地址,H (DM)是MAC地址DM的所有六個字節(jié)的散列數(shù)值,并且P是端口總數(shù)。
15. 如權(quán)利要求10所述的計算機(jī)程序產(chǎn)品,其中,在啟動處理期間創(chuàng)建MAC地址分配 表,并且所述散列算法包括:H(DM) = (DM[0]*1X0R DM[1]*2. . .XOR DM[N-l]*N)MOD P,其中 DM是MAC地址,H(DM)是MAC地址DM的散列數(shù)值,DM[N-1]是具有N個字節(jié)的MAC地址DM 的字節(jié),并且P是端口總數(shù)。
16. -種用于指派介質(zhì)接入控制MAC地址的方法,所述方法包括: 在交換設(shè)備的端口處接收來自設(shè)備的針對MAC地址的請求; 至少部分地基于所述端口確定將為所述設(shè)備指派的MAC地址;以及 利用所述MAC地址對所述請求做出響應(yīng)。
17. 如權(quán)利要求16所述的方法,還包括創(chuàng)建MAC地址分配表,其中所述MAC地址分配表 包括多個散列數(shù)值,每一個散列數(shù)值與對應(yīng)于多個MAC地址的端口相關(guān)聯(lián),對所述多個MAC 地址當(dāng)中的任一個應(yīng)用散列算法會得到相關(guān)聯(lián)的散列數(shù)值。
18. 如權(quán)利要求17所述的方法,其中,MAC地址分配服務(wù)器MAAS使用從輸入文件提供 到MAAS的預(yù)先定義的MAC地址集合來建立MAC地址分配表,其中MAAS響應(yīng)于接收到MAC 地址分配協(xié)議MAAP分組從MAC地址分配表中確定將為設(shè)備指派的MAC地址。
19. 如權(quán)利要求17所述的方法,其中,確定將為設(shè)備指派的MAC地址包括從MAC地址分 配表中選擇所述MAC地址,從而使得對所選MAC地址應(yīng)用散列算法會得到與耦合到所述設(shè) 備的交換設(shè)備的端口相關(guān)聯(lián)的散列數(shù)值。
20. 如權(quán)利要求18所述的方法,其中,從MAC地址分配表中選擇MAC地址包括從多個可 用MAC地址當(dāng)中順序地或隨機(jī)地選擇下一個可用MAC地址,其中可用MAC地址是當(dāng)前未被 指派給設(shè)備的MAC地址。
21. 如權(quán)利要求18所述的方法,其還包括: 在從MAC地址分配表中選擇MAC地址時,將所述MAC地址標(biāo)記為不可用或者從MAC地 址分配表中去除所述MAC地址并且將所述MAC地址添加到已使用MAC地址表中;以及 在設(shè)備釋放為其指派的MAC地址時,將所述MAC地址添加到MAC地址分配表中并且從 已使用MAC地址表中去除所述MAC地址或者將所述MAC地址標(biāo)記為可用。
22. 如權(quán)利要求18所述的方法,其中,所述散列算法是:H (DM) = (DM [0] *1X0R DM[l]*2XOR DM[2]*3XOR DM[3]*4XOR DM[4]*5XOR DM[5]*6)MOD P,其中 DM 是 MAC 地址, H(DM)是MAC地址DM的所有六個字節(jié)的散列數(shù)值,并且P是交換設(shè)備的端口總數(shù)。
23. 如權(quán)利要求17所述的方法,其中,在所述交換設(shè)備的啟動處理期間創(chuàng)建MAC地址分 配表,并且所述散列算法包括:H(DM) = (DM[0]*1X0R DM[1]*2. ..XOR DM[N-l]*N)MOD P,其 中DM是MAC地址,H(DM)是MAC地址DM的散列數(shù)值,DM[N-1]是具有N個字節(jié)的MAC地址 DM的字節(jié),并且P是端口總數(shù)。
24. -種用于取回介質(zhì)接入控制MAC地址的方法,所述方法包括: 向MAC分配服務(wù)器MAAS發(fā)送針對MAC地址的請求; 等待預(yù)定時間量以接收針對所述請求的響應(yīng),其中所述響應(yīng)包括MAC地址;以及 在所述預(yù)定時間量內(nèi)接收到針對所述請求的響應(yīng)時使用所述MAC地址。
25. 如權(quán)利要求24所述的方法,其還包括在所述預(yù)定時間量內(nèi)未接收到響應(yīng)時使用預(yù) 先編程的MAC地址。
【文檔編號】H04L12/28GK104221331SQ201380017811
【公開日】2014年12月17日 申請日期:2013年3月19日 優(yōu)先權(quán)日:2012年4月3日
【發(fā)明者】K·G·坎博, V·潘德伊, 呂達(dá)人, S·安南薩拉姆, N·馬克杰 申請人:國際商業(yè)機(jī)器公司