Tải bản đầy đủ (.doc) (40 trang)

chuyển mạch cân bằng tải ( load balancing swich) và ứng dụng triển khai trên mạng viễn thông fpt.

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (976.52 KB, 40 trang )

Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
CHƯƠNG I: TỔNG QUAN VỀ CHUYỂN MẠCH CÂN
BẰNG TẢI
1.1 Giới thiệu chung
Ngày nay, công nghệ thông tin đã và đang đóng vai trò quan trọng trong
đời sống, kinh tế – xã hội của nhiều quốc gia trên thế giới, là một thành
phần không thể thiếu trong một xã hội hiện đại.
Nói đến công nghệ thông tin không thể không đề cập đến lĩnh vực mạng
máy tính, đặc biệt là mạng Internet. Với sự phát triển mạnh mẽ và liên
tục của công nghệ thông tin nói chung và công nghệ mạng nói riêng,
Internet đang được sử dụng rộng rãi từ các cơ quan chính phủ, các công
ty hoạt động trong nhiều lĩnh vực khác nhau, cho đến các hộ gia đình.
Con người ngày càng nhận thấy tầm quan trọng cũng như những lợi ích
lớn lao mà mạng Internet mang lại. Internet không chỉ là kho tri thức
khổng lồ trên tất cả các lĩnh vực từ khoa học kỹ thuật, văn học nghệ
thuật, thiên văn học, y học, giáo dục, … cho đến âm nhạc và giải trí mà
đó còn là nơi con người có thể thư giản, vui chơi sau những giờ làm việc
căng thẳng. Tất cả những điều đó đã làm cho số người sử dụng Internet
không ngừng tăng lên một cách chóng mặt hàng ngày hàng giờ.
Sự gia tăng số người dùng trên mạng dẫn đến hệ quả tất yếu đó là sự
tranh chấp tài nguyên và lưu lượng tải của mạng không ngừng tăng lên.
Điều này dẫn đến mâu thuẫn giữa nhu cầu băng thông và băng thông
thực tế. Đây là một vấn đề luôn được đặt ra khi thiết kế và xây dựng một
mạng máy tính.
Hiện nay, có nhiều giải pháp để giải quyết vấn đề này. Trong đó, Cân
Bằng Tải là một giải pháp được ưa thích và sử dụng phổ biến.
1
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
1.2 Lợi ích và ứng dụng của chuyển mạch cân bằng tải


Server Load Balancing (máy chủ cân bằng tải) là một quá trình phân
phối các yêu cầu dịch vụ trên một nhóm các máy chủ. Sơ đồ dưới đây
cho thấy cân bằng tải trong một nhóm các máy chủ.
Server Load Balancing (máy chủ cân bằng tải) ngày càng trở nên quan
trọng trong hệ thống cơ sở hạ tầng mạng trong doanh nghiệp:
- Tăng cường khả năng mở rộng.
- Nâng cao hiệu suất.
- Tính sẵn sàng cao và khắc phục sự cố.
2
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng

Nhiều ứng dụng chuyên sâu có quy mô lớn, vì vậy đòi hỏi các máy
chủ phải có sự cân bằng tải cho nhau mới có thể chạy tốt các ứng dụng
như vậy. Cả doanh nghiệp và nhà cung cấp dịch vụ cần sự linh hoạt để
triển khai thêm các máy chủ một cách nhanh chóng và minh bạch để đáp
ứng được nhu cầu xử lý công việc trong doanh nghiệp. Server Load
Balancing (máy chủ cân bằng tải) làm cho nhiều máy chủ xuất hiện như
là một máy chủ duy nhất, một dịch vụ đơn ảo, phân phối các yêu cầu
người sử dụng trong các máy chủ.
Hiệu suất cao nhất là đạt được khi sức mạnh xử lý của máy chủ
được sử dụng thông minh. Nâng cao cân bằng tải máy chủ có thể trực
tiếp yêu cầu dịch vụ người dùng cuối để các máy chủ xử lý công việc
được đồng đều nhau và do đó khả năng cung cấp nhanh nhất thời gian để
3
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
đáp ứng. Nhất thiết, các thiết bị cân bằng tải phải có khả năng xử lý lưu
lượng tổng hợp của nhiều máy chủ. Nếu một thiết bị cân bằng tải máy
chủ trở thành một “nút cổ chai” nó không còn là một giải pháp, nó chỉ là

