Loading...

EtherChannel - Gộp link kết nối giữa 2 switch Cisco

EtherChannel là kỹ thuật gộp 2 hay nhiều đường kết nối vật lý (Link Aggregation) giữa các switch thành một đường logic duy nhất (Port-channel), nhằm tăng băng thông và tăng khả năng dự phòng cho hệ thống. Với STP, cả nhóm link được xem là 1 link nên không bị block.

⚡ Điểm nhanh

  • Mục đích: tăng băng thông giữa các switch và dự phòng khi 1 link đứt, không cần nâng cấp lên cổng tốc độ cao hơn.
  • Hai giao thức thương lượng: LACP (chuẩn IEEE 802.3ad, đa hãng) và PAgP (độc quyền Cisco).
  • Số link tối đa: PAgP tối đa 8 cổng. LACP tối đa 16 cổng, trong đó 8 cổng active và 8 cổng hot-standby.
  • Chế độ cấu hình: LACP dùng active / passive, PAgP dùng desirable / auto, cả hai có on (gộp tĩnh, không thương lượng).
  • Cân bằng tải: chia theo luồng (flow) bằng thuật toán hash, không chia đều từng gói tin.
  • Kiểm tra: lệnh show etherchannel summary, cổng có cờ (P) là đã gộp thành công.

Vì sao cần EtherChannel?

Giả sử hai switch nối nhau bằng cổng Fast Ethernet 100 Mbps, trong khi các PC kết nối vào switch bằng cổng Gigabit Ethernet 1000 Mbps. Khi PC truyền lượng dữ liệu lớn hơn 100 Mbps, link giữa hai switch sẽ bị nghẽn, hàng đợi đầy vượt ngưỡng bộ đệm (buffer) và các gói tin bị drop.Sơ đồ động: 3 PC Gigabit gửi dữ liệu qua 1 link Fast Ethernet 100 Mbps giữa 2 switch gây nghẽn và drop gói tin

Thay vì nâng cấp hoặc mua thiết bị mới, ta có thể kéo thêm nhiều dây giữa các switch để chia tải.

Kéo thêm 3 dây nữa có thể nâng băng thông lên 400 Mbps. Tuy nhiên, nếu chỉ cắm dây đơn thuần, STP sẽ phát hiện vòng lặp và block 3 dây, chỉ còn 1 dây hoạt động.

Sơ đồ động: 4 dây nối 2 switch nhưng STP block 3 dây, chỉ còn 1 link 100 Mbps hoạt động

EtherChannel giải quyết vấn đề này hiệu quả và tiết kiệm chi phí: nhiều dây vật lý được gộp thành một đường logic, băng thông tăng theo số link thêm vào và dữ liệu được phân phối qua các link đó.Sơ đồ động: EtherChannel gộp 4 link 100 Mbps thành Port-channel 400 Mbps, STP chỉ thấy 1 link logic

Nhiều kết nối cũng giúp dự phòng: khi một link down, các link còn lại tiếp tục mang lưu lượng.

Sơ đồ động: 1 link trong EtherChannel bị down, lưu lượng chuyển sang 3 link còn lại, kết nối không đứt

Vì các switch xem bó dây là một đường luận lý duy nhất nên STP không phát hiện vòng lặp và không block link nào. STP vẫn hoạt động, chỉ là nó tính toán trên Port-channel thay vì từng cổng vật lý.

Sơ đồ động: 4 dây vật lý được EtherChannel gộp thành 1 link logic Port-channel 1 trong mắt STP

Điều kiện cấu hình EtherChannel

Các switch phải hỗ trợ EtherChannel và cấu hình đồng nhất ở hai đầu. Các cổng trong cùng một nhóm phải giống nhau về:

  • Tốc độ (Speed) và Duplex (Full Duplex)
  • Switchport mode (Trunk hoặc Access)
  • Native VLAN và danh sách VLAN được phép (allowed VLAN)
  • Các thông số cấu hình khác của cổng (ví dụ cùng loại cổng, không bị shutdown riêng lẻ)

So sánh LACP và PAgP

Tiêu chíLACPPAgP
Chuẩn IEEE 802.3ad (mở) Độc quyền Cisco
Số cổng tối đa 16 (8 active + 8 hot-standby) 8
Chế độ on / active / passive on / desirable / auto
Dùng khi Môi trường đa hãng, khuyến nghị mặc định Toàn thiết bị Cisco

Cả hai giao thức có thể thương lượng tự động giữa các switch hoặc cấu hình tĩnh (on). Cấu hình tĩnh bỏ qua bước đàm phán nhưng không có cơ chế kiểm tra hai đầu có khớp nhau hay không.

Các chế độ của LACP

  • on: gộp tĩnh, không dùng LACP/PAgP. Ít được dùng vì hai đầu không trao đổi thông tin để kiểm tra tính tương thích, nếu cấu hình lệch nhau có thể gây loop và bị STP block hoặc bị suspend. Hai đầu đều phải đặt on.
  • active: chủ động gửi gói LACP để thương lượng với đối tác.
  • passive: bị động, chỉ phản hồi khi nhận được gói LACP.

Các chế độ của PAgP

Tương tự LACP: on, desirable (chủ động, tương đương active) và auto (bị động, tương đương passive).

