FortiADC
Mô hình đơn giản triển khai FortiADC trên hệ thống mạng:
FortiADC hỗ trợ cân bằng tải dựa trên Round Robin, Weighted Round Robin, Least Connection, Weights Least Connection, …
FortiADC cân bằng tải ở layer 7 với các giao thức HTTP, HTTPS, SSL; hỗ trợ cân bằng tải ở layer 4 với các giao thức TCP, UDP.
Tính năng chính:
Server Load Balance
Server Load Balance là quá trình phân phối các phiên request từ client trên một nhóm các server, qua đó tối đa hóa băng thông, giảm thời gian đáp ứng và tránh tình trạng quá tải trên server.
Server Load Balancing ngày càng trở nên quan trọng trong hệ thống cơ sở hạ tầng mạng:
- Tăng cường khả năng mở rộng.
- Nâng cao hiệu suất.
Tính sẵn sàng cao.
Layer 4 Application Load Balacing: FortiADC hỗ trợ giao thức TCP/UDP, hỗ trợ các phương thức cân bằng tải như sau:
- Round Robin: Phân phối các phiên kết nối TCP lên từng server trong server-farm nhưng không quan tâm tới khả năng đáp ứng cũng như thời gian phản hồi của server đó.
- Weighted Round Robin: tương tự như giải thuật Round Robin nhưng phương pháp này sẽ phân phối các phiên kết nối TCP lên các server có chỉ số weight cao hơn.
- Least Connection: FortiADC sẽ chuyển các phiên TCP lên server mà có số lượng kết nối ít nhất
- Weights Least Connection: Bản chất giống thuật toán Least Connection, nhưng có thể cấu hình ưu tiên cho một máy chủ trong cụm server.
- Least Response Time: FortiADC sẽ phân phối session lên các server có thời gian phản hồi nhanh nhất.
Layer 7 Application Load Balancing: FortiADC hỗ trợ:
- Giao thức HTTP/HTTPS/ HTTP Turbo/RADIUS/RDP/SIP/TCP/TCPS
- Layer 7 DNS load balancing, security, và caching
- URL Redirect, HTTP request/response rewrite
- Layer 7 content switching: HTTP Host, HTTP Request URL, HTTP Referrer, Source IP Address
Link Load Balance:
Link Load Balance là tính năng để điều phối traffic giữa các ISPs hoặc WAN, cho phép tạo ra nhiều đường truyền dự phòng tránh nguy cơ mất kết nối khi hoạt động. FortiADC hỗ trợ cả 2 kỹ thuật inbound và outbound load balancing.
- Link Group
Link Group cho phép gộp nhiều đường truyền vật lý thành 1 đường logic để định tuyến cho traffic. LLB sẽ chọn đường đi tốt nhất dựa trên việc kiểm tra health check, băng thông, các thuật toán LLB để tìm ra đường đi phù hợp.
- Virtual tunnel
Virtual tunnel là giao thức cân bằng tải traffic trong các ứng dụng về VPN và VoIP. FortiADC sẽ đóng gói các traffic và định tuyến theo các link policy. Các Link policy sử dụng kỹ thuật LLB (Link Load Balance) để chọn ra đường đi tốt nhất trong nhóm đường truyền. Nếu một trong các đường truyền bị lỗi, traffic có thể được định tuyến theo 1 đường truyền khác ở nhóm đường truyền trong Virtual Tunnel.
Virtual Tunnel cho phép gộp nhiều đường truyền vật lý thành 1 đường truyền ảo, định tuyến traffic, kết nối nhiều mạng riêng thông qua Internet giúp giảm chi phí đầu tư đường truyền WAN và tăng cường tính ổn định của hệ thống.
- Proximity route
Proximity route cho phép kết hợp các link group với việc định tuyến.
Proximity route hoạt động ở một trong 2 dạng:
Static Table: cho phép định tuyến các traffic thông qua gateway chỉ định.
Dynamic Detection hệ thống tự động thăm dò và tìm kiếm để định tuyến cho traffic, việc lựa chọn gateway thông qua thời gian trễ trong các bản tin trả về từ các gateway.
Global Load Balance
Global Load Balance là kỹ thuật cân bằng tải giữa các Data Center bằng DNS để load balancing cho server trên toàn cầu. GLB hạn chế tối đa thời gian downtime của hệ thống khi một trong các Data Center gặp sự cố. FortiADC GLB làm việc với vai trò là 1 Authoritative DNS server dựa trên ứng dụng Bind 9 DNS. Các bản ghi trong Zone DNS được sinh ra động dựa trên global load balancing framework.
Bản tin DNS response từ GLB gởi về client là danh sách IP có độ ưu tiên theo thứ tự của các virtual server đang hoạt động. Client sau khi nhận được danh sách IP từ bản tin DNS Respone sẽ tiến hành kết nối với IP đầu tiên trong danh sách, nếu IP đầu tiên không truy cập được, client sẽ request tới các IP tiếp theo. Danh sách IP từ GLB trả về cho client được thiết lập theo thứ tự ưu tiên sau:
- Virtual server health: kiểm tra độ sẵn sàng của server theo thời gian thực. Khi nhận được bản tin DNS request từ Client, FortiADC sẽ tiến hành kiểm tra trạng thái kết nối của tất cả virtual server được định nghĩa đồng thời loại trừ IP của các virtual server không sẵn sàng.
- Persistence: độ ưu tiên của các virtual server
- Geographic proximity: xác định vị trí của IP nguồn trong GEO IP database
- Dynamic Proximity: dựa vào application response time (RTT)
- Weighted Round Robin: xác định danh sách virtual server đang sẵng sàng dựa vào thuật toán load balancing.