PDA

View Full Version : Distributing Traffic in EtherChannel



netdiscover
16-06-2004, 10:57 AM
Kính chào anh chị và các bạn!
Xin cho netdicover hỏi về cơ chế distributing Traffic in EthernetChannel voi.
Trong phần này có thuật ngữ "hashing algorithm" mình không hiểu thuật ngữ này là gì và trong trường hợp này nó hoạt động ra sao mong anh chị giúp đỡ với. Cung trong phan nay co de cap den thuat toan XOR (mot thuat toan trong dai so ) và cũng có đề cập đến bit có trọng số nhỏ nhất, mình đọc và cũng suy gẫm nhiều lần nhưng sao khó hiểu quá, mong các bạn tận tình giúp đỡ.

Mình cũng xin anh chị giải thích luôn giùm mình cơ chế hoạt động của "native vlan" dùng trong việc trunk giữa các vlan với nhau.
Vì mình không có điều kiện đến lớp học mà ngồi ở nhà nghiên cứu nên có nhiều chỗ không hiểu cặn kẽ.
Một lần nữa mong các anh chị tận tình giúp đỡ.
Cám ơn các anh chị rất nhiều.

VoThanhDuy
16-06-2004, 08:35 PM
chào

Một etherchannel sẽ bao gồm nhiều kết nối thành viên.

http://vnpro.org/forum/viewtopic.php?t=3307

vấn đề cần quan tâm là việc chia tải trên các member link diễn ra như thế nào? Điều này được xác định thông qua giải thuật hash.
Giả sử rằng Etherchannel có 2 member link. Nếu có một luồng traffic, luồng traffic này sẽ đi trên member link 1. Nếu có một luồng traffic khác, luồng traffic này có thể đi trên member link 2/ hoặc có thể member link 1. Kết quả của hash chính là để xác định member link nào sẽ được dùng.

Hash là một thuật toán nhận thông số vào các địa chỉ nguồn và đích của luồng dữ liệu. Nếu hash = 0, member link 1 được dùng cho luồng traffic trên. Nếu hash = 1, member link 2 sẽ được dùng cho luồng traffic.

Với những chỉ dẫn tuyệt vời trên, anh đọc lại sách một lần nữa. Và lần này thì anh hiểu. Ngạc nhiên chứ?

themask
17-06-2004, 02:26 PM
hi,

Server
|
------------------------------
SW1 -----ether------SW2
------------------------------

Client trên Sw2 truy cậy server trên Sw1.
Cho mình hỏi làm sao để load balancing trên 3 link của Ether?

TM

VoThanhDuy
18-06-2004, 08:04 AM
để load balancing trên ba link của Etherchannel, chỉ cần thay đổi thông số đầu vào của thuật tóan hash. Cụ thể cần chuyển load balancing sang chế độ dựa theo source IP, dest IP và source port, dest port.

Các Catalyst từ 4K trở lên mới hỗ trợ kiểu load balancing dựa trên source port và dest port.

Ngạc nhiên chứ?

lee
18-06-2004, 08:50 AM
ủa mình tưởng Etherchannel chỉ tạo ra các bundle là số mũ của 2 (2,4,8) thôi chứ? Còn việc tính toán của thuật toán hash thì mình tưởng chỉ quy định cho nó là hash dựa trên ip, mac, port nguồn đích chứ làm sao mà mình tác động vào số link được load balance? Giải thích cho mình với!

VoThanhDuy
18-06-2004, 02:47 PM
chào lee

1. Cisco chỉ khuyến cáo là số member link trong một kết nối EtherChannel là số mũ của 2. Cấu hình của FEC và các protocol mà FEC sử dụng (PAgP, LACP) khi phụ thuộc vào số member link này.

2. Bạn Themask đơn giản là không hiểu cơ chế load-balancing trong FastEtherChannel diễn ra như thế nào nên đã đặt câu hỏi như vậy. Như Duy đã khẳng định, kết quả của thuật tóan HASH chỉ để nhằm xác định member-link nào được dùng để truyền một luồng traffic, chứ không thể xác định số link được load-balancing.

Chúc Lee vui vẻ và hạnh phúc,

themask
18-06-2004, 04:35 PM
Hi,

TM kô hiểu cơ chế load balancing trên etherchannel ntn. Xin hỏi hash là gì vậy và tính ntn?
Như vậy với 3 links thì có thể làm thành Etherchannel không và loadbalancing được kô? Theo sơ đồ như trên thì cấu hình cụ thể ntn để traffic có thể loadbalancing 2 hướng? :roll:

Thân
TM.

changchancuucodon
19-06-2004, 03:34 PM
xin chào,

Mặc dù là fastetherchannel có tạo ra một port-chanel nhưng cách thức traffic đi trong port-chanel này không như nhiều nguời nghĩ.

