Công nghệ Cisco: Triển khai HA cho mạng doanh nghiệp


 

Tác giả: Nguyễn Siêu Đẳng, Võ Đức Thắng, Nguyễn Phi Thái

Khoa CNTT, Trường Cao Đẳng Nghề CNTT iSpace


Tóm tắt: Hầu hết các hạ tầng mạng doanh nghiệp đều cần được triển khai tính năng High Availability (HA). High Availability cung cấp cơ chế dự phòng trong hạ tầng mạng, đảm bảo các host luôn luôn truy cập được đến các Server quan trọng trong mạng hay Internet ở bất kỳ thời điểm nào. Hot Standby Routing Protocol (HSRP) là một  trong các giao thức cung cấp tính năng High Availability ở Layer 3 cho hạ tầng mạng. Các Cisco Router hay Cisco Layer 3 Switch chạy HSRP sẽ tạo ra gateway ảo đảm nhiệm vai trò chuyển tiếp gói tin cho các host trong mạng. HSRP cung cấp cơ chế tracking xác định đường kết nối khác khi phát hiện một đường kết nối bị lỗi hay các đối tượng không còn hoạt động. Ngoài ra, HSRP còn cung cấp cơ chế Load sharing để tối ưu hoá traffic trong hạ tầng mạng lớn hay có triển khai VLAN. Nội dung bài viết dưới đây sẽ trình bày và triển khai chi tiết tính năng High Availability cho hạ tầng mạng doanh nghiệp với giao thức HSRP.

Từ khóa: HSRP, High Availability, Virtual Router.

1. Giới thiệu

Ngày nay, hệ thống CNTT-TT là thành phần không thể thiếu, góp phần rất lớn vào công việc quản lý và vận hành của doanh nghiệp, năng lực cạnh tranh cũng như hiệu quả kinh doanh. Do vậy, hệ thống mạng máy tính đòi hỏi luôn luôn hoạt động và có tính sẵn sàng cao nhằm đảm bảo việc kết nối thông suốt cho việc truyền thông trong và ngoài tổ chức.

Một host trong mạng, khi muốn truyền thông với những host ở các mạng khác chúng cần sử dụng Default Gateway. Giả sử PC A trên Hình 1 được cấu hình Default Gateway hướng đến Router A để chuyển tiếp các packet đi đến File Server A.

Theo mô hình Hình 1, Router A có chức năng định tuyến các packet nhận được đến Subnet, và Router B có chức năng định tuyến đến Subnet B: Nếu Router A bị sự cố thì các cơ  chế định tuyến động sẽ tính toán lại và quyết định Router B sẽ là thiết  bị chuyển tiếp các packet thay thế cho router A. Tuy nhiên, bản thân PC A không thể nào nhận biết được thông tin định tuyến đến Router B (do trên PC A  chỉ cấu hình duy nhất một địa chỉ IP là default gateway và sẽ không thay đổi), kết quả là PC A không thể gửi các packet đi đến File Server A. Vấn đề đặt ra là làm thế nào để Router B thực hiện công việc của Router A trong trường hợp Router A có sự cố?

Ha1

Hình 1: Mô hình định tuyến nhiều Gateway

Trong bài viết này, chúng ta sẽ tìm hiểu và ứng dụng tính sẵn sàng cao (High Availability) cơ chế dự phòng với HSRP trên thiết bị Layer 3 Switch của Cisco.

2. Cơ chế dự phòng Cisco Layer 3 Switch với HSRP:

2.1 Giới thiệu giao thức HSRP

HSRP là chuẩn giao thức định tuyến của Cisco Systems, cung cấp tính sẵn sàng cao cho hệ thống mạng bằng cách đưa ra giải pháp dự phòng cho các host trên mạng LAN. HSRP thực hiện định tuyến dòng lưu lượng IP mà không phụ thuộc vào một router (bộ định tuyến) đơn lẻ nào đó. HSRP cho phép kết hợp một nhóm các interface (giao tiếp) của router làm việc với nhau để tạo ra Virtual Router (bộ định tuyến ảo) hoặc một default gateway (cổng mặc nhiên) cho các host trong mạng LAN. Khi HSRP được cấu hình trên một mạng hoặc một segment (đoạn) chúng sẽ cung cấp một địa chỉ Virtual MAC (địa chỉ vật lý ảo), một địa chỉ Virtual IP (địa chỉ IP ảo) và được chia sẻ cho một nhóm các router.

