IV- Các yêu cầu Firewall cho ISP
2- Công nghệ cân bằng tải (Load-balancing), Clustering
Tính sắn có cao và cân bằng tải thường được kết hợp để có được khả năng cung cấp các dịch vụ sẵn sàng cao, việc mở rộng hệ thống theo chiều ngang là phương pháp thường được sử dụng để mở rộng các dịch vụ, do việc một server trong hệ thống bị lỗi sẽ không ảnh hưởng tới toàn bộ hệ thống. Để đạt được hiệu năng cao nhất có thể, ISP phải cân bằng các tải tới các server, các kỹ thuật sử dụng để cân bằng tải cũng làm tăng tính sẵn có của dịch vụ do khi một server bị lỗi sẽ được tách ra khỏi hệ thống dịch vụ.
Cân bằng tải (còn gọi là Network Cluster) nhằm tới các tính năng quan trọng trong mạng, bao gồm tăng tính khả mở (scalability), tăng hiệu năng (performance), tăng tính sẵn có (availability) và chịu lỗi. Nếu một ứng dụng hay node bị lỗi, cân bằng tải sẽ tự động phân phối lại các yêu cầu dịch vụ của người dùng tới các server khác trong nhóm. Phân bố các thiết bị cân tải tại các vị trí địa lý khác nhau còn có thể chống lại nhưng thảm hoạ như cháy, động đất...
Công nghệ cân bằng tải sử dụng nhiều server xuất hiện phía người dùng như 1 server duy nhất bằng cách phân bố các yêu cầu của người dùng tới các server trong nhóm một cách trong suốt. Hiệu năng hệ thống cao nhất có được khi năng lực của các server được sử dụng một cách thông minh. Các sản phẩm load-balancing tiên tiến có thể định hướng các yêu cầu dịch vụ tới các servers đang rảnh rỗi nhất, mang lại thời gian đáp ứng nhanh nhất.
Trong phương pháp cân bằng tải, quản trị mạng định nghĩa 1 server ảo hiện diện bởi một nhóm các server vật lý gọi là server farm. Trong mô hình này, các máy khách được cấu hình để kết nối tới địa chỉ IP của server ảo.
Có nhiều cách sử dụng cân tải với một nhóm dịch vụ, cách đơn giản nhất là dùng round-robin DNS để chia các địa chỉ khác nhau tới các người dùng khác nhau. Mức độ cao hơn là sử dụng load-balancing DNS. Phương pháp phổ biến nhất hiện nay tránh được những thiếu sót của phương pháp DNS là dùng các kỹ thuật routing cân tải động sử dụng chuyển đổi địa chỉ mạng.
Có 3 giải pháp sản phẩm cho việc cân bằng tải:
+ Giải pháp phần mềm: Load-balancing software có thể chạy trên 1 server riêng đứng trước server farm hoặc trên chính tất cả các Web servers. Kiểu sản phẩm này được viết cho các hệ điều hành cụ thể và tập trung vào việc tăng tính sẵn có của server farm.
+ Các thiết bị mạng:Các thiết bị này có một số cổng vào/ra và thường đặt trên dòng dữ liệu trước các Web server.
+ Web switch: Cung cấp chức năng của cả load balancing và switching Layer 2 để cung cấp các dịch vụ kết nối từ Layer 2 tới Layer 7 cho Web site.
* Phương pháp Round-Robin DNS:
Phương pháp này sử dụng công nghệ Internet DNS để ánh xạ nhiều node vật lý tới một tên duy nhất, gọi là Round-Robin DNS. DNS sẽ đáp ứng các truy vấn tới tên miền lần lượt tới các địa chỉ IP trong nhóm. Các bản tin địa chỉ của DNS được đặt thuộc tính TTL (time-to-live) bằng 0, do vậy các máy khách sẽ không lưu các địa chỉ này trong cache. Phương pháp này là cân bằng tải tĩnh, độc lập với tải trên các máy chủ, và do đó độc lập với trạng thái làm việc của các Server. Tính sẵn có cao trong việc sử dụng Round-Robin DNS bị hạn chế do phải phụ thuộc vào quản trị mạng thay đổi bảng DNS trong trường hợp 1 Server bị lỗi. Trong trường hợp một Server lỗi và cấu hình của DNS chưa được thay đổi, các clients có thể sẽ nhận được một địa chỉ trỏ tới Server lỗi đó và không được cung cấp dịch vụ. Tình huống này có thể giảm bớt bằng cách cấu hình BIND kiểm tra định kỳ tính sẵn có của các server và tự động cập nhật bảng địa chỉ của DNS những Host lỗi.
* Phương pháp Lbnamed:
Một số ISP sử dụng phương pháp lbnamed trong BIND, DNS server bao gồm 2 chương trình,
lbnamed và poller. Poller liên lạc với các server trong nhóm dịch vụ. Mỗi khi nó hoàn thành việc liên lạc, nó tạo ra một file cấu hình và báo cho Lbnamed đọc file cấu hình mới. Nếu poller không nhận được phản hồi từ 1 server, nó sẽ xoá bản tin đó trong cấu hình của lbnamed. Cơ chế này gần giống với cân bằng tải động, có thể nhanh chóng tự động gỡ server lỗi ra khỏi hệ thống.
* Phương pháp Chuyển đổi địa chỉ (Address Translation)
Phương pháp phổ biến hiện nay là tạo ra 1 địa chỉ công cộng cho một nhóm các server và sử dụng cơ chế chuyển đổi địa chỉ mạng để định tuyến lưu thông mạng. Phương pháp này đảm bảo một địa chỉ IP phía Client nhận được luôn chỉ đến một server đang hoạt động, khắc phục được hạn chế của 2 cơ chế trên. Cơ chế cân bằng tải chuyển đổi địa chỉ có được nhờ sử dụng các load- balancing router/Switch, hoặc bằng phần mềm với giải pháp cluster:
+ Load-balancing router/Switch đo kiểm tra các độ trễ của các server và sử dụng thời gian đáp ứng để tính toán một chỉ số về hiệu năng, để quyết định cách định tuyến các yêu cầu nhận được. Các Router có nhiều cơ chế cân bằng tải tinh vi khác nhau, một số thực hiện bằng cách quyết định dựa hoàn toàn vào lưu lượng định tuyến, trong khi một số khác dựa vào các phần tử thu
thập thông tin trên mỗi server. Thiết bị Cisco LocalDirector có thể được cấu hình để cung cấp chế độ cân tải round-robin đơn giản, cho phép phân bổ tải tới các Server, không quan tâm tới tải của chúng; nó cũng có thể phân phối các yêu cầu tới các server dịch vụ theo một số connection tối thiểu nào đó, hoặc cũng có thể phân phối với một thời gian đáp ứng nhỏ nhất nào đó.
Các Load-balancing Router/Switch được dùng để tạo ra các hệ thống có độ sẵn sàng cao do không định tuyến các yêu cầu tới các server đang bị lỗi; một số router có thể được cấu hình thành cặp HA để đảm bảo dịch vụ không bị gián đoạn ngay cả khi 1 router bị lỗi. Các router như vậy là các sản phẩm LocalDirector của Cisco, Big IP của F5 Labs, Web Server Director của RND Networks, ServerIron Switch của Foundry...., các Switch thường được gọi là Switch Layer 4-7 (hoạt động từ lớp 4-7 trong mô hình OSI).
* Cấu hình Node Clustering
Các dịch vụ có thể được đặt trong cấu hình cluster, cho phép điều khiển cân bằng tải và quyết định định tuyến ở bên trong hệ thống. Hệ thống Cluster bao gồm nhiều Server đấu với nhau trong một mạng riêng hoặc bằng các kết nối riêng, mạng này có thể là Ethernet, Memory Channel của Compaq...; các server này được quản lý, có các chức năng và xuất hiện trong mạng như một thực thể đơn, các server này còn được gọi là các node, liên tục kiểm tra trạng thái của các node khác; nếu một node bị lỗi, tải sẽ được tự động chuyển sang server khác. Hệ thống Cluster cho tính sẵn có cao nhất do đảm bảo được tính sẵn có của hệ thống khi gặp cả lỗi về phần cứng và phần mềm.
Các hệ điều hành hỗ trợ Cluster được thiết kế hỗ trợ phần cứng và có chức năng chịu lỗi; nói chung các hệ điều hành cluster có 2 hoặc một số node tạo thành một server ảo cluster. Người dùng kết nối vào server ảo và hệ điều hành sẽ điều khiển việc định tuyến thông tin tới các node tương ứng. Nếu có 1 node bị lỗi, hệ điều hành sẽ định tuyến lại thông tin tới các node còn lại trong khi không làm gián đoạn dịch vụ của người dùng. Các ứng dụng hỗ trợ Cluster tương tác với hệ điều hành để xác định các node đang tốt trong hệ thống.
Các giải pháp UNIX Cluster bao gồm của Compaq TruCluster, HP MC/ServiceGuard, IBM HACMP, Sun Cluster...