Nếu có 3 member link, có thể không hình thành được portchannel. Nguyên nhân có thể nằm ở giải thuật hash nêu trên.

link 1
link 2
link 3

Khi có một luồng traffic, cần phải xác định link x nào được dùng trong 3 link trên. x là kết quả của thuật tóan băm mà đầu vào là 2 bit cuối cùng của IP address/ MAC address/ TCP port number của SOURCE và đích của luồng traffic đó.

Do dùng 2 bit cuối cùng, có 4 trường hợp sau xảy ra

Kết quả phép XOR = 0: link 1 được dùng
Kết quả phép XOR = 1: link 2 đưọc dùng
Kết quả phép XOR = 10: link 3 đựoc dùng
Kết quả phép XOR = 11: link 4 được dùng

Do kết quả này, Cisco luôn khuyến cáo số member link của FEC là 2 mũ x.

Để load balancing theo hai hướng, có thể chuyển giải thuật băm sang địa chỉ nguồn và đích. Mặc định, giải thuật băm chỉ dùng địa chỉ nguồn của traffic mà thôi.

Cám ơn

themask
19-06-2004, 10:48 PM
interface Port-channel1
switchport trunk encapsulation isl
switchport mode dynamic desirable

interface FastEthernet0/13
switchport trunk encapsulation isl
switchport mode dynamic desirable
channel-group 1 mode desirable
!
interface FastEthernet0/14
switchport trunk encapsulation isl
switchport mode dynamic desirable
channel-group 1 mode desirable
!
interface FastEthernet0/15
switchport trunk encapsulation isl
switchport mode dynamic desirable
channel-group 1 mode desirable


Nếu port-channel không hình thành ( load-balancing invalid) thì traffic chỉ đi qua 1 port duy nhất ( STP).

Tuy vậy, theo cấu hình (port-channel with 3 members), Port-channel vẫn ở trạng thái forwarding!

Giả sử load-balancing với tóan tử XOR trên:

A/ 1 bit -> 1 trong 3 link không bao giờ có traffic! Vậy xem như có 1 port bị disable.
B/ 2 bit -> 1 trong 4 kết quả XOR không thuộc link nào! Vậy traffic với kết quả này forward qua link nào?

Nếu có 8 links ether-channel bundle ( 3 bit base):

Theo A/, một link fail thì 3 link còn lại cũng xem như diable ( no traffic). Vậy chỉ còn 4 links o forward mode. (2 bit base)!?!
Theo B/, một link fail thì traffic trúng vào link này forward qua link nào? Nếu 2, 3 link fail thì sao? :wink:

Have a nice weekend,

TM :)

calvin.nguyen
20-06-2004, 06:53 AM
Chào các bạn,

Chỉ có Catalyst 5000/5500 Series và Catalyst 2926G sử dụng 2 bits cuối của MAC và dùng XOR để chọn link nào sẽ tãi data . Do đó khi tạo Etherchannel interface trên những switch này cần phải dùng 2 hoặc là 4 ports.

Những loại switch khác thì chỉ cần cấu hình từ 2 ports cho tới 8 ports. Không nhất thiết là phải dùng power of 2 ports.


Cheers.

Calvin

kokichi81
27-08-2004, 02:59 PM
Nếu trường hợp mình dùng 3 port để tạo channel.
Việc truyền trên link nào là do thuật toán XOR quyết định.
Giả sử thuật toán này là dựa vào sour và dest IP.
Nếu kết quả là 00----truyền qua link 1
Nếu kết quả là 01----truyền qua link 2
Nếu kết quả là 10----truyền qua link 3
Nếu kết quả là 11 : thì chuyện gì sẽ xảy ra? Traffic này sẽ bị loại đi hả?Hay là cisco có cơ chế chỉ cho cấu hình số port tham gia là 2 mũ x.Ví dụ như 2,4,8.
Thanks

changchancuucodon
28-08-2004, 12:32 PM
Mình chỉ có thể tạo được một bundle gồm 2 mũ x các thành viên.

hoangngocdon
10-03-2005, 02:00 PM
changchancuucodon oi
hinh như tôi nhớ trong thuật toán XOR thì giá trị 11=0 mà

TGA_Certificationteam
12-05-2006, 05:20 AM
interface Port-channel1
switchport trunk encapsulation isl
switchport mode dynamic desirable

interface FastEthernet0/13
switchport trunk encapsulation isl
switchport mode dynamic desirable
channel-group 1 mode desirable
!
interface FastEthernet0/14
switchport trunk encapsulation isl
switchport mode dynamic desirable
channel-group 1 mode desirable
!
interface FastEthernet0/15
switchport trunk encapsulation isl
switchport mode dynamic desirable
channel-group 1 mode desirable


