PTTK HT ATTT
HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TOÀN THÔNG TIN
Giảng viên hướng dẫn:
Cao Minh Tuấn
Nhóm sinh viên:
-
Lê Hải Nhân
Dương Đình Thịnh
Trịnh Thịnh
NGHIÊN CỨU CƠ CHẾ
CÂN BẰNG TẢI.
ĐỀ XUẤT MÔ HÌNH CÂN BẰNG TẢI
CHO HỆ THỐNG MẠNG TẠI
HỌC VIỆN KTMM
Hà Nội, 6-2015
Nghiên cứu cơ chế cân bằng tải
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
AT8A
2 – Học Viện Kỹ Thuật Mật Mã
Nghiên cứu cơ chế cân bằng tải
CHƯƠNG II. MỘT SỐ THUẬT TOÁN CÂN BẰNG TẢI: các thuật toán được áp
dụng trong hệ thống cân bằng tải.
CHƯƠNG III. KỸ THUẬT CÂN BẰNG TẢI: giới thiệu các kỹ thuật được sử dụng
trong hệ thống cân bằng tải
CHƯƠNG IV. ĐỀ XUẤT MÔ HÌNH CÂN BẰNG TẢI CHO HỆ THỐNG MẠNG
TẠI HV KTMM VÀ THỰC HÀNH CẤU HÌNH CÂN BẰNG TẢI: đề xuất mô hình đơn
giản để cân bằng tải cho hệ thống mạng học viện và demo cấu hình cân bằng tải trên mô
hình mạng Vmware.
AT8A
5 – Học Viện Kỹ Thuật Mật Mã
Nghiên cứu cơ chế cân bằng tải
Nhóm sinh viên thực hiện:
Lê Hải Nhân
Trịnh Thịnh
Dương Đình Thịnh
Chúng em xin được cảm ơn thầy Cao Minh Tuấn đã giảng dạy và giúp đỡ chúng em
thực hiện đề tài này!
Hà Nội, 6-2015
AT8A
6 – Học Viện Kỹ Thuật Mật Mã
Nghiên cứu cơ chế cân bằng tải
CHƯƠNG I. TỔNG QUAN VỀ CÂN BẰNG TẢI
7 – Học Viện Kỹ Thuật Mật Mã
Nghiên cứu cơ chế cân bằng tải
Các yêu cầu truy cập vào website của bạn sẽ được thiết bị cân bằng tải phân phối
đều trên cả hai đường truyền nên sẽ không có hiện tượng quá tải trên một đường trong
khi đường còn lại thì rỗi. Bạn cũng có thể thiết lập mức độ ưu tiên của các đường truyền
trên để tối ưu hiệu suất của băng thông. Ngoài ra, khi một trong hai đường gặp sự cố thì
tất cả các yêu cầu truy cập đến website của bạn sẽ được chuyển qua đường còn lại. Khi
đường truyền gặp sự cố được khắc phục thì thiết bị cân bằng tải sẽ tự động phân phối lại
lưu lượng trên đường đó.
Hình 2. Inbound Load Balancing
Cân bằng tải cho server (Server Load Balancing)
Một số doanh nghiệp lớn thường sử dụng nhiều server chạy đồng thời với nhau để
1.1.3
đảm bảo sự ổn định của dịch vụ và đáp ứng được nhiều yêu cầu đồng thời. Vì thế, thiết bị
cân bằng tải cho server ra đời để đáp ứng yêu cầu phân tải hợp lý giữa các server này.
Tương tự như Inbound/Outbound Load Balancing, Server Load Balancinng cũng có khả
năng cân bằng tải, đặt mức độ ưu tiên, kiểm tra tình trạng kết nối để tối ưu hiệu suất của
hệ thống mạng.
AT8A
8 – Học Viện Kỹ Thuật Mật Mã
Nghiên cứu cơ chế cân bằng tải
Nghiên cứu cơ chế cân bằng tải
- Bảo mật HTTP: cân bằng tải có thể ẩn các trang HTTP lỗi, mã hóa cookie để
người sử dụng cuối cùng không thể thao tác với chúng.
- Content aware switching (chuyển đổi nhận biết nội dung): hầu hết các cân bằng tải
có thể gửi yêu cầu đến các máy chủ khác nhau dựa trên URL được yêu cầu.
- Client authentication (xác thực client ): người dùng sẽ được xác thực đối với nhiều
nguồn khác nhau trước khi họ được cho phép truy cập vào một trang web.
- Programmatic traffic manipulation: cân bằng tải cho phép tùy chỉnh phương pháp
cân bằng tải, thao tác lưu lượng truy cập tùy ý...
- Firewall (tường lửa): kết nối trực tiếp tới máy chủ backend như một cách để
phòng ngừa các sự cố để đảm bảo an ninh mạng.
1.3Ưu
điểm của cân bằng tải
-
Tăng khả năng đáp ứng, tránh tình trạng quá tải trên máy chủ, đảm bảo tính linh hoạt và
-
mở rộng cho hệ thống.
Tăng độ tin cậy và khả năng dự phòng cho hệ thống: Sử dụng cân bằng tải giúp tăng tính
HA (High Availability) cho hệ thống, đồng thời đảm bảo cho người dùng không bị gián
-
đoạn dịch vụ khi xảy ra lỗi sự cố lỗi tại một điểm cung cấp dịch vụ.
Tăng tính bảo mật cho hệ thống: Thông thường khi người dùng gửi yêu cầu dịch vụ đến
được dành cho luồng dữ liệu của web). Một VIP sẽ có ít nhất 1 máy chủ thực sự được gán
-
địa chỉ IP đó và máy chủ này sẽ làm nhiệm vụ phân phối luồng dữ liệu được chuyển đến.
Các máy chủ (servers): máy chủ chạy dịch vụ được chia sẻ tải với các máy chủ khác.
Nhóm (Group): chỉ 1 nhóm các máy chủ được cân bằng tải.
CHƯƠNG II. MỘT SỐ THUẬT TOÁN CÂN BẰNG TẢI
2.1 Thuật
toán ngẫu nhiên
Tải sẽ được phân một cách ngẫu nhiên vào trong các web server. Web server được
chọn dựa trên một hàm chọn số ngẫu nhiên, sau đó yêu cầu hiện tại từ phía người dùng sẽ
được chuyển vào server này
AT8A
11 – Học Viện Kỹ Thuật Mật Mã
Nghiên cứu cơ chế cân bằng tải
Thuật toán có thể được thực hiện như sau:
Hình 5. Random
Thuật toán này hầu như không dùng đến trong các bộ cân bằng tải mặc dù nó
thường được cài đặt sẵn, nó chỉ thường thấy trong các gói phần mềm lớn mà trong đó cân
bằng tải chỉ được đưa ra như một chức năng.
2.2 Thuật
Nguyên lý hoạt động cũng giống với RR, yêu cầu từ phía người dùng sẽ được bộ
cân bẳng tải chuyển đến các server theo thứ tự xoay vòng. Sự khác biệt duy nhất là thuật
toán WRR còn quan tâm đến khả năng xử lý (cấu hình) của các server. Trong cùng 1 chu
kỳ, 1 server có khả năng xử lý gấp đôi server khác sẽ nhận được gấp đôi số yêu cầu từ
phía bộ cân bằng tải.
Giả sử chúng ta có 4 server A, B, C, D cấu hình khác nhau: A và B cấu hình giống
nhau, C và D cấu hình mạnh gấp đôi A. Vậy chúng ta có thể đánh trọng số cho A và B là
1, C và D là 2. Khi đó theo thuật toán WRR, thứ tự server nhận yêu cầu từ phía bộ cân
bằng tải sẽ là ABCDCD.
AT8A
13 – Học Viện Kỹ Thuật Mật Mã
Nghiên cứu cơ chế cân bằng tải
2.4 Thuật toán Dynamic Round Robin – DRR (Dynamic Ratio)
Thuật toán này hoạt động gần giống với WRR, điểm khác biệt là trọng số dựa trên
sự kiểm tra server một cách liên tục, do đó trọng số liên tục thay đổi. Đây là một thuật
toán động (khác với các thuật toán đã trình bày ở trên đều là thuật toán tĩnh), việc chọn
server sẽ dựa trên rất nhiều khía cạnh trong việc phân tích hiệu năng của server dựa trên
thời gian thực, chẳng hạn như số kết nối hiện tại đang có trên các server hoặc server trả
lời nhanh nhất.
2.5Thuật
toán Fastest
Chọn server dựa trên thời gian đáp ứng của mỗi server (Response time). Thuật toán
sẽ chọn server nào có thời gian đáp ứng nhanh nhất. thời gian đáp ứng được xác định
bởi khoảng thời gian giữa thời điểm gửi 1 gói tin đến server và thời điểm nhận gói tin
trả lời. việc gửi nhận này sẽ được bộ cân bằng tải đảm nhiệm, dựa trên thời gian đáp
server nào đang có sẵn. Vì vậy, nó cần phải dùng biện pháp nào đó để kiểm tra trạng thái
của server, chằng hạn như gửi lệnh ping, các yêu cầu, thử kết nối hay bất cứ phương pháp
nào mà người quản trị nghĩ là dùng được. Kỹ thuật kiểm tra này thường được gọi là
“health checks”.
Hạn chế lớn nhất là những phương pháp kiểm tra này sẽ chiếm tài nguyên của hệ
thống như là CPU, threads… Do đó khoảng thời gian giữa 2 lần kiểm tra liên tiếp phải đủ
dài để không tốn quá nhiều tài nguyên của hệ thống và cũng cần đủ ngắn để nhanh chóng
phát hiện ra những server có vấn đề.
3.2 Lựa
chọn server tốt nhất
Phương pháp dễ nhất và thường được sử dụng nhất trong các hệ thống nhỏ là Round
Robin, các server được lựa chọn quay vòng, tuy nhiên phương pháp này có nhược điểm
là 2 requests liên tục từ một người dùng sẽ vào 2 servers khác nhau, thông tin giữa 2 yêu
cầu liên tiếp sẽ bị mất, như vậy sẽ không thể tối ưu hóa được sử dụng tài nguyên.
Một cách khắc phục nhược điểm này là sử dụng một hàm băm theo địa chỉ IP, như
vậy requests từ cùng một địa chỉ IP sẽ chỉ vào một server duy nhất. Tuy vậy phương pháp
này đòi hỏi người dùng phải có IP tĩnh. Cách khắc phục cho những hạn chế trên đó là kỹ
thuật Session Persistence.
3.3Kỹ
thuật Session Persistence
Tất cả các yêu cầu của người dùng cần phải được chuyển vào cùng một server. Nếu
server bị lỗi, hoặc ngừng để bảo trì, cần phải có cơ chế để chuyển session của người dùng
này sang máy server khác. Đó chính là kỹ thuật Session Persistence.
3.4Cân
bằng tải sử dụng phần cứng
3.6Cân
bằng tải với Proxy
-
Thường tận dụng khả năng chia tải sẵn có trên phần mềm proxy như ISA Proxy của
-
Microsoft hay Squid (phần mềm mã nguồn mở cài trên máy phổ dụng).
Proxy sẽ thực hiện nhiệm vụ chia tải trên các server sao cho hợp lý. Giải pháp này vì hoạt
động ở mức ứng dụng nên có khả năng caching (lưu trữ cục bộ dữ liệu được truy cập với
-
tần suất cao) và khả năng firewall (tường lửa) ở tầng ứng dụng.
Vì sử dụng máy phổ dụng nên giải pháp này có ưu điểm là chi phí thấp, khả năng mở
rộng tốt vì cài đặt trên một máy độc lập, dễ quản trị. Tuy nhiên, cũng vì chỉ hoạt động ở
mức ứng dụng nên hiệu năng không cao, vì sử dụng máy phổ dụng nên không được tối
ưu, dễ tồn tại nhiều lỗi hệ thống, vì cài đặt trên một máy độc lập nên việc theo dõi trạng
-
thái của các máy chủ gặp khó khăn.
Nhược điểm lớn nhất của các giải pháp này là thường có tính ổn định kém, hiệu năng
thấp, dễ mắc lỗi. Đây là điều không thể chấp nhận được đối với các hệ thống đòi hỏi tính
sẵn sàng cao như ngân hàng, tài chính.
AT8A
•
không ổn định, hiệu năng thấp(GP sử dụng proxy)
Giải pháp hiệu năng cao, ổn định, mở rộng tốt thì kém thông minh, dễ gây lỗi ứng
dụng, tăng tốc kém(GP chia tải nhờ thiết bị chia kết nối).
Trong khi đó, tất cả các yêu cầu về hiệu năng cao, ổn định, mở rộng tốt, tăng tốc tốt
và bảo mật là rất quan trọng đối với các hoạt động của ngân hàng, chứng khoán… và các
nhà cung cấp dịch vụ. Giải pháp sẵn có của các hãng chỉ đáp ứng được một phần trong
các yêu cầu trên như Module CSS của Cisco, ISA của Microsoft, hay Netscaler của
Citrix.
AT8A
17 – Học Viện Kỹ Thuật Mật Mã
Nghiên cứu cơ chế cân bằng tải
CHƯƠNG IV. ĐỀ XUẤT MÔ HÌNH CÂN BẰNG TẢI CHO HỆ
THỐNG MẠNG TẠI HV KTMM VÀ THỰC HÀNH CẤU HÌNH
CÂN BẰNG TẢI
4.1Đề
xuất mô hình cân bằng tải cho hệ thống mạng tại HV KTMM
Mô hình khảo sát hệ thống mạng máy tính của Học viện Kỹ thuật mật mã (nhiều cơ
sở):
Hình 7. Mô hình mạng HV KTMM
tải
Nghiên cứu cơ chế cân bằng tải
Mô hình gồm 2 máy Web server cấu hình cân bằng tải và 1 máy giả lập Client để
kiểm tra kết quả.
Hình 9. Mô hình Vmware
AT8A
20 – Học Viện Kỹ Thuật Mật Mã
Nghiên cứu cơ chế cân bằng tải
Cấu hình TCP/IP
Thực hiện cấu hình địa chỉ IP cho các máy theo mô hình ở trên. Ví dụ được thực
4.2.2
hiện trên máy Web server 1:
Hình 10. TCP/IP on server 1
Các máy Web server 2 và máy Server (test) cấu hình tương tự.
4.2.3 Cài đặt dịch vụ IIS và giả lập website tại 2 Web server
Thực hiện trên 2 máy Web server tương tự nhau, dưới đây là hướng dẫn cấu hình trên
-
máy Web server 1:
Bước 1: cài dịch vụ IIS: Start Control Panel Add or Remove Programs
Add/Remove Windows Components chọn như hình OK Next Finish
Cấu hình trên máy Web server 1:
Bước 1: Start Control Panel Network Connections Local Area Connection
-
Properties
Bước 2: Làm theo các hình:
Hình 13. NLB on server 1
-
Bước 3:
AT8A
23 – Học Viện Kỹ Thuật Mật Mã
Nghiên cứu cơ chế cân bằng tải
Hình 14. NLB on server 1 (2)
Cấu hình trên Web server 2 tương tự với thông số Priority là 2.
Kiểm tra
Kiểm tra 2 trường hợp:
4.2.5
AT8A
24 – Học Viện Kỹ Thuật Mật Mã