Ngoài ra, HSRP cũng cho phép hai hoặc nhiều router đã cấu hình tính năng HSRP có thể sử dụng địa chỉ MAC và địa chỉ IP của một Virtual Router. Virtual Router là khái niệm, biểu diễn như một thành phần chung cho các routers đã được cấu hình tính năng HSRP để cung cấp cơ chế dự phòng cho mỗi router đó. Một router được chọn với vai trò là Active Router và một router khác sẽ được chọn với vai trò là Standby Router. Standby Router sẽ làm nhiệm vụ điều khiển nhóm địa chỉ MAC và địa chỉ IP nếu Active Router bị lỗi.

2.2 Cơ chế Proxy  ARP

ha12

Hình 2: Mô hình mô tả hoạt động theo cơ chế Proxy ARP

Cisco IOS sử dụng cơ chế Proxy ARP cho phép các host trong hệ thống mạng khi không xác định được địa chỉ MAC của host đích thì có thể lấy được địa chỉ MAC của gateway làm địa chỉ MAC của host đích.

Ví dụ: Trong hình 2, router nhận được một packet ARP request từ PC cho địa chỉ IP tương ứng, địa chỉ IP này không cùng subnet với PC. Router sẽ gửi về một packet ARP với MAC Address là của router A và IP là địa chỉ của host đích. Như vậy PC tiến hành gửi toàn bộ các packet đến địa chỉ IP đã được phân giải thành MAC address của Router, sau đó Router lại làm tiếp công việc chuyển các packet này đi đến địa chỉ IP đích.

Như vậy, với tính năng proxy ARP, host đích đã được kết nối như cùng mạng với host nguồn thông qua Router. Trường hợp Router làm chức năng Proxy ARP bị lỗi thì các host vẫn tiếp  tục gửi các packet đến Router và các packet này sẽ bị huỷ. Địa chỉ MAC có thời gian sống nhất định trong bảng ARP cache của host. Sau khoảng thời gian này, host sẽ gửi ARP Request để tìm Proxy ARP để cập nhật Proxy ARP mới.

2.3 Cơ chế dự phòng cho các router với HSRP:

ha9

Hình 3: Cơ chế dự phòng với HSRP

Khi thiết lập HSRP trên các router, các router lúc này hoạt động phối hợp với nhau để  tạo ra một Virtual Router, bằng cách dùng chung một địa chỉ IP và địa chỉ MAC, hai hay nhiều router có thể  hoạt động như là một Virtual Router. Địa chỉ IP của Virtual Router (Virtual IP) được cấu hình như là default gateway cho các máy trạm trong một subnet. Khi những packet được gửi từ một host đến default gateway, host dùng cơ chế ARP để phân giải MAC address với địa chỉ IP default gateway, Proxy ARP sẽ trả về với MAC address của Virtual Router. Các frames gửi đến  VirtualMAC address và sau đó frames này được xử lý tiếp tục bởi Active Router hoặc Standby Router trực thuộc nhóm Virtual Router được cấu hình.

Một hay nhiều Router sử dụng giao thức này để quyết định Router vật lý nào sẽ có trách nhiệm xử lý frames được gửi đến địa chỉ Virtual IP và địa chỉ Virtual MAC, các host sẽ gửi các packet đến Virtual Router. Một router vật lý có trách nhiệm chuyển các packet này đi tiếp, tuy nhiên router này là trong suốt đối với các host nguồn và đích.

Router đóng vai trò Active (Active Router) sẽ đảm nhiệm công việc chuyển các packet còn router với vai trò Standby (Standby Router) làm dự phòng cho Active Router.Khi một Router bị lỗi thì quá trình chuyển đổi sẽ diễn ra như sau: Standby Router không còn nhận được packet hello từ mộtRouter, Standby Router sẽ giả định vai trò của nó lúc này là Router. Lúc này quá trình truyền frames của host sẽ không bị ảnh hưởng vì Router sẽ dùng địa chỉ Virtual IP và Virtual MAC chung để thực hiện.

2.4 Cơ chế dự phòng Layer 3 với giao thức HSRP

