Giao thức GLBP - Gateway Load Balancing Protocol Như các bạn đã biết về các giao thức dự phòng gateway cho end – user trong mạng LAN gồm HSRP và VRRP. Các giao thức này cung cấp một cơ chế dự phòng gateway rất hiệu quả và được sử dụng rộng rãi trong các mạng doanh nghiệp ngày nay. Tuy nhiên, một nhược điểm thấy rõ của hai giao thức HSRP và VRRP là chúng không hỗ trợ hoạt động cân bằng tải giữa các gateway. Để thực hiện cân bằng tải, ta phải sử dụng giải pháp khai báo nhiều nhóm HSRP/VRRP khác nhau và cấu hình để mỗi router gateway đảm nhận nhiệm vụ active/master cho một nhóm. Điều này dẫn đến cấu hình IP cho các host đầu cuối trở nên phức tạp vì lúc này trên mạng LAN xuất hiện nhiều gateway ảo khác nhau của nhiều group khác nhau. Giao thức GLBP (Gateway Load Balancing Protocol) của Cisco khắc phục được vấn đề này, cho phép chỉ cần tạo ra một group duy nhất với một router ảo duy nhất nhưng vẫn thực hiện được cân bằng tải giữa các router cùng tham gia chạy GLBP. Trong bài viết này, chúng ta sẽ cùng trao đổi về giao thức GLBP. Ta sử dụng lại sơ đồ lab quen thuộc đã dùng để giả lập HSRP và VRRP trong các bài viết trước để khảo sát hoạt động của GLBP. Để bạn đọc tiện theo dõi, phần mô tả và phần cấu hình ban đầu được nhắc lại trong bài viết này. GLBP (Gateway Load Balancing Protocol) là một giao thức dự phòng gateway của Cisco. Tương tự như HSRP và VRRP, giao thức này cho phép nhiều router cùng tham gia vào một group, xây dựng nên một router ảo để làm default – gateway cho các host trong LAN. Tuy nhiên, điểm khác biệt là GLBP không chỉ thực hiện dự phòng mà còn cho phép các router cân bằng tải lưu lượng đi từ trong LAN ra ngoài. Ý tưởng của GLBP về cân bằng tải khá đơn giản: thay vì chỉ dùng một địa chỉ MAC cho một router ảo như với HSRP và VRRP, GLBP sử dụng 4 địa chỉ MAC cho một router ảo. 4 địa chỉ MAC này được phân bố đều cho 4 router tham gia nhóm GLBP xây dựng router ảo, mỗi router sẽ là Active cho một MAC và dự phòng cho các MAC còn lại. Một group GLBP cho phép cân bằng tải tối đa trên 4 router gateway (vì chỉ có 4 MAC trên một group); nếu có nhiều hơn 4 router tham gia nhóm, router thứ 5 trở đi sẽ dự phòng cho 4 router đang tải dữ liệu. Thông thường, ta chỉ sử dụng 2 router cho hoạt động dự phòng nên số lượng 4 đường cân bằng tải là đủ cho mọi trường hợp sử dụng. Trong các router tham gia group, một router sẽ được bầu ra để làm nhiệm vụ điều phối, router này được gọi là AVG (Active Virtual Gateway). Router AVG này sẽ làm nhiệm vụ phân phối các địa chỉ MAC cho các router thành viên và trả lời ARP cho các host trong LAN. Cách thức AVG trả lời ARP cho các host trong LAN sẽ quyết định cách thức cân bằng tải được sử dụng. Ta cùng quan sát một ví dụ để nắm được cách thức hoạt động của GLBP : Cân bằng tải với GLBP. Mô hình ví dụ : Trên mô hình là một mạng LAN sử dụng subnet 192.168.1.0/24. Ta giả sử có 4 router cùng tham gia dự phòng gateway cho mạng LAN này và chạy GLBP với nhau để xây dựng router ảo. Router ảo sẽ được cấu hình địa chỉ IP 192.168.1.254/24 và các host trong LAN sẽ được thiết lập thống nhất trỏ default – gateway về địa chỉ IP của router ảo này. Như đã trình bày ở trên, router ảo được cung cấp 4 địa chỉ MAC để sử dụng cho hoạt động vận chuyển layer 2 từ các host lên gateway (ta gọi là các virtual – MAC, viết tắt là VMAC). Ta giả sử router R1 được bầu chọn làm AVG, AVG R1 sẽ thực hiện phân phối 4 địa chỉ MAC này cho 4 router tham gia nhóm: R1 nhận VMAC1, R2 nhận VMAC2, R3 nhận VMAC3 và R4 nhận VMAC4. Khi một router đảm nhận một VMAC để forward dữ liệu gửi đến VMAC ấy ra ngoài, router được gọi là AVF (Active Virtual Forwarder) của VMAC ấy. Trong trường hợp này, ta có R1 là AVF của VMAC1, R2 là AVF của VMAC2, R3 là AVF của VMAC3 và R4 là AVF của VMAC4. Ta giả sử 4 PC 1, 2, 3, 4 của mạng LAN bắt đầu gửi dữ liệu ra khỏi LAN. Khi PC1 muốn gửi dữ liệu ra ngoài, PC1 sẽ truy vấn ARP để tìm ra MAC tương ứng với IP của default – gateway (192.168.1.254), AVG sẽ thực hiện trả lời ARP Reply với địa chỉ MAC là VMAC1 để PC1 cập nhật vào ARP cache của nó là “192.168.1.254 tương ứng với VMAC1”. Từ đó mỗi khi PC1 muốn gửi dữ liệu ra ngoài, dữ liệu này sẽ được đóng frame với source MAC là của PC và destination MAC là VMAC1. Như đã đề cập ở trên, R1 đang nắm giữ VMAC1 nên frame sẽ được đẩy lên R1 để R1 chuyển tiếp ra ngoài. Điều tương tự cũng sẽ xảy ra với PC2. Khi PC2 muốn đi ra ngoài, nó sẽ truy vấn ARP để tìm MAC tương ứng với địa chỉ 192.168.1.254 của gateway mà nó trỏ về. AVG sẽ trả lời ARP lần này cho VMAC2 và PC2 sẽ cập nhật bảng ARP của nó là “192.168.1.254 tương ứng với VMAC2”. Kể từ đó, mọi lưu lượng mà PC2 muốn gửi ra ngoài mạng LAN đều được đẩy đến R2 để đi tiếp. Với phương thức trả lời ARP tuần tự như vậy (ta gọi là round – robin), AVG sẽ quyết định việc cân bằng tải đi ra ngoài trải đều trên cả 4 router R1, R2, R3 và R4. Ta thấy, vấn đề cân bằng tải cho hoạt động dự phòng gateway đã được giải quyết. AVG có thể thông qua hoạt động trả lời ARP để thay đổi phương thức cân bằng tải, ví dụ, muốn R1 phải forward dữ liệu nhiều hơn thì trả lời ARP cho VMAC của R1 nhiều hơn. Ta có thể cấu hình phương thức cân bằng tải cho một group GLBP thông qua một số lệnh cấu hình trên router AVG của group. Trong bài viết sau mình sẽ hướng dẩn các bạn cấu hình GLBP trên Router Cisco
Cấu hình giao thức GLBP - Gateway Load Balancing Protocol trên Router Cisco Sơ đồ: Bước 1 : Cấu hình ban đầu • Thực hiện đặt IP trên các cổng router theo quy hoạch IP như được chỉ ra trên hình 1. • Chạy định tuyến RIPv2 trên các router R1, R2 và R3 đảm bảo các subnet trên sơ đồ đi đến được nhau. Cấu hình Trên R1: R1(config)#interface f0/0 R1(config-if)#no shutdown R1(config-if)#ip address 192.168.12.1 255.255.255.0 R1(config-if)#exit R1(config)#interface s0/0/0 R1(config-if)#no shutdown R1(config-if)#ip address 192.168.13.1 255.255.255.0 R1(config-if)#exit R1(config)#router rip R1(config-router)#version 2 R1(config-router)#no auto-summary R1(config-router)#network 192.168.12.0 R1(config-router)#network 192.168.13.0 R1(config-router)#exit Trên R2: R2(config)#interface f0/0 R2(config-if)#no shutdown R2(config-if)#ip address 192.168.12.2 255.255.255.0 R2(config-if)#exit R2(config)#interface s0/0/0 R2(config-if)#no shutdown R2(config-if)#ip address 192.168.23.2 255.255.255.0 R2(config-if)#exit R2(config)#router rip R2(config-router)#version 2 R2(config-router)#no auto-summary R2(config-router)#network 192.168.12.0 R2(config-router)#network 192.168.23.0 Trên R3: R3(config)#interface loopback 0 R3(config-if)#ip address 192.168.3.1 255.255.255.0 R3(config-if)#exit R3(config)#interface s0/0/0 R3(config-if)#no shutdown R3(config-if)#ip address 192.168.13.3 255.255.255.0 R3(config-if)#exit R3(config)#interface s0/1/0 R3(config-if)#no shutdown R3(config-if)#ip address 192.168.23.3 255.255.255.0 R3(config-if)#exit R3(config)#router rip R3(config-router)#version 2 R3(config-router)#no auto-summary R3(config-router)#network 192.168.13.0 R3(config-router)#network 192.168.23.0 R3(config-router)#exit Kiểm tra Ta kiểm tra rằng định tuyến đã hội tụ trên các router với lệnh show ip route rip : R1#show ip route rip R 192.168.23.0/24 [120/1] via 192.168.13.3, 00:00:12, Serial0/0/0 [120/1] via 192.168.12.2, 00:00:18, FastEthernet0/0 R 192.168.3.0/24 [120/1] via 192.168.13.3, 00:00:12, Serial0/0/0 R2#show ip route rip R 192.168.13.0/24 [120/1] via 192.168.23.3, 00:00:17, Serial0/0/0 [120/1] via 192.168.12.1, 00:00:12, FastEthernet0/0 R 192.168.3.0/24 [120/1] via 192.168.23.3, 00:00:17, Serial0/0/0 R3#show ip route rip R 192.168.12.0/24 [120/1] via 192.168.23.2, 00:00:23, Serial0/1/0 [120/1] via 192.168.13.1, 00:00:04, Serial0/0/0 Bước 2: Cấu hình GLBP • Cấu hình GLBP trên các router R1 và R2 để các router này thực hiện dự phòng gateway cho các host trên mạng LAN 192.168.12.0/24 đồng thời cân bằng tải dữ liệu đi từ trong LAN ra bên ngoài giữa hai router. • Cấu hình để R1 đảm nhận vai trò của AVG router trong hoạt động GLBP và R2 dự phòng cho AVG router này. Cấu hình Trên R1: R1(config)#interface f0/0 R1(config-if)#glbp 1 ip 192.168.12.254 R1(config-if)#glbp 1 priority 150 R1(config-if)#glbp 1 preemp R1(config-if)#exit Trên R2: R2(config)#interface f0/0 R2(config-if)#glbp 1 ip 192.168.12.254 R2(config-if)#glbp 1 preempt R2(config-if)#exit Tiếp theo, ta điểm qua các bước cấu hình GLBP: • Khai báo group và IP của router ảo: R(config-if)#glbp group-id ip IP_trên_router_ảo Trong đó: • group-id: Số hiệu của group GLBP, có thể nhận giá trị từ 0 đến 1023. • IP_trên_router_ảo: Địa chỉ IP gán cho router ảo. • Khai báo priority cho hoạt động bầu chọn AVG: R(config-if)#glbp group-id priority Priority AVG được bầu chọn dựa trên giá trị priority gán cho các router tham gia nhóm GLBP: router có priority cao nhất sẽ được bầu chọn làm AVG, các router còn lại thực hiện nhiệm vụ dự phòng cho vị trí này. Tie – breaker cho priority là địa chỉ IP của các router: nếu xảy ra trường hợp hai router có priotity tối ưu như nhau, router nào có IP cao hơn, router ấy sẽ được bầu chọn làm AVG. Priority có thể lấy giá trị từ 1 đến 255, mặc định là 100. Hoạt động bầu chọn AVG có tính chất non – preempt. Để thay đổi tính chất mặc định này, ta sử dụng lệnh: R(config-if)#glbp group-id preempt Kiểm tra Ta kiểm tra kết quả GLBP vừa cấu hình với lệnh show glbp brief : R1#show glbp brief Interface Grp Fwd Pri State Address Active router Standby router Fa0/0 1 - 150 Active 192.168.12.254 local 192.168.12.2 Fa0/0 1 1 - Active 0007.b400.0101 local - Fa0/0 1 2 - Listen 0007.b400.0102 192.168.12.2 - R2#show glbp brief Interface Grp Fwd Pri State Address Active router Standby router Fa0/0 1 - 100 Standby 192.168.12.254 192.168.12.1 local Fa0/0 1 1 - Listen 0007.b400.0101 192.168.12.1 - Fa0/0 1 2 - Active 0007.b400.0102 local - Từ kết quả show, ta thấy mỗi router có 3 dòng thông tin: một dòng về trạng thái Active hay Standby cho vai trò AVG, hai dòng tiếp theo là hai dòng thông tin về các địa chỉ VMAC mà các router đóng vai trò AVF. Ta thấy, hiện nay, router R1 đang đóng vai trò Active cho AVG và R2 là Standby cho vai trò AVG. Địa chỉ IP của router ảo cũng được chỉ rõ là 192.168.12.254. R1 đang là Active cho VMAC1 – 0007.b400.0101 (AVF cho VMAC 1), đồng thời cũng là Listen cho VMAC2 – 0007.b400.0102 (dự phòng cho VMAC2). Ta có thể thấy vai trò ngược lại với VMAC2 và VMAC 1 trong kết quả show của R2. Ta kiểm tra rằng router Host có thể đi ra ngoài mạng LAN: Host#ping 192.168.3.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.3.1, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 60/75/112 ms Kết quả phân giải ARP trên Host: Host#show ip arp Protocol Address Age (min) Hardware Addr Type Interface Internet 192.168.12.4 - 0017.e0bf.e440 ARPA FastEthernet0/0 Internet 192.168.12.254 0 0007.b400.0101 ARPA FastEthernet0/0 Kết quả ARP cache cho thấy router Host đang đi ra khỏi mạng LAN thông qua router R1: địa chỉ của gateway 192.168.12.254 đang được ánh xạ vào địa chỉ VMAC1 do R1 nắm giữ. Ta thực hiện reset lại cổng F0/0 của Host để xóa ARP cache ở trên: Host(config)#interface f0/0 Host(config-if)#shutdown Host(config-if)# *Mar 1 00:20:04.783: %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to administratively down *Mar 1 00:20:05.783: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down Host(config-if)#no shutdown Host(config-if)# *Mar 1 00:20:12.183: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up *Mar 1 00:20:13.183: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up Host(config-if)# Thực hiện ping lại từ Host ra bên ngoài: Host#ping 192.168.3.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.3.1, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 44/73/96 ms Ta quan sát lại ARP cache trên Host trong lần ping này: Host#show ip arp Protocol Address Age (min) Hardware Addr Type Interface Internet 192.168.12.4 - 0017.e0bf.e440 ARPA FastEthernet0/0 Internet 192.168.12.254 0 0007.b400.0102 ARPA FastEthernet0/0 Ta thấy lần này, địa chỉ 192.168.12.254 đã được phân giải thành VMAC2 của R2, nghĩa là lần này Host gửi dữ liệu ra khỏi LAN thông qua R2. Ta thấy, cân bằng tải đã được thực hiện. Đến đây, chúng ta đã hoàn thành cấu hình và kiểm tra hoạt động của GLBP trên Router cisco. Chúc các bạn thành công ! Bài viết liên quan: - Cấu hình HSRP trên Router Cisco - Cấu hình giao thức VRRP
Cấu hình cơ bản giao thức dự phòng GLBP Trong bài viết này, chúng ta sẽ chỉ thảo luận về cách triển khai đơn giản để cung cấp dự phòng cho hai bộ định tuyến trong mạng LAN với giao thức GLBP được hỗ trợ bởi Cisco. Hãy xem triển khai bộ định tuyến đơn giản trong mạng LAN như sau: Trong mạng đơn giản ở trên, chúng ta muốn cung cấp dự phòng cho các bộ định tuyến biên (R1 và R2) kết nối người dùng với Internet. Bằng cách cấu hình giao thức dự phòng GLBP, chúng ta có thể đạt được điều đó. Mỗi bộ định tuyến có IP riêng được cấu hình cho giao diện LAN của nó (192.168.1.1 trên R1 và 192.168.1.2 trên R2). Tuy nhiên, một Virtual IP (192.168.1.254) cũng sẽ tồn tại, đóng vai trò là cổng mặc định cho toàn bộ mạng LAN. Bất kể bộ định tuyến nào đang hoạt động hoặc nếu chúng ta có một bộ định tuyến bị lỗi, IP ảo sẽ vẫn tồn tại để định tuyến các gói từ người dùng. Cấu hình cơ bản GLBP Router R1 interface Ethernet0/1 description LAN Interface of Primary Router ip address 192.168.1.1 255.255.255.0 glbp 1 ip 192.168.1.254 <—- Tạo GLBP Group 1 và gán IP ảo glbp 1 priority 101 <—- Chỉ định mức độ ưu tiên trên 100 để biến đây thành bộ định tuyến chính glbp 1 preempt <—- Làm cho bộ định tuyến hoạt động nếu nó có mức độ ưu tiên cao hơn glbp 1 load-balancing round-robin <—- Định cấu hình cân bằng lưu lượng quay vòng Router R2 interface Ethernet0/1 description LAN Interface of Secondary Router ip address 192.168.1.2 255.255.255.0 glbp 1 ip 192.168.1.254 <—- Tạo GLBP Group 1 và gán IP ảo glbp 1 preempt <—- Làm cho bộ định tuyến hoạt động nếu nó có mức độ ưu tiên cao hơn glbp 1 load-balancing round-robin <—- Định cấu hình cân bằng lưu lượng quay vòng Bài viết liên quan: - Cấu hình HSRP trên Router Cisco - Cấu hình giao thức VRRP - So Sánh và cấu hình cơ bản các giao thức dự phòng HSRP - VRRP - GLBP