HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TOÀN THÔNG TIN
BÀI TẬP LỚN MÔN PHÂN TÍCH THIẾT KẾ
HỆ THỐNG AN TOÀN THÔNG TIN
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 KỸ THUẬT MẬT MÃ
-
Cán bộ hướng dẫn: Vũ Thị Vân
Sinh viên thực hiện:
Phạm Quốc Đạt
Nguyễn Việt Tiến
Hoàng Quang Thụy
- Mai Trọng Hoàng
Lớp: AT9A
Hà Nội, 05 - 2016
HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TOÀN THÔNG TIN
BÀI TẬP LỚN MÔN PHÂN TÍCH THIẾT KẾ
HỆ THỐNG AN TOÀN THÔNG TIN
NGHIÊN CỨU CƠ CHẾ CÂN BẰNG TẢI.
rộng về quy mô, số lượng. Bất kể một hệ thống mạng nào cũng có nhu cầu sử dụng các
máy tính cá nhân truy cập, và khi số lượng các máy tính ấy tăng lên, đồng nghĩa với việc
truyền tải thông tin qua mạng cần được quan tâm hơn nữa. Chuyện gì sẽ xảy ra nếu trong
cùng một thời điểm, có nhiều máy tính cùng truy cập vào hệ thống mạng? Sẽ có những sự
cố có thể xảy ra: nghẽn mạng, mất kết nối, thời gian chờ lâu… Để giải quyết vấn đề này,
chúng ta có thể áp dụng giải pháp cân bằng tải cho hệ thống mạng đó. Vậy đó là công
nghệ gì, tính năng và hoạt động ra sao, chúng ta sẽ tìm hiểu sâu hơn trong đề tài:
“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 Kỹ thuật Mật mã”
Đề tài có 4 chương:
CHƯƠNG I. TỔNG QUAN VỀ CÂN BẰNG TẢI: giới thiệu những khái niệm, các
tính năng, ưu điểm và thành phần chức năng của hệ thống 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.
5
Nhóm sinh viên thực hiện:
Phạm Quốc Đạt
Nguyễn Việt Tiến
Hoàng Quang Thụy
Mai Trọng Hoàng
Chúng em xin được cảm ơn cô Vũ Thị Vân đã giảng dạy và giúp đỡ chúng em thực
sự cố được khắc phục xong, các gói tin sẽ được lưu thông trở lại trên đó.
Hình 1. Outbound Load Balancing
1.1.2
7
Cân bằng tải chiều vào (Inbound Load Balancing)
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.
sử dụng cuối cùng không thể thao tác với chúng.
9
- 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
-
đị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.1Thuậ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
Thuật toán có thể được thực hiện như sau:
11
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.2Thuật
toán Round Robin (RR)
RR là thuật toán được dùng thường xuyên nhất trong các hệ thống vừa và nhỏ, ít đòi
hỏi về khả năng mở rộng.
Một kết nối mới sẽ được gửi đến server kế tiếp trong cụm server, và cứ quay vòng
như vậy. RR làm việt tốt trong mọi cấu hình, nhưng sẽ tốt hơn nếu các trang thiết bị đang
bằng tải sẽ là ABCDCD.
2.4Thuật
13
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 ứng, bộ
cân bằng tải sẽ biết chuyển yêu cầu tiếp theo đến server nào.
Thuật toán thường được dùng khi các server được cài đặt dọc theo các mạng logic
khác nhau, nghĩa là server được đặt ở nhiều nơi khác nhau. Như vậy người dùng ở gần
server nào thì thời gian đáp ứng đến server đó chắc chắn sẽ nhanh nhất, và server đó sẽ
được chọn để phục vụ. thuật toán này cũng giống như chuyển hướng yêu cầu dựa trên
địa chỉ IP. Chẳng hạn như khi người dùng truy cập vào google.com, nếu IP người dùng
đến từ Việt Nam thì yêu cầu sẽ được chuyển vào server ở Việt Nam để xử lý. Việc này
giúp tiết kiệm băng thông quốc tế và cải thiện tốc độ đường truyền.
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
Bộ cân bằng tải bằng phần cứng sẽ thể hiện một địa chỉ IP ảo đối với mạng bên
ngoài, địa chỉ này bản đồ hóa đến các địa chỉ của mỗi máy trong một cluster. Chính vì vậy
toàn bộ các máy tính trong cluster sẽ chỉ được xem như là một máy duy nhất đối với thế
giới bên ngoài. Bộ cân bằng tải sử dụng phần cứng thường hoạt động ở tầng mạng và hoạt
động dựa trên sự định tuyến, sử dụng một trong các phương pháp: Định tuyến trực tiếp
(direct routing), tunnelling, IP address translation (NAT).
3.5Cân
-
bằng tải máy chủ với phần mềm
-
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.
16
3.7Cân
-
bằng tải với thiết bị kết nối
Sử dụng các mođun cắm thêm trên các thiết bị chuyên dụng như bộ định tuyến (Router)
hay hay bộ chuyển mạch (Switch) để chia tải theo luồng, thường hoạt động từ tầng vận
-
chuyển trở xuống.
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
Khảo sát chung:
Có thể thấy cơ sở 1 của Học viện được chia thành nhiều phòng máy khác nhau (thực
hành, hành chính, thư viện…), trong mỗi phòng máy lại có nhiều máy tính cùng kết nối
vào 1 mạng. Các phòng máy khác nhau cùng kết nối với một hệ thống server thông qua
một tường lửa bảo vệ.
Như vậy để có thể đảm bảo hoạt động truyền tải thông tin của các máy tính trong
mạng được xuyên suốt và ít gặp sự cố (mất kết nối, kết nối gián đoạn, chập chờn…) thì
chúng ta có thể đưa ra giải pháp là: thực hiện cân bằng tải cho các máy server của hệ
thống.
18
Cụ thể: Lắp đặt thêm các server phụ, cấu hình cân bằng tải cho các server đó để
phân phối và tối ưu hóa lượng thông tin truyền trong mạng, giảm thiểu được khả năng quá
tải của máy chủ và đáp ứng việc truyền tin một cách nhanh hơn.
Việc cấu hình cân bằng tải đối với hệ thống mạng nhỏ như tại Học viện thì có thể áp
dụng thuật toán Round Robin (như đã đề cập ở phần trên). Ngoài ra số lượng các server
phụ lắp đặt thêm sẽ tùy thuộc vào nhu cầu sử dụng, truy cập của các máy client và phụ
thuộc vào nguồn tài chính của Học việ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
Hình 11. Install IIS
-
Bước 2: giả lập website 1 trên server 1, cấu hình website đó bằng IIS. Kết quả:
21
Hình 12. Test website 1
Ở server 2 chúng ta sẽ giả lập Website 2.
Cấu hình cân bằng tải
Trước khi cấu hình có thể đồng bộ thời gian trên 2 server bằng câu lệnh:
net time \\ip_may_server /set
Ví dụ:
net time \\192.168.0.1 /set
net time \\192.168.0.2 /set
4.2.4
-
Cấu hình trên máy Web server 1:
Bước 1: Start Control Panel Network Connections Local Area Connection
Properties
22
Hình 15. Testing 1
-
Trường hợp 2: Web server 1 bị lỗi (disable Card mạng của Web Server 1) thì khi đó Web
server 2 sẽ tải.
Hình 16. Testing 2
25