Cấu hình PAgP

Switch(config)# interface type mod/num
Switch(config-if)# channel-protocol pagp
Switch(config-if)# channel-group number mode {on | {{auto | desirable} [non-silent]}}

Ví dụ:

Switch(config)# interface range f0/1 - 4
Switch(config-if-range)# channel-protocol pagp
Switch(config-if-range)# channel-group 1 mode desirable

Cấu hình LACP

Switch(config)# lacp system-priority priority
Switch(config)# interface type mod/num
Switch(config-if)# channel-protocol lacp
Switch(config-if)# channel-group number mode {on | passive | active}
Switch(config-if)# lacp port-priority priority

Ví dụ:

Switch1(config)# lacp system-priority 100
Switch1(config)# interface range gig 2/1 - 4 , gig 3/1 - 4
Switch1(config-if-range)# channel-protocol lacp
Switch1(config-if-range)# channel-group 1 mode active
Switch1(config-if-range)# lacp port-priority 100
Switch1(config-if-range)# exit
Switch1(config)# interface range gig 2/5 - 8 , gig 3/5 - 8
Switch1(config-if-range)# channel-protocol lacp
Switch1(config-if-range)# channel-group 1 mode active

Giải thích:

  • Switch1 đặt lacp system-priority 100. Switch2 để mặc định (32768), nên giá trị nhỏ hơn thắng: Switch1 có quyền chọn cổng nào Active, cổng nào Hot-Standby.
  • Các cổng gig 2/1 - 4 và gig 3/1 - 4 có port-priority 100, nhỏ hơn mặc định (32768) của gig 2/5 - 8 và gig 3/5 - 8. Vì vậy nhóm đầu là 8 cổng Active, nhóm sau là 8 cổng Hot-Standby.

Cấu hình Load Balancing

EtherChannel phân phối lưu lượng theo từng luồng (flow), dựa trên giá trị hash của địa chỉ MAC, IP hoặc cổng L4 trong gói tin. Hệ quả cần nhớ: một luồng đơn lẻ chỉ đi qua 1 link, nên tốc độ của một kết nối không vượt quá tốc độ 1 cổng thành viên.

Switch(config)# port-channel load-balance src-dst-ip
Switch# show etherchannel load-balance

Các phương thức khả dụng khác nhau theo dòng switch (ví dụ Catalyst 2960/3750 có src-mac, dst-mac, src-dst-mac, src-ip, dst-ip, src-dst-ip; một số dòng mới hơn còn hỗ trợ thêm src-dst-port). Dùng port-channel load-balance ? để xem danh sách trên thiết bị của bạn.

Ví dụ cấu hình hoàn chỉnh: LACP + Trunk

Đưa 2 cổng f0/1 và f0/2 vào Port-channel chạy LACP, sau đó cấu hình trunk:

Switch(config)# interface range f0/1 - 2
Switch(config-if-range)# channel-group 1 mode ?
  active     Enable LACP unconditionally
  auto       Enable PAgP only if a PAgP device is detected
  desirable  Enable PAgP unconditionally
  on         Enable Etherchannel only
  passive    Enable LACP only if a LACP device is detected
Switch(config-if-range)# channel-group 1 mode active
Switch(config-if-range)# exit
Switch(config)# interface port-channel 1
Switch(config-if)# switchport mode trunk

Ví dụ trên chạy trên Switch 2960. Với các dòng switch cũ hơn như 3560, 3750, 4500, 6500, cần thêm lệnh switchport trunk encapsulation dot1q trước switchport mode trunk. Nhớ cấu hình cả hai đầu giống nhau.

Kiểm tra EtherChannel

Switch# show etherchannel summary
Flags:  D - down        P - bundled in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port

Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------
1      Po1(SU)         LACP      Fa0/1(P)   Fa0/2(P)
  • Po1(SU): Port-channel 1 ở Layer 2 (S) và đang được sử dụng (U).
  • Fa0/1(P), Fa0/2(P): cờ P (bundled) nghĩa là cổng đã gộp thành công.
  • Cờ D (down): cổng hoặc Port-channel đang down, kiểm tra lại dây và trạng thái cổng.
  • Cờ I (stand-alone) hoặc s (suspended): cổng chưa gộp được, thường do hai đầu cấu hình không khớp (mode, giao thức, speed/duplex, VLAN).

Câu hỏi thường gặp

LACP và PAgP khác nhau thế nào? LACP là chuẩn mở IEEE 802.3ad, dùng được giữa nhiều hãng, hỗ trợ tối đa 16 cổng (8 active + 8 hot-standby). PAgP chỉ chạy trên thiết bị Cisco và hỗ trợ tối đa 8 cổng.

EtherChannel có làm tăng tốc độ của một kết nối đơn lẻ không? Không. Tổng băng thông của bó tăng, nhưng mỗi luồng được hash vào 1 link nên tốc độ một kết nối đơn lẻ vẫn bị giới hạn bởi tốc độ 1 cổng thành viên.

Hai đầu cấu hình LACP active và PAgP desirable có gộp được không? Không. LACP và PAgP là hai giao thức khác nhau, hai đầu phải dùng cùng giao thức.

Xem thêm