5. Giới thiệu
5.1.4 Quy tình hoạt động của HSRP
5.1.4.1 Các thành phần của HSRP group.
Tất cả router trong một HSRP group có một vai trò cụ thể và tương tác với nhau theo một phương pháp xác định :
Virtual Router: thực tế chỉ là một cặp địa chỉ IP và địa chỉ MAC mà tất cả các thiết bị đầu cuối dùng nó làm IP default gateway. Virtual Router không xử lý các khung dữ liệu gửi đến và chỉ là một khái niệm trong phần mềm. Active router xử lý tất cả gói tin và tất cả các khung dữ liệu được gửi tới địa chỉ Virtual Router.
Active Router : trong HSRP group một router sẽ được chọn làm Active Router. Active Router thực tế là thiết bị vật lý chuyển tiếp gói tin và nó cũng là thiết bị gửi địa chỉ MAC ảo đến các thiết bị đầu cuối.
SVTH: TRẦN THỊ CA- 49THM Page 78
Hình 5.6 Các thành phần trong HSRP
Active Router trả lời các ARP request với địa chỉ MAC của Virtual Router.
Trong mô hình trên router A được giả định ở vai trò active và chuyển tiếp tất cả các khung dữ liệu đế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”.
Hình 5.7 Hiển thị bảng ARP của router sử dụng HSRP
Hình 5.7 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à
SVTH: TRẦN THỊ CA- 49THM Page 79 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 trạng thái chuyển tiếp gói tin nếu Active Router không có hoạt động. Cả hai Active Router và Standby Router sẽ truyền gói tin hello để 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 router dùng địa chỉ đích multicast 224.0.0.2, kiểu truyền UDP port 1985. Và địa chỉ IP nguồn là địa chỉ IP của router gửi đi.
Hình 5.8 Quá trình hoạt động sử dụng HSRP
Standby Router lắng nghe gói tin hello trên cổng 224.0.0.2
Các router khác : 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 thông điệp được gửi bởi Active và Standby Router để chắc chắn rằng Active và Standby router vẫn đang tồn tại trong HSRP group. Router này chỉ chuyển tiếp những gói tin đến chính địa chỉ IP của nó nhưng khôngchuyển tiếp gói tin có địa chỉ đến Virtual Router. Những router dạng này sẽ đọc thông điệp tại mỗi thời gian giữa hai gói tin hello.
SVTH: TRẦN THỊ CA- 49THM Page 80 Thuật ngữ Định nghĩa
Hello interval time Khoảng thời gian gửi gói tin hello từ Active hay Standby Router. Mặc định là 3 giây/lần
Hold interval time Khoảng thời gian nhận được gói tin hello và giả sử router gửi thông điệp ngừng hoạt động. Mặc định là 10 giây.
5.1.4.2 Nguyên tắc hoạt động.
Hình 5.9Quá trình hoạt động của HSRP
Khi Active Router bị ngừng hoạt động thì những router khác thuộc cùng HSRP group sẽ không còn nhận được thông điệp từ Active Router nữa. Standby Router sau đó sẽ được giả định là Active Router mới. Nếu như có router khác bên trong HSRP group thì nó sẽ được đưa lên làm Standby Router mới. Nếu như cả hai Active và Standby Router đều ngừng hoạt động thì tất cả router trong group làm Active và Standby router mới.
Bởi vì Active Router mới dùng chung địa chỉ IP và MAC của Virtual Router, nên các thiết bị đầu cuối sẽ không nhận ra được sự gián đoạn của dịch vụ. Các thiết bị đầu cuối tiếp tục gửi dữ liệu đến địa chỉ MAC của Virtual Router. Activer Router mới sẽ gánh vác trách nhiệm phân phối gói tin.
SVTH: TRẦN THỊ CA- 49THM Page 81
5.1.5 Các trạng thái của router trong HSRP.
Một router trong HSRP group có các trạng thái hoạt động như sau: Initial, Learn, Listen, Speak, Standby hoặc là Active.
Hình 5.10 Trạng thái HSRP
Trạng thái Hoạt động
Initial Trạng thái lúc bắt đầu, cho biết HSRP đang không hoạt động
Learn Router chưa có đủ thông tin để trở thành Active hay Standby Router
Listen Router đã biết địa chỉ IP ảo, nhưng nó vẫn chưa phải là Active hay Standby Router. Nó lắng nghe các gói tin hello từ các router khác
Speak Router định kỳ gửi các gói tin hello và tham gia tích cực vào quá trình bầu chọn Active hay Standby Router. Một router không thể chuyển sang trạng thái Speak trừ khi nó biết được địa chỉ IP ảo
Standby Router trở thành một ứng viên để trở thành Active Router tiếp theo, nó định kỳ gửi các gói tin hello. Chỉ có một Router ở trạng thái Standby
Active Router thực hiện chuyển tiếp gói tin được gửi tới địa chỉ MAC ảo. Nó định kỳ gửi các gói tin hello. Chỉ có một Router ở trạng thái Active
SVTH: TRẦN THỊ CA- 49THM Page 82
Khi 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. Ví dụ như ta có 3 router trong nhóm, một trong ba router thuộc nhóm không đóng vai trò là Standby hay Active thì router này vẫn duy trì ở trạng thái Listen.
Hình 5.11 Mô tả trạng thái hoạt động HSRP
Tất cả các router đều bắt đầu ở trạng thái Initial, điều này cho biết rằng HSRP chưa hoạt động. Router cũng chuyển sang trạng thái này khi có sự thay đổi cấu hình, ví dụ như khi HSRP bị tắt trên một cổng giao tiếp, hay là khi một cổng giao tiếp lần đầu tiên được kích hoạt tính năng HSRP, hoặc khi sử dụng câu lệnh “no shutdown”.
Sau đó nó sẽ chuyển sang trạng thái Learn, ở trạng thái này các cổng giao tiếp sẽ chờ các gói tin hello và từ những gói tin này nó quyết định xem IP ảo là gì, và router nào làm Active Router trong nhóm.
Khi một cổng giao tiếp nhận thấy gói tin hello và quyết định xem IP ảo là gì thì router 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. Nếu như đã có Active hay Standby Router rồi thì nó sẽ giữ nguyên trạng thái. Tuy nhiên nếu tất cả các router đều không nhận thấy gói tin hello, chúng sẽ chuyển sang trạng thái Speak.
SVTH: TRẦN THỊ CA- 49THM Page 83 Ở trạng thái Speak, các router chủ động tham gia vào quá trình bầu chọn ra Active và Standby Router bằng cách xem xét gói tin hello để xác định vai trò của từng router.
Có 3 dạng timer được sử dụng trong giao thức HSRP đó là active, standby, hello. Nếu như không có một gói tin hello nào được nhận từ Active Router trong khoảng thời gian active timer, thì router chuyển sang trạng thái HSRP mới.
Thuật ngữ Định nghĩa
Active timer Dùng để giám sát Active Router. Timer sẽ thiết đặt lại vào bất kỳ thời điểm nào khi một router trong group HSRP nhận được gói tin hello được gửi ra từ Active Router. Giá trị Timer này hết hạn phù hợp với giá trị hold time đang được thiết đặt trong trường tương ứng của gói tin hello.
Standby timer Dùng để giám sát Standby Router. Timer sẽ thiết đặt lại vào bất kỳ thời điểm nào khi một router trong group HSRP nhận được gói tin hello được gửi ra từ Standby Router. Giá trị Timer này hết hạn phù hợp với giá trị hold time được thiết đặt trong mỗi gói tin hello
Hello timer Ghi lại thời gian của các gói tin hello. Tất cả router trong bất kỳ trạng thái nào đều tạo ra gói tin hello khi mà hello timer hết hạn.
Ở trạng thái Standby, bởi vì router lúc này như là một ứng viên để trở thành Active Router kế tiếp nên nó định kỳ gửi ra các gói tin hello. Nó cũng lắng nghe các gói tin hello từ Active Router. Trong một HSRP group thì chỉ có duy nhất một Standby Router.
SVTH: TRẦN THỊ CA- 49THM Page 84
Hình 5.12 Bầu chọn standby router
Trong trạng thái Active, router có nhiệm vụ chuyển tiếp gói tin. Nó gửi địa chỉ MAC ảo của nhóm. Nó cũng có nhiệm vụ hồi đáp các gói tin ARP request hướng đến IP ảo. Active Router cũng định kỳ gửi ra các gói tin hello. Trong một HSRP group chỉ có duy nhất một Active Router.
Hình 5.13 Trạng thái active router
5.1.6 Các câu lệnh cấu hình HSRP.
Câu lệnh Tác dụng
Switch(config-if)#standby group- number ip ip-address
Cấu hình tạo một HSRP group trên cổng giao tiếp. Group-number là số thứ tự của nhóm, ip-adress là địa chỉ của gateway ảo. Số thứ tự của nhóm mặc định là 0
SVTH: TRẦN THỊ CA- 49THM Page 85 Switch(config-if)#no standby group-
number ip ip-address
Tắt tính năng HSRP trên cổng giao tiếp
Switch#show running-config Hiển thị các tham số cấu hình HSRP trên mỗi cổng giao tiếp
Switch#show standby interface group
brief
Hiển thị tình trạng HSRP.
5.2 Tối ưu hóa HSRP.
5.2.1 Các lựa chọn để tối ưu hóa HSRP.
Giao thức HSRP có thể được tối ưu hóa thông qua các thông số lựa chọn ở bảng dưới đây :
Các lựa chọn Tác dụng
Standby priority Cho phép lựa chọn router làm Active Router trong nhóm
Standby premmpt Cho phép một router chiếm lại quyền Active cho dù trong nhóm đã có một Active Router mới thay thế
Hello message timer Cho phép tùy chỉnh thời gian gửi gói tin hello và thời gian các router khác chắc chắn Active Router đã ngừng hoạt động
HSRP interface tracking
SVTH: TRẦN THỊ CA- 49THM Page 86
5.2.2 Priority (Độ ưu tiên).
Mỗi HSRP group có Active và Standby Router riêng của chúng. Người quản trị có thể gán giá trị ưu tiên (priority) của mỗi router trong nhóm, điều này cho quép người quản trị chủ động trong việc lựa chọn Active và Standby Router.
Hình 5.14 Chỉ số Priority
Router có độ ưu tiên cao nhất sẽ trở thành Active Router.
Giá trị ưu tiên mặc định là 100.
Trong trường hợp các router có độ ưu tiên bằng nhau, router có địa chỉ IP lớn nhất sẽ trở thành Active Router.
Để thiết đặt giá trị ưu tiên của một router, sử dụng câu lệnh:
Switch(config-if)#standbygroup-numberprioritypriority-value
Tham số Tùy chỉnh
Group-number Phân biệt các HSRP group, nằm trong khoảng từ 0-255
Priority-value Giá trị ưu tiên của router, nằm trong khoảng 0-255, mặc định là 100
Để thiết đặt lại giá trị ưu tiên mặc định cho router, ta sử dụng câu lệnh “no standby priority”.
SVTH: TRẦN THỊ CA- 49THM Page 87
5.2.2.1 Preempt (Active Router cũ chiếm lại quyền Active)
Khi Active Router ngừng hoạt động, Standby Router sẽ tự động lên thay thế và trở thành Active Router mới. Cho dù Active Router cũ với độ ưu tiên cao hơn có hoạt động trở lại thì Active Router mới vẫn giữ nguyên vai trò làm Active Router của nó.
Để Active Router cũ có thể lấy lại vai trò là Active Router trong nhóm thì ta phải cấu hình bằng câu lệnh sau :
Switch(config-if)#standby group-number preempt {delay} minimum delay sync delay
Hình 5.15 Preempt
Lưu ý: Nếu các router không được cấu hình câu lệnh preempt thì router nào có thời gian khởi động nhanh hơn so với các router khác trong nhóm sẽ trở thành Active Router, bất kể độ ưu tiên của nó là bao nhiêu.
Để vô hiệu hóa tính năng preempt, sử dụng câu lệnh “no standby group preempt”.
5.2.2.2 Hello Message Timer.
Các gói tin hello được gửi đi đều đặn bởi Active và Standby Router, các router được kích hoạt tính năng HSRP khác cũng gửi gói tin hello trong quá
SVTH: TRẦN THỊ CA- 49THM Page 88 trình bầu chọn. Gói tin hello bao gồm các thông tin về độ ưu tiên của router, cùng với giá trị “hello time” và “hold time”.
“Hello time” là khoảng thời gian giữa 2 lần gửi gói tin hello của router. “Hold time” là khoảng thời gian gói tin hello hiện tại vẫn còn hiệu lực (các router khác vẫn cho rằng Active hoặc Standby Router vẫn còn hoạt động trong khoảng thời gian này, sau khoảng thời gian này mà không nhận được gói tin hello từ Active hoặc Standby Router thì có nghĩa Active hoặc Standby Router đã ngừng hoạt động). Giá trị mặc định của “hello time” và “hold time” lần lượt là 3 và 10 giây.
Ta có thể thay đổi giá trị mặc định của chúng. Việc giảm giá trị “hello time” đồng nghĩa với việc tăng lưu lượng mạng, nên phải được cân nhắc cẩn thận. Giá trị “hold time” ít nhất phải bằng 3 lần giá trị “hello time”.
Hình 5.16: Hello Message Timer
Để thay đổi giá trị “hello time” và “hold time”, ta sử dụng câu lệnh :
Switch(config-if)#standbygroup-numbertimers[msec]hellotime holdtime
Tham số Tùy chỉnh
Hellotime Tính bằng giây, giá trị nằm trong khoảng 1-255, mặc định là 3 giây
SVTH: TRẦN THỊ CA- 49THM Page 89 Để thiết đặt lại giá trị mặc định, ta sử dụng câu lệnh “no standby group- number timer”.
5.2.2.3 Interface Tracking (Theo dõi tình trạng cổng giao tiếp).
Trong một số trường hợp, trạng thái của một cổng giao tiếp ảnh hưởng đến việc router nào sẽ trở thành Active Router. Điều này thực sự đúng khi mỗi router trong một HSRP group có một con đường khác nhau để đến tài nguyên trong khuôn viên mạng campus.
Hình 5.17 Trạng thái cổng giao tiếp trong mạng campus
Hình 5.17: Router A và B thuộc một tòa nhà, chúng liên kết với tòa nhà khác bằng một kết nối Gigabit Ethernet. Router A có độ ưu tiên cao hơn và là Active Router cho HSRP group 1, router B là Standby Router. Router A và B trao đổi thông tin bằng gói tin hello thông qua cổng giao tiếp E0.
Giả sử, xảy ra sự cố ở kết nối giữa Active Router thuộc group 1 và router thuộc tòa nhà khác.
SVTH: TRẦN THỊ CA- 49THM Page 90 Nếu tính năng HSRP không được kích hoạt, Router A sẽ phát hiện ra sự cố và gửi một ICMP chuyển hướng đến Router B. Tuy nhiên, khi HSRP được kích hoạt, ICMP chuyển hướng sẽ bị vô hiệu hóa. Vì vậy, cả router A hay Virtual Router đều không gửi ICMP chuyển hướng. Ngoài ra, mặc dù cổng giao tiếp G1 trên router A không còn hoạt động, router A vẫn gửi gói tin hello ra cổng giao tiếp E0, cho biết router A vẫn là Active Router. Các gói tin gửi tới Virtual Router để chuyển tiếp đến tòa nhà khác sẽ không được định tuyến.
Nếu đang sử dụng Dynamic Routing Protocol, có khả năng giao thức định tuyến động sẽ phát hiện ra sự cố liên kết và cập nhật bảng định tuyến của các router. Tuy nhiên, lúc này dữ liệu sẽ được gửi từ các host đến Active Router và chuyển ngược lại cổng E0 tới Standby Router.
Interface tracking kích hoạt tính năng điều chỉnh tự động độ ưu tiên của Standby Router dựa trên tính sẵn có của các cổng giao tiếp của router. Khi một tracked interface (cổng giao tiếp bị theo dõi) không hoạt động, độ ưu tiên của router sẽ bị giảm xuống. Khi được cấu hình đúng, tính năng HSRP tracking này đảm bảo một router với một cổng giao tiếp không hoạt động sẽ từ bỏ vai trò Active Router.
Ở ví dụ Hình 5.18, cổng giao tiếp E0 trên router A sẽ theo dõi cổng giao tiếp G1 (cũng trên router A). Nếu kết nối giữa G1 đến tòa nhà khác gặp sự cố, router A sẽ tự động giảm độ ưu tiên trên cổng E0 xuống và ngừng việc gửi gói tin hello ra khỏi cổng E0. Router B không còn nhận được gói tin hello từ Active Router nên sau thời gian “hold time”, nó sẽ đảm nhận vai trò làm Active Router. Gói tin hello có một trường cho biết độ ưu tiên của cổng giao tiếp đang dùng HSRP. Router A thay đổi giá trị trường này để cho biết độ ưu tiên của nó cho các gói tin hello sau.
SVTH: TRẦN THỊ CA- 49THM Page 91