TWI381682B - 網路交通之智慧型負載平衡及故障復原 - Google Patents

網路交通之智慧型負載平衡及故障復原 Download PDF

Info

Publication number
TWI381682B
TWI381682B TW097118238A TW97118238A TWI381682B TW I381682 B TWI381682 B TW I381682B TW 097118238 A TW097118238 A TW 097118238A TW 97118238 A TW97118238 A TW 97118238A TW I381682 B TWI381682 B TW I381682B
Authority
TW
Taiwan
Prior art keywords
nic
address
computing device
network
request packet
Prior art date
Application number
TW097118238A
Other languages
English (en)
Other versions
TW200910840A (en
Inventor
Ayaz Abdulla
Norman K Chen
Anand Rajagopalan
Ashutosh K Jha
Hemamalini Manickavasagam
Sameer Nanda
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of TW200910840A publication Critical patent/TW200910840A/zh
Application granted granted Critical
Publication of TWI381682B publication Critical patent/TWI381682B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2542Translation of Internet protocol [IP] addresses involving dual-stack hosts

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

網路交通之智慧型負載平衡及故障復原
本發明之實施例大致係關於網路通信,且更具體而言,係關於一種用於使用雜湊引擎對網路交通進行智慧型負載平衡及故障復原之系統及方法。
效能及可靠性是對現代電腦網路之關鍵要求。當新網路連接於包含複數個網路介面卡("NIC")之計算裝置上起始時,作業系統通常為該連接選擇NIC,而不考慮每一NIC之利用率或錯誤率。此類環境之一個劣勢在於,新連接通常被指派至過載且/或不可靠之NIC,從而導致用於新連接且可能用於選定NIC上之其他現存連接之網路效能降低。
一些先前技術解決方案試圖藉由維護含有"連接狀態"之複雜資料結構而避免將新連接指派至過載且/或不可靠之NIC。分析此資料結構使得網路裝置驅動程式可判定哪些NIC過載且/或不可靠。然而,此連接狀態之結構無助於有效地識別已向每一連接指派哪一NIC,或有效地將連接自過載或不可靠NIC重新分配至完全起作用之NIC。另外,維護或分析此連接狀態在計算上較為昂貴,此可能使計算裝置之計算及網路效能降級。
如前面所說明,此項技術中需要一種更有效之用於在計算裝置中之NIC上分配及再分配網路連接之技術。
本發明之一個實施例陳述一種用於智慧型地將網路連接 轉移至網路介面卡(NIC)以接收網路交通之方法。該方法包含:截取由作業系統產生之位址解析協定(ARP)回應封包,其中該ARP回應封包具有與第一NIC相關聯之第一媒體存取控制(MAC)位址,該第一NIC已經被作業系統選擇用於接收與網路連接有關之網路交通;對ARP回應封包進行解碼;藉由向雜湊函數提供經解碼之ARP回應封包中所包含之一或多個網路參數而產生與第二NIC相關聯之第二MAC位址;以及用第二MAC位址代替ARP回應封包中之第一MAC位址。
所揭示之方法之一個優勢在於,其允許網路連接使用雜湊引擎在計算裝置中之多個NIC上智慧型地轉移。可使用連接轉移執行負載平衡、故障復原或故障恢復功能。以此方式,可更容易地避免藉由過載或不可靠之NIC來執行網路連接,從而改良總體網路效能。
因此,為了可更詳細瞭解本發明之上述特徵,可參考實施例對上文簡要概述之本發明進行更具體之描述,該實施例中之一些實施例在附圖中說明。然而,應注意,附圖只說明本發明之典型實施例,且因此不應被視為限制本發明之範疇,因為本發明可承認其他同等有效之實施例。
可藉由使用截取、修改及重新引導自計算裝置中之作業系統傳輸至網路上之遠端計算裝置之封包,而實現計算裝置中之多個NIC之間之網路連接的智慧型負載平衡及故障復原。可藉由在位址解析協定("ARP")回應封包由作業系 統傳輸至遠端計算裝置時截取該ARP回應封包,而對用於連接之接收交通進行負載平衡或故障復原。在被繼續發送至遠端計算裝置之前,所截取之ARP回應封包經修改以包含被網路驅動程式選擇用於接收用於連接之交通之NIC的MAC位址。此修改導致來自遠端計算裝置之接收交通到達由網路驅動程式選擇之NIC,而不是到達由作業系統選擇之NIC。
類似地,可藉由在標準傳輸封包由作業系統傳輸至遠端計算裝置時截取該標準傳輸封包,而對用於連接之傳輸交通進行負載平衡或故障復原。在被發送至遠端計算裝置上之前,被截取之傳輸封包經修改以包含由網路驅動程式選擇用於傳輸用於連接之交通之NIC的MAC位址。此修改導致傳輸交通藉由由網路驅動程式選擇之NIC而非藉由由作業系統選擇之NIC發送至遠端計算裝置。
圖1A至圖1C說明可實施本發明之一或多個態樣之計算裝置100。計算裝置100可為桌上型電腦、伺服器、膝上型電腦、掌上型電腦、個人數位助理、寫字板電腦、遊戲控制台、蜂巢式電話或處理資訊之任何其他類型的類似裝置。如圖所示,計算裝置100包含主記憶體102、記憶體控制器104、微處理器106、I/O控制器108及NIC 110、116。NIC 110包含硬體卸載引擎("HOE")112,且NIC 116包含HOE 118。HOE 112及118包含經組態以用於處理與計算裝置100及已經被選擇性地卸載至NIC 110、116之一或多個遠端網路計算裝置(未圖示)之間之網路連接相關聯之網路 訊框的邏輯。與習知做法一樣,藉由用HOE 112及118處理網路訊框(有時稱為"在硬體中處理連接"),而非在主機軟體傳輸控制協定及網際網路協定("TCP/IP")堆疊中執行彼等處理功能(有時稱為"在軟體中處理連接"),可實質上減少NIC 110、116與微處理器106之間之通信,及由微處理器106執行之計算。
記憶體控制器104耦合至主記憶體102,且耦合至微處理器106,且I/O控制器108耦合至微處理器106及NIC 110、116。在本發明之一個實施例中,微處理器106藉由將命令或資料寫入至I/O控制器108中而向NIC 110、116傳輸命令或資料。一旦此類命令或資料被寫入至I/O控制器108中,I/O控制器108便視情況將該等命令或資料翻譯成目標NIC可理解之格式,且將該等命令或資料傳送至該目標NIC。同樣地,NIC 110,116藉由將命令或資料寫入至I/O控制器108中而向微處理器106傳輸命令或資料,且I/O控制器108視情況將該等命令或資料翻譯成微處理器106可理解之格式,且將該等命令或資料傳送至微處理器106。前面提及之耦合可實施為記憶體匯流排或I/O匯流排,諸如PCITM 匯流排或其任一組合,或否則可以任何其他技術上可行之方式實施。
如圖1B中更詳細展示,主記憶體102包含作業系統122及軟體驅動程式124。軟體驅動程式124包含負載平衡及故障復原("LBFO")模組126及TCP/IP堆疊130。LBFO模組125跟蹤每一NIC之網路狀態(諸如每一NIC之鏈接狀態,每一 NIC上之發送及接收錯誤之數目及/或每一NIC是否發送及接收保持有效之封包),且在網路連接於計算裝置100內,自一個NIC移動至另一NIC時與TCP/IP堆疊130通信。LBFO模組126包含雜湊引擎128,其基於前面提及之每一NIC之網路狀態,智慧型地判定應如何在計算裝置100中之不同之起作用的NIC上分配網路連接。
如圖1C中更詳細展示,雜湊引擎128包含傳輸雜湊表138及接收雜湊表140。傳輸雜湊表138之目的為基於由LBFO模組126向傳輸雜湊表138提供之資料,在計算裝置100內選擇用於傳輸與網路連接有關之封包之起作用的NIC。傳輸雜湊表138包含複數個雜湊表項目(諸如,雜湊表項目134)及軟體雜湊函數(未圖示)。另外,每一雜湊表項目包含表索引(諸如,表索引132)及表值(諸如,表值136)。LBFO模組126引導雜湊引擎128藉由將TCP/IP連接資料傳送至雜湊引擎128而於計算裝置100內選擇傳輸NIC,該雜湊引擎128將TCP/IP連接資料傳送至傳輸雜湊表138中之軟體雜湊函數。作為回應,軟體雜湊函數基於該TCP/IP連接資料而在傳輸雜湊表138內選擇表索引。自此選定之表索引中,傳輸雜湊表138識別對應之表值,且雜湊引擎128將識別出之表值傳送回至LBFO模組126。若對應之表值無效,則雜湊引擎128基於計算裝置100中之所有NIC之NIC利用率及NIC錯誤率資料的經加權之組合(如由LBFO模組126維護),而為連接選擇NIC,且雜湊引擎128將選定NIC之MAC位址儲存於對應於當前表索引之表值中。由於軟體 雜湊函數之設計及操作為熟習此項技術者所熟知,所以本文將不會論述此等問題。在一個實施例中,LBFO模組126將以下四個TCP/IP資料傳送至雜湊引擎128:用戶端網際網路協定("IP")位址、伺服器IP埠、用戶端IP埠及虛設局域網識別符("VLAN ID")。在其他實施例中,LBFO模組126可將任何技術上可行之TCP/IP參數傳送至雜湊引擎128。
接收雜湊表140之目的為基於由LBFO模組126向接收雜湊表140提供之資料,在計算裝置100內選擇用於接收與網路連接有關之封包的起作用之NIC。類似於傳輸雜湊表138,接收雜湊表140包含複數個雜湊表項目及軟體雜湊函數(未圖示),且每一雜湊表項目包含表索引及表值。同樣,LBFO模組126藉由將TCP/IP連接資料傳送至雜湊引擎128而引導雜湊引擎128在計算裝置100內選擇接收NIC,該雜湊引擎128將TCP/IP連接資料傳送至接收雜湊表140中之軟體雜湊函數。作為回應,軟體雜湊函數基於該TCP/IP連接資料而在接收雜湊表140內選擇表索引。自此選定之表索引中,接收雜湊表140識別對應之表值,且雜湊引擎128將識別出之表值傳送回至LBFO模組126。同樣,若對應之表值無效,則雜湊引擎128基於計算裝置100中之所有NIC之NIC利用率及NIC錯誤率資料之經加權的組合(如由LBFO模組126維護),而為連接選擇NIC,且雜湊引擎128將選定NIC之MAC位址儲存於對應於當前表索引之表值中。在一個實施例中,LBFO模組126傳送至雜湊引擎128之TCP/IP 資料包含伺服器IP位址。在其他實施例中,LBFO模組126可將任何技術上可行之TCP/IP資料傳送至雜湊引擎128。
重要的在於,雜湊引擎128之結構有效地支持在執行負載平衡、故障復原或故障恢復操作時,將連接自一個NIC轉移至另一個NIC。舉例而言,在一個實施例中,若第一NIC過載,且LBFO模組126希望將第一NIC上之一些連接轉移至第二NIC,則雜湊引擎128可使雜湊表值含有過載之第一NIC之MAC位址的雜湊表項目失效。如下文在圖2之論述中更詳細地描述,使雜湊表項目失效導致雜湊引擎128選擇第二NIC作為對應於失效之雜湊表項目之新的用於連接之NIC,且將第二NIC之MAC位址儲存於雜湊表項目中。在對雜湊表值之此改變之後,雜湊表索引對應於經修改之雜湊表值的所有連接皆將藉由第二NIC通信。
另外,雜湊引擎128之結構有效地支持將連接自一個NIC故障復原至另一NIC。舉例而言,在一個實施例中,若第一NIC已經失效或已經變得不可靠,且LBFO模組126希望將第一NIC上之連接轉移至第二NIC,則雜湊引擎128可使雜湊表值包含失效或不可靠之NIC之MAC位址的所有雜湊表項目失效。同樣,如下文在圖2中所述,使雜湊表項目失效導致雜湊引擎128選擇第二NIC作為對應於失效的雜湊表項目之新的用於連接之NIC,且雜湊表128將第二NIC之MAC位址儲存於彼等雜湊表項目中。一旦已經用第二NIC之MAC位址覆寫包含失效或不可靠之NIC之MAC位址的所有雜湊表值,第一NIC上之所有連接皆已經故障復原至第 二NIC。在2007年5月18日申請且序號為11/750,903且代理人案號為NVDA/P001880之題為"負載平衡網路環境下之智慧型故障復原"("Intelligent Failover In a Load-Balanced Networking Environment")之相關美國專利申請案中描述了關於LBFO模組126在故障復原期間之功能性的更多細節。此相關專利申請案以引用之方式併入本文中。
另外,雜湊引擎128之結構有效地支持連接自一個NIC故障恢復至另一NIC。舉例而言,在一個實施例中,若LBFO模組126已經使一些連接自第一NIC故障復原至第二NIC,且第一NIC隨後變得完全起作用,則LBFO模組126可使一些或所有故障復原之連接故障恢復至第一NIC。在一個實施例中,LBFO模組126可藉由更新對應於選定之經故障復原之連接的雜湊表值而對選定之連接進行故障恢復,以儲存第一NIC而非第二NIC之MAC位址。一旦已經用第一NIC之MAC位址覆寫包含第二NIC之MAC位址的雜湊表值,對應於經覆寫之雜湊表值之連接便已經故障恢復至第一NIC。在2007年5月18日申請之序號為11/750,914且代理人案號為NVDA/P001882之題為"負載平衡網路環境下之智慧型故障恢復"("Intelligent Failback In a Load-Balanced Networking Environment")之相關美國專利申請案中描述了關於LBFO模組126在故障恢復期間之功能性的更多細節。此相關專利申請案以引用之方式併入本文中。
基於前面提及之對負載平衡及故障復原/故障恢復之論述,本發明可經組態以在四種模式下操作,每一模式有效 地解決不同操作環境之需要。於第一操作模式下,使用雜湊引擎128轉移連接,以在不依賴於交換器之網路環境(即,將計算裝置100之NIC耦合至外部網路之交換器不在802.3ad模式下操作之網路環境)下執行負載平衡及故障復原/故障恢復。在此實施例中,下文所描述之圖3及圖4之方法使用雜湊引擎128識別用於轉移連接以分別接收交通及傳輸交通的NIC。而且,此識別可作為負載平衡之一部分而執行,或作為將連接故障復原至可靠NIC之一部分而執行。重要的在於,用於連接之接收交通及傳輸交通可利用不同之NIC,除非該連接被卸載,該卸載將導致單個NIC處理用於被卸載之連接的接收交通及傳輸交通,如下文更詳細地描述。
於第二操作模式下,雜湊引擎128用於轉移連接以於不依賴於交換器之網路環境下對傳輸交通執行負載平衡,但不用於對接收交通執行負載平衡。重要的是,在此操作模式下,雜湊引擎128不用於轉移連接以執行故障復原或故障恢復。因此,雜湊引擎128可為連接上之傳輸交通選擇NIC,且可隨後修改該選擇以對傳輸交通進行負載平衡,但藉由作業系統所選擇之NIC而處理用於連接之接收交通。同樣,用於連接之接收交通及傳輸交通可利用不同之NIC,除非該連接被卸載,該卸載將導致由作業系統選擇之NIC處理用於被卸載之連接的接收交通及傳輸交通,如下文更詳細地描述。
在第三操作模式下,雜湊引擎128用於轉移連接以在不 依賴於交換器之網路環境下執行故障復原及故障恢復,但不執行負載平衡。由於在此實施例中,雜湊引擎128不轉移連接以執行負載平衡,所以由作業系統122選擇用於在該連接上傳輸交通及接收交通之NIC被維持。另外,LBFO模組126可引導雜湊引擎128在NIC出現故障或變得不可靠時對網路交通進行故障復原,且引導雜湊引擎128在NIC回到完全起作用之狀態時對交通進行故障恢復。
在第四操作模式下,雜湊引擎128用於轉移連接以在依賴於交換器之網路環境(即,將計算裝置100之NIC耦合至外部網路之交換器在802.3ad模式下操作之網路環境)下執行傳輸交通而不是接收交通之負載平衡及故障復原/故障恢復。重要的是,在依賴於交換器之網路環境下,交換器選擇計算裝置100中之哪一NIC接收用於連接之交通。因此,雜湊引擎128不執行接收交通之負載平衡或故障復原/故障恢復,但雜湊引擎128可對傳輸交通進行負載平衡,且LBFO模組126可引導雜湊引擎128對傳輸交通進行故障復原/故障恢復。然而,同樣,若網路連接被卸載在被交換器選擇用於接收用於連接之交通的NIC上,則雜湊引擎128選擇同一NIC來傳輸用於該連接之交通,如下文進一步詳細描述。
圖2說明根據本發明一個實施例的用於基於向雜湊函數提供之參數而自雜湊表中選擇MAC位址之方法步驟200的流程圖。儘管參考計算裝置100描述該方法,但熟習此項技術者將瞭解,經組態而以任何次序執行該方法步驟之任 何系統皆在本發明之範疇內。
如圖所示,用於自雜湊引擎128中之雜湊表中選擇MAC位址的方法開始於步驟202,其中該雜湊表內之雜湊函數根據由該雜湊函數接收到之參數而判定雜湊表索引。由於用於建立及使用雜湊函數以基於向雜湊函數提供之參數而為該雜湊表編索引的方法為熟習此項技術者所熟知,本文將不論述此等方法。應注意,傳輸雜湊函數接收到之參數(其作用在於為傳輸雜湊表138編索引)可能不同於接收雜湊函數接收到之參數(其作用在於為接收雜湊表140編索引)。在本發明之一個實施例中,接收雜湊函數接收遠端計算裝置之IP位址,作為用於為接收雜湊表140編索引之參數。另外,若在網路環境下利用VLAN技術,則傳輸雜湊函數接收遠端計算裝置之IP位址,用於遠端計算裝置之TCP埠、用於計算裝置100之TCP埠,以及VLAN ID,作為用於為傳輸雜湊表138編索引之參數。在本發明之其他實施例中,接收雜湊函數及傳輸雜湊函數可分別接收任何技術上可行之用於為接收雜湊表140及傳輸雜湊表138編索引的參數。
在步驟204中,雜湊引擎128讀取對應於在步驟202中識別出之雜湊表索引之雜湊表項目。在步驟206中,雜湊引擎128判定在步驟204中讀取之雜湊表項目是否有效。若於步驟206中雜湊表項目有效,則方法繼續至步驟208,其中雜湊引擎128選擇儲存於被索引之雜湊表項目中之MAC位址。在步驟216中,雜湊引擎128將所選之MAC位址返回至 LBFO模組126,且該方法終止。
若在步驟206中,在步驟204中讀取之雜湊表項目無效,則該方法繼續至步驟210,其中雜湊引擎128識別適合傳送網路交通之NIC。在一實施例中,當NIC之利用率(作為該NIC之傳輸能力或接收能力之百分比)低於計算裝置100中之其他NIC之利用率時,認為該NIC適合傳送網路交通。在另一實施例中,當NIC之錯誤率低於計算裝置100中之其他NIC之錯誤率時,認為該NIC適合傳送網路交通。在又一實施例中,NIC之利用率及錯誤率之經加權的組合(相對於計算裝置100中之其他NIC之利用率及錯誤率之經加權的組合)可用於判定NIC是否適合傳送網路交通。在步驟212中,雜湊引擎128選擇步驟210中經識別之合適之NIC的MAC位址。在步驟214中,雜湊引擎128將所選之MAC位址儲存在對應於步驟202中經識別之雜湊表索引的雜湊表項目中。
圖3A及圖3B說明根據本發明一個實施例的用於將連接轉移至被雜湊引擎128選擇用於接收網路交通之NIC之方法步驟300的流程圖。儘管參考計算裝置100描述了該方法,但熟習此項技術者將瞭解,經組態而以任何次序執行該方法步驟之任何系統皆在本發明之範疇內。
如圖所示,該用於轉移連接之方法開始於步驟302,其中作業系統122收聽來自遠端計算裝置(未圖示)之ARP請求封包。當遠端計算裝置起始連接以將資料傳輸至計算裝置100時,遠端計算裝置藉由向耦合至區域網路之計算裝置 發送包含計算裝置100之IP位址的ARP請求封包,而請求計算裝置100之MAC位址。計算裝置100藉由發送包含計算裝置100之MAC位址的ARP回應封包而回應ARP請求封包。在接收到ARP回應封包且對其解碼之後,遠端計算裝置立即可使用自ARP回應封包解碼之MAC位址向區域計算裝置100傳輸封包。由於該用於交換ARP請求封包與ARP回應封包的方法為熟習此項技術者所數字,所以本文將不論述此等方法。在步驟304中,作業系統122判定在步驟302中是否接收到ARP請求封包。若作業系統122發現未接收到ARP請求封包,則方法返回至步驟302,其中作業系統122繼續收聽ARP請求封包。
然而,若在步驟304中作業系統122發現接收到ARP請求封包,則方法繼續到步驟306至310,其中作業系統122回應於接收到ARP請求封包而產生ARP回應封包。在步驟306中,作業系統122識別將藉由其接收用於連接之交通的NIC。僅出於論述之目的,假定作業系統122選擇NIC 110作為用於接收交通的NIC。在步驟308中,作業系統122產生ARP回應封包,其包含NIC 110之MAC位址。在步驟310中,作業系統122向NIC 110發送ARP回應封包。
在步驟312中,LBFO模組126截取自作業系統122發送至NIC 110之ARP回應封包。而且,LBFO模組126經組態以截取自作業系統122發送至由計算裝置100中之作業系統122選擇之NIC的ARP回應封包,且修改此等ARP回應封包之MAC位址。如下文所陳述,修改ARP回應封包以反映由 雜湊引擎128選擇之NIC之MAC位址允許LBFO模組126(而非作業系統122)控制哪一NIC接收來自遠端計算裝置之封包。因此,併入至ARP回應封包中之由雜湊引擎128作出之智慧型NIC選擇導致在由LBFO模組126選擇之NIC而非在另一較不有利之NIC上接收對應的連接。
在步驟314中,LBFO模組126將截取之ARP回應封包解碼成複數個組成部分,其中包含ARP回應封包送交至的遠端計算裝置之IP位址。在步驟315中,LBFO模組126判定與ARP回應封包有關之連接是否存在且已經被卸載至常,駐於接收NIC上之硬體卸載引擎。若LBFO模組126發現該連接不存在,或該連接存在但沒有卸載至常駐於接收NIC上之硬體卸載引擎,則該方法繼續至步驟316,其中雜湊引擎128選擇MAC位址。此選擇基於LBFO模組126將遠端計算裝置之IP位址作為參數傳遞至雜湊引擎128,如先前上文在圖2中所描述。
在步驟318中,LBFO模組126用選定之MAC位址代替經解碼之ARP回應封包中由作業系統122選擇的MAC位址。在步驟320中,LBFO模組126對選定之MAC位址及經解碼之ARP回應封包之其餘組成部分編碼,以形成ARP回應封包。在步驟322中,LBFO模組將ARP回應封包傳輸至遠端計算裝置,且該方法終止。在一個實施例中,藉由對應於選定MAC位址之NIC傳輸ARP回應封包。
現返回至步驟315,若LBFO模組126發現與被截取之ARP回應封包有關之連接存在且已經被卸載至常駐於接收 NIC上之硬體卸載引擎,則該方法繼續至步驟317。在步驟317中,雜湊引擎128在繼續進行到修改ARP回應封包、對該封包編碼且傳輸該封包(如先前上文在步驟318至322中所描述)之前,選擇接收NIC之MAC位址。
圖4A及圖4B說明根據本發明一個實施例的用於將連接轉移至由雜湊引擎128選擇用於傳輸網路交通之NIC之方法步驟400的流程圖。儘管參考計算裝置100描述該方法,但熟習此項技術者將瞭解,經組態以用任何次序執行該方法步驟之任何系統皆在本發明之範疇內。
如圖所示,該用於轉移連接之方法開始於步驟402,其中作業系統122建立傳輸封包,其包含由作業系統122選擇之NIC的MAC位址。舉例而言,應用程式可請求作業系統122建立傳輸封包,作為計算裝置100與遠端計算裝置(未圖示)之間正在進行之通信的一部分。僅出於論述之目的,假定作業系統122選擇NIC 110將傳輸封包發送至遠端計算裝置。
在步驟404中,作業系統122將在步驟402中建立之傳輸封包發送至NIC 110。在步驟406中,LBFO模組126截取自作業系統122發送至NIC 110之傳輸封包。如本文先前所論述,LBFO模組126經組態以截取自作業系統122發送至由計算裝置100中之作業系統122選擇之NIC的傳輸封包,且修改被截取之傳輸封包之MAC位址。同樣,修改傳輸封包以反映由雜湊引擎128選擇之NIC之MAC位址允許LBFO模組126(而非作業系統122)控制哪一NIC發送來自遠端計算 裝置之傳輸封包。因此,由雜湊引擎128進行之智慧型NIC選擇導致在由LBFO模組126選擇之NIC上而非在另一較不有利之NIC上傳輸封包。
在步驟408中,LBFO模組126對來自步驟406之傳輸封包解碼,以識別傳輸封包之一或多個TCP/IP參數。在步驟410中,LBFO模組126判定對應於該傳輸封包之連接是否已經卸載至常駐於接收NIC上之硬體卸載引擎。同樣,若連接已經被卸載至常駐於接收NIC上之硬體卸載引擎,則用於該連接之封包有利地自常駐於接收NIC上之硬體卸載引擎而非自不同NIC上之軟體傳輸。因此,若對應於傳輸封包之連接已經被卸載至常駐於接收NIC上之硬體卸載引擎,則在步驟412中,雜湊引擎128選擇接收NIC之MAC位址作為傳輸MAC位址。
在步驟416中,LBFO模組126用傳輸MAC位址代替經解碼之源MAC位址,以形成經修改之經解碼封包。在步驟418中,LBFO模組126將經修改之經解碼封包編碼成傳輸封包。在步驟420中,LBFO模組126藉由對應於傳輸MAC位址之NIC將傳輸封包傳送至遠端計算裝置。
現返回至步驟410,若對應於傳輸封包之連接尚未被卸載至常駐於接收NIC上之硬體卸載引擎,則方法繼續至步驟414。在步驟414中,雜湊引擎128使用在步驟408中自傳輸封包解碼之TCP/IP參數而自傳輸雜湊表138中選擇傳輸MAC位址,如上文在圖2中所述。該方法接著繼續進行至步驟416至420,如上文所述。
圖5說明根據本發明一個實施例的用於將現存連接卸載至由雜湊引擎128選擇之NIC之方法步驟500的流程圖。儘管參考計算裝置100來描述該方法,但熟習此項技術者將瞭解,經組態以用任何次序執行該方法步驟之任何系統皆在本發明之範疇內。
如圖所示,該用於卸載現存連接之方法開始於步驟502,其中軟體驅動程式124起始卸載現存連接之操作。軟體驅動程式124可在作業系統122之請求下或基於由軟體驅動程式124執行之某些處理操作而起始卸載操作。軟體驅動程式124可(諸如)判定現存連接為將由硬體卸載引擎較佳處理之高流量連接。
在步驟504中,LBFO模組126詢問雜湊引擎128以選擇新NIC以接收與該連接相關聯之網路交通。在步驟506中,雜湊引擎128使用接收雜湊表140來判定應選擇計算裝置100內之哪一NIC及硬體卸載引擎來接收與該連接相關聯之網路交通。選定之NIC及硬體卸載引擎可(諸如)正運載最小平均負載、具有最小數目之被卸載連接,或可連接至最可靠之實體鏈路。在步驟508中,LBFO模組126將接收NIC卸載至選定NIC及硬體卸載引擎。
圖6說明根據本發明一個實施例的用於使用虛設網際網路協定位址而執行位址解析協定(ARP)請求之方法步驟600的流程圖。儘管參考計算裝置100描述該方法,但熟習此項技術者將瞭解,經組態以用任何次序執行該方法步驟之任何系統皆在本發明的範疇內。
如圖所示,該用於執行位址解析協定請求之方法開始於步驟602,其中作業系統122建立ARP請求封包,其包含由作業系統122選擇用於接收與被建立之連接及計算裝置100之IP位址相關聯的網路交通之NIC的MAC位址。可手動或藉由自動化之技術(諸如工業標準動態主機組態協定(DHCP))將IP位址指派至計算裝置100。MAC位址可對應於由作業系統122認出之預設或首要NIC。在步驟604中,作業系統122將ARP請求封包發送至選定NIC。
在步驟606中,LBFO模組126在ARP請求封包被提供至選定NIC以供傳輸之前截取該ARP請求。在步驟608中,LBFO模組126用由LBFO模組126選擇之虛設IP位址代替計算裝置100之IP位址,從而產生經修改之ARP請求封包。該虛設IP位址應為網路內未經映射之IP位址。舉例而言,在具有在自10.1.1.0至10.1.1.255之範圍內的IP位址之網路中,一個IP位址(諸如10.1.1.254)可由網路管理員保留作為虛設IP位址。在此實例中,接收ARP請求封包之裝置可用新的MAC位址更新用於虛設IP位址之區域ARP快取記憶體項目,從而避免破壞用於計算裝置100之IP位址的快取記憶體項目。可藉由任何技術上可行之構件(包含手動組態)建立虛設IP位址以供LBFO模組126使用。在步驟610中,LBFO模組126藉由選定NIC將經修改之ARP請求封包廣播至與計算裝置100附接至同一個網路之一或多個遠端計算裝置。
圖6之方法允許LBFO模組126在不涉及作業系統122之情 況下管理多個NIC上之ARP請求過程。另外,該方法可用於避免破壞由接收經修改之ARP請求封包的遠端計算裝置維持之ARP快取記憶體。
所揭示之系統及方法之一個優勢在於,其允許使用雜湊引擎在計算裝置中之多個NIC上智慧型地轉移網路連接。可使用連接轉移執行負載平衡、故障復原或故障恢復功能。以此方式,可能更容易避免藉由過載或不可靠之NIC來執行網路連接,從而改良總體網路效能。另一優勢是使用雜湊引擎來管理連接對於相應NIC之連接指派允許有效地判定哪一NIC正處理每一連接,同時避免管理連接狀態之複雜且計算上昂貴之過程。
雖然前述內容是針對本發明之實施例,但可在不脫離本發明之基本範疇之情況下,設計本發明之其他及進一步實施例。舉例而言,可在硬體或軟體中或在硬體與軟體之組合中實施本發明之態樣。本發明之一個實施例可實施為用於與電腦系統一起使用之程式產品。該程式產品之程式定義該實施例(包含本文所述之方法)的功能,且可包含在多種電腦可讀儲存媒體上。說明性電腦可讀儲存媒體包含(但不限於):(i)上面可永久儲存有資訊之非可寫儲存媒體(諸如,電腦內之唯讀記憶體裝置,諸如可由CD-ROM驅動器讀取之CD-ROM碟、快閃記憶體、ROM芯片或任何類型之固態非揮發性半導體記憶體);及(ii)上面儲存有可更改之資訊之可寫儲存媒體(諸如,磁碟驅動器內之軟碟,或硬碟驅動器,或任何類型之固態隨機存取半導體記憶 體)。此類電腦可讀儲存媒體在運載指導本發明之功能的電腦可讀指令時為本發明之實施例。因此,本發明之範疇由以下申請專利範圍確定。
102‧‧‧主記憶體
104‧‧‧記憶體控制器
106‧‧‧微處理器
108‧‧‧I/O控制器
110、116‧‧‧NIC
112‧‧‧硬體卸載引擎
118‧‧‧硬體卸載引擎
122‧‧‧作業系統
124‧‧‧軟體驅動程式
126‧‧‧LBFO模組
128‧‧‧雜湊引擎
130‧‧‧TCP/IP堆疊
132‧‧‧表索引
134‧‧‧雜湊表項目
136‧‧‧表值
138‧‧‧傳輸雜湊表
140‧‧‧接收雜湊表
圖1A至圖1C說明可實施本發明之一或多個態樣之計算裝置;以及圖2說明根據本發明一個實施例的用於基於向雜湊函數提供之參數自雜湊表中選擇MAC位址之方法步驟的流程圖。
圖3A及圖3B說明根據本發明一個實施例的用於將連接轉移至被雜湊引擎選擇用於接收網路交通之NIC之方法步驟的流程圖;以及圖4A及圖4B說明根據本發明一個實施例的用於將連接轉移至被雜湊引擎選擇用於傳輸網路交通之NIC之方法步驟的流程圖。
圖5說明根據本發明一個實施例的用於將現存連接卸載至由雜湊引擎選擇之NIC之方法步驟的流程圖。
圖6說明根據本發明一個實施例的用於使用虛設網際網路協定位址來執行位址解析協定請求之方法步驟的流程圖。
(無元件符號說明)

Claims (16)

  1. 一種用於建立一避免位址解析協定(ARP)快取記憶體破壞之網路連接之方法,該方法包括:截取正傳輸至一第一網路介面卡(NIC)之一ARP請求封包,其中該ARP請求封包包含一第一媒體存取控制(MAC)位址及一第一網際網路協定(IP)位址;用一虛設IP位址代替該第一IP位址,以產生一經修改之ARP請求封包;以及將該經修改之ARP請求封包廣播至一或多個遠端計算裝置。
  2. 如請求項1之方法,進一步包括建立該ARP請求封包及將該ARP請求封包傳輸至該第一NIC之步驟。
  3. 如請求項2之方法,其中一主機作業系統建立該ARP請求封包,且傳輸該ARP請求封包。
  4. 如請求項1之方法,其中一網路驅動程式內之一負載平衡故障復原模組截取該ARP請求封包,且用該虛設IP位址代替該第一IP位址。
  5. 如請求項1之方法,其中該第一IP位址包括一主機計算裝置之一IP位址。
  6. 如請求項5之方法,其中該虛設IP位址包括一包含該主機計算裝置之網路中之一未經映射的IP位址。
  7. 如請求項1之方法,其中該第一MAC位址包括由一主機作業系統選擇,以接收一與該網路連接相關聯之網路交通之一NIC的 MAC位址。
  8. 如請求項1之方法,其中該第一NIC包含於一計算裝置,且更包含對該計算裝置中的所有NIC,維持NIC的利用率和錯誤率之資料的步驟。
  9. 如請求項8之方法,其中該第一MAC位址關聯於該第一NIC,且更包含於該計算裝置中選擇與一第二MAC位址相關的一第二NIC的步驟,其中基於該計算裝置中的所有NIC的利用率和錯誤率的一權重,選擇該第二NIC。
  10. 一種包含指令之電腦可讀媒體,該等指令由一處理器執行時,使該處理器藉由執行以下步驟而建立一避免位址解析協定(ARP)快取記憶體破壞之網路連接:截取正傳輸至一第一網路介面卡(NIC)之一ARP請求封包,其中該ARP請求封包包含一第一媒體存取控制(MAC)位址及一第一網際網路協定(IP)位址;用一虛設IP位址代替該第一IP位址,以產生一經修改之ARP請求封包;以及將該經修改之ARP請求封包廣播至一或多個遠端計算裝置。
  11. 如請求項10之電腦可讀媒體,其中該電腦可讀媒體包括一網路驅動程式內之一負載平衡故障復原模組。
  12. 如請求項10之電腦可讀媒體,其中該第一IP位址包括一主機計算裝置之一IP位址。
  13. 如請求項12之電腦可讀媒體,其中該虛設IP位址包括一包含該主機計算裝置之一網路中之一未經映射的IP位址。
  14. 如請求項10之電腦可讀媒體,其中該第一MAC位址包括由一主機作業系統選擇,以接收一與該網路連接相關聯之網路交通之一NIC的MAC位址。
  15. 如請求項10之電腦可讀媒體,其中該第一NIC包含於一計算裝置,且更包含對該計算裝置中的所有NIC,維持NIC的利用率和錯誤率之資料的步驟。
  16. 如請求項10之電腦可讀媒體,其中該第一MAC位址關聯於該第一NIC,且更包含於該計算裝置中選擇與一第二MAC位址相關的一第二NIC的步驟,其中基於該計算裝置中的所有NIC的利用率和錯誤率的一權重,選擇該第二NIC。
TW097118238A 2007-05-18 2008-05-16 網路交通之智慧型負載平衡及故障復原 TWI381682B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/750,987 US8300647B2 (en) 2007-05-18 2007-05-18 Intelligent load balancing and failover of network traffic

Publications (2)

Publication Number Publication Date
TW200910840A TW200910840A (en) 2009-03-01
TWI381682B true TWI381682B (zh) 2013-01-01

Family

ID=40027406

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097118238A TWI381682B (zh) 2007-05-18 2008-05-16 網路交通之智慧型負載平衡及故障復原

Country Status (5)

Country Link
US (1) US8300647B2 (zh)
JP (1) JP4722157B2 (zh)
KR (1) KR100989488B1 (zh)
CN (1) CN101394400B (zh)
TW (1) TWI381682B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990431B2 (en) 2009-05-05 2015-03-24 Citrix Systems, Inc. Systems and methods for identifying a processor from a plurality of processors to provide symmetrical request and response processing
US8391174B2 (en) 2010-07-13 2013-03-05 Hewlett-Packard Development Company, L.P. Data packet routing
CN102131239B (zh) * 2010-10-27 2013-10-02 华为技术有限公司 业务处理单元和方法以及业务控制网关和负载均衡方法
US9300491B2 (en) 2011-02-11 2016-03-29 Qualcomm Incorporated Frame delivery path selection in hybrid communication networks
US9025603B2 (en) 2011-03-08 2015-05-05 Qualcomm Incorporated Addressing scheme for hybrid communication networks
US8694618B2 (en) 2011-04-13 2014-04-08 Microsoft Corporation Maximizing data transfer through multiple network devices
US8627412B2 (en) 2011-04-14 2014-01-07 Microsoft Corporation Transparent database connection reconnect
US8594096B2 (en) * 2011-10-31 2013-11-26 Hewlett-Packard Development Company, L.P. Dynamic hardware address assignment to network devices in a switch mesh
US9172557B2 (en) 2012-08-17 2015-10-27 International Business Machines Corporation Load balancing overlay network traffic using a teamed set of network interface cards
US10102028B2 (en) 2013-03-12 2018-10-16 Sas Institute Inc. Delivery acknowledgment in event stream processing
CN103491007B (zh) * 2013-09-13 2017-01-04 新浪网技术(中国)有限公司 一种数据包传输方法及装置
US9122651B1 (en) * 2014-06-06 2015-09-01 Sas Institute Inc. Computer system to support failover in an event stream processing system
US9369406B2 (en) * 2014-07-03 2016-06-14 Sas Institute Inc. Resource server providing a rapidly changing resource
US9356986B2 (en) 2014-08-08 2016-05-31 Sas Institute Inc. Distributed stream processing
US9888095B2 (en) * 2015-06-26 2018-02-06 Microsoft Technology Licensing, Llc Lightweight transport protocol
CN105357674B (zh) * 2015-10-26 2023-05-16 青岛海尔智能家电科技有限公司 一种数据分流方法、装置和系统
CN106789705B (zh) * 2015-11-25 2020-04-28 华为技术有限公司 传输控制报文的方法和装置
CN107026890B (zh) * 2016-02-02 2020-10-09 华为技术有限公司 一种基于服务器集群的报文生成方法和负载均衡器
CN106161120B (zh) * 2016-10-08 2019-04-09 电子科技大学 动态均衡负载的分布式元数据管理方法
US11757774B1 (en) 2017-08-08 2023-09-12 Cable Television Laboratories, Inc. Multi-channel communication
US11937167B1 (en) 2018-03-12 2024-03-19 Cable Television Laboratories, Inc. Client modification of traffic table in multi channel Wi-Fi
US10805258B2 (en) 2018-11-28 2020-10-13 International Business Machines Corporation Multiple link layer address resolution protocol (ARP)
US11343152B2 (en) * 2020-04-07 2022-05-24 Cisco Technology, Inc. Traffic management for smart network interface cards
CN112527200A (zh) * 2020-12-07 2021-03-19 成都网信天成科技有限公司 一种Jmatrix分布式云储存系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393483B1 (en) * 1997-06-30 2002-05-21 Adaptec, Inc. Method and apparatus for network interface card load balancing and port aggregation
US20060242153A1 (en) * 2003-03-28 2006-10-26 Newberry Thomas P System and method for transmitting media based files
US7159034B1 (en) * 2003-03-03 2007-01-02 Novell, Inc. System broadcasting ARP request from a server using a different IP address to balance incoming traffic load from clients via different network interface cards

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557798A (en) 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
EP0660569A1 (en) 1993-12-22 1995-06-28 International Business Machines Corporation Method and system for improving the processing time of the path selection in a high speed packet switching network
JPH0816422A (ja) 1994-07-04 1996-01-19 Fujitsu Ltd バス通信方法及びバス通信システム
US5724510A (en) * 1996-09-06 1998-03-03 Fluke Corporation Method of configuring a valid IP address and detecting duplicate IP addresses in a local area network
US5864535A (en) 1996-09-18 1999-01-26 International Business Machines Corporation Network server having dynamic load balancing of messages in both inbound and outbound directions
US5914938A (en) 1996-11-19 1999-06-22 Bay Networks, Inc. MAC address table search unit
US6208616B1 (en) 1997-05-13 2001-03-27 3Com Corporation System for detecting errors in a network
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6052733A (en) 1997-05-13 2000-04-18 3Com Corporation Method of detecting errors in a network
JP3372455B2 (ja) 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
US6151297A (en) 1997-07-08 2000-11-21 Hewlett-Packard Company Method and system for link level server/switch trunking
US6687758B2 (en) 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
JP2000029806A (ja) 1998-07-09 2000-01-28 Hitachi Ltd 計算機システムのlanアダプタ負荷分散方式
US6570875B1 (en) * 1998-10-13 2003-05-27 Intel Corporation Automatic filtering and creation of virtual LANs among a plurality of switch ports
JP4015770B2 (ja) 1998-12-22 2007-11-28 株式会社東芝 クラスタシステム、サーバ計算機及び負荷分散方法
US6590861B1 (en) 1999-03-18 2003-07-08 3Com Corporation Combining virtual local area networks and load balancing with fault tolerance in a high performance protocol
US6567377B1 (en) * 1999-03-18 2003-05-20 3Com Corporation High performance load balancing of outbound internet protocol traffic over multiple network interface cards
US6560630B1 (en) 1999-03-18 2003-05-06 3Com Corporation Receive load balancing and fail over with multiple network interface cards
US6512774B1 (en) 1999-03-18 2003-01-28 3Com Corporation Fail over with multiple network interface cards
US7299294B1 (en) 1999-11-10 2007-11-20 Emc Corporation Distributed traffic controller for network data
US20030229809A1 (en) * 1999-04-15 2003-12-11 Asaf Wexler Transparent proxy server
US6683882B1 (en) 1999-11-09 2004-01-27 3Com Corporation Method and system for directing transmission of IPX control packets to influence reception of IPX data packets
US6779039B1 (en) 2000-03-31 2004-08-17 Avaya Technology Corp. System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers
AU2001257364A1 (en) 2000-04-27 2001-11-07 Fortress Technologies, Inc. Network interface device having primary and backup interfaces for automatic dialbackup upon loss of a primary connection and method of using same
JP2002044178A (ja) 2000-07-17 2002-02-08 Hitachi Ltd I/oチャネルの通信制御方式
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US7116664B2 (en) 2002-05-13 2006-10-03 International Business Machines Corporation Lookups by collisionless direct tables and CAMs
US8145790B2 (en) * 2002-07-11 2012-03-27 Hewlett-Packard Development Company, L.P. Method and device for using dynamic updates in a network
CN1206600C (zh) * 2002-11-14 2005-06-15 华中科技大学 一种全分布式的集群网络服务器系统
US7386611B2 (en) 2002-12-10 2008-06-10 International Business Machines Corporation Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition
US7415028B1 (en) 2003-02-11 2008-08-19 Network Equipment Technologies, Inc. Method and system for optimizing routing table changes due to ARP cache invalidation in routers with split plane architecture
US7324512B2 (en) 2003-06-12 2008-01-29 International Business Machines Corporation MAC layer bridging of network frames between isolated and external networks
US8285881B2 (en) 2003-09-10 2012-10-09 Broadcom Corporation System and method for load balancing and fail over
US7934020B1 (en) 2003-09-19 2011-04-26 Vmware, Inc. Managing network data transfers in a virtual computer system
AU2003286412A1 (en) 2003-12-11 2005-06-29 Bladefusion Technologies 2003 Ltd. Method and an apparatus for controlling executables running on blade servers
US7877519B2 (en) 2004-10-18 2011-01-25 Intel Corporation Selecting one of a plurality of adapters to use to transmit a packet
US7505401B2 (en) 2005-01-31 2009-03-17 International Business Machines Corporation Method, apparatus and program storage device for providing mutual failover and load-balancing between interfaces in a network
JP2006253900A (ja) 2005-03-09 2006-09-21 Hitachi Ltd Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム
US7460470B2 (en) 2005-03-18 2008-12-02 Hewlett-Packard Development Company, L.P. Systems and methods of priority failover determination
CN100493086C (zh) * 2005-04-20 2009-05-27 大唐移动通信设备有限公司 一种实现虚拟网际协议的方法
JP4405941B2 (ja) * 2005-05-26 2010-01-27 日本電信電話株式会社 回線冗長化方法およびこれに用いる中継装置
US7876689B2 (en) 2005-06-29 2011-01-25 Hewlett-Packard Development Company, L.P. Method and apparatus for load balancing network interface adapters based on network information
US20070201490A1 (en) 2005-07-13 2007-08-30 Mahamuni Atul B System and method for implementing ethernet MAC address translation
US7872965B2 (en) 2005-08-01 2011-01-18 Hewlett-Packard Development Company, L.P. Network resource teaming providing resource redundancy and transmit/receive load-balancing through a plurality of redundant port trunks
US7619993B2 (en) 2005-11-01 2009-11-17 International Business Machines Corporation Efficient probabilistic duplicate packet detector in computer networks
US8031617B2 (en) 2006-07-28 2011-10-04 Hewlett-Packard Development Company, L.P. Fast detection of path failure for TCP
US7710862B2 (en) * 2006-08-30 2010-05-04 Hewlett-Packard Development Company, L.P. Method and system of assigning media access control (MAC) addresses across teamed communication ports
US7995465B2 (en) 2007-05-18 2011-08-09 Nvidia Corporation Intelligent load balancing and failover of network traffic

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393483B1 (en) * 1997-06-30 2002-05-21 Adaptec, Inc. Method and apparatus for network interface card load balancing and port aggregation
US7159034B1 (en) * 2003-03-03 2007-01-02 Novell, Inc. System broadcasting ARP request from a server using a different IP address to balance incoming traffic load from clients via different network interface cards
US20060242153A1 (en) * 2003-03-28 2006-10-26 Newberry Thomas P System and method for transmitting media based files

Also Published As

Publication number Publication date
US8300647B2 (en) 2012-10-30
TW200910840A (en) 2009-03-01
CN101394400B (zh) 2013-07-10
CN101394400A (zh) 2009-03-25
KR20080101815A (ko) 2008-11-21
JP2008289146A (ja) 2008-11-27
US20080285553A1 (en) 2008-11-20
KR100989488B1 (ko) 2010-10-22
JP4722157B2 (ja) 2011-07-13

Similar Documents

Publication Publication Date Title
TWI381682B (zh) 網路交通之智慧型負載平衡及故障復原
US7995465B2 (en) Intelligent load balancing and failover of network traffic
US7792018B2 (en) Intelligent load balancing and failover of network traffic
US9923812B2 (en) Triple-tier anycast addressing
US7554993B2 (en) Method and apparatus for performing connection management with multiple stacks
KR100754308B1 (ko) 리모트 다이렉트 메모리 액세스가 가능한 네트워크 인터페이스 콘트롤러 스위치오버 및 스위치백 지원 장치 및 방법
US8432788B2 (en) Intelligent failback in a load-balanced networking environment
KR101038364B1 (ko) 부하 조절형 네트워크 환경에서의 지능형 장애극복을 위한 방법 및 장치
TWI410084B (zh) 於負載平衡網路環境中之智慧型故障排除
JP2010278584A (ja) ネットワーク、ネットワーク装置及びそれらに用いる負荷分散方法
US11178045B2 (en) System and method for efficient route update in an EVPN network
US10862849B2 (en) Address resolution system
US8068434B2 (en) Network infrastructure capability detection
CN116743663A (zh) 一种数据包处理方法、装置及存储介质
CN116566933A (zh) 报文处理方法、网关设备及存储系统