Trong bối cảnh mạng lưới ngày càng phức tạp, việc đảm bảo tính sẵn sàng cao (high availability) là yếu tố sống còn. VRRP (Virtual Router Redundancy Protocol) ra đời để giải quyết bài toán dự phòng gateway, đảm bảo kết nối mạng liên tục cho người dùng. Bài viết này sẽ đi sâu vào VRRP, từ khái niệm cơ bản đến các yếu tố quan trọng ảnh hưởng đến hoạt động của giao thức này, đặc biệt tập trung vào các timer.
Hãy cùng xem xét một ví dụ điển hình: Một khách hàng (customer) kết nối đến nhà cung cấp dịch vụ (ISP) thông qua một đường truyền duy nhất. Nhà quản trị mạng sẽ cấu hình cho khách hàng một địa chỉ IP gateway để truy cập vào mạng của ISP.
alt: Mô hình mạng đơn giản: Khách hàng kết nối trực tiếp đến ISP thông qua một router duy nhất
Trong trường hợp này, nếu router biên của ISP gặp sự cố (shutdown, lỗi, khởi động lại…), dịch vụ của khách hàng sẽ bị gián đoạn. Để khắc phục, ISP có thể sử dụng hai hoặc nhiều router dự phòng. Tuy nhiên, nếu chỉ có một địa chỉ gateway duy nhất, việc cấu hình trở nên phức tạp. VRRP chính là giải pháp cho vấn đề này.
VRRP (Virtual Router Redundancy Protocol), được định nghĩa trong RFC3768, cho phép gán chung một địa chỉ IP gateway cho một nhóm các router. Khi router chính (Master) gặp sự cố, các router dự phòng (Backup) sẽ phát hiện và thông qua cơ chế bầu chọn, một router Backup sẽ được chọn làm Master mới, tiếp quản địa chỉ IP gateway. Nhờ đó, lưu lượng mạng sẽ được chuyển hướng qua router mới, đảm bảo tính liên tục của dịch vụ.
1. Các Khái Niệm Quan Trọng Trong VRRP
Để hiểu rõ hơn về VRRP, cần nắm vững các khái niệm sau:
- VRRP Router: Router tham gia vào giao thức VRRP. Một router có thể tham gia vào nhiều nhóm VRRP khác nhau.
- VRRP-ID: Định danh cho các router thuộc cùng một nhóm VRRP. VRRP-ID cho phép một router tham gia vào nhiều nhóm VRRP, mỗi nhóm hoạt động độc lập.
- Primary IP: Địa chỉ IP thực của interface router tham gia VRRP. Các gói tin VRRP trao đổi giữa các router sử dụng địa chỉ này.
- VRRP IP (Virtual IP): Địa chỉ IP ảo dùng làm gateway cho các host. Các gói tin trao đổi với host sử dụng địa chỉ IP ảo này.
- Virtual MAC: Địa chỉ MAC ảo đi kèm với địa chỉ IP ảo. Định dạng MAC ảo là 00-00-5E-00-02-XX (XX là VRID dưới dạng hexa). Các trao đổi ARP với host sử dụng MAC ảo này.
- Virtual Router Master: Router VRRP đóng vai trò là Master trong một nhóm VRRP, chịu trách nhiệm nhận và xử lý các gói tin từ host.
- Virtual Router Backup: Router VRRP đóng vai trò dự phòng cho Master. Khi Master gặp sự cố, router Backup sẽ được bầu chọn làm Master mới.
- Preempt Mode: Chế độ cấu hình trên mỗi router VRRP. Khi bật (True), router có quyền tham gia bầu chọn Master. Khi tắt (False), router sẽ không tham gia bầu chọn, ngay cả khi có Priority cao nhất.
2. Các Timer Quan Trọng Trong VRRP
Các timer đóng vai trò then chốt trong việc đảm bảo hoạt động ổn định của VRRP:
-
Advertisement Interval (s): Chu kỳ gửi gói tin Advertisement từ Master đến các router Backup. Giá trị này quyết định tần suất Master thông báo trạng thái hoạt động của mình. Bộ định thời Advertisement Timer sẽ được kích hoạt mỗi khi router gửi hoặc nhận một bản tin Advertisement.
-
Skew Time (s): Thời gian được sử dụng để tính toán Master Down Interval dựa trên Priority của router. Công thức tính Skew Time như sau:
Skew_time = ((256 – priority) / 256) -
Master Down Interval (s): Khoảng thời gian mà router Backup chờ đợi trước khi tuyên bố Master gặp sự cố. Router Backup sẽ kích hoạt Skew Timer sau khi không nhận được 3 gói tin Advertisement liên tiếp. Nếu Skew Timer hết thời gian mà vẫn không nhận được Advertisement, router Backup sẽ coi Master đã ngừng hoạt động và bắt đầu quá trình bầu chọn Master mới. Công thức tính Master Down Interval như sau:
Master_down_interval = 3 * Advertisement_interval + Skew_timeViệc điều chỉnh các timer này một cách hợp lý là rất quan trọng. Advertisement Interval quá ngắn có thể gây lãng phí băng thông và tăng tải cho CPU, trong khi Advertisement Interval quá dài có thể dẫn đến thời gian chuyển đổi (failover) chậm khi Master gặp sự cố.
3. Các Trạng Thái Hoạt Động Của VRRP Router
RFC3768 mô tả ba trạng thái hoạt động của VRRP Router: Initialize, Master và Backup.
- Initialize: Trạng thái ban đầu khi router đã được cấu hình VRRP nhưng chưa kích hoạt. Router không xử lý các gói tin VRRP ở trạng thái này. Khi người quản trị kích hoạt VRRP (thường thông qua lệnh “enable”), router sẽ chuyển sang trạng thái Backup.
- Backup: Ở trạng thái này, router VRRP giám sát hoạt động của Master để phát hiện sự cố. Nếu Master gặp sự cố, router Backup sẽ tham gia vào quá trình bầu chọn Master mới. Router Backup chỉ nhận các gói tin Advertisement từ Master và không tham gia vào việc chuyển tiếp gói tin từ host.
- Master: Router ở trạng thái Master sẽ định kỳ gửi các gói tin Advertisement theo chu kỳ của Advertisement timer. Router Master đóng vai trò là gateway, sử dụng Virtual MAC và Virtual IP. Mọi gói tin gửi đến địa chỉ Virtual MAC hoặc Virtual IP đều được xử lý bởi router Master.
4. Quy Trình Hoạt Động Của VRRP
Các router VRRP trong cùng một nhóm VRRP tiến hành bầu chọn Master dựa trên giá trị Priority được cấu hình. Priority có giá trị từ 0 đến 255. Router có Priority cao nhất sẽ trở thành Master. Nếu Priority bằng nhau, router có địa chỉ IP cao hơn sẽ được chọn làm Master.
- Nếu router VRRP được cấu hình Virtual IP trùng với Primary IP, nó sẽ tự động có Priority là 255 và trở thành Master. Router có Priority = 255 mặc nhiên sử dụng Primary IP làm Virtual IP.
- Nếu router VRRP có Priority < 255, nó sẽ chuyển sang trạng thái Backup và khởi động bộ định thời Master Down Timer. Khi Master Down Timer hết thời gian, router sẽ nhảy lên làm Master (nếu không nhận được gói tin Advertisement nào từ Master).
- Sau khi trở thành Master, router sẽ gửi các bản tin Advertisement đến các router khác trong cùng nhóm VRRP, thông báo về trạng thái hoạt động và các tham số VRRP của nó. Các router khác sẽ so sánh Priority của mình với Priority nhận được từ bản tin Advertisement. Nếu Priority của router hiện tại cao hơn và Preempt Mode được bật (True), router sẽ giữ nguyên trạng thái Master. Nếu không đủ điều kiện, router sẽ chuyển xuống làm Backup.
- Trong trường hợp Priority bằng nhau, các router sẽ so sánh địa chỉ IP của interface được cấu hình VRRP với địa chỉ IP nguồn (src-IP) của gói tin Advertisement. Router có địa chỉ IP cao hơn sẽ giữ nguyên trạng thái Master, router có địa chỉ IP thấp hơn sẽ chuyển xuống làm Backup.
Sau khi bầu chọn xong Master, router Master sẽ trả lời bản tin ARP Request từ host bằng Virtual MAC.
alt: Minh họa quá trình bầu chọn Master và chuyển mạch trong VRRP, đảm bảo tính liên tục của kết nối
Master Router định kỳ gửi các bản tin Advertisement đến tất cả Virtual Router Backup để thông báo về trạng thái hoạt động của mình. Các router Backup dựa vào các timer để xác định xem Master có gặp sự cố hay không. Nếu Master gặp sự cố, các router VRRP còn lại trong nhóm sẽ tiến hành bầu chọn lại Master theo quy trình đã mô tả.
Lưu ý quan trọng: Theo mặc định, các router Master sẽ KHÔNG xử lý các gói tin gửi đến địa chỉ Virtual IP (ngoại trừ gói tin ARP) nếu địa chỉ này khác với địa chỉ cổng vật lý của router. Do đó, trong trường hợp này, bạn sẽ không thể ping, telnet hoặc SSH đến địa chỉ Virtual IP.
Nếu router Master (A) gặp sự cố và router Backup (B) lên thay, sau đó router A hoạt động trở lại, router A sẽ được khôi phục làm Master nếu nó có Primary IP trùng với Physical IP hoặc được cấu hình bật Preempt Mode. Nếu không, router A sẽ giữ trạng thái Backup và khôi phục lại Priority cũ.
Kết luận
VRRP là một giao thức mạnh mẽ, cung cấp giải pháp dự phòng gateway hiệu quả, đảm bảo tính liên tục của dịch vụ mạng. Việc hiểu rõ các khái niệm, timer và trạng thái hoạt động của VRRP là rất quan trọng để triển khai và cấu hình VRRP một cách chính xác, đáp ứng yêu cầu về tính sẵn sàng cao của hệ thống mạng.
