LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả
nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công
trình nào khác.
Tác giả luận văn ký và ghi rõ họ tên
Mai Quốc Duy
LỜI CẢM ƠN
Đầu tiên, tôi xin chân thành bày tỏ lòng kính trọng và biết ơn sâu sắc đến
thầy TS. Võ Văn Khang đã nhiệt tình hướng dẫn tôi hoàn thành luận văn này. Kể từ
lúc tôi đề xuất đề tài với thầy cho tới hôm nay, thầy đã dành nhiều thời gian để
hướng dẫn phương pháp nghiên cứu khoa học, xác định mục tiêu của đề tài và đặc
biệt là luôn theo sát tiến độ nghiên cứu của tôi để có những góp ý kịp thời. Ngoài
những kiến thức thầy truyền đạt, tôi còn học được ở thầy một phong cách làm việc
rất khoa học, nghiêm túc và đầy trách nhiệm.
Tiếp theo, tôi vô cùng cảm ơn anh em kỹ thuật đang làm việc tại công ty
NetNam đã tạo điều kiện tốt nhất để tôi có thể ứng dụng kết quả luận văn vào môi
trường thực tế. Những lúc ngoài giờ, những anh em này đã cùng tôi xây dựng hệ
thống test trên mạng nội bộ của công ty. Chính nhờ vậy mà tôi đã có cơ hội kiểm
chứng được tính hiệu quả của giải thuật cũng như chương trình cân bằng tải đã đề
xuất.
Cuối cùng, tôi xin cảm ơn quý thầy cô Học viện Công nghệ Bưu chính Viễn
thông đã tận tình giảng dạy, truyền đạt kiến thức nền tảng cho tôi.
Xin chúc tất cả quý thầy cô và các anh em kỹ thuật tại công ty NetNam luôn
tràn đầy sức khỏe và thành công trong mọi lĩnh vực!
TP.HCM, ngày 01 tháng 08 năm 2013
Học viên
Mai Quốc Duy
3
MỤC LỤC
4
DANH MỤC CÁC CHỮ VIẾT TẮT
Viết tắt Tiếng Anh Tiếng Việt
IP Internet Protocol Giao thức Internet
QoS Quality of Service Chất lượng dịch vụ
VM Virtual Machine Máy ảo
5
DANH MỤC BẢNG
6
DANH MỤC HÌNH VẼ
7
Chương 1
GIỚI THIỆU
Chương 1 giới thiệu chung về hiện trạng, nhu cầu và xu hướng chọn lựa giải
thuật cân bằng tải trong hệ thống mạng. Chương này cũng trình bày mục tiêu, đối
tượng và phạm vi nghiên cứu. Cuối chương nêu tóm tắt bố cục của toàn luận văn.
1.1 Hiện trạng
Ngày nay, mạng internet là một thành phần không thể thiếu của hầu hết các
doanh nghiệp. Nhờ có internet mà các công ty có thể giao dịch kinh doanh với thế
giới bên ngoài một cách nhanh chóng, hiệu quả. Nói cách khác, internet đã trở thành
một nhu cầu thiết yếu cho sự phát triển của các tổ chức. Nếu hệ thống internet của
doanh nghiệp bị lỗi, chắc chắn hoạt động kinh doanh sẽ gặp rất nhiều khó khăn. Do
đó, các doanh nghiệp thường thuê ít nhất hai đường truyền internet từ hai ISP khác
nhau để có thể dự phòng lẫn nhau.
Sau khi có nhiều đường truyền internet rồi thì doanh nghiệp lại phải nghĩ
cách để sử dụng tối ưu các đường đã thuê. Nếu như chọn giải pháp một đường
chính, đường còn lại làm dự phòng thì đường truyền chính của công ty có thể bị
nghẽn vào giờ cao điểm trong khi đường dự phòng lại đang không có lưu lượng.
Trong trường hợp này, doanh nghiệp buộc phải chi thêm tiền để thuê thêm băng
thông từ nhà cung cấp. Giải pháp này xem ra lãng phí về kinh tế và kém hiệu quả về
kỹ thuật. Có một giải pháp khác mà hiện nay các doanh nghiệp thường sử dụng để
có thể khắc phục được các hạn chế ở trường hợp vừa trình bày đó là: xây dựng hệ
thống cân bằng tải.
Nhờ cơ chế cân bằng tải mà doanh nghiệp có thể sử dụng đồng thời các
đường truyền internet mà họ đã thuê, trong khi với giải pháp “một đường chính,
đường còn lại dự phòng” thì không làm được điều này. Đó chính là lý do mà ngày
nay có rất nhiều doanh nghiệp sử dụng cơ chế cân bằng tải cho đường truyền
8
internet để vừa tiết kiệm chi phí cho doanh nghiệp trong thời buổi kinh doanh khó
khăn hiện nay, vừa tạo sự ổn định cho các hoạt động kinh doanh qua internet.
1.2 Nhu cầu và xu hướng cân bằng tải
Cân bằng tải đã giúp doanh nghiệp sử dụng “đồng thời” các đường truyền
internet mà họ đã thuê. Trước đây, tiện ích này đã làm thõa mãn được nhu cầu của
doanh nghiệp. Nhưng hiện tại thì chưa, bởi theo quy luật phát triển thì đòi hỏi của
con người sẽ luôn tăng theo thời gian. Cái họ cần là cơ chế cân bằng tải phải thông
minh hơn nữa. Cụ thể là phải sử dụng “tối ưu” các đường truyền internet mà họ đã
thuê (không phải chỉ là sử dụng “đồng thời” như trước đây).
Do đó đã có rất nhiều giải thuật cân bằng tải lần lượt được phát minh để có
thể đáp ứng nhu cầu thực tế. Bảng 1.1 dưới đây trình bày một số loại phổ biến hiện
nay:
Bảng 1.1: Vài giải thuật cân bằng tải hiện nay
STT Tên giải thuật cân bằng tải Tiêu chí cân bằng tải
1 Round robin (RR)
Băng thông2 Weighted round robin (WRR)
3 Least used
4 Fastest response time (FRT) Độ trễ
Loại 1, 2 và 3 trong bảng 1.1 chỉ dựa vào yếu tố băng thông để cân tải. Ba
loại này thuộc nhóm “cân tải để lưu lượng chạy đồng thời”. Trong khi đó, loại 4 lại
dựa vào tiêu chí độ trễ để truyền lưu lượng. Nếu chỉ dựa vào thời gian đáp ứng thôi
thì chưa thể xếp loại này vào nhóm “cân tải để lưu lượng chạy hiệu quả” (vì giả sử
đường truyền 1 luôn có độ trễ tốt nhất thì tất cả lưu lượng đều đi qua đường truyền
1? Nếu như thế thì không thể hiện sự cân tải trong giải thuật này. Hoặc nếu đường
truyền 1 có độ trễ tốt nhưng tỉ lệ rớt gói cao thì sao? )
Tóm lại, hiện nay chưa có một giải thuật nào thuộc nhóm “cân tải để lưu
lượng chạy hiệu quả”. Bắt kịp xu thế hiện tại, cũng như nắm được mong muốn của
các doanh nghiệp, trong luận văn này em sẽ trình bày một giải thuật mới với mục
tiêu sẽ cân tải thật sự hiệu quả hơn các giải thuật đã được biết trước đây.
9
1.3 Mục tiêu nghiên cứu
1.3.1 Xây dựng một giải thuật cân bằng tải mới và hiệu quả.
Giải thuật này có 2 đặc điểm chính đó là:
Xử lý nhanh
Dựa vào đủ 4 tiêu chí: độ trễ, tỉ lệ rớt gói, biến thiên độ trễ và băng
thông
Ý tưởng chính của giải thuật: Với mỗi dest IP, hệ thống cân bằng tải sẽ chọn
hướng truyền gói tin dựa vào độ ưu tiên từ cao nhất xuống thấp nhất như sau:
Tỉ lệ rớt gói thấp nhất & Băng thông còn trống
Độ trễ thấp nhất & Băng thông còn trống
Biến thiên độ trễ thấp nhất & Băng thông còn trống
Băng thông còn trống nhiều nhất
Default-route
Ghi chú:
Người dùng có thể thay đổi thứ tự độ ưu tiên tùy theo nhu cầu
Giải thuật trên được xây dựng dựa trên nhu cầu thực tế của khách
hàng NetNam (nơi sinh viên thực hiện đề tài đang công tác). Các
khách hàng này thường sử dụng nhiều đường truyền của các ISP khác
nhau và họ mong muốn có một giải thuật thông minh có thể tự động
chọn đường tốt nhất để truyền gói tin mà vẫn đảm bảo không nghẽn
băng thông.
10
1.3.2 Xây dựng phần mềm dựa vào giải thuật đã đề xuất
Mục tiêu:
Để công ty đang làm việc, tức công ty cổ phần NetNam (chuyên cung
cấp dịch vụ internet) có thể sử dụng trong việc tư vấn/bán dịch vụ cân
bằng tải cho các khách hàng có nhu cầu.
Để tất cả mọi người trên thế giới có thể sử dụng và cải tiến (Nếu công
ty đang làm cho phép công bố rộng rãi)
Cách thu thập các thông số của đường truyền:
Đối với thông số độ trễ, tỉ lệ rớt gói, biến thiên độ trễ đến một IP đích
cụ thể: sẽ sử dụng giao thức ICMP. Trong trường hợp IP đích cấm
ICMP thì chính sách cân bằng tải sẽ dựa vào thông số băng thông (bỏ
qua các thông số còn lại).
Đối với thông số bandwidth hiện hành của mỗi interface: Sẽ có một
script để tính toán băng thông hiện tại dựa vào các file liên quan trong
hệ điều hành linux.
1.4 Đối tượng và phạm vi nghiên cứu
Đối tượng:
Lập trình mạng với Java
Định tuyến trên linux
Phạm vi:
Xây dựng chương trình bằng ngôn ngữ Java
Hệ điều hành để chạy chương trình là linux (CentOS)
Hệ thống có khả năng cân bằng tải dựa vào nhiều tiêu chí, bao gồm:
o Độ trễ (delay)
o Biến thiên độ trễ (jitter)
o Tỉ lệ mất gói (loss rate)
o Băng thông (bandwidth)
11
1.5 Bố cục luận văn
Chương 1: Giới thiệu
Chương 1 giới thiệu chung về hiện trạng, nhu cầu và xu hướng chọn lựa giải
thuật cân bằng tải trong hệ thống mạng. Chương này cũng trình bày mục tiêu, đối
tượng và phạm vi nghiên cứu. Cuối chương nêu tóm tắt bố cục của toàn luận văn.
Chương 2: Xây dựng giải thuật cân bằng tải
Chương 2 sẽ trình bày các khái niệm, đặc điểm, chức năng của cân bằng tải.
Đồng thời cũng liệt kê các giải thuật và mô hình cân bằng tải thông dụng hiện nay.
Sau đó, sẽ đưa ra các nhận xét ưu điểm và khuyết điểm của từng loại. Tiếp theo sẽ
trình bày ý tưởng, nguyên lý hoạt động của giải thuật đề xuất. Cuối cùng là phần
đánh giá tính hiệu quả của giải thuật mới.
Chương 3: Xây dựng phần mềm cân bằng tải dựa vào giải thuật đề xuất
Chương 3 thể hiện ý tưởng chương trình và nội dung code đã hiện thực. Phần
cuối cùng sẽ đánh giá tính hiệu quả của phần mềm. Sau đó đưa ra hướng phát triển
sau này cho các bản thương mại.
Chương 4: Kết quả test trong môi trường thử nghiệm và thực tế
Chương 4 trình bày mô hình test trong môi trường lab ảo VMWare và trong
môi trường thực tế tại doanh nghiệp đang công tác. Tiếp theo là các kịch bản test để
đánh giá tính năng của chương trình. Sau đó sẽ trình bày sơ lược các bước cài đặt,
triển khai. Phần còn lại bao gồm kết quả đạt được, vấn đề tồn đọng và hướng phát
triển cho chương trình.
Tổng kết và hướng phát triển
Trong phần này sẽ trình bày ba nội dung chính đó là:
Kết quả đạt được của luận văn
Những vấn đề còn tồn tại
Hướng phát triển
12
Chương 2
XÂY DỰNG GIẢI THUẬT CÂN BẰNG TẢI
Chương 2 sẽ trình bày các khái niệm, đặc điểm, chức năng của cân bằng tải.
Đồng thời cũng liệt kê các giải thuật và mô hình cân bằng tải thông dụng hiện nay.
Sau đó, sẽ đưa ra các nhận xét ưu điểm và khuyết điểm của từng loại. Tiếp theo sẽ
trình bày ý tưởng, nguyên lý hoạt động của giải thuật đề xuất. Cuối cùng là phần
đánh giá tính hiệu quả của giải thuật mới.
2.1 Khái niệm
Cân bằng tải là sự chia sẻ công việc cho hai hay nhiều đối tượng cùng tính
năng xử lý. Đối tượng ở đây có thể là máy chủ, CPU, đường truyền internet, thiết bị
lưu trữ,…Tác vụ cân bằng tải có thể được thực hiện bởi phần cứng hoặc phần mềm
hoặc cả hai. Và tác dụng của cân bằng tải đó là:
a) Tối ưu tài nguyên (tránh quá tải)
Tất cả tài nguyên được sử dụng gần như “triệt để”. Ví dụ, nếu các kết nối
internet của doanh nghiệp được cân bằng tải thì lưu lượng được phân phối trên tất
cả các hướng, không có trạng thái “đường nghẽn, đường trống”. Tổng quát như sau:
o Gọi khối lượng công việc cần xử lý là M
o Gọi số đối tượng có thể xử lý công việc là N
o Gọi công suất xử lý công việc của đối tượng N
i
là: W
i
(với i là số thứ tự
của đối tượng)
o Khi đó, bộ cân tải sẽ tối ưu tài nguyên bằng cách chia nhỏ công việc M
thành N phần P
i
sao cho P
i
/P
i+1
= W
i
/W
i+1
13
Hình 2.1: Công việc của bộ cân tải (load-balancer)
Như vậy, khối lượng công việc đã được chia nhỏ và phân phối theo tỉ lệ
tương ứng với công suất xử lý của các đối tượng. Nếu như không có cân bằng tải thì
toàn bộ khối lượng lớn công việc M chỉ dồn về một đối tượng xử lý và làm đối
tượng này quá tải, trong khi các đối tượng khác thì đang ở trạng thái rỗi. Tóm lại,
nhờ việc cân tải mà “tài nguyên xử lý công việc” được khai thác một cách triệt để.
b) Rút ngắn thời gian xử lý
Một tác vụ phức tạp nếu được chia thành nhiều phần nhỏ, sau đó chia sẻ cho
nhiều đối tượng cùng xử lý thì chắc chắn thời gian xử lý sẽ nhanh hơn rất nhiều.
Việc chia công việc cho các CPU cùng xử lý là một ví dụ rõ nhất về vấn đề này.
Tổng quát như sau:
o Gọi khối lượng công việc cần xử lý là M
o Gọi số đối tượng có thể xử lý công việc là N
o Gọi thời gian cần thiết để một đối tượng có thể xử lý xong công việc M là T
o Giả sử các đối tượng có công suất ngang nhau tức W
1
= W
2
= = W
n
o Khi đó, bộ cân tải sẽ rút ngắn thời gian xử lý công việc M bằng cách chia
nhỏ công việc M thành N phần bằng nhau, rồi phân phối đều cho N đối
14
tượng xử lý. Khi đó, thời gian hoàn tất công việc sẽ là T/N. So với trường
hợp không dùng cân bằng tải thì cơ chế này đã giảm thời gian xử lý khoảng
N lần.
c) Tăng tính dự phòng
Khi một đối tượng bị lỗi, các đối tượng khác sẽ lập tức thay thế để đảm bảo
công việc không bị gián đoạn. Giả sử một doanh nghiệp cần thuê 4 Mbps leased-
line. Họ đang cân nhắc chọn một trong hai giải pháp sau: Một là sử dụng duy nhất
một đường truyền 4 Mbps; hai là sử dụng hai đường, trong đó mỗi đường bằng 2
Mbps. Rõ ràng giải pháp thứ hai sẽ tốt hơn vì nếu được kết hợp với tính năng cân
bằng tải thì độ sẵn sàng (hay khả năng dự phòng) sẽ cao hơn so với giải pháp đầu
tiên. Tổng quát như sau:
o Gọi khối lượng công việc cần xử lý là M
o Gọi số đối tượng có thể xử lý công việc là N
o Nếu đối tượng Ni bị lỗi thì N-1 đối tượng còn lại có thể thay thế để xử lý
công việc. Đây là một đặc điểm quan trọng để bảo đảm luồng công việc
vẫn được liên tục khi có vài trong số các đối tượng bị lỗi.
d) Tăng khả năng mở rộng
Cơ chế cân bằng tải luôn cho phép bổ sung các đối tượng xử lý vào hệ thống
mà không làm ảnh hưởng đến tính năng. Ví dụ người dùng có thể bổ sung thêm hai
hay nhiều đường truyền internet vào hệ thống cân bằng tải hiện tại để phù hợp với
sự phát triển hoặc nhu cầu của công ty. Tổng quát như sau:
o Gọi khối lượng công việc cần xử lý là M
o Gọi số đối tượng có thể xử lý công việc là N
o Gọi số đối tượng có thể xử lý công việc cần bổ sung vào hệ thống là K
o Trước khi bổ sung, công việc được phân phối cho N đối tượng. Sau khi
bổ sung, công việc được thực hiện nhanh hơn vì số lượng đối tượng xử lý
công việc được tăng lên (tức N + K đối tượng). Tóm lại, nguyên lý cân
bằng tải vẫn sẽ thực hiện đúng chức năng của mình ngay cả khi hệ thống
được mở rộng bằng cách bổ sung một hoặc nhiều đối tượng xử lý.
15
2.2 Phân loại
Cân bằng tải được chia thành rất nhiều loại. Ví dụ như cân bằng tải kết nối
(link load-balancer), cân bằng tải máy chủ (server load-balancer), cân bằng tải CPU
(CPU load-balancer)…
Trong phạm vi đề tài chỉ đề cập đến cân bằng tải kết nối (link load-
balancer). Đây là loại phân chia lưu lượng qua các đường truyền mạng. Giả sử, một
công ty thuê hai đường truyền internet có tốc độ ngang nhau; và tổng lưu lượng truy
cập internet của công ty tại một thời điểm là 40 Mbps. Khi đó, hệ thống cân bằng tải
sẽ tự động chia đôi lưu lượng người dùng qua mỗi đường truyền (tức 20 Mbps sẽ
được truyền qua mỗi đường)
Hình 2.2: Ví dụ về cân bằng tải kết nối (link load-balancer)
16
2.3 Chức năng của cân bằng tải kết nối (link load-balancer)
Hình 2.3: Tổng quát về cân bằng tải kết nối (link load-balancer)
Cân bằng tải kết nối (link load-balancer) thực hiện việc phân phối băng
thông giữa các đường truyền internet hoặc giữa các đường truyền nội bộ. Loại này
thường bao gồm các chức năng sau:
a) Dự phòng kết nối (link fail-over)
Trong trường hợp tất cả các kết nối đều hoạt động tốt, lưu lượng được phân
phối trên tất cả các kết nối. Nếu có một hoặc nhiều kết nối bị lỗi thì lưu lượng tự
động dồn qua các kết nối còn lại (tạm gọi là “danh sách kết nối hoạt động tốt”).
Ngay khi kết nối lỗi nào đó được phục hồi thì thiết bị cân tải sẽ tự động bổ sung kết
nối này vào “danh sách kết nối hoạt động tốt”. Điều này đảm bảo tính dự phòng cho
các kết nối, nghĩa là nếu vài trong số các kết nối bị lỗi thì mạng vẫn có thể hoạt
động được.
17
b) Cân tải lưu lượng (traffic balancing)
Thiết bị cân tải có nhiệm vụ phân phối lưu lượng qua các kết nối. Hiện nay
có rất nhiều giải thuật cân tải để tổ chức có thể lựa chọn loại phù hợp với nhu cầu
và hiện trạng của mình. Một vài giải thuật thông dụng bao gồm round-robin, least
used, fastest response time,…
c) Nhất quán phiên giao dịch (session persistence)
Đối với các loại lưu lượng đặc biệt như SIP (VoIP), HTTPS và FTP,…
Nếu tổ chức sử dụng private IP và phải NAT sang public IP tại các thiết bị
nối với ISP: bộ cân tải sẽ giữ nguyên hướng truyền dữ liệu cho mỗi phiên
(tức không cân tải cho các gói tin thuộc cùng phiên). Giả sử bộ cân tải thực
hiện việc phân phối các gói tin cùng phiên làm việc cho các hướng thì sẽ làm
người dùng bị mất kết nối ngay lập tức
Nếu các gói tin cùng phiên nhưng có địa chỉ nguồn là IP public thì bộ cân tải
có thể phân phối qua nhiều hướng mà không bị mất session.
2.4 Giải thuật và mô hình
Dưới đây sẽ trình bày một số các mô hình cân bằng tải thông dụng hiện nay:
2.4.1 Xoay vòng (round-robin)
Hình 2.4: Giải thuật “xoay vòng” (round-robin)
a) Đặc điểm chính
18
Số kết nối tối đa có chứa dữ liệu tại một thời điểm = Tổng số lượng kết nối
Hướng được chọn = Luân phiên trên các kết nối
b) Nguyên lý hoạt động
Bộ cân tải lập danh sách các kết nối theo thứ tự. Gói tin đầu tiên được truyền
qua kết nối được định nghĩa đầu tiên trong danh sách. Gói tin thứ hai sẽ được truyền
qua kết nối thứ hai. Khi bộ cân tải duyệt đến kết nối cuối cùng của danh sách thì bắt
đầu “quét” lại kết nối đầu tiên của danh sách.
Gọi số gói tin cần xử lý là M.
Gọi số kết nối có thể xử lý gói tin là N.
Khi đó, bộ cân tải sẽ phân phối gói tin thứ i vào kết nối N
i%N
. Bảng 2.1 dưới
đây minh họa việc phân phối gói tin trong giải thuật round-robin.
Bảng 2.1: Cách phân phối gói tin trong giải thuật “xoay vòng” (round-robin)
Số thứ tự gói tin (M
i
) Kết nối (N
= 3)
M1 N1
M2 N2
M3 N3
M4 N1
M5 N2
M6 N3
M7 N1
c) Nhận xét
Ưu điểm: Bộ cân tải không phải xử lý nhiều (chỉ cần luân phiên việc truyền
gói tin qua danh sách các kết nối).
Nhược điểm: Không tối ưu trong trường hợp các kết nối có băng thông khác
nhau. Ví dụ doanh nghiệp có 2 kết nối internet với tốc độ tương ứng là 1
Mbps và 2Mbps. Nếu dùng giải thuật này thì sẽ có trường hợp kết nối 1
Mbps bị nghẽn trong khi kết nối 2 còn trống rất nhiều băng thông.
19
2.4.2 Xoay vòng theo trọng số (Weighted round-robin )
Hình 2.5: Giải thuật “xoay vòng theo trọng số” (weighted round-robin)
a) Đặc điểm chính
Số kết nối tối đa có chứa dữ liệu tại một thời điểm = Tổng số lượng kết nối
Hướng được chọn = Luân phiên theo tỉ lệ của trọng số trên các kết nối
b) Nguyên lý hoạt động
Bộ cân tải lập danh sách các kết nối theo thứ tự (số lần lặp lại của kết nối
tương ứng với trọng số của kết nối đó). Giả sử, kết nối ISP1 có trọng số bằng 2 và
kết nối của ISP2 có trọng số bằng 3, thì danh sách sẽ như sau: ISP1 ISP1 ISP2 ISP2
ISP2. Khi đó, gói tin đầu tiên được truyền qua kết nối được định nghĩa đầu tiên
trong danh sách. Gói tin thứ hai sẽ được truyền qua kết nối thứ hai. Khi bộ cân tải
duyệt đến kết nối cuối cùng của danh sách thì bắt đầu “quét” lại kết nối đầu tiên của
danh sách.
Gọi số gói tin cần xử lý là M
Gọi số kết nối có thể xử lý gói tin là N
Gọi trọng số của kết nối N
i
là W
i
Khi đó, bộ cân tải sẽ phân phối gói tin thứ i vào kết nối như bảng sau:
Bảng 2. 2:Cách phân phối gói tin trong giải thuật “xoay vòng theo trọng số”
(weighted round-robin)
Số thứ tự gói tin Kết nối Số lần lặp
20
(với k là số thứ tự lần quét danh sách)
M
1*k
N
1
W
1
lần
M
W1*k
N
1
M
(W1+1) *k
N
2
W
2
lần
M
(W1+W2)*k
N
2
M
(W1+W2+1)*k
N
3
W
3
lần
M
(W1+W2+W3)*k
N
3
c) Nhận xét
Ưu điểm: Bộ cân tải không phải xử lý nhiều (chỉ cần luân phiên việc truyền
gói tin qua danh sách các kết nối được thiết lập dựa vào trọng số).
Nhược điểm: Chỉ dựa vào tiêu chí băng thông để truyền dữ liệu, không dựa
vào độ trễ, độ rớt gói, biến thiên độ trễ, Do đó, giải thuật này chỉ cân tải lưu
lượng qua các kết nối mà chưa quan tâm đến chất lượng hướng kết nối.
21
2.4.3 Độ ưu tiên (Priority)
Hình 2.6: Giải thuật “độ ưu tiên” (priority)
a) Đặc điểm chính
Số kết nối tối đa có chứa dữ liệu tại một thời điểm = 1
Hướng được chọn = hướng có độ ưu tiên cao nhất trong số các hướng không
bị lỗi kết nối
b) Nguyên lý hoạt động
Các kết nối được người dùng chỉ định giá trị ưu tiên. Bộ cân tải sẽ luôn lái
lưu lượng qua đường có độ ưu tiên cao nhất và không bị lỗi. Những đường có độ ưu
tiên thấp hơn chỉ được sử dụng khi kết nối hiện tại bị lỗi.
22
Hình 2.7: Nguyên lý hoạt động của giải thuật “độ ưu tiên” (priority)
c) Nhận xét
Ưu điểm: Bộ cân tải không phải xử lý nhiều (chỉ cần “default-route” về một
hướng có độ ưu tiên cao nhất. Nếu hướng này bị lỗi thì tự động đổi “default-
route” qua hướng có độ ưu tiên thấp hơn).
Nhược điểm: Tại một thời điểm chỉ sử dụng một đường duy nhất. Giải thuật
này chưa khai thác hiệu quả tổng tài nguyên đang có.
23
2.4.4 Tràn băng thông (overflow)
Hình 2.8: Giải thuật “tràn băng thông” (overflow)
a) Đặc điểm chính
Số kết nối tối đa có chứa dữ liệu tại một thời điểm = tổng số lượng kết nối
Hướng được chọn = hướng có độ ưu tiên cao nhất và không bị nghẽn trong
số các hướng không bị lỗi kết nối
b) Nguyên lý hoạt động
Lúc đầu chỉ truyền dữ liệu qua đường có độ ưu tiên cao nhất
Nếu đường đang truyền nghẽn hoặc lỗi kết nối thì các dữ liệu sau đó sẽ được
truyền qua đường có độ ưu tiên thấp hơn. Như vậy, có thể có nhiều kết nối
chứa dữ liệu tại một thời điểm.
24
Hình 2.9: Nguyên lý hoạt động của giải thuật “tràn băng thông” (overflow)
c) Nhận xét
Ưu điểm: Cơ chế hoạt động đơn giản
Nhược điểm: Không tối ưu trong trường hợp các kết nối đang thuê là đường
dùng chung (tức không phải kênh thuê riêng – leased line). Đối với các
đường dùng chung như ADSL, FTTx,…thì nhà cung cấp dịch vụ chỉ đảm
bảo băng thông tối thiểu, còn băng thông tối đa mà khách hàng có thể dùng
thì phụ thuộc vào từng thời điểm. Do đó sẽ rất khó để có thể xác định giá trị
ngưỡng băng thông được xem là nghẽn.
25
2.4.5 Băng thông sử dụng thấp nhất (Least used)
Hình 2.10: Giải thuật “băng thông sử dụng thấp nhất” (least-used)
a) Đặc điểm chính
Số kết nối tối đa có chứa dữ liệu tại một thời điểm = tổng số lượng kết nối
Hướng được chọn = hướng có băng thông đang sử dụng thấp nhất
b) Nguyên lý hoạt động
Lúc đầu chỉ truyền dữ liệu qua đường có băng thông đang sử dụng thấp nhất
Với các dữ liệu tiếp theo, bộ cân băng tải sẽ cập nhật trạng thái băng thông
của các đường, sau đó truyền qua hướng có băng thông đang sử dụng thấp
nhất.