Changes

MyWikiBiz, Author Your Legacy — Saturday November 30, 2024
Jump to navigationJump to search
New page: <center> <adsense> google_ad_client = 'pub-1200304577225263'; google_ad_width = 468; google_ad_height = 60; google_ad_format = '468x60_as'; google_ad_type = 'text_image'...

<center>
<adsense>
google_ad_client = 'pub-1200304577225263';
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = '468x60_as';
google_ad_type = 'text_image';//2006-12-28: MWB Directory space
google_ad_channel = '2388332058';
google_color_border = '6699CC';
google_color_bg = '003366';
google_color_link = 'FFFFFF';
google_color_text = 'AECCEB';
google_color_url = 'AECCEB';
</adsense>
</center>
Linux channel bonding is the [[channel bonding]] implementation for Linux.

It's provided by the bonding module, which is part of the standard Linux kernel.

It allows for network high availability and load balancing, for both outgoing and incoming traffic.

==Comparison of modes in Linux channel bonding==

<center>
<adsense>
google_ad_client = 'pub-1200304577225263';
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = '468x60_as';
google_ad_type = 'text_image';//2006-12-28: MWB Directory space
google_ad_channel = '2388332058';
google_color_border = '6699CC';
google_color_bg = '003366';
google_color_link = 'FFFFFF';
google_color_text = 'AECCEB';
google_color_url = 'AECCEB';
</adsense>
</center>
Several modes of operation exists in Linux channel bonding. No mode provide a perfect solution and one needs to balance between the possible benefits of each modes before deciding which one to use. The following table is expected to give a clear view of the benefits of each modes.

{|class="wikitable"
|-
|
| balance-rr
| active-backup
| balance-xor
| broadcast
| 802.3ad
| balance-tlb
| balance-alb
|-
| align="left" colspan="8" bgcolor=#FFFF00 | High availability
|-
|Provide high availability (on a single switch, which is a Single Point Of Failure)
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
|Provide high availability (between several non-interconnected switches)
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
|Provide high availability (between several interconnected switches)
|align="center" bgcolor=#FF0000 |N<ref name="mac_to_port_change">Might work, but cause the switches to possibly change their "MAC to port" tables on every packet sent by the host.</ref>
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#FF0000 |N<ref name="mac_to_port_change"/>
|align="center" bgcolor=#00FF00 |Y<ref name="very_special_broadcast">For very special use. See section HA Mode Selection for Multiple Switch Topology.</ref>
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
| align="left" colspan="8" bgcolor=#FFFF00 | Outgoing load balancing
|-
|Provide outgoing load balancing (on a single switch, which is a Single Point Of Failure)
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
|Provide outgoing load balancing (between several non-interconnected switches)
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
|Provide outgoing load balancing (between several interconnected switches)
|align="center" bgcolor=#FF0000 |N<ref name="mac_to_port_change"/>
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N<ref name="mac_to_port_change"/>
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
|Provide outgoing load balancing distribution for a single peer host (subject to misordering delivery)
|align="center" bgcolor=#00FF00 |Y
|align="center" | -
|align="center" bgcolor=#00FF00 |Y<ref name="layer3+4">With xmit_hash_policy = layer3+4. (layer3+4 is not fully 802.3ad compliant).</ref>
|align="center" | -
|align="center" bgcolor=#00FF00 |Y<ref name="layer3+4"/>
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|-
|Provide outgoing load balancing distribution for a single TCP connection (subject to connection misordering delivery)
|align="center" bgcolor=#00FF00 |Y
|align="center" | -
|align="center" bgcolor=#FF0000 |N
|align="center" | -
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|-
|Well suited for "gatewayed" configuration
|align="center" bgcolor=#00FF00 |Y
|align="center" | -
|align="center" bgcolor=#00FF00 |Y<ref name="layer2+3_3+4">With xmit_hash_policy = layer2+3 or layer3+4. (layer3+4 is not fully 802.3ad compliant).</ref>
|align="center" | -
|align="center" bgcolor=#00FF00 |Y<ref name="layer2+3_3+4"/>
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|-
|Well suited for "local" configuration
|align="center" bgcolor=#00FF00 |Y
|align="center" | -
|align="center" bgcolor=#00FF00 |Y
|align="center" | -
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
| align="left" colspan="8" bgcolor=#FFFF00 | Incoming load balancing
|-
|Provide incoming load balancing (on a single switch, which is a Single Point Of Failure)
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
|Provide incoming load balancing (between several non-interconnected switches)
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
|Provide incoming load balancing (between several interconnected switches)
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
|Provide incoming load balancing distribution for a single peer host (subject to misordering delivery)
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|-
|Provide incoming load balancing distribution for a single TCP connection (subject to connection misordering delivery)
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|-
| align="left" colspan="8" bgcolor=#FFFF00 | Miscelaneous
|-
|Use per port source MAC when sending (=> not totaly transparent for peer hosts)
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
|Use per port source MAC when answering ARP requests (=> not totally transparent for peer hosts)
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#00FF00 |Y
|-
|Require Etherchannel for load balancing (switch feature and setup)
|align="center" bgcolor=#00FF00 |Y
|align="center" | -<ref name="no_etherchannel">Don't use Etherchannel in this mode. Packets received on inactive ports will be silently discarded.</ref>
|align="center" bgcolor=#00FF00 |Y
|align="center" | -
|align="center" bgcolor=#FF0000 |N<ref name="no_etherchannel"/>
|align="center" bgcolor=#FF0000 |N<ref name="no_etherchannel"/>
|align="center" bgcolor=#FF0000 |N
|-
|Require 802.3ad for load balancing (switch feature and possibly setup)
|align="center" bgcolor=#FF0000 |N
|align="center" | -
|align="center" bgcolor=#FF0000 |N
|align="center" | -
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|-
|Allow miimon monitoring
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|-
|Allow ARP monitoring
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#00FF00 |Y
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|align="center" bgcolor=#FF0000 |N
|-
|}

<references/>
578

edits

Navigation menu