một vấn đề bổ sung.
Lợi ích thứ ba của cân bằng tải máy chủ là khả năng cải thiện tính
sẵn sàng ứng dụng. Nếu một ứng dụng hoặc máy chủ không thành công,
cân bằng tải có thể tự động phân phối lại yêu cầu dịch vụ người dùng
cuối để các máy chủ khác trong một nhóm các máy chủ hoặc tới các
máy chủ trong một địa điểm. Máy chủ cân bằng tải cũng có kế hoạch
ngăn ngừa sự cố cho phần mềm hoặc bảo trì phần cứng bằng các dịch
vụ.
Máy chủ phân phối sản phẩm cân bằng tải cũng có thể cung cấp
dịch vụ khắc phục sự cố bằng cách chuyển hướng yêu cầu dịch vụ trang
một trang web khác khi có một sự cố xảy ra làm vô hiệu hóa các trang
web chính.
Kết luận chương I
Server đang là nền tảng phân phối các ứng dụng quan trọng,
thường xuyên và rộng khắp như Web, Streaming media, VPN. Như một
phần tích hợp của Windows2000 Advanced Server, Windows2003
Advanced Server và Datacenter Server, NLB cung cấp một giải pháp lý
tưởng, kinh tế để tăng cường tính khả mở và khả dụng cho các ứng dụng
trên cả môi trường Internet và intranet. Tuy nhiên, ngoài những ứng
dụng tích hợp trong Windows2000, NLB còn có thể tích hợp trong các
hệ điều hành mạng và các ứng dụng chạy trên server khác một cách hiệu
quả.
Chương II: CÁC KỸ THUẬT CÂN BẰNG TẢI
4
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
2.1 Các kỹ thuật được sử dụng phổ biến
2.1.1 Xử lý các yêu cầu kết nối tập trung
Thay vì ủy quyền cho DNS việc phân phối những yêu cầu đến các server
riêng lẻ trong một cluster, phương pháp xử lý các yêu cầu kết nối tập

trung (CCR) sử dụng một “router” cục bộ để thực hiện chức năng này.
Hình 2-1 – 2-way packet rewriting
Như được minh họa trong hình vẽ 2.1, MagicRouter hoạt động như một
bảng chuyển mạch, phân phối các yêu cầu dịch vụ Web đến các node
riêng lẻ trong cluster. Để thực hiện được điều này, đòi hỏi các gói tin gởi
đi từ client phải được chuyển tiếp (hay “được viết lại”) bởi MagicRouter
đến một server được lựa chọn để phục vụ cho kết nối TCP từ client.
Ngoài ra, các gói tin trả lời từ server cho client cũng đòi hỏi phải “được
viết lại” bởi MagicRouter. Trong phương pháp này, chỉ có địa chỉ IP của
“router’ được công bố thông qua DNS.
Kỹ thuật packet rewritting làm cho người dùng có cảm giác như đang sử
5
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
dụng một Web Server có “hiệu suất hoạt động cao”, nhưng thực sự đó là
một hệ thống bao gồm một thiết bị trung tâm đóng vai trò như một thiết
bị định tuyến cho toàn bộ hệ thống và một tập hợp các server nằm phía
sau. Một số giải pháp khác cũng đã được nghiên cứu và phát triển dựa
trên kiến trúc tương tự bao gồm: Local Director của Cisco và Interactive
Network Dispatcher của IBM.
Ưu điểm của phương pháp CCR đó là:
- Việc định hướng lại cho các kết nối từ client đến các server thích
hợp trong hệ thống là hoàn toàn trong suốt với người dùng.
- Tính linh hoạt cao: khi phát hiện một node bị “chết”, local router
sẽ chuyển tất cả các yêu cầu kế tiếp đến node khác đang hoạt động.
Tuy nhiên, phương pháp CCR cũng còn tồn tại một số khuyết điểm sau:
- Khi số kết nối từ client đến local router tăng cao, toàn hệ thống sẽ
gặp tình trạng nút cổ chai (bottle-neck) ngay tại thiết bị trung tâm
này.
- Thiết bị trung tâm (MagicRouter) là thiết bị phần cứng đặc biệt,

giá thành cao.
- Khi thiết bị trung tâm bị hỏng, toàn bộ hệ thống sẽ ngưng hoạt
động, do đó tính chịu lỗi thấp.
- Tăng chi phí xử lý do phải “viết lại” gói tin theo cả 2 chiều từ
client đến server và ngược lại.
Một kiến trúc hơi khác so với kiến trúc trên, sử dụng một “TCP Router”
đóng vai trò như một thiết bị hoạt động ở đầu vào, tiếp nhận các yêu cầu
dịch vụ từ client, và sau đó có nhiệm vụ phân phối các yêu cầu đến các
server riêng lẻ trong một cluster của hệ thống. TCP Router có 2 đặc
điểm giúp phân biệt với giải pháp MagicRouter được đề cập ở trên. Thứ
nhất, như được minh họa ở hình vẽ 2.2, quá trình viết lại các gói tin trả
lời của server cho client được loại bỏ. Các server bên trong hệ thống sẽ
6
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
trả lời trực tiếp cho client mà không cần thông qua TCP Router. Điều
này đặc biệt quan trọng khi phải xử lý một lượng lớn dữ liệu. Thứ hai,
TCP Router sẽ “chuyển” các kết nối đến các server dựa trên trạng thái
của những server này. Điều này có nghĩa là TCP Router phải heo dõi
việc định hướng lại các kết nối từ client đến server.