Nếu port-channel không hình thành ( load-balancing invalid) thì traffic chỉ đi qua 1 port duy nhất ( STP).

Tuy vậy, theo cấu hình (port-channel with 3 members), Port-channel vẫn ở trạng thái forwarding!

Giả sử load-balancing với tóan tử XOR trên:

A/ 1 bit -> 1 trong 3 link không bao giờ có traffic! Vậy xem như có 1 port bị disable.
B/ 2 bit -> 1 trong 4 kết quả XOR không thuộc link nào! Vậy traffic với kết quả này forward qua link nào?

Nếu có 8 links ether-channel bundle ( 3 bit base):

Theo A/, một link fail thì 3 link còn lại cũng xem như diable ( no traffic). Vậy chỉ còn 4 links o forward mode. (2 bit base)!?!
Theo B/, một link fail thì traffic trúng vào link này forward qua link nào? Nếu 2, 3 link fail thì sao? :wink:

Have a nice weekend,

TM :)

người trả lời im re rồi

ciscomania
12-05-2006, 01:11 PM
Trường hợp dùng 3 ports để tạo channel, thì kết quả sẽ như sau:

Nếu kết quả XOR là 00----truyền qua link 1
Nếu kết quả XOR là 01----truyền qua link 2
Nếu kết quả XOR là 10----truyền qua link 3
Nếu kết quả XOR là 11----truyền qua link 1

Như vậy, phân bố tải trên 3 đường này sẽ có tỉ lệ là 2:1:1. Điều này bảo đảm là không có traffic nào bị drop cả.

vinet
18-10-2007, 10:57 PM
The Cisco-proprietary hash algorithm computes a value in the range 0 to 7. With this value as a basis, a particular port in the EtherChannel is chosen. The port setup includes a mask which indicates which values the port accepts for transmission. With the maximum number of ports in a single EtherChannel, which is eight ports, each port accepts only one value. If you have four ports in the EtherChannel, each port accepts two values, and so forth. This table lists the ratios of the values that each port accepts, which depends on the number of ports in the EtherChannel:

Number of Ports in the EtherChannel
Load Balancing

8 port: 1:1:1:1:1:1:1:1

7port: 2:1:1:1:1:1:1

6port: 2:2:1:1:1:1

5port: 2:2:2:1:1

4port 2:2:2:2

3port: 3:3:2

2port: 4:4
Note: This table only lists the number of values, which the hash algorithm calculates, that a particular port accepts. You cannot control the port that a particular flow uses. You can only influence the load balance with a frame distribution method that results in the greatest variety.

Note: The hash algorithm cannot be configured or changed to load balance the traffic among the ports in an EtherChannel.

Hence, in essence, you can only achieve perfect load balancing, even with random addresses, if you have two, four, or eight ports in the port channel.
-----------------------------------------------
Tôi có đọc đoạn trên theo tôi hiểu là nếu port lẻ nó sẽ phân chia tỉ lệ load balancing là 3:3:2
Không hiểu maximum tối đa ghép 3 port 1Gbps sẽ là 1Gbps:1Gbps:0.67Gbps=2.67Gbps. Như vậy đối với port chẵn sẽ chạy gần tối đa băng thông của các port. Còn port lẻ sẽ chạy ko hết băng thông ?

invalid-password
13-12-2007, 05:04 PM
Nó nói thuật toán hash là sai, chỉ là phép Xor thôi, nhiều phép xor thì còn gọi là hash chứ 1 xor thì ...
Thuật toán hash chạy rất chậm, không thể áp dụng vào việc tính toán với từng frame Ethernet, chỉ là xor 3 bit cuối.

invalid-password
17-12-2007, 09:48 AM
Mọi người có ai biết cụ thể xor là thực hiện giữa cái gì với cái gì ? Chỉ thấy nói chung chung là thuật toán xor, lấy 3 bit cuối. Nếu 001 thì ra link 1, 010 thì ra link 2, .... Phép xor với bảng chân lý của nó thì mình biết, nhưng còn vấn đề nữa là nó xor giữa cái gì ?
Ví dụ distribute với dest-mac thì nó lấy dest mac xor với cái gì ?

netbaby
04-03-2009, 01:50 PM
Trường hợp dùng 3 ports để tạo channel, thì kết quả sẽ như sau:

Nếu kết quả XOR là 00----truyền qua link 1
Nếu kết quả XOR là 01----truyền qua link 2
Nếu kết quả XOR là 10----truyền qua link 3
Nếu kết quả XOR là 11----truyền qua link 1

Như vậy, phân bố tải trên 3 đường này sẽ có tỉ lệ là 2:1:1. Điều này bảo đảm là không có traffic nào bị drop cả.

