TWI479841B - 網路流量之智慧型負載平衡及失效切換 - Google Patents

網路流量之智慧型負載平衡及失效切換 Download PDF

Info

Publication number
TWI479841B
TWI479841B TW097117892A TW97117892A TWI479841B TW I479841 B TWI479841 B TW I479841B TW 097117892 A TW097117892 A TW 097117892A TW 97117892 A TW97117892 A TW 97117892A TW I479841 B TWI479841 B TW I479841B
Authority
TW
Taiwan
Prior art keywords
nic
mac address
computing device
hash table
hash
Prior art date
Application number
TW097117892A
Other languages
English (en)
Other versions
TW200913566A (en
Inventor
Abdulla Ayaz
K Chen Norman
Rajagopalan Anand
K Jha Ashutosh
Manickavasagam Hemamalini
Nanda Sameer
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 TW200913566A publication Critical patent/TW200913566A/zh
Application granted granted Critical
Publication of TWI479841B publication Critical patent/TWI479841B/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
    • 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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • 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/2596Translation of addresses of the same type other than IP, e.g. translation from MAC to MAC addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

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

Description

網路流量之智慧型負載平衡及失效切換
本發明的具體實施例係概括關於網路通訊,尤其係關於使用一雜湊引擎對網路流量進行智慧式負載平衡與失效切換之系統及方法。
效能以及可靠性是現代電腦網路中的關鍵需求,當在包含複數個網路介面卡(NIC,“network interface card”)的計算裝置上起始新的網路連線時,該作業系統通常選擇一個NIC給該連線,而不管每一NIC的利用或錯誤率。這種環境通常具有一項缺點,就是通常將新連線指派至一已經過載和/或不可靠的NIC,導致該新連線並且可能導致所選NIC上其他現有連線的網路效能降低。
某些先前技術解決方案嘗試利用維持一內含「連線狀態」的精巧資料結構,避免將新連線指派至過載及/或不可靠的NIC。分析此資料結構,允許一網路裝置驅動程式決定哪個NIC已經過載及/或不可靠。不過,此連線狀態的結構並無法有效識別哪個NIC已經指派給每一連線,或有效將來自過載或不可靠NIC的連線重新分配至全功能NIC。此外,維持並分析此連線狀態相當耗費計算資源,這樣會降低該計算裝置的計算以及網路效能。
如前面所說明,業界內所需為在一計算裝置內更有效分配與重新分配網路連線通過NIC之技術。
本發明的一個具體實施例提出一種將網路連線智慧轉換至一網路介面卡(NIC)來接收網路流量的方法。該方法包含攔截一作業系統產生的位址解析通訊協定(ARP,“address resolution protocol”)回應封包,其中ARP回應封包具有與第一NIC相關聯的第一媒體存取控制(MAC,“media access control”)位址,作業系統選擇此位址以接收關於該網路連線的網路流量、將該ARP回應封包解碼、利用將已解碼ARP回應封包內含的一或多網路參數提供給雜湊函數來產生與第二NIC相關聯的一第二MAC位址,並用該第二MAC位址取代該ARP回應封包內的該第一MAC位址。
所揭示方法的一項優點為允許運用雜湊引擎將網路連線在一計算裝置內之多個NIC間被智慧轉換。連線轉換可用來執行負載平衡(load balancing)、失效切換(failover)或故障回復(failback)功能。在此方式當中,可輕易避免網路連線通過過載或不可靠的NIC,藉此改善整體網路效能。
藉由使用一網路驅動程式來攔截、修改與重新導引一計算裝置內一作業系統所傳輸封包至網路上一遠端計算裝置,可達成一計算裝置內複數個NIC之間網路連線的智慧負載平衡與失效切換。利用該作業系統將位址解析通訊協定(ARP)回應封包傳輸至該遠端計算裝置時攔截這些封包,接收可能已經進行平衡負載或失效切換的連線之流量。在將ARP回應封包傳送至該遠端計算裝置之前,將已經攔截的封包修改成包含由該網路驅動程式所選一NIC的MAC位址來接收該連線之流量。此修改造成從該遠端計算裝置接收的流量會到達該網路驅動程式所選的NIC,而非到達該作業系統所選的NIC。
類似地,利用該作業系統將標準傳輸封包傳輸至該遠端計算裝置時攔截這些封包,可對傳輸連線之流量進行平衡負載或失效切換。在將已攔截的傳輸封包傳送至該遠端計算裝置之前,將這些封包修改成包含由該網路驅動程式所選NIC的MAC位址來傳輸該連線之流量。此修改造成透過該網路驅動程式所選 NIC將傳輸流量傳送至該遠端計算裝置,而非透過該作業系統所選NIC來傳送。
第一A圖至第一C圖例示其中可實施本發明一或多種態樣的計算裝置100。計算裝置100可為一桌上型電腦、伺服器、膝上型電腦、掌上型電腦、個人數位助理、平板電腦、遊戲機、行動電話或其他任何可處理資訊的類似裝置。如所示,計算裝置100包含一個主記憶體102、一個記憶體控制器104、一個微處理器106、一個I/O控制器108以及NIC 110、116。NIC 110包含一個硬體卸載引擎(HOE,“hardware offload engine”)112,而NIC 116包含HOE 118。HOE 112和118包含配置用來處理與計算裝置100與一或多個遠端計算裝置(未顯示,已經選擇性卸載至NIC 110、116)之間網路連線相關聯的網路訊框之邏輯。利用使用HOE 112和118來處理網路訊框(有時稱為「在硬體內處理連線」),而非傳統在一主機軟體傳輸控制通訊協定與網際網路通訊協定(TCP/IP,“transmission control protocol and internet protocol”)堆疊內執行這些處理功能(有時稱為「在軟體內處理連線」),如此大體上可減少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,並且I/O控制器108選擇性將指令或資料轉譯成微處理器106能夠瞭解的格式,並將這些指令或資料通訊至微處理器106,將指令或資料傳輸至微處理器106。前述耦合可藉記憶體匯流排或I/O匯流排來實施, 像是PCI匯流排,或這些的任何組合,或可用任何其他技術可行的方式來實施。
如第一B圖內更詳細所示,主記憶體102包含一個作業系統122和一個軟體驅動程式124。軟體驅動程式124包含一個負載平衡與失效切換(LBFO,“Load Balancing and Failover”)模組126以及一個TCP/IP堆疊130。LBFO模組126追蹤每一NIC的網路狀態(例如利用監視每一NIC的連結狀態、每一NIC上傳送與接收的錯誤數量以及/或每一NIC是否傳送與接收保持活躍封包),並且當網路流量從計算裝置100內一個NIC移動至其他NIC時與TCP/IP堆疊130通訊。LBFO模組126包含一個雜湊引擎128,其根據前述每一NIC的網路狀態,智慧決定網路連線在計算裝置100內不同可作用的NIC之間應該如何分配。
如一C圖內更詳細所示,雜湊引擎128包含一個傳輸雜湊表138和一個接收雜湊表140。傳輸雜湊表138的目的為,根據LBFO模組126提供給傳輸雜湊表138的資料,選擇計算裝置100內一個有作用的NIC,來傳輸與一網路連線有關的封包。傳輸雜湊表138包含複數個雜湊表記錄(例如雜湊表記錄134)以及一個軟體雜湊函數(未顯示)。此外,每一雜湊表記錄都包含一個表索引(例如表索引132)以及一個表值(例如表值136)。LBFO模組126利用將TCP/IP連線資料通訊至雜湊引擎128,而該雜湊引擎將TCP/IP連線資料通訊至傳輸雜湊表138內的軟體雜湊函數,來導引雜湊引擎128選擇計算裝置100內的傳輸NIC。作為回應,軟體雜湊函數根據TCP/IP連線資料選擇傳輸雜湊表138內的表索引,傳輸雜湊表138從此選取的表索引識別對應的表值,並且雜湊引擎128將該識別的表值回傳給LBFO模組126。若對應的表值無效,則雜湊引擎128根據計算裝置100內所有NIC的NIC利用和NIC錯誤率資料之加權組合,如LBFO模組126內所維持,選擇用於連線的NIC, 並且雜湊引擎128將所選NIC的MAC位址儲存在對應至目前表索引的表值內。因為精通此技術的人士都熟知軟體雜湊函數的設計與操作,所以在此將不再討論。在一個具體實施例內,LBFO模組126將下列四個TCP/IP資料通訊給雜湊引擎128:該用戶端網際網路通訊協定(IP,“internet protocol”)位址、該伺服器IP連接埠、該用戶端IP連接埠以及該虛擬區域網路識別碼(VLAN ID,“virtual local area network identifier”)。在其他具體實施例內,LBFO模組126可將任何技術可行的TCP/IP參數通訊給雜湊引擎128。
接收雜湊表140的目的為,根據LBFO模組126提供給接收雜湊表140的資料,選擇計算裝置100內一個有作用的NIC,來接收與一網路連線有關的封包。類似於傳輸雜湊表138,接收雜湊表140包含複數個雜湊表記錄以及一個軟體雜湊函數(未顯示),並且每一雜湊表記錄都包含一個表索引以及一個表值。同樣地,LBFO模組126利用將TCP/IP連線資料通訊至雜湊引擎128,而該雜湊引擎將該TCP/IP連線資料通訊至接收雜湊表140內的軟體雜湊函數,來導引雜湊引擎128選擇計算裝置100內的一接收NIC。作為回應,軟該體雜湊函數根據該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位址之雜湊表記錄無效。如底下第二圖內更詳細說明,讓該雜湊表記錄無效導致雜湊引擎128選擇第二NIC當成對應至該已無效雜湊表記錄的連線之新NIC,並將該第二NIC的MAC位址儲存在該雜湊表記錄內。在變更該雜湊表值之後,所有雜湊表索引對應至已修改的雜湊表值之連線都將透過該第二NIC通訊。
此外,雜湊引擎128的結構有效支援從一個NIC至其他NIC的失效切換連線。例如,在一個具體實施例內,若一第一NIC已經失效或變成不可靠並且LBFO模組126要將該第一NIC上的連線轉換至一第二NIC,則雜湊引擎128可讓雜湊值內含已失效或不可靠NIC的MAC位址之所有雜湊表記錄無效。同樣地,如以下第二圖內所說明,讓雜湊表記錄無效導致雜湊引擎128選擇該第二NIC當成對應至該已無效雜湊表記錄的連線之一新NIC,並且雜湊引擎128將該第二NIC的MAC位址儲存在這些雜湊表記錄內。一旦第二NIC的MAC位址覆寫了包含該已失效或不可靠NIC的MAC位址之所有雜湊表值,則該第一NIC上的所有連線都會失效切換至該第二NIC。有關LBFO模組126在失效切換期間的功能性更詳細資訊都說明於2007年5月18日提出,序號為11/750,903,歸檔號碼為NVDA/P001880,標題為「Intelligent Failover In a Load-Balanced Networking Environment」之相關美國專利申請案內。此相關專利申請案在此併入當成參考。
進一步,雜湊引擎128的結構有效支援從一個NIC至其他NIC的故障回復連線。例如,在一個具體實施例內,若LBFO模組126已經將某些連線從一第一NIC失效切換至一第二NIC, 並且後來該第一NIC變成完整可用,則LBFO模組126會將某些或全部失效切換的連線故障回復至該第一NIC。在一個具體實施例內,LBFO模組126可利用將對應至所選失效切換連線的雜湊表值更新來儲存該第一NIC而非該第二NIC之MAC位址,對選取的連線執行故障回復。一旦已經用該第一NIC的MAC位址覆寫包含該第二NIC的MAC位址之雜湊表值,則對應至該已覆寫雜湊表值的連線已經故障回復至該第一NIC。有關LBFO模組126在故障回復期間的功能性更詳細資訊都說明於2007年5月18日提出,序號為11/750,914,歸檔號碼為NVDA/P001882,標題為「Intelligent Failback In a Load-Balanced Networking Environment」之相關美國專利申請案內。此相關專利申請案在此併入當成參考。
根據上述針對負載平衡和失效切換/故障回復之討論,本發明可配置成在四種模式內操作,每一種模式都有效解決不同操作環境的需求。在一第一操作模式內,雜湊引擎128用於轉換連線來在一交換獨立網路環境(即是其中將計算裝置100的NIC耦合至一外部網路的交換器不在802.3ad模式內運作的之網路環境)內執行負載平衡以及失效切換/故障回復。在此具體實施例內,底下討論的第三圖和第四圖之方法使用雜湊引擎128來識別多個NIC,分別用於轉換連線用於接收流量或傳輸流量。同樣地,此識別可當成負載平衡的一部分,或當成連線失效切換至一可靠NIC的一部分來執行。重要是,除非連線已經卸載,則用於一連線的接收流量與傳輸流量可運用不同NIC,造成一單一NIC處理該已卸載連線的接收流量與傳輸流量,底下有更詳細說明。
在一第二操作模式內,在一交換獨立網路環境內使用雜湊引擎128轉換連線,於該傳輸流量上執行負載平衡而不在該接收流量上執行負載平衡。重要是,在此操作模式內,雜湊引擎128不用於轉換連線來執行失效切換或故障回復。如此,雜湊 引擎128可選擇一個NIC用於連線上的傳輸流量,並且接著修改該選擇對傳輸流量進行負載平衡,但是該連線的接收流量則透過作業系統選取的NIC來處理。同樣地,除非連線已經卸載,則用於該等連線的接收流量與傳輸流量可運用不同NIC,造成該作業系統所選的NIC處理該已卸載連線的接收流量與傳輸流量,底下有更詳細說明。
在一第三操作模式內,在一交換獨立網路環境內使用雜湊引擎128轉換連線,執行失效切換和故障回復而不執行負載平衡。因為在此具體實施例內雜湊引擎128不轉換連線來執行負載平衡,所以維持由作業系統122選擇的NIC來傳輸以及接收該連線上的流量。另外,當NIC失效或變成不可靠時,LBFO模組126可導引雜湊引擎128失效切換網路流量,以及當NIC回到完整作用狀態時,導引雜湊引擎128對流量進行故障回復。
在一第四操作模式內,雜湊引擎128用於轉換一連線來在一交換相依環境(即是其中將計算裝置100的NIC耦合至一外部網路的交換器在802.3ad模式內運作之網路環境)內執行傳輸流量但非接收流量的負載平衡以及失效切換/故障回復。重要是,在一交換相依網路環境內,該交換器選擇計算裝置100內哪個NIC接收連線的流量。因此,雜湊引擎128不會執行接收流量的負載平衡或失效切換/故障回復,而是雜湊引擎128會對傳輸流量執行負載平衡,並且LBFO模組126可導引雜湊引擎128對傳輸流量執行失效切換/故障回復。不過同樣地,若網路連線在交換器所選NIC上卸載來接收該連線的流量,則雜湊引擎128選擇相同NIC來傳輸該連線的流量,如底下進一步詳細說明所述。
第二圖根據本發明的一個具體實施例,說明根據提供給一雜湊函數的參數,從一雜湊表選擇一MAC位址的方法步驟流程圖200。雖然本發明參照計算裝置100來說明,精通此技術 的人士將瞭解,配置來執行本方法步驟(以任何順序)的任何系統都在本發明的範疇內。
如所示,從雜湊引擎128內雜湊表選擇MAC位址的方法開始於步驟202,其中雜湊表內的雜湊函數從其接收的參數中決定一雜湊表索引。因為根據提供給該雜湊函數的參數,用於建立並使用一雜湊函數來索引一雜湊表的方法已為精通此技術的人士所熟知,所以在此就不討論這些方法。吾人應該注意,該傳輸雜湊函數所接收的參數(其角色為索引傳輸雜湊表138)可與該接收雜湊函數所接收的參數(其角色為索引接收雜湊表140)不同。在本發明的一個具體實施例內,該接收雜湊函數接收該遠端計算裝置的IP位址,當成索引接收雜湊表140的參數。另外,該傳輸雜湊函數接收該遠端計算裝置的IP位址、該遠端計算裝置的一TCP連接埠、該計算裝置100的一TCP連接埠以及一VLAN ID(若VLAN技術用在網路環境內),當成索引傳輸雜湊表138的參數。在本發明的其他具體實施例內,該接收雜湊函數以及該傳輸雜湊函數可接收任何技術可行的參數,分別用於索引接收雜湊表140以及傳輸雜湊表138。
在步驟204內,雜湊引擎128讀取一雜湊表記錄,其對應至步驟202內識別的雜湊表索引。在步驟206內,雜湊引擎128決定步驟204內讀入的雜湊表記錄是否有效。在步驟206內若該雜湊表記錄有效,則該方法前往步驟208,在此雜湊引擎128選擇儲存在該索引的雜湊表記錄內之MAC位址。在步驟216內,雜湊引擎128將選取的MAC位址回傳給LBFO模組126,並且終止該方法。
在步驟206內若步驟204中讀取的雜湊表記錄無效,則該方法前往步驟210,在此雜湊引擎128識別一適合用於通訊網路流量的NIC。在一個具體實施例內,當一NIC的利用率低於計算裝置100內其他NIC的利用率(以該NIC的傳輸容量或接收容量的百分比來說),則認為該NIC適合通訊網路流量。 在其他具體實施例內,當一NIC的錯誤率低於計算裝置100內其他NIC的錯誤率,則認為該NIC適合通訊網路流量。仍舊在其他具體實施例內,相對於計算裝置100內其他NIC的利用與錯誤率資料之加權組合,一NIC的利用與錯誤率資料之加權組合可用來決定一NIC是否適合用於通訊網路流量。在步驟212內,雜湊引擎128選擇在步驟210內識別的合適NIC之MAC位址。在步驟214內,雜湊引擎128將選取的MAC位址儲存至該雜湊表記錄內,該雜湊表記錄對應至步驟202內識別的雜湊表索引。
第三A圖和第三B圖根據本發明的一個具體實施例,說明將一連線轉換至雜湊引擎128所選NIC來接收網路流量的方法步驟流程圖300。雖然本發明參照計算裝置100來說明,精通此技術的人士將瞭解,配置來執行本方法步驟(以任何順序)的任何系統都在本發明的範疇內。
如所示,用於轉換一連線的方法開始於步驟302,在此作業系統122注意是否有來自一遠端計算裝置(未顯示)的ARP要求封包。當該遠端計算裝置起始一個連線來傳輸資料給計算裝置100,該遠端計算裝置利用傳送一ARP要求封包到連接到該區域網路的計算裝置,以要求計算裝置100的MAC位址,該ARP要求封包包含計算裝置100之IP位址。計算裝置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傳送該ARP回應封包至NIC 110。
在步驟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為基礎,如上面關於第二圖的說明。
在步驟318內,LBFO模組126在解碼的ARP回應封包 內,用選取的MAC位址取代作業系統122所選的MAC位址。在步驟320內,LBFO模組126將選取之MAC位址及解碼的ARP回應封包內之剩餘組件編碼,形成一ARP回應封包。在步驟322內,LBFO模組將該ARP回應封包傳輸至該遠端計算裝置,並且終止該方法。在一個具體實施例內,透過對應至所選MAC位址的NIC傳輸該ARP回應封包。
此時回到步驟315,若LBFO模組126發現存在與所攔截ARP回應封包有關,並且已經卸載至位於接收NIC上硬體卸載引擎的連線,則該方法繼續步驟317。在步驟317內,在進行修改該ARP回應封包、編碼該封包並且傳輸該封包之前,如之前步驟318至步驟322內所說明,雜湊引擎128會選擇該接收NIC的MAC位址。
第四A圖和第四B圖根據本發明的一個具體實施例,說明將一連線轉換至雜湊引擎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位址,如上面第二圖內所述。然後該方法繼續進行步驟416至步驟420,如上面所述。
第五圖根據本發明的一個具體實施例,說明將一現有連線卸載至雜湊引擎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和硬體卸載引擎。
第六圖根據本發明的一個具體實施例,說明使用一虛擬網際網路通訊協定位址來執行一位址解析通訊協定(ARP)要求的方法步驟流程圖600。雖然本發明參照計算裝置100來說明,精通此技術的人士將瞭解,配置來執行本方法步驟(以任何順序)的任何系統都在本發明的範疇內。
如所示,執行該位址解析通訊協定要求的該方法開始於步驟602,在此作業系統122建立一個ARP要求封包,其中包含作業系統122所選NIC的MAC位址,來接收與所建立連線相關聯的網路流量以及計算裝置100的IP位址。該IP位址可手動或透過自動技術,像是工業標準動態主機設定通訊協定(DHCP,“dynamic host configuration protocol”),指派給計算裝置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位址,例如:在一具有IP位址範圍從10.1.1.0至10.1.1.255的網路內,該網路管理員可保留像是10.1.1.254這樣一個IP位址來當成一虛擬IP位址。在此範例中,一接收該ARP要求封包的裝置可用一新MAC位址更新該虛擬IP位址的區域ARP快取記錄,藉此避免毀損計算裝置100的IP位址之快取記錄。透過任何技術上可行的手段,包含手動配置,可建立該虛擬IP位址供LBFO模組126使用。在步驟610內,LBFO模組126透過選取的NIC,將該修改過的ARP要求封包廣播至與計算裝置100位於相同網路的一或多個遠端計算裝置。
第六圖的方法可讓LBFO模組126管理多個NIC上的ARP要求處理,而不用作業系統122涉入。進一步,該方法可用來避免毀損由該遠端計算裝置(其接收該已修改過的ARP要求封包)所維護的ARP快取。
所公佈系統與方法的一項優點為允許網路連線運用一雜湊引擎智慧轉換通過一計算裝置內許多NIC。連線轉換可用來執行負載平衡、失效切換或故障回復功能。在此方式當中,可輕易避免網路連線通過過載或不可靠的NIC,藉此改善整體網路效能。其他優點為,使用該雜湊引擎來管理至個別NIC的連線之指派可有效決定哪個NIC處理每一連線,同時避免既複雜又耗費計算成本的連線狀態管理。
雖然上述都導引至本發明的具體實施例,在不悖離本發明基本範疇之下可提供其他與進一步具體實施例。例如:本發明 態樣可實現於硬體、軟體或軟體與硬體的組合之上,本發明的一個具體實施例可實施當成搭配一電腦系統使用的一程式產品。該(等)程式產品的程式定義具體實施例的功能(包含此處說明的方法),並且可包含在許多電腦可讀取的儲存媒體當中。所說明的電腦可讀取儲存媒體包含,但不受限於:(i)其上資訊永久儲存的非可寫入儲存媒體(例如電腦內的唯讀記憶體裝置,像是一CD-ROM光碟機可讀取的CD-ROM光碟片、快閃記憶體、ROM晶片或任何一種固態非揮發性半導體記憶體);以及(ii)其上儲存可變資訊的可寫入式儲存媒體(例如磁碟機內的磁碟片、硬碟機或任何一種固態隨機存取半導體記憶體)。當攜帶執行本發明功能的電腦可讀取指令時,這種電腦可讀取儲存媒體就為本發明的具體實施例。因此,本發明的範疇由下列申請專利範圍所決定。
100‧‧‧計算裝置
102‧‧‧主記憶體
104‧‧‧記憶體控制器
106‧‧‧微處理器
108‧‧‧I/O控制器
110‧‧‧網路介面卡
112‧‧‧硬體卸載引擎
116‧‧‧網路介面卡
118‧‧‧硬體卸載引擎
122‧‧‧作業系統
124‧‧‧軟體驅動程式
126‧‧‧負載平衡與失效切換模組
128‧‧‧雜湊引擎
130‧‧‧TCP/IP(傳輸控制通訊協定與網際網路通訊協定)堆疊
132‧‧‧表索引
134‧‧‧雜湊表記錄
136‧‧‧表值
138‧‧‧傳輸雜湊表
140‧‧‧接收雜湊表
所以,可以詳細瞭解本發明上述特徵之方式中,本發明的一更為特定的說明簡述如上,其可藉由參照到具體實施例來進行,其中一些例示於所附圖式中。但應注意所附圖式僅例示本發明的典型具體實施例,因此其並非要做為本發明之範圍的限制,本發明自可包含其它同等有效的具體實施例。
第一A圖至第一C圖說明其中可實施本發明一或多種態樣的計算裝置;以及第二圖根據本發明的一個具體實施例,說明根據提供給一雜湊函數的參數,從一雜湊表選擇一MAC位址的方法步驟流程圖。
第三A圖和第三B圖根據本發明的一個具體實施例,說明將連線轉換至該雜湊引擎所選NIC來接收網路流量的方法步驟流程圖;以及第四A圖和第四B圖根據本發明的一個具體實施例,說 明將連線轉換至該雜湊引擎所選一NIC來傳輸網路流量的方法步驟流程圖。
第五圖根據本發明的一個具體實施例,說明將一現有連線卸載至該雜湊引擎所選一NIC的方法步驟流程圖。
第六圖根據本發明的一個具體實施例,說明使用一虛擬網際網路通訊協定位址來執行一位址解析通訊協定要求的方法步驟流程圖。
400‧‧‧傳輸網路流量流程圖
402‧‧‧建立傳輸封包
404‧‧‧傳輸封包傳送至作業系統選取的NIC
406‧‧‧LBFO模組攔截傳輸封包
408‧‧‧LBFO模組將傳輸封包解碼
410‧‧‧檢查連線已經在接收NIC上卸載?
412‧‧‧雜湊引擎選擇接收NIC的MAC位址來傳輸MAC位址
414‧‧‧雜湊引擎使用從傳輸封包解碼出來的參數從傳輸雜湊表中選擇傳輸MAC位址

Claims (13)

  1. 一種將一網路連線智慧轉換至一網路介面卡(NIC)來傳輸網路流量之方法,該方法包含:配置一處理器執行一運算,該運算包含:攔截由一作業系統產生的一傳輸封包,其中該傳輸封包包含與該作業系統已選的複數NIC中的一第一NIC相關聯的一第一媒體存取控制(MAC)位址,來傳輸與該網路連線相關聯的網路流量;解碼該傳輸封包;產生與一第二NIC相關聯的一第二MAC位址;以及用該第二MAC位址取代該傳輸封包內的該第一MAC位址。
  2. 如申請專利範圍第1項之方法,進一步包含將包含該第二MAC位址的該傳輸封包編碼,並將該已編碼的傳輸封包傳輸至一遠端計算裝置之步驟。
  3. 如申請專利範圍第2項之方法,其中該第二NIC傳輸與該網路連線有關的網路流量,而非該第一NIC傳輸。
  4. 如申請專利範圍第1項之方法,更包含:根據一雜湊函數和包含於被解碼的該傳輸封包中的一或多個網路參數,產生與一雜湊表紀錄相關的一雜湊表索引;當該雜湊表紀錄有效時,基於該雜湊表紀錄,產生與該些複數NIC中的該第二NIC相關的該第二MAC位址;當該雜湊表紀錄無效時,基於與該些複數NIC相關的NIC利用資料和NIC錯誤率資料的一加權組合,產生與該些複數NIC中的該第二NIC相關的該第二MAC位址。
  5. 一種包含指令的電腦可讀取媒體,當執行該等指令時會導致一處理器智慧轉換一網路連線至一網路介面卡(NIC)來傳輸 網路流量,其執行步驟為:攔截由一作業系統產生的一傳輸封包,其中該傳輸封包包含與該作業系統已選的複數NIC中的一第一NIC相關聯的一第一媒體存取控制(MAC)位址,來傳輸與該網路連線相關聯的網路流量;解碼該傳輸封包;產生與一第二NIC相關聯的一第二MAC位址;以及用該第二MAC位址取代該傳輸封包內的該第一MAC位址。
  6. 如申請專利範圍第5項之電腦可讀取媒體,進一步包含將包含該第二MAC位址的該傳輸封包編碼,並將該已編碼的傳輸封包傳輸至一遠端計算裝置之步驟。
  7. 如申請專利範圍第5項之電腦可讀取媒體,該執行步驟進一步包含:根據一雜湊函數和包含於被解碼的該傳輸封包中的一或多個網路參數,產生與一雜湊表紀錄相關的一雜湊表索引;當該雜湊表紀錄有效時,基於該雜湊表紀錄,產生與該些複數NIC中的該第二NIC相關的該第二MAC位址;當該雜湊表紀錄無效時,基於與該些複數NIC相關的NIC利用資料和NIC錯誤率資料的一加權組合,產生與該些複數NIC中的該第二NIC相關的該第二MAC位址。
  8. 一種配置成將一網路連線智慧轉換至一網路介面卡(NIC)來接收網路流量之計算裝置,該計算裝置包含:一處理器;一作業系統,其配置成產生一傳輸封包來回應接收的一ARP要求封包,其中該傳輸封包包含與該作業系統已選的複數NIC中的一第一NIC相關聯的一第一媒體存取控制(MAC) 位址,來傳輸與該網路連線相關聯的網路流量;以及一負載平衡失效切換(LBFO)模組,其配置成:攔截由該作業系統產生的該傳輸封包;解碼該傳輸封包;產生與一第二NIC相關聯的一第二MAC位址;以及用該第二MAC位址取代該傳輸封包內的該第一MAC位址。
  9. 如申請專利範圍第8項之計算裝置,其中該LBFO模組進一步配置成將包含該第二MAC位址的該傳輸封包編碼,並將該已編碼的傳輸封包傳輸至一遠端計算裝置。
  10. 如申請專利範圍第9項之計算裝置,其中提供給該雜湊函數的該一或多網路參數包含該遠端計算裝置的一網際網路通訊協定(IP)位址、該遠端計算裝置的一傳輸控制通訊協定(TCP)連接埠以及一傳輸計算裝置的一TCP連接埠。
  11. 如申請專利範圍第10項之計算裝置,其中提供給該雜湊函數的該一或多網路參數也包含一虛擬區域網路識別碼。
  12. 如申請專利範圍第8項之計算裝置,其中該LBFO模組包含一雜湊引擎,其配置成根據該LBFO模組提供的該一或多網路參數來決定一雜湊表索引,以及讀取對應至該雜湊表索引的一雜湊表記錄。
  13. 如申請專利範圍第8項之計算裝置,其中該LBFO模組進一步配置成:根據一雜湊函數和包含於被解碼的該傳輸封包中的一或多個網路參數,產生與一雜湊表紀錄相關的一雜湊表索引;當該雜湊表紀錄有效時,基於該雜湊表紀錄,產生與該些複數NIC中的該第二NIC相關的該第二MAC位址; 當該雜湊表紀錄無效時,基於與該些複數NIC相關的NIC利用資料和NIC錯誤率資料的一加權組合,產生與該些複數NIC中的該第二NIC相關的該第二MAC位址。
TW097117892A 2007-05-18 2008-05-15 網路流量之智慧型負載平衡及失效切換 TWI479841B (zh)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
TW200913566A TW200913566A (en) 2009-03-16
TWI479841B true TWI479841B (zh) 2015-04-01

Family

ID=40027354

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097117892A TWI479841B (zh) 2007-05-18 2008-05-15 網路流量之智慧型負載平衡及失效切換

Country Status (5)

Country Link
US (1) US7792018B2 (zh)
JP (1) JP4840943B2 (zh)
KR (1) KR100978681B1 (zh)
CN (1) CN101350818B (zh)
TW (1) TWI479841B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI557574B (zh) * 2015-08-06 2016-11-11 Chunghwa Telecom Co Ltd Heterogeneous Terminal Data Storage and Application Layer Dynamic Traffic Assignment System

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8284782B1 (en) * 2005-11-15 2012-10-09 Nvidia Corporation System and method for avoiding ARP cache pollution
US8284783B1 (en) * 2005-11-15 2012-10-09 Nvidia Corporation System and method for avoiding neighbor cache pollution
US7995465B2 (en) * 2007-05-18 2011-08-09 Nvidia Corporation Intelligent load balancing and failover of network traffic
US9430297B2 (en) * 2008-12-15 2016-08-30 International Business Machines Corporation Load balancing of adapters on a multi-adapter node
JP5060572B2 (ja) * 2010-03-09 2012-10-31 株式会社東芝 データ通信装置及び方法
US9300491B2 (en) * 2011-02-11 2016-03-29 Qualcomm Incorporated Frame delivery path selection in hybrid communication networks
US8897169B2 (en) 2011-03-02 2014-11-25 Qualcomm Incorporated Discovery of conventional devices and bridges in hybrid communication networks
US9025603B2 (en) * 2011-03-08 2015-05-05 Qualcomm Incorporated Addressing scheme for hybrid communication networks
US8730811B2 (en) * 2011-04-07 2014-05-20 Hewlett-Packard Development Company, L.P. Managing network traffic
TW201328270A (zh) * 2011-12-22 2013-07-01 East Moon Creation Technology Corp 多伺服器系統負荷平衡機制
JP2013206295A (ja) * 2012-03-29 2013-10-07 Nec Corp サーバ管理システム、ブレードサーバシステム、サーバ管理方法及びサーバ管理プログラム
KR101402590B1 (ko) 2012-10-26 2014-06-03 주식회사 아이디스 영상 감시 장치 접속 관리 시스템의 부하 분산 장치 및 방법
US9170976B2 (en) * 2013-01-03 2015-10-27 International Business Machines Corporation Network efficiency and power savings
US11636059B2 (en) 2020-03-31 2023-04-25 Samsung Electronics Co., Ltd. Scaling performance in a storage server with storage devices

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1127320A (ja) * 1997-07-03 1999-01-29 Fujitsu Ltd パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
JP2000029806A (ja) * 1998-07-09 2000-01-28 Hitachi Ltd 計算機システムのlanアダプタ負荷分散方式
JP2000187632A (ja) * 1998-12-22 2000-07-04 Toshiba Corp クラスタシステム
US20010056503A1 (en) * 2000-04-27 2001-12-27 Hibbard Richard J. Network interface device having primary and backup interfaces for automatic dial backup upon loss of a primary connection and method of using same
KR20050107534A (ko) * 2004-05-07 2005-11-11 삼성전자주식회사 광대역 무선 접속 시스템에서 인증 방법 및 장치
US20060083227A1 (en) * 2004-10-18 2006-04-20 Avigdor Eldar Selecting one of a plurality of adapters to use to transmit a packet
KR20060106015A (ko) * 2005-04-04 2006-10-12 이임영 분산 네트워크 환경에서 2mac 인증 패킷을 이용한공격자 추적 방법
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
US20070025253A1 (en) * 2005-08-01 2007-02-01 Enstone Mark R Network resource teaming providing resource redundancy and transmit/receive load-balancing through a plurality of redundant port trunks
KR20070039190A (ko) * 2005-10-07 2007-04-11 엘지노텔 주식회사 링크통합 기능에서 로드밸런싱 방법

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6052733A (en) 1997-05-13 2000-04-18 3Com Corporation Method of detecting errors in a network
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
US6570875B1 (en) * 1998-10-13 2003-05-27 Intel Corporation Automatic filtering and creation of virtual LANs among a plurality of switch ports
US6560630B1 (en) 1999-03-18 2003-05-06 3Com Corporation Receive load balancing and fail over with multiple network interface cards
US6567377B1 (en) * 1999-03-18 2003-05-20 3Com Corporation High performance load balancing of outbound internet protocol traffic over multiple network interface cards
US6512774B1 (en) * 1999-03-18 2003-01-28 3Com Corporation Fail over with multiple network interface cards
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
US7299294B1 (en) * 1999-11-10 2007-11-20 Emc Corporation Distributed traffic controller for network data
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
US7116664B2 (en) * 2002-05-13 2006-10-03 International Business Machines Corporation Lookups by collisionless direct tables and CAMs
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
US7934020B1 (en) * 2003-09-19 2011-04-26 Vmware, Inc. Managing network data transfers in a virtual computer system
WO2005057318A2 (en) * 2003-12-11 2005-06-23 Bladefusion Technologies 2003 Ltd. Method and an apparatus for controlling executables running on blade servers
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アドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム
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
US7619993B2 (en) * 2005-11-01 2009-11-17 International Business Machines Corporation Efficient probabilistic duplicate packet detector in computer networks
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 (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1127320A (ja) * 1997-07-03 1999-01-29 Fujitsu Ltd パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
JP2000029806A (ja) * 1998-07-09 2000-01-28 Hitachi Ltd 計算機システムのlanアダプタ負荷分散方式
JP2000187632A (ja) * 1998-12-22 2000-07-04 Toshiba Corp クラスタシステム
US20010056503A1 (en) * 2000-04-27 2001-12-27 Hibbard Richard J. Network interface device having primary and backup interfaces for automatic dial backup upon loss of a primary connection and method of using same
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
KR20050107534A (ko) * 2004-05-07 2005-11-11 삼성전자주식회사 광대역 무선 접속 시스템에서 인증 방법 및 장치
US20060083227A1 (en) * 2004-10-18 2006-04-20 Avigdor Eldar Selecting one of a plurality of adapters to use to transmit a packet
KR20060106015A (ko) * 2005-04-04 2006-10-12 이임영 분산 네트워크 환경에서 2mac 인증 패킷을 이용한공격자 추적 방법
US20070025253A1 (en) * 2005-08-01 2007-02-01 Enstone Mark R Network resource teaming providing resource redundancy and transmit/receive load-balancing through a plurality of redundant port trunks
KR20070039190A (ko) * 2005-10-07 2007-04-11 엘지노텔 주식회사 링크통합 기능에서 로드밸런싱 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI557574B (zh) * 2015-08-06 2016-11-11 Chunghwa Telecom Co Ltd Heterogeneous Terminal Data Storage and Application Layer Dynamic Traffic Assignment System

Also Published As

Publication number Publication date
CN101350818A (zh) 2009-01-21
JP4840943B2 (ja) 2011-12-21
CN101350818B (zh) 2012-12-26
KR100978681B1 (ko) 2010-08-30
JP2008295041A (ja) 2008-12-04
KR20080101816A (ko) 2008-11-21
US20080285441A1 (en) 2008-11-20
US7792018B2 (en) 2010-09-07
TW200913566A (en) 2009-03-16

Similar Documents

Publication Publication Date Title
TWI479841B (zh) 網路流量之智慧型負載平衡及失效切換
TWI381682B (zh) 網路交通之智慧型負載平衡及故障復原
JP4651692B2 (ja) ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
US7554993B2 (en) Method and apparatus for performing connection management with multiple stacks
US9141420B2 (en) Overload control in a cloud computing environment
US8432788B2 (en) Intelligent failback in a load-balanced networking environment
US10574477B2 (en) Priority tagging based solutions in fc sans independent of target priority tagging capability
JP2006033854A (ja) ノード間の通信を可能にする方法、システム、およびプログラム
US9118608B2 (en) Communication apparatus, control method therefor, and computer-readable storage medium
US10104002B2 (en) Method and system for network address re-use in network address translation
WO2023143103A1 (zh) 报文处理方法、网关设备及存储系统
CN115065730B (zh) 一种数据处理方法、第一容器、电子设备及存储介质
WO2024001549A9 (zh) 地址配置方法和电子设备
CN116743663A (zh) 一种数据包处理方法、装置及存储介质
CN112737915A (zh) 基于智能网卡的内网隧道跨域网关转发方法、系统、设备和介质