Hình 2-2 – 1-way packet rewriting
Mặc dù, kiến trúc dùng TCP Router cho phép khắc phục một phần tình
trạng nút cổ chai do chỉ phải viết lại gói tin theo một chiều từ client đến
server, nhưng kiến trúc này vẫn tồn tại một nhược điểm: khi TCP Router
bị hỏng, toàn bộ hệ thống sẽ ngừng hoạt động.
Tóm lại, kỹ thuật xử lý các yêu cầu kết nối tập trung rõ ràng đã giải
quyết được vấn đề cân bằng tải trên mạng. Tuy nhiên, kỹ thuật này có
7

Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
tính chịu lỗi, tính sẵn sàng thấp và chi phí cao (do đòi hỏi phải có thiết bị
dự phòng). Vì thế, kỹ thuật xử lý các yêu cầu kết nối phân tán được đề
xuất nhằm khắc phục những nhược điểm trên.
2.1.2 Xử lý các yêu cầu kết nối phân tán
Tất cả các kỹ thuật định hướng kết nối được trình bày ở trên (còn
gọi là kỹ thuật Layer 4 Switching) đều sử dụng một node trung tâm để
xử lý tất cả các yêu cầu đến từ client. Ngược lại, trong kỹ thuật “viết lại”
gói tin phân tán (Distributed Packet Rewritting – DPR) hay còn được gọi
là kỹ thuật định hướng kết nối phân tán, tất cả các host của hệ thống
phân tán đều tham gia vào việc xử lý các kết nối giữa client với server
(như được minh họa ở hình 1.3). Cách tiếp cận này làm tăng khả năng
mở rộng cũng như tính chịu lỗi của hệ thống so với các hệ thống sử
dụng router chuyên biệt nằm ở vị trí trung tâm.
DPR là một kỹ thuật hoạt động ở tầng IP, cho phép một server có
khả năng định hướng lại một kết nối từ client đến một server khác dựa
trên mỗi gói tin đầu tiên (SYN packet) cũng như thông tin về tải (load)
của các server trong hệ thống. Sử dụng thông tin này, một server trong
hệ thống DPR có thể định hướng lại một kết nối đến một server khác
hoặc chính bản thân server này sẽ xử lý kết nối đó. Trong trường hợp kết
nối được định hướng lại, server xử lý kết nối sẽ trả lời trực tiếp cho
client nhưng địa chỉ nguồn của gói tin là địa chỉ của server đã tiếp nhận
yêu cầu kết nối lúc ban đầu. Mỗi server trong hệ thống DPR cung cấp cả
dịch vụ Web và chức năng định tuyến. Ngoài ra, địa chỉ IP của tất cả
server trong hệ thống DPR sẽ được công bố một cách tuần tự trên
Internet dựa trên kỹ thuật DNS Round Robin.
Hệ thống sử dụng kỹ thuật DPR có một số ưu điểm sau:

- Hệ thống dễ dàng mở rộng. Khi thêm vào hệ thống một server mới,

không đòi hỏi phải có phần cứng đặc biệt; ngược lại còn tận dụng
8
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
được khả năng của server được thêm vào để tăng hiệu suất cũng
như khả năng cung cấp dịch vụ và định tuyến kết nối của hệ thống.
- Hệ thống có tính chịu lỗi cao, mềm dẻo, linh hoạt.
- Quá trình định hướng lại các kết nối từ client đến server hoàn toàn
trong suốt với người dùng.
Kỹ thuật này vẫn còn tồn tại một khuyết điểm: tốn tài nguyên trên mỗi
server do mỗi server trong hệ thống đều phải lưu danh sách các server
khác trong hệ thống cũng như một bảng định tuyến các kết nối.

Hình 2-3 – Distributed packet rewriting

Kỹ thuật DPR hoạt động dựa trên 2 cơ chế: DPR Stateless và DPR
Stateful.
9
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
2.1.2.1 DPR Stateless:

DPR Stateless không đòi hỏi bất kỳ thông tin nào khác ngoài những
gì có thể được tìm thấy trong các header của mỗi gói tin được gởi đi. Cơ
chế này sử dụng một hàm băm để tính ra một giá trị băm dựa trên địa chỉ
IP và port number của gói tin gởi từ client để quyết định đích đến cho
mỗi gói tin. IP/port của client, sau khi được tính toán bằng hàm băm, tạo
ra một giá trị duy nhất làm khóa cho những yêu cầu từ client đến server.
Do đó, có thể dùng hai giá trị này để định hướng lại cho những yêu cầu.
Với việc lựa chọn TCP port, client đã gián tiếp lựa chọn server để phục

