Linux-Networking
綁定 802.3ad 和 HPE 交換機:入口和出口流量不在同一個介面中
我在我的伺服器(802.3ad、layer2,因此基於源 MAC 和目標 MAC)和我的交換機之間配置了 LACP。
最近我看到一個網路對等體的入口流量正在使用一個介面(eth3),而同一個網路對等體的出口流量正在使用另一個介面(eth1)!?
這是正常行為嗎?
查看核心文件(https://www.kernel.org/doc/Documentation/networking/bonding.txt,xmit_hash_policy部分):我不這麼認為。但我必須承認我迷路了,真的迷路了……
這是我的設置:
我的伺服器上的綁定配置
root@server:~# cat /proc/net/bonding/bond1 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer2 (0) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 200 Down Delay (ms): 200 802.3ad info LACP rate: fast Min links: 0 Aggregator selection policy (ad_select): stable Active Aggregator Info: Aggregator ID: 2 Number of ports: 2 Actor Key: 17 Partner Key: 8 Partner Mac Address: 2c:23:3a:6a:c5:fe Slave Interface: eth1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 6 Permanent HW addr: b0:83:fe:d9:93:a0 Aggregator ID: 2 Slave queue ID: 0 Slave Interface: eth3 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 6 Permanent HW addr: b0:83:fe:d9:93:a2 Aggregator ID: 2 Slave queue ID: 0
交換機的配置 (HPE 5130):
<switch> display link-aggregation load-sharing mode interface Bridge-Aggregation 8 Bridge-Aggregation8 load-sharing mode: Layer 2 traffic: packet type-based sharing Layer 3 traffic: packet type-based sharing <switch>display link-aggregation verbose Bridge-Aggregation 8 Loadsharing Type: Shar -- Loadsharing, NonS -- Non-Loadsharing Port Status: S -- Selected, U -- Unselected, I -- Individual, * -- Management port Flags: A -- LACP_Activity, B -- LACP_Timeout, C -- Aggregation, D -- Synchronization, E -- Collecting, F -- Distributing, G -- Defaulted, H -- Expired Aggregate Interface: Bridge-Aggregation8 Aggregation Mode: Dynamic Loadsharing Type: Shar Management VLAN : None System ID: 0x8000, 2c23-3a6a-c5fe Local: Port Status Priority Oper-Key Flag -------------------------------------------------------------------------------- GE1/0/8 S 32768 8 {ABCDEF} GE2/0/8 S 32768 8 {ABCDEF} Remote: Actor Partner Priority Oper-Key SystemID Flag -------------------------------------------------------------------------------- GE1/0/8 2 255 17 0xffff, b083-fed9-93a0 {ABCDEF} GE2/0/8 1 255 17 0xffff, b083-fed9-93a0 {ABCDEF}
我嘗試更改交換機上的負載平衡模式,但沒有任何改變。
謝謝!
使用 LACP 或靜態綁定,每一方都自行決定如何路由流量。
交換機通常採用 SA/DA 方案——它們散列源地址和目標地址的低三或四位,並將其用作 LAG 埠索引。更簡單的交換機只使用 MAC 地址,更複雜的 IP 地址(如果存在)甚至與 TCP/UDP 埠結合使用。
目的是讓單個流始終使用相同的埠組合,因此幀不會亂序。
單獨使用 MAC 地址會導致兩台主機(或路由器)之間的所有流量始終使用相同的埠組合。
使用 IP 地址允許在路由器之間分配流量,或者使您能夠選擇(輔助)IP 地址以優化流量和 IP/埠組合自動負載平衡不同的連接(儘管不一定是最佳的)。
因此,到主機的入口流量由交換機控制,出口流量由主機控制。這很容易導致在兩個方向上使用不同的埠。不過它不疼。