網(wǎng)絡(luò)接口卡 (NIC) 分組是一種對物理網(wǎng)絡(luò)適配器進行分組以提高性能和冗余的常用技術(shù)。NIC 組合的主要優(yōu)點是負載平衡(通過網(wǎng)絡(luò)重新分配流量)和故障轉(zhuǎn)移(在系統(tǒng)硬件出現(xiàn)故障時確保網(wǎng)絡(luò)連續(xù)性),而無需多個物理連接。從本質(zhì)上講,NIC 組合是一項可以增加正常運行時間的戰(zhàn)略計劃。
什么是 NIC 組合?
將多條網(wǎng)絡(luò)電纜從一臺服務(wù)器插入多臺物理交換機是在物理服務(wù)器的傳統(tǒng)網(wǎng)絡(luò)設(shè)置中實現(xiàn)容錯的方法。但是,在這種情況下,負載平衡是不存在的,即使服務(wù)器始終有多個 Internet 協(xié)議 (IP) 地址處于活動狀態(tài)也是如此。另一方面,NIC 分組是 Windows Server 的一項功能,它允許將 NIC 分組到組中。團隊成員是用于與交換機通信的網(wǎng)絡(luò)適配器。團隊接口是創(chuàng)建團隊時創(chuàng)建的虛擬網(wǎng)絡(luò)適配器。因此,NIC 組合保持與多個物理交換機的連接,但使用單個 IP 地址。這確保隨時可用的負載平衡和即時容錯(而不是等待 DNS 記錄超時/更新)。
NIC 組合的好處是什么?
NIC 組合提供的主要好處是更好的負載平衡和更高的容錯能力。
負載均衡
在 NIC 組合的情況下,網(wǎng)絡(luò)流量在所有活動 NIC 之間平均平衡。因此,傳出流量會根據(jù)目標地址在可用的物理 NIC 之間自動進行負載平衡。傳入流量由將流量路由到服務(wù)器的交換機控制。服務(wù)器不控制物理 NIC 流量。
容錯性
NIC 組合提供的另一個好處是更高的容錯能力。如果其中一個底層物理 NIC 出現(xiàn)故障或相應(yīng) NIC 的電纜被拔掉,主機/服務(wù)器會檢測到故障情況并自動將流量轉(zhuǎn)移到另一個 NIC。這降低了整個網(wǎng)絡(luò)出現(xiàn)故障的可能性,從而提高了系統(tǒng)的容錯能力。
什么是網(wǎng)卡綁定模式?
兩種 NIC 綁定模式是獨立于交換機和依賴于交換機。它們在下面解釋。
開關(guān)獨立
顧名思義,在Switch Independent模式下,NIC team成員所連接的交換機不知道NIC team的存在。因此,這些交換機不知道如何將網(wǎng)絡(luò)流量分配給 NIC 團隊成員,而是將入站網(wǎng)絡(luò)流量分配給 NIC 團隊成員。
將交換機獨立模式與動態(tài)分配結(jié)合使用可根據(jù)傳輸控制協(xié)議 (TCP) 端口的地址哈希分配網(wǎng)絡(luò)流量負載。動態(tài)負載平衡算法重新分配流量以優(yōu)化團隊成員帶寬利用率,以確保單個流量傳輸從一個活躍的團隊成員轉(zhuǎn)移到另一個。該算法還考慮了重新分配流量導致無序數(shù)據(jù)包交付的可能性,并采取措施將這種可能性降至最低。
開關(guān)依賴
在 Switch Dependent 模式下,連接到 NIC 團隊成員的交換機決定了入站網(wǎng)絡(luò)流量在 NIC 團隊成員之間的分配。因此,連接的交換機在確定如何在 NIC 團隊成員之間分配流量方面具有獨立性。所有團隊成員必須連接到同一個物理交換機或共享交換機 ID 的多機箱交換機。Switch Dependent模式還有以下兩個選項:
- 靜態(tài)分組:需要手動配置交換機和主機以識別形成團隊的鏈接。由于此配置是靜態(tài)的,因此沒有其他協(xié)議可以幫助交換機和主機識別錯誤,例如電纜插入不正確。這可能會導致團隊失敗。通常,服務(wù)器級交換機支持此模式。
- 鏈路聚合控制協(xié)議 (LACP):?LACP 分組動態(tài)識別交換機和主機之間連接的鏈路。這反過來又可以自動創(chuàng)建團隊。所有服務(wù)器級交換機都支持此模式,但網(wǎng)絡(luò)運營商必須在交換機端口上啟用 LACP。NIC teaming 在 LACP 的活動模式下運行,定時器很短,目前還沒有更改定時器或 LACP 模式的機制。
將交換機相關(guān)模式與動態(tài)分配結(jié)合使用可根據(jù)動態(tài)負載平衡算法修改的傳輸端口地址散列來分配網(wǎng)絡(luò)流量負載。該算法重新分配流量,優(yōu)化團隊成員帶寬利用率,并允許單個流量傳輸從一個活躍的團隊成員轉(zhuǎn)移到另一個。該算法還降低了無序交付的可能性,但將其可能性考慮在內(nèi)。
負載平衡模式
NIC teaming的負載均衡分配方式有:
地址哈希
在這種模式下,哈希是根據(jù)數(shù)據(jù)包的地址組件創(chuàng)建的。此散列被分配給可用適配器之一,從而在可用適配器之間創(chuàng)建合理的平衡。
Windows PowerShell 可用于指定散列組件的值,例如:
- 源和目標 TCP 端口以及源和目標 IP 地址。
- 僅源地址和目標地址。
- 僅限源和目標媒體訪問控制 (MAC) 地址。
TCP 端口創(chuàng)建流量流的粒度分布,從而產(chǎn)生更小的流。但是,這不能用于不基于 TCP 或用戶數(shù)據(jù)報協(xié)議 (UDP) 的流量。在這種情況下,哈希使用 IP 地址哈希或 MAC 地址哈希。
Hyper-V 端口
在此模式下,在 Hyper-V 主機上配置的 NIC 組為虛擬機 (VM) 提供獨立的 MAC 地址。VM 的 MAC 地址或連接到 Hyper-V 交換機的 VM 端口用于在 NIC 團隊成員之間分配網(wǎng)絡(luò)流量。VM 內(nèi)創(chuàng)建的網(wǎng)卡組不能配置 Hyper-V 端口負載平衡模式,而是需要地址哈希模式。
動態(tài)的
在這種模式下,出站負載根據(jù)TCP 端口和IP 地址分配。此模式實時重新平衡負載,以確保給定的出站流量在團隊成員之間來回移動。入站負載的分布方式與 Hyper-V 端口相同。它利用了地址哈希和 Hyper-V 的兩個方面,是性能最高的負載平衡模式。
Linux 網(wǎng)卡組合
NIC 綁定在 Linux 中稱為 NIC 綁定。原理是相同的——在NIC 綁定中,2 個或更多網(wǎng)卡被“綁定”到一個虛擬 NIC 中。要使 NIC 綁定正常工作,您的網(wǎng)絡(luò)交換機必須支持 EtherChannel 鏈路聚合架構(gòu)。這應(yīng)該不是問題,因為當今大多數(shù)網(wǎng)絡(luò)交換機都支持 EtherChannel。
Linux網(wǎng)卡綁定有以下幾種模式:
模式 | 政策 | 容錯 | 負載均衡 | 特征 |
模式=0 | 循環(huán)法 | 是的 | 是的 | 以循環(huán)方式發(fā)送/接收數(shù)據(jù)包的默認模式。 |
模式=1 | 主動備份 | 是的 | 不 | 只有一個次級是活動的。如果活動 NIC 發(fā)生故障,則此輔助 NIC 將充當活動 NIC。 |
模式=2 | 異或 (XOR) | 是的 | 是的 | 基于 XOR 公式傳輸。一旦在 NIC 和匹配設(shè)備之間建立連接,就使用同一個 NIC 向目標 MAC 發(fā)送/接收數(shù)據(jù)。 |
模式=3 | 播送 | 是的 | 不 | 所有數(shù)據(jù)包都在所有輔助接口上發(fā)送,以實現(xiàn)超可靠網(wǎng)絡(luò)。 |
模式=4 | IEEE 802.3 廣告動態(tài)鏈路聚合 | 是的 | 是的 | 創(chuàng)建共享相同雙工設(shè)置和速度的聚合組。 |
模式=5 | 自適應(yīng)傳輸負載平衡 (TLB) | 是的 | 是的 | 傳出流量根據(jù)每個輔助設(shè)備上的當前負載進行分配。 |
模式=6 | 自適應(yīng)負載平衡 (ALB) | 是的 | 是的 | 接收負載平衡是通過地址解析協(xié)議協(xié)商實現(xiàn)的。 |
微軟網(wǎng)卡組合
Microsoft 網(wǎng)絡(luò)適配器多路復用器協(xié)議是用于將 2 個或更多 NIC 鏈接在一起的內(nèi)核模式設(shè)備驅(qū)動程序。因此,它使Windows 中的 NIC 組合成為可能。由于 Microsoft 網(wǎng)絡(luò)適配器多路復用器是內(nèi)核級驅(qū)動程序,它與 Windows 操作系統(tǒng)和任何其他內(nèi)核模式驅(qū)動程序駐留在相同的地址空間中,使其成為惡意軟件的潛在攻擊媒介。為了解決潛在的安全問題,Microsoft 特意在沒有多個 NIC 的服務(wù)器硬件上禁用了此驅(qū)動程序。當您在具有 2 個或更多物理網(wǎng)絡(luò)接口的硬件中設(shè)置 NIC 綁定時,它會自動啟用。