vụ mình. Những chỉ số port tiếp theo từ cùng một client được ánh xạ vào
các server khác, nhờ đó giảm bớt sự mất cân bằng do sự tràn ngập những
yêu cầu từ client gây ra.
DPR Stateless có ưu điểm của là dễ thực hiện, kết quả phân tải chấp
nhận được, không có overhead. Tuy nhiên, việc định hướng lại cho các
kết nối không thể dựa trên những nhân tố khác như: tải của server,
khoảng cách, … Để khắc phục những khuyết điểm của cơ chế DPR
Stateless, người ta đề xuất một cơ chế khác đó là DPR Stateful.
2.1.2.2 DPR Stateful:
Theo cơ chế DPR Stateful, mỗi server lưu giữ một danh sách tất cả
các server khác trong hệ thống, bao gồm: địa chỉ IP và tải hiện thời trên
mỗi server, cũng như các bảng định tuyến chứa thông tin về những kết
nối được định hướng đến các server khác. Theo từng khoảng thời gian
xác định, mỗi server sẽ thông báo cho những server khác về tải hiện tại
của nó bằng cách gởi đi các gói tin UDP Multicast hay Broadcast. Tải
của mỗi server trong hệ thống có thể được tính toán dựa trên các yếu tố
khác nhau như: việc sử dụng CPU, thời gian trả lời, số kết nối được định
hướng lại mà server đang phục vụ, …. Tuy nhiên, các kết quả thực
nghiệm cho thấy việc tính tải dựa trên số kết nối TCP đang mở trên mỗi
10
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
server là hiệu quả nhất.
Server đóng vai trò bộ định hướng kết nối gọi là rewriter, khi nhận
được gói tin đầu tiên của dòng TCP từ client, có quyền chọn một đích
đến cho kết nối này, dựa trên bảng trạng thái của những server trong hệ
thống mà nó lưu giữ. Sau khi ghi nhận vào bảng định tuyến, server đóng
vai trò là rewriter này sẽ chuyển tiếp các gói tin liên quan đến kết nối
bằng cách viết lại địa chỉ MAC hay sử dụng kỹ thuật IP – IP
encapsulation, tùy thuộc vào vị trí đích đến của gói tin trên mạng.

Mặc dù, DPR Stateful đã khắc phục được những khuyết điểm của
DPR Stateless, nhưng nó lại làm tăng overhead, giảm băng thông trên
mạng cũng như tiêu tốn tài nguyên của server cho việc lưu giữ các bảng
định tuyến và thông tin về các server khác trong hệ thống.

2.1.2.3 Phương pháp đánh địa chỉ áp dụng cho hệ thống DPR:
Trong quá trình định hướng lại kết nối giữa các server trong hệ thống,
có 2 phương pháp đánh địa chỉ được áp dụng:
- Server đóng vai trò rewriter chỉ viết lại địa chỉ MAC của gói tin và
truyền đi, giữ nguyên địa chỉ IP và checksum của gói tin. Phương
pháp này hiệu quả nhất nhưng chỉ thực hiện được khi 2 server
(rewriter và server phục vụ cho kết nối được định hướng lại bởi
rewriter) thuộc cùng một LAN.
- Đối với trường hợp rewriter server và server phục vụ kết nối được
định hướng lại bởi rewriter không thuộc cùng một LAN, việc định
hướng phải xảy ra ở mức IP sử dụng kỹ thuật IP – IP
encapsulation: tại rewriter, gói tin đến từ client được đóng gói
trong một gói tin IP khác. Gói tin này có địa chỉ IP đích (IP2) là
địa chỉ của server xử lý kết nối. Khi gói tin đến server có địa chỉ
IP2, header IP – IP bên ngoài bị gỡ bỏ. Header bên trong được xử
lý.
11
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
Khác với kỹ thuật xử lý các yêu cầu kết nối tập trung chỉ có một địa
chỉ IP của thiết bị trung tâm (MagicRouter hay TCP Router) được công
bố, trong kỹ thuật DPR, có nhiều hơn một địa chỉ IP được công bố trên
mạng. Những địa chỉ IP này sẽ được phân giải luôn phiên đến client dựa
trên kỹ thuật Round Robin DNS.
2.1.2.4 DNS Round Robin:

Đây là một kỹ thuật cân bằng tải được thực hiện tại DNS Server.
Để cân bằng tải trên các server, DNS Server duy trì một số địa chỉ IP
khác nhau cho một tên miền. Nhiều địa chỉ IP đại diện cho nhiều máy
trong một hệ thống, tất cả chúng đều ánh xạ vào cùng một tên miền
logic.
Round Robin hoạt động trên cơ sở luân phiên hoán đổi địa chỉ IP cho
một tên miền theo cách sau: một địa chỉ IP, trong danh sách các địa chỉ
IP của một tên miền, được dùng để trả lời cho một câu truy vấn từ client.
Địa chỉ này, sau đó, được đưa về cuối danh sách; địa chỉ IP của server kế
tiếp sẽ được dùng để trả lời cho câu truy vấn tiếp theo và sau đó lại được
đưa xuống cuối danh sách, …. Quá trình này cứ thế diễn ra, phụ thuộc
vào số server đang được sử dụng.
Thí dụ: có 3 server cùng chứa website www.loadbalancing.com. DNS
Server sẽ chứa 3 record sau:
www.loadbalancing.com IN A 210.245.88.88
www.loadbalancing.com IN A 210.245.88.89
www.loadbalancing.com IN A 210.245.88.90
Khi một client truy vấn DNS Server về website này, nếu không có chức
năng DNS Round Robin: server có địa chỉ IP thứ nhất luôn luôn được
dùng để phục vụ cho client. Việc sử dụng các server có địa chỉ IP thứ hai
và thứ ba chỉ xảy ra khi server thứ nhất (210.245.88.88) bị hỏng. Ngược
12
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
lại, nếu có chức năng DNS Round Robin: với mỗi câu truy vấn, giải
thuật Round Robin xoay vòng thứ tự của các record mà DNS Server trả
về cho client để cân bằng tải giữa tất cả các host:
- Lần đầu, client truy vấn DNS Server, DNS Server trả về
210.245.88.88 210.245.88.89 210.245.88.90
- Lần thứ hai, DNS Server trả về 210.245.88.89 210.245.88.90