Ta xét sơ đồ luận lý dưới đây:

ha7

Hình 4: Mô hình Virtual Router với HSRP

HSRP định nghĩa một Standby Group. Mỗi router được gán một vai trò xác định bên trong Standby Group này. HSRP cung cấp một Gateway dự phòng cho các host đầu cuối bằng cách chia sẻ chung một địa chỉ Virtual IP và Virtual MAC giữa các gateway dự phòng. HSRP  truyền thông tin về Virtual IP ảo và Virtual MAC giữa các router nằm trong cùng một  HSRP group.

Một HSRP Group bao gồm các thông tin sau:

–       Active Router

–       Standby Router

–       Virtual Router

–       Other Routers

HSRP Active Router và Standby Router thực hiện gửi các packet Hello đến địa chỉ multicast 224.0.0.2, dùng giao thức UDP port 1985 để duy trì thông tin.

2.5 Quá trình hoạt động của HSRP

Ha2

Hình 5: Quá trình hoạt động của giao thức HSRP

Tất cả router trong một HSRP group có một vai trò cụ thể và tương tác với nhau:

–       Virtual Router: là router ảo được tạo ra với một địa chỉ IP và MAC mà tất cả các thiết bị đầu cuối dùng làm IP Default Gateway. Trong đó, Active  Router xử lý tất cả packet và tất cả các frame được gửi tới địa chỉ Virtual  Router.

–       Active Router: được chọn trong HSRP Group để chuyển packet, gửi địa chỉ Virtual MAC đến các hostđầu cuối.

  • Trong Hình 6, Router A được giả định ở vai trò Active và chuyển  tất cả các frames đến địa chỉ MAC là 0000.0c07.acXX với XX là số group của HSRP (XX là hệ số hexa).
  • Địa chỉ IP và địa chỉ MAC tương ứng của Virtual Router được duy trì trong bảng ARP của mỗi Router thuộc HSRP group. Để kiểm tra bảng ARP  trong bảng ARP ta dùng lệnh show ip arp

Ha1

Hình 6: Mô tả bảng ARP của một Router thuộc HSRP Group

Hình 6 hiển thị bảng ARP của một Router đang làm thành viên của HSRP group 1 trong VLAN 10. Trong bảng ARP trên ta thấy rằng Virtual Router có địa chỉ là 172.16.10.110 và có một địa chỉ MAC là 0000.0c07.ac01 với 01 là số group. Số HSRP group 1 hiện thị dưới dạng cơ số 10 và 01 là dưới hệ cơ số 16.

–       Standby Router: luôn theo dõi trạng thái hoạt động của HSRP Group và sẽ nhanh chóng chuyển sang trạng thái forwarding packet nếu Active Router  không còn hoạt động. Cả hai Active Router và Standby Router sẽ truyền hello message để thông báo cho tất cả Router khác trong Group HSRP biết rằng vai trò của nó lúc này là gì. Các Routers dùng địa chỉ destination multicast 224.0.0.2, kiểu truyền UDP port 1985, và địa chỉ IP nguồn là  địa chỉ IP của sending router.

Ngoài ra bên trong HSRP Group có thể chứa một số Router khác nhưng vai trò của nó không phải Active hay Standby. Những Router dạng này sẽ theo dõi hello message được gửi bởi Active và Standby Router để chắc chắn  rằng Active và Standby Router đang tồn tại trong HSRP Group. Router này chỉ forward những packet đến chính địa chỉ IP của nó nhưng không forward packet được đặt địa chỉ đến Virtual Router. Những Router dạng  này sẽ đọc message tại mỗi thời gian giữa hai packet hello

Một số thuật ngữ trong HSRP:

–       Hello Interval Time: là khoảng thời gian giữa hai packet Hello HSRP thành công từ một Router, thời gian này là 3 giây.

–       Hold Interval Time: là khoảng thời gian giữa hai packet hello được nhận và giả định rằng sender router bị fail, mặc định là 10 giây.

Khi Active Router bị fail, những Router khác thuộc cùng HSRP group sẽ không còn nhận được message từ Active Router, và Standby Router sẽ được giả định là Active Router, nếu như có Router khác bên trong HSRP Group thì sẽ được đưathành Standby Router.

ha5

Hình 7: Quá trình gửi – nhận packet Hello trong HSRP