Cho mình hỏi lại: Bạn nói phân bố tải theo tỉ lệ 2:1:1 có phải là ví dụ có 4 gói thì 2 gói đi link 1, 1 gói đi link 2 và 1 gói đi link?

Hơn nữa, ví dụ nếu ta gộp 5 đường mà phép XOR nếu cho giá trị số 7 thì đi đường nào? Nếu đường được chọn theo kết quả số 7 trước đó chết thì đường nào sẽ thay thế?

cuibapcaca
04-03-2009, 04:54 PM
Cho mình hỏi lại: Bạn nói phân bố tải theo tỉ lệ 2:1:1 có phải là ví dụ có 4 gói thì 2 gói đi link 1, 1 gói đi link 2 và 1 gói đi link?

Hơn nữa, ví dụ nếu ta gộp 5 đường mà phép XOR nếu cho giá trị số 7 thì đi đường nào? Nếu đường được chọn theo kết quả số 7 trước đó chết thì đường nào sẽ thay thế?
Câu hỏi hay lắm, mình cũng k biết :D

invalid-password
05-03-2009, 07:24 AM
Bạn nói phân bố tải theo tỉ lệ 2:1:1
Thông thường group của các hãng đều hỗ trợ 8 link, chia thành 8, nên sẽ không có dạng phân bố 2:1:1 (các số cộng lại phải = 8). Nếu có 3 đường thì sẽ phân bố 3:3:2


có phải là ví dụ có 4 gói thì 2 gói đi link 1, 1 gói đi link 2 và 1 gói đi link?
Đi link nào là phụ thuộc kết quả phép xor, nếu cả 4 gói cho KQ xor giống nhau thì nó sẽ đi trên cùng 1 link.


nếu ta gộp 5 đường mà phép XOR nếu cho giá trị số 7 thì đi đường nào?
Giả sử có 5 link ABCDE, có 5 đường thì phân bố là 2:2:2:1:1.
Nếu KQ xor là 0 thì đi link A, KQ là 1 thì đi link B, ..., 4 thì link E, 5 thì quay lại đi link A, 6 thì link B, và cuối cùng 7 thì đi link C.


Nếu đường được chọn theo kết quả số 7 trước đó chết thì đường nào sẽ thay thế?
Nếu đường được chọn cho KQ số 7 trước đó (tức là link C) chết thì group còn lại 4 đường ABDE, tải sẽ phân bố lại thành 2:2:2:2. Vậy KQ xor là số 7 thì sẽ đi link cuối cùng.

Cho bạn ví dụ về 1 công thức tính xor, cái này là "bí truyền" của từng hãng (tùy họ thôi)
XOR result = [3 bit đầu src-MAC] xor [3 bit cuối src-MAC] xor [3 bit đầu dst-MAC] xor [3 bit cuối dst-MAC] xor [3 bit cuối src-VLAN] xor [3 bit cuối dst-VLAN] xor [Ethernet type] xor ... (nhiều wá hok nhớ hết)

netbaby
05-03-2009, 04:53 PM
Thanks anh nhiều, em đọc trong sách không hiểu cái này này cho lắm. Nhờ anh giải thích giùm...

These rules are generally applicable to many EtherChannel capable modules, however, some exceptions exist with later Catalyst modules. For example, the Catalyst 6000 line cards do not constrain you to use even numbers of links. You can create bundles with three links if you so choose. Nor do the ports have to be contiguous, or even on the same line card, as is true with some Catalyst devices and line modules. The previously mentioned exceptions of the Catalyst 6000 EtherChannel rules come from newer chipsets on the line modules. These newer chips are not present on all hardware. Be sure to check your hardware features before attempting to create any of these other bundle types.

Early EtherChannel-capable modules incorporate a chip called the Ethernet Bundling Controller (EBC) which manages aggregated EtherChannel ports. For example, the EBC manages traffic distribution across each segment in the bundled link. The distribution mechanism is described later in this section.

When selecting ports to group for an EtherChannel, you must select ports that belong to the same EBC. On a 24-port EtherChannel capable module, there are three groups of eight ports. On a 12-port EtherChannel capable module, there are three groups of four ports.

http://i261.photobucket.com/albums/ii61/trinhthanhsu/untitled.jpg

invalid-password
05-03-2009, 06:02 PM
Oops, tài liệu này nói đến vài hạn chế về ghép EtherChannel của một số thiết bị Cisco, ví dụ như số link phải là số chẵn hay không ghép được link trên card khác nhau, hay chip mới chip cũ không tương thích gì gì đó.
Nhưng anh không dùng hàng Cisco nên không quan tâm đến vụ này, switch nhiều hãng khác ghép sao cũng chạy hết !!!