210.245.88.88
- Lần thứ ba, DNS Server trả về 210.245.88.90 210.245.88.88
210.245.88.89 cho client và cứ tiếp tục như thế.

Các DNS Server hiện nay đều có hỗ trợ chức năng này. Quá trình cài đặt
RR – DNS dễ dàng, chi phí thấp. Bên cạnh những ưu điểm, kỹ thuật này
vẫn có những nhược điểm đó là tính chịu lỗi không cao và cân bằng tải
kém.
Tóm lại, việc thực hiện cân bằng tải giữa các server thực sự đã giải
quyết một số yêu cầu đang ngày càng trở nên quan trọng trong các hệ
thống mạng: khả năng mở rộng, hiệu suất hoạt động, tính sẵn sàng và
tính chịu lỗi.
2.2 Cân bằng tải trong mạng nhiều bridge/switch nối với nhau
Để đảm bảo tính sẵn sàng và hiệu suất hoạt động của mạng cao, người ta
thường thiết kế các mạng có những đường truyền dư thừa. Các đường
truyền này ngoài nhiệm vụ dự phòng, chúng còn có khả năng cho phép
thực hiện cân bằng tải.
Tuy nhiên, trong mạng Ethernet, chỉ cho phép một con đường “hoạt
động” duy nhất tồn tại giữa hai switch/bridge. Nhiều con đường “hoạt
động” giữa các switch/bridge sẽ hình thành nên các vòng loop trong
mạng. Để giải quyết vấn đề này, chuẩn IEEE 802.1q định nghĩa một
Common Spanning Tree (CST), nghĩa là chỉ thừa nhận một đồ hình cây
13
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
duy nhất, cho toàn bộ mạng được “bắc cầu” (bridged network). Chuẩn
này hoàn toàn không quan tâm đến số lượng các VLAN có trong mạng.
Nếu trên mạng có nhiều con đường có thể dùng để phân tải luồng dữ liệu
của các VLAN, CST sẽ vô hiệu một số con đường truyền dữ liệu dư
thừa đó nhờ vào Spanning Tree Protocol (STP).

Xét 2 thí dụ sau:
Thí dụ 1: cho một mạng gồm có 3 bridge nối kết với nhau và có 1000
VLAN như hình vẽ 2.4 bên dưới:

Hình 2-4 Thí dụ 1 về CST
Nếu CST được áp dụng vào đồ hình trên để xác định một “cây”
chung cho toàn mạng, ta sẽ được kết quả như sau:
- Con đường trực tiếp đi từ A đến D2 và ngược lại bị khóa để chống
loop
- Luồng dữ liệu của tất cả VLAN từ 1 đến 1000 từ A đều phải đi qua
D1 để đến D2 và ngược lại.
Thí dụ 2: cho một mạng gồm có 3 switch nối kết với nhau. Trong mạng
14
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
có 2 VLAN với ID 10 và 20. Sw1 có 2 VLAN 10 và 20 được gán vào 2
port duy nhất trên switch để 2 luồng dữ liệu của VLAN 10 và 20 “chảy”
trên hai con đường riêng biệt như được minh họa ở hình 1.5. Giả sử
mạng chạy CST và Sw3 được chọn làm root bridge, STP sẽ khóa con
đường giữa Sw1 và Sw2. Khi điều này xảy ra, luồng dữ liệu từ VLAN
20 không thể truyền đi trên mạng.
Hình 2-5 Thí dụ 2 về CST

Do vậy, một mạng chạy CST không có khả năng cân bằng tải. Để giải
quyết vấn đề trên, Cisco đã đề ra giải pháp Per-VLAN Spanning Tree
(PVST) và PVST+.
2.2.1 Per-VLAN cây mở rộng (Per-VLAN Spanning Tree (PVST) và
PVST+)
Trong giải pháp PVST và PVST+, mỗi VLAN tương ứng với một
Spanning Tree. Do đó, mỗi VLAN có một đồ hình không loop riêng của

nó. Xét lại thí dụ 1 ở mục 1.2, mỗi VLAN từ 1 – 1000 có một thể hiện
Spanning Tree (ST Instance – STI). Các Spanning Tree của những
15
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
VLAN từ 1 đến 500 lấy D1 làm root bridge, khóa đường truyền giữa A
và D2. Các Spanning Tree của những VLAN từ 501 đến 1000 lấy D2
làm root bridge, khóa đường truyền giữa A và D1. Khi đó, luồng dữ liệu
của 1000 VLAN sẽ được phân đôi theo 2 con đường khác nhau (hình vẽ
2.6). Mặc dù, thực sự chỉ có 2 đồ hình logic khác nhau nhưng số STI là
1000. Đây cũng chính là một khuyết điểm của giải pháp này.