2.6 Các trạng thái trong giao thức HSRP

Một Router trong HSRP Group có 06 trạng thái hoạt động như sau:  Initial, Learn, Listen, Speak, Standby hoặc Active.

ha8

Hình 8: Các trạng thái trong giao thức HSRP

Khi một Router đang ở trong một số những trạng thái trên thì nó sẽ thực hiện một số hành động nhất định, không phải tất cả Router trong HSRP Group sẽ chuyển đổi sang tất cả các trạng thái trên.Ví dụ như ta có 3  router trong HSRP Group, 1 trong 3 router thuộc Group không đóng vai  trò là Standby hay Active thì Router này vẫn duy trì ở trạng thái Listen.

Tất cả các router đều bắt đầu ở trạng thái Initial, điều này hiển thị rằng HSRP đang không hoạt động. Sau đó sẽ chuyển sang trạng thái Learn, trạng thái này router sẽ mong chờ thấy được HSRP packet và từ những cácpacket này nó quyết định xem Virtual IP là gì và xác định Active Router trong HSRP Group.

Khi một Interface nhận HSRP Packet và kiểm tra Virtual IP rồi tiếp tục chuyển sang trạng thái Listen. Mục đích của trạng thái Listen là để xác định xem có Active hay Standby Router cho HSRP group hay không.  Nếu như đã có Active hay Standby Router rồi thì nó vẫn giữ nguyên trạng thái. Tuy nhiên nếu các packet hello không được thấy từ bất kỳ router nào, Interface chuyển sang trạng thái Speak. Với trạng thái Speak, các router chủ động tham dự vào quá trình chọn lựa ra Active Router, Standby Router bằng cách nhìn vào các packet hello  để xác định vai trò.

Có 3 dạng timer được sử dụng trong giao thức HSRP đó là active, standby và hello. Nếu như không có một packet hello nào được nhận từ Active HSRP Router trong khoảng thời gian active, thì Router chuyển sang trạng thái HSRP mới:

–       Active timer: dùng để giám sát Active Router. Timer sẽ reset lại vào bất kỳ thời điểm nào khi một router trong HSRP Group nhận được các packet hello được gửi ra từ Active Router. Giá trị Timer expire phù hợp với giá trị hold time đang được thiết lập tương ứng với field trong HSRP hello message.

–       Standby timer: dùng để giám sát Standby Router. Timer sẽ reset lại vào bất kỳ thời điểm nào khi một Router trong group HSRP nhận được packet hello được gửi ra từ Standby Router. Giá trị Timer expire phù hợp với giá trị hold time đang được thiết lập tương ứng với field trong HSRP hello message.

–       Hello timer: thời gian của hello packet. Tất cả HSRP Router trong bất  kỳ trạng thái nào của HSRP đều tạo ra hello packetkhi mà hello timer  đã hết.

ha6

Hình 9:  Quá trình chuyển đổi các trạng thái trong giao thức HSRP

Ở trạng thái Standby, Router lúc này như là một ứng viên  để trở thành Active Router kế tiếp. Nó định kỳ gửi ra các packet hello.  Nó cũng lắng nghe các hello message từ Active Router. Trong một mạng HSRP  thì chỉ có duy nhất một Standby Router.

Ha4

Hình 10: Quá trình gửi các packet Hello của Stanby Router

Ở trạng thái Active, Router có nhiệm vụ forward packet, gửi địa chỉ  VirtualMAC của HSRP Group, hồi đáp các packet ARP request hướng đến địa chỉ Virtual IP. Active Router định kỳ gửi ra các hello message. Trong một HSRP group chỉ có duy nhất một Active Router.

ha3

Hình 11: Quá trình gửi các packet Hello của Active Router

3. Triển khai HA với Cisco Layer 3 Switch cho mạng doanh nghiệp

3.1 Mô hình triển khai:

ha10

Hình 12: Mô hình triển khai HA trên Cisco Layer 3 Switch

3.2 Cấu hình HSRP cho các Cisco Layer 3 Switch:

–       Cấu hình HSRP trên DS_SW1:

Theo  hình 12, cấu hình DS_SW1 với 03 standby group sao cho DS_SW1 làm Active Router cho các vlan10, vlan30 và làm Standby Router cho vlan20. Khi cổng FastEthernet1/3 trên DS_SW1 không hoạt động thì DS_SW2 sẽ lên đóng vai trò Active Router cho các vlan 10, vlan30.

DS_SW1(config)#interface vlan10
DS_SW1(config-if)#ip address 192.168.10.2 255.255.255.0
DS_SW1(config-if)#standby 1 ip 192.168.10.1
DS_SW1(config-if)#standby 1 priority 150
DS_SW1(config-if)#standby 1 preempt
DS_SW1(config-if)#standby 1 track FastEthernet1/3 55
DS_SW1(config-if)#standby 1 authentication ispace10
DS_SW1(config-if)#no shutdown

DS_SW1(config)# interface vlan20
DS_SW1(config-if)# ip address 192.168.20.2 255.255.255.0
DS_SW1(config-if)# standby 2 ip 192.168.20.1
DS_SW1(config-if)#standby 2 preempt
DS_SW1(config-if)# standby 2 track FastEthernet1/3
DS_SW1(config-if)#standby 2 authentication ispace20
DS_SW1(config-if)#no shutdown

DS_SW1(config-if)# interface vlan30
DS_SW1(config-if)#ip address 192.168.30.2 255.255.255.0
DS_SW1(config-if)#standby 3 ip 192.168.30.1
DS_SW1(config-if)#standby 3 priority 150
DS_SW1(config-if)#standby 3 preempt
DS_SW1(config-if)#standby 3 track FastEthernet1/3 70
DS_SW1(config-if)#standby 3 authentication ispace30
DS_SW1(config-if)#no shutdown

–       Cấu hình HSRP trên DS_SW2:

Theo  hình 13, cấu hình DS_SW2 với 03 standby group sao cho DS_SW2 làm Active Router cho vlan20 và làm Standby Router cho các vlan10, vlan 30. Và khi cổng FastEthernet1/3 trên DS_SW2 không hoạt động thì DS_SW1 sẽ lên đóng vai trò Active Router cho các vlan 20.

DS_SW2(config)#interface vlan10
DS_SW2(config-if)#ip address 192.168.10.3 255.255.255.0
DS_SW2(config-if)#standby 1 ip 192.168.10.1
DS_SW2(config-if)#standby 1 preempt
DS_SW2(config-if)#standby 1 track FastEthernet1/3
DS_SW2(config-if)#standby 1 authentication ispace10
DS_SW2(config-if)#no shutdown

DS_SW2(config)# interface vlan20
DS_SW2(config-if)# ip address 192.168.20.3 255.255.255.0
DS_SW2(config-if)# standby 2 ip 192.168.20.1
DS_SW2(config-if)#standby 2 priority 150
DS_SW2(config-if)#standby 2 preempt
DS_SW2(config-if)# standby 2 track FastEthernet1/3 60
DS_SW2(config-if)#standby 2 authentication ispace20
DS_SW2(config-if)#no shutdown

DS_SW2(config-if)# interface vlan30
DS_SW2(config-if)#ip address 192.168.30.3 255.255.255.0
DS_SW2(config-if)#standby 3 ip 192.168.30.1
DS_SW2(config-if)#standby 3 preempt
DS_SW2(config-if)#standby 3 track FastEthernet1/3
DS_SW2(config-if)#standby 3 authentication ispace30
DS_SW2(config-if)#no shutdown

3.3 Một số vấn đề lưu ý:

–       Trường hợp nếu cổng FastEthernet1/3 trên DS_SW1 và cổng FastEthernet1/3 trên DS_SW2 đều không hoạt động thì DS_SW1 trở thành Active Router cho vlan10, vlan30 vì có độ ưu tiên cao hơn ở DS_SW2 trên standby group 1 và standby group 3. Còn DS_SW2 trở thành Active Router cho vlan20. Lúc này traffic ở các vlan sẽ được forward qua cổng FastEthernet1/2 trên cả DS_SW2

–       Mặc định tính năng preempt trong HSRP chưa được enable để chiếm quyền active khi có độ ưu tiên cao hơn. Do vậy khi cấu hình triển khai trong mạng doanh nghiệp ta cần enable tính năng này lên.

–       Interface tracking cho phép theo dõi hoạt động của Interface, khi interface đang bị theo dõi bởi HSRP group không còn hoạt động thì độ ưu tiên trên group đó bị giảm đi theo số khai báo đi kèm trong tracking. Ví dụ: DS_SW1(config-if)# standby 3 track FastEthernet1/3 70 thì khi cổng FastEthernet1/3 không còn hoạt động nữa độ ưu tiên của HSRP group 3 sẽ giảm đi 70 hay nói cách khác độ ưu tiên của group 3 trên DS_SW1 giờ chỉ còn lại là 150 – 70 = 80 nhỏ hơn HSRP group 3 trên DS_SW2, do đó DS_SW2 sẽ chuyển lên thành Active Router cho HSRP group 3.

–       Có thể dùng cơ chế chứng thực giữa các HSRP group bằng câu lệnhDS_SW2(config-if)# standby 3 authentication ispace30 với key truyền đi ở dạng cleartext. Từ phiên bản IOS version 12.3 (2) T trở về sau có thể sử dụng cơ chế chứng thực mã hoá key với MD5.

–       HSRP có hai version, ta đang triển khai cấu hình ở trên là version 1 (HSRP default). HSRP version 1 có thể tạo được các group từ 0 đến 255. Các HSRP Router trao đổi gói tin Hello thông qua địa chỉ multicast 224.0.0.2, nó có thể xung đột với giao thức Cisco Group Management Protocol (CGMP). Do vậy hai giao thức này không được hoạt động đồng thời.

–       HSRP version 2 có thể tạo các group từ 0 đến 4095 và có MAC address từ 0000.0C9F.F000 đến 0000.0C9F.FFFF. HSRP version 2 sử dụng địa chỉ multicast 224.0.0.102 để gửi các gói tin Hello, do vậy không bị xung đột với giao thức CGMP.

4. Kết luận

Hệ thống mạng của doanh nghiệp luôn cần phải triển khai cơ sở hạ tầng mạng sao cho các Client luôn truy cập được đến Server quan trọng trong hệ thống mạng hay Internet vào bất kỳ thời điểm nào.

Cơ chế dự phòng trên router cho phép hai hoặc nhiều router làm việc như một group để duy trì cơ chế forward các gói tin IP. Một Default Gateway hoặc Proxy ARP đơn sẽ không cung cấp được cơ chế dự phòng cho hệ thống mạng doanh nghiệp.

HSRP là một trong số các tính năng của Cisco cung cấp cơ chế dự phòng trên router hay Cisco Layer 3 Switch cho các thiết bị đầu cuối.Các hoạt động của HSRP cung cấp cơ chế dự phòng nonstop path cho gói tin IP.

Một router được kích hoạt tính năng HSRP sẽ tồn tại một trạng thái cụ thể hoặc di chuyển đến một trong dãy các trạng thái của nó. HSRP được kích hoạt trên mỗi Interface và cấu hình với lệnh standby. Preempt, timers, và Interface tracking là các tuỳ chọn dùng để cấu hình làm tối ưu cơ chế HA với HSRP.

Ngoài ra, HSRP còn cung cấp cơ chế Load Sharing, mỗi interface trên router có thể là thành viên của nhiều HSRP group. Trên mỗi group chúng ta sẽ đưa ra kế hoạch triển khai đóng vai trò Active hay Standby group đó. Nếu đã Active cho group này thì phải đóng vai trò Standby cho group kia và ngược lại.

Trong khuôn khổ bài viết này, chúng tôi chỉ trình bày về cơ chế dự phòng với HSRP và cấu hình cơ bản. Chúng tôi sẽ tiếp tục loạt bài viết về cơ chế dự phòng với các giao thức VRRP, GLBP, cũng như triển khai lab nâng cao với các giao thức đó. Hơn thế nữa, chúng tôi sẽ cung cấp cách thức triển khai các giao thức trên trên môi trường mạng doanh nghiệp chạy trên nền tảng IPv6.

5. Tài liệu tham khảo.

[1]. Slide bài giảng môn học Xây dựng hạ tầng mạng, Khoa MTT, Trường CĐN CNTT iSpace, 2012.

[2].  Campus Network for High Availability Design Guide, Cisco Systems, 2008.

[3]. Wade Edwards, CCNP® Complete Study Guide, SYBEX Inc, 2005.