Hình 2-6 – Thí dụ 1 về PVST và PVST+

Xem lại thí dụ 2 ở mục 1.2, nếu VLAN 10 được gán cho STI1 và VLAN
20 được gán cho STI2 (như hình vẽ 2-7), mạng sẽ có hai đồ hình
Spanning Tree riêng biệt. Sw3 sẽ trở thành root bridge của thể hiện 1 và
sẽ khóa đường kết nối giữa Sw1 và Sw2. Tuy nhiên, không giống như
trường hợp mạng chạy CST, luồng dữ liệu từ VLAN 20 có thể truyền đi
trên mạng. Điều này xảy ra là do STI2 chọn Sw2 làm root bridge cho đồ
hình Spanning Tree của nó và khóa đường truyền giữa Sw1 và Sw3,
không cho luồng dữ liệu từ VLAN 20 đi qua.
16
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng

Hình 2-7 – Thí dụ 2 về PVST và PVST+
Ưu điểm của giải pháp PVST và PVST+ chính là khả năng cân
bằng tải và tận dụng các đường truyền dư thừa trong mạng. Tuy nhiên,

khi số lượng VLAN trong mạng nhiều, việc tính toán các Spanning Tree
cho từng VLAN sẽ dẫn đến sự quá tải trên CPU của switch, kèm theo đó
là sự tăng lưu lượng mạng do mỗi STI gởi đi BPDU của riêng nó.
Chính vì thế, tổ chức IEEE đã đưa ra giải pháp Multiple Spanning
Tree (IEEE 802.1s) để khắc phục những khuyết điểm của PVST và
PVST+.
2.2.2 Multiple Spanning Tree (MST) (Nhiều cây mở rộng)
MST kết hợp được những ưu điểm của cả PVST+ và IEEE 802.1q
(CST). Trong các mạng chạy MST, mỗi VLAN có một đồ hình riêng và
một STI có thể được chia sẻ bởi nhiều VLAN. Do đó, số lượng STI ít
hơn số VLAN thực có trong mạng. Mỗi một “cây” được gọi là một MST
Instance (MSTI).
17
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
Xét lại thí dụ 1 ở mục 1.2, khi mạng chạy MST, các VLAN từ 1 đến 500
được ánh xạ vào một Spanning Tree và các VLAN từ 501 đến 1000
được ánh xạ vào một Spanning Tree khác. Lưu ý rằng bây giờ chỉ có 2
đồ hình “cây” được duy trì, trong khi con số này khi chạy PVST+ là
1000.
Mặc dù, MST là một giao thức mới và phức tạp nhưng nó cho phép các
mạng thực hiện cân bằng tải, đồng thời tính chịu lỗi của mạng cao cũng
như ít hao tốn tài nguyên CPU của switch dùng cho việc tính toán các
instance.
Phần tiếp theo sẽ trình bày các khái niệm liên quan đến MST như MST
Region, Internal Spanning Tree và Multiple Spanning Tree Instance.
Chúng có những đặc điểm gì? Hoạt động ra sao?
2.2.2.1 MST Region:
Có thể hiểu một MST Region tương tự như một hệ tự trị (autonomous
system – AS); đó là một nhóm các switch được đặt dưới một chính sách

quản trị chung.
Mỗi MST bridge/switch phải có thể quản lý ít nhất 2 loại thể hiện:
Internal Spanning Tree (IST) và một hay nhiều MSTI. Và một MST
Region có tối đa 16 instance: một IST và 15 MSTI.
Mỗi switch chạy MST trong mạng đều có một cấu hình MST, gồm 3
thuộc tính sau:
- Tên của cấu hình (bao gồm cả chữ và số), độ lớn 32 byte.
- Số revision của cấu hình, độ lớn 2 byte.
- Một bảng gồm 4096 phần tử ứng với 4096 VLAN có thể được cho
phép tạo ra trên switch. Bảng này dùng để xác định những VLAN
18
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
nào thuộc MSTI nào.
Những switch thuộc cùng một MST Region sẽ có chung thông tin cấu
hình.
2.2.2.2 Internal Spanning Tree (IST):
IST được sử dụng để cho phép một MST Region có khả năng tương tác
với các vùng (region) khác sử dụng CST (IEEE 802.1q). IST đại diện
cho toàn bộ MST Region như là một bridge (switch) ảo chạy CST để
“giao tiếp” với bên ngoài. Nói cách khác, IST chính là đồ hình “hoạt
động” duy nhất của toàn bộ MST Region mà bên ngoài có thể nhận biết.
Thí dụ, xét hình minh họa 2-8 bên dưới. Trong một mạng “bắc cầu” điển
hình, bạn sẽ mong đợi thấy một port bị khóa giữa 2 switch M và B. Thay
vì khóa đường đi trên port của D, bạn sẽ mong đợi “loại bỏ” loop thứ 2
trong mạng bằng cách khóa một port ở một vị trí nào đó ở giữa MST
Region. Tuy nhiên, do IST, toàn bộ region xuất hiện như một bridge ảo
chạy CST. Do đó, bridge ảo khóa con đường thứ hai tới root bridge
thông qua một port trên switch B. Cũng tương tự như vậy, bridge ảo đó
có đường đi từ C đến D. Điều này dẫn đến switch D khóa port của nó.

19
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng

Hình 2-8 – Internal Spanning Tree
2.2.2.3 Multiple Spanning Tree Instance (MSTI):
MSTI chỉ tồn tại bên trong một MST Region và không bao giờ tương tác
cũng như gởi BPDU ra bên ngoài MST Region chứa nó. Chỉ có IST “đại
diện” cho toàn bộ MST Region thực hiện điều này. Không giống như
mạng chạy CST, trong MST Region, hai phía của đường truyền có thể
gởi và nhận BPDU cùng lúc. Các MSTI BPDU không chứa các tham số
về thời gian như: hello time, forward delay và max age như thường được
tìm thấy trong những CST BPDU. Instance duy nhất trong MST Region
sử dụng các tham số này là IST. MSTI dựa vào IST để truyền đi thông
tin của chúng; do đó, chúng không cần các tham số thời gian đó.
Một kỹ thuật khác cho phép cân bằng tải giữa các collision domain là
EtherChannel. Đây là một kỹ thuật được nghiên cứu và phát triển bởi
Cisco.
2.2.3 EtherChannel
EtherChannel cho phép những đường truyền song song nối 2 node trên
mạng được STP xem như là một đường logic. Các đường truyền được
gom lại thành một “bó” (bundle). Nếu một đường truyền trong bundle
“chết”, luồng dữ liệu trên đường truyền đó sẽ được định tuyến lại trên
một đường khác trong khoảng thời gian vài miligiây.
Kỹ thuật EtherChannel cho phép tích hợp 2, 4 hoặc 8 link và có thể cân
bằng tải dựa trên địa chỉ MAC (Layer 2), địa chỉ IP (Layer 3), hoặc giá
20
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
trị TCP port (Layer 4). Hình 2-9 minh họa quá trình cân bằng tải dựa

trên địa chỉ MAC sử dụng kỹ thuật EtherChannel.
Cách thức phục hồi lỗi trên một đường truyền (link) trong bundle: khi
phát hiện một link trong bundle bị hư, bộ kiểm soát bó (Ethernet Bundle
Controller – EBC) thông báo cho mạch logic nhận biết địa chỉ mở rộng
(Enhanced Address Recognition Logic – EARL) về link bị hư. EARL sẽ
xóa tất cả các mục liên quan đến những địa chỉ học được trên link đó.
Điều này cho phép EBC và EARL xác định lại bằng phần cứng cặp địa
chỉ nguồn và đích trên một link khác.


Hình 2-9 EtherChannel
Trên đây là các giải pháp cân bằng tải giữa các collision domain
trong một mạng. Còn đối với một mạng diện rộng, tồn tại rất nhiều con
21
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
đường để đi từ một đường mạng này đến một đường mạng khác, vấn đề
đặt ra là có thể thực hiện cân bằng tải giữa các broadcast domain hay
không để có thể tận dụng được băng thông của các đường truyền nhằm
tăng hiệu suất mạng? Các giao thức cũng như các thiết bị mạng hoạt
động ở tầng 3 của mô hình OSI hiện nay đều hỗ trợ khả năng cân bằng
tải để đảm bảo hiệu suất hoạt động cũng như tính sẵn sàng của mạng.
Phần cuối của chương này sẽ đề cập đến các phương pháp cân bằng tải
được thực hiện ở tầng 3.
2.3 Cân bằng tải trong mạng gồm nhiều router kết nối với nhau
Hiện nay, có rất nhiều giao thức hoạt động tại tầng 3 của mô hình OSI
hỗ trợ việc cân bằng tải trên mạng. Dưới đây là một số giao thức điển
hình:
2.3.1 Routing Information Protocol (RIP)
RIP là một giao thức định tuyến distance vector. Mectric của các con

đường được tính bằng “hop count”, nghĩa là số router mà một gói tin
phải đi qua để đến đích. Số hop count tối đa được phép là 15.
RIP có khả năng thực hiện cân bằng tải trên các con đường có metric
bằng nhau. Và số con đường tối đa được phép thực hiện cân bằng tải là 6
(giá trị mặc định là 4). Hiện nay, có 2 phiên bản là RIP version 1 (RIP –
1) và RIP – 2.
Ưu điểm của RIP là đơn giản và dễ cấu hình. Tuy nhiên, đối với các
mạng sử dụng RIP làm giao thức định tuyến, việc lựa chọn đường đi cho
các gói tin và cân bằng tải không được tối ưu, do metric được xác định
bằng hop count.
Thí dụ, xét sơ đồ mạng như hình minh họa 2-10. RIP xác định metric
của các con đường dựa trên hop count, do đó, các gói tin sẽ được truyền
22
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
trên đường serial backup có băng thông 19.2 kbps thay vì đường T1.
Trường hợp sơ đồ mạng như hình vẽ 2-11, đường backup và đường T1
có giá trị metric bằng nhau. Điều này cho phép load sharing trên 2 con
đường. Mặc dù hai con đường có băng thông khác nhau nhưng số gói tin
được phân phối trên 2 con đường lại như nhau.



Hình 2-10 – Thí dụ 1 về RIP


23
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
Hình 2-11 – Thí dụ 2 về RIP

2.3.2 Interior Gateway Routing Protocol (IGRP) và Enhanced IGRP
(EIGRP) (Giao Thức định tuyến nội bộ)
IGRP và EIGRP đều là các giao thức định tuyến distance vector,
được phát triển bởi Cisco. Hai giao thức này tự động cân bằng tải trên
các con đường có metric bằng nhau. Metric trong IGRP và EIGRP được
tính toán dựa trên băng thông, độ trễ, tải, độ tin cậy, và MTU (mặc định
là băng thông và độ trễ).
Hơn nữa, IGRP và EIGRP còn có khả năng thực hiện cân bẳng tải trên
các con đường có metric không bằng nhau. Những con đường có metric
nằm trong khoảng được định nghĩa trước, từ metric “xấu nhất” có thể
chấp nhận được cho đến metric “tốt nhất” (metric nhỏ nhất), sẽ được
xem xét để tham gia vào “nhóm” các con đường thực hiện load sharing.
Chúng cho phép thực hiện cân bằng tải tối đa trên 6 con đường (mặc
định là 4). Việc cân bằng tải có thể dựa theo từng đích đến hoặc dùng kỹ
thuật round robin, tùy thuộc vào bộ chuyển mạch trong router.
Trong khi đường kính mạng của RIP tối đa chỉ là 15 hop, IGRP/EIGRP
cho phép mạng có đường kính lên tới 255 hop. Các gói tin trên mạng sử
dụng IGRP và EIGRP được phân phối theo tỉ lệ nghịch với metric của
những đường truyền cho phép cân bằng tải nên việc cân bằng tải được
thực hiện tối ưu. IGRP và EIGRP là những giao thức độc quyền được
phát triển bởi Cisco nên chỉ được áp dụng giới hạn cho những sản phẩm
của Cisco.
2.3.3 Open Shortest Path First (OSPF)
OSPF là một giao thức định tuyến link state, được phát triển bởi
24
Đề Tài: Kỹ thuật cân bẳng tải Giảng Viên Hướng Dẫn: Ts Lê Nhật
Thăng
IETF. OSPF sử dụng thuật toán Dijkstra để xây dựng bảng định tuyến và
thực hiện cân bằng tải trên các con đường có metric bằng nhau, tối đa là
6 con đường. Metric của các con đường trên mạng chạy OSPF được xác

định dựa trên “giá thành” (cost), đó là một phép tính phức tạp dựa trên
nhiều yếu tố.
Hiện nay, OSPF được sử dụng phổ biến trong các mạng diện rộng
bởi vì những ưu điểm như: không bị giới hạn về đường kính của mạng,
khả năng hội tụ nhanh, metric được tính toán dựa trên nhiều yếu tố nên
việc cân bằng tải được thực hiện tốt hơn so với RIP và mỗi router đều có
một sơ đồ về toàn mạng. Mặc dù vậy, các mạng sử dụng OSPF phức tạp
trong thiết kế, cấu hình và bảo trì.
Việc cân bằng tải mạng của các giao thức định tuyến như OSPF,
RIP, IGRP, … được trình bày ở trên, đều dựa theo 1 trong 2 phương
pháp phân phối gói tin: theo địa chỉ đích (per destination) hoặc theo từng
gói tin (per packet)
2.3.4 Per destination
Phương pháp cân bằng tải theo từng đích phân phối tải mạng dựa
vào địa chỉ đích đến của gói tin. Giả sử có 2 con đường để đi đến cùng
một mạng. Khi đó, tất cả gói tin có cùng một địa chỉ đích đến nào đó,
thuộc mạng này, có thể “di chuyển” trên con đường thứ nhất; tất cả gói
tin có cùng địa chỉ đích đến thứ hai (khác địa chỉ đầu), cũng thuộc mạng
này, có thể “di chuyển” trên con đường thứ hai; tất cả gói tin có cùng
đích đến thứ ba có thể lại được truyền đi trên con đường thứ nhất, và cứ
thể tiếp tục. Phương pháp này còn được gọi là fast switching.
Hoạt động: khi một router chuyển gói tin đến một đích cụ thể, việc
tra cứu bảng định tuyến được thực hiện và một interface được lựa chọn
như là ngõ ra cho gói tin. Sau đó, router tìm ra thông tin tầng data-link
cần thiết dùng để đóng khung (frame) gói tin (thí dụ, từ bộ đệm ARP),
25

×