
Điều chỉnh tiết lưu băng thông qua QoS (Phần 4)

Cho đến phần này, chúng tôi đã giới thiệu cho các bạn về QoS và cách nó có
thể được sử dụng để điều tiết luồng lưu lượng trong một mạng nào đó như
thế nào. Mỗi một phần trong loạt bài này đều đã giới thiệu đến QoS từ phối
cảnh của lưu lượng nhạy cảm thời gian, chẳng hạn như lưu lượng video và
giọng nói trên một mạng chất lượng cao. Trong phần này chúng tôi muốn
tập trung vào các cách trong đó QoS được sử dụng để điều tiết lưu lượng
trên các liên kết tốc độ thấp hoặc không có khả năng tin cậy.
QoS và Modem
Trong thời đại băng thông phổ dụng sẵn có ngày nay, đề cập đến các modem
dường như là một điều kỳ lạ. Mặc dù vậy, vẫn có rất nhiều doanh nghiệp
nhỏ và người dùng gia đình sử dụng các modem để kết nối Internet. Ví dụ
như gần đây, chúng tôi còn thấy một số tập đoàn lớn sử dụng modem để kết
nối với các văn phòng vệ tinh được đặt tại vùng ở xa, nơi không có sự bao
phủ băng thông.
Rõ ràng vấn đề lớn nhất với việc sử dụng các modem là số lượng băng tần
hạn chế mà chúng cung cấp. Kém rõ ràng hơn nhưng cũng khá quan trọng
đó là người dùng không thay đổi hành vi online của họ khi sử dụng một liên
kết modem. Chúng ta có thể quả quyết rằng, một người dùng nào đó có thể
sẽ không download một file lớn khi kết nối với Internet thông qua modem,
nhưng phần còn lại trong số đó thường duy thực hiện download các file lớn
như vậy khi họ sử dụng kết nối băng thông rộng.
Một cách điển hình, người dùng không hề nghĩ gì về việc mở Microsoft
Outlook liên tục cùng với đó là lướt Internet trong khi họ download một file

nào đó ở chế độ background. Một số người dùng thậm chí có thể mở kèm cả
IM (instant messaging). Vấn đề gây ra đối với hành vi này là mỗi một ứng
dụng hoặc nhiệm vụ này đều tiêu tốn đến một số lượng đáng kể băng tần
Internet.
Để xem QoS có thể giúp ích như thế nào, chúng ta hãy xem xét những gì xảy
ra trong điều kiện thông thường khi QoS không được sử dụng. Thông
thường, ứng dụng đầu tiên truy cập Internet đều được chấp nhận sử dụng độc
quyền kết nối. Điều này không có nghĩa là không có ứng dụng nào khác có
thể sử dụng kết nối Internet nữa mà đúng hơn là Windows thừa nhận rằng
không ứng dụng nào khác sẽ sử dụng kết nối.
Khi kết nối đã được thiết lập, Windows sẽ bắt đầu việc điều chỉnh động kích
thước cửa sổ nhận TCP. Kích thước cửa sổ nhận TCP dựa vào số lượng dữ
liệu có thể được gửi trước khi đợi xác nhận rằng dữ liệu đã được nhận. Kích
thước cửa sổ này càng lớn thì càng nhiều gói dữ liệu một người gửi có thể
truyền tải trước khi phải đợi tín hiệu phúc đáp báo đã nhận thành công.
Kích thước cửa sổ nhận này phải được điều chỉnh một cách cẩn thận. Nếu
cửa sổ nhận TCP được thiết lập quá nhỏ thì hiệu quả sẽ bị ảnh hưởng xấu vì
TCP sẽ yêu cầu các tín hiệu phúc đáp thường xuyên xác nhận gửi thành
công. Nếu kích thước cửa sổ lại quá lớn thì máy tính sẽ phải truyền đi rất
nhiều dữ liệu trước khi biết rằng có vấn đề nào đó xuất hiện trong khi truyền.
Điều này cũng gây ra phải truyền lại một số lượng lớn dữ liệu, cũng ảnh
hưởng xấu đến hiệu quả.
Khi ứng dụng nào đó bắt đầu sử dụng một kết nốt dial-up, Windows sẽ điều

chỉnh động đối với kích thước cửa sổ nhận TCP khi các gói đã được gửi.
Mục đích của Windows ở đây là đạt được một trạng thái ổn định trong đó
kích thước cửa sổ nhận TCP được thiết lập một cách tối ưu.
Lúc này, hãy giả dụ rằng một người dùng nào đó mở một ứng dụng thứ hai
cũng yêu cầu đến kết nối Internet. Khi thực hiện điều đó, Windows sẽ khởi
tạo một thuật toán có trách nhiệm điều chỉnh kích thước cửa sổ nhận TCP để
đạt giá trị tối ưu. Tuy nhiên vấn đề ở đây là TCP đang được sử dụng bởi ứng
dụng đã chạy sẽ ảnh hưởng đến ứng dụng thứ hai ở hai vấn đề. Đầu tiên, ứng
dụng thứ hai sẽ mất nhiều thời gian hơn để đạt được kích thước cửa sổ nhận
TCP tối ưu. Thứ hai là tốc độ truyền tải dữ liệu của ứng dụng thứ hai sẽ luôn
chậm hơn so với ứng dụng đã được mở trước đó.
Tuy nhiên bạn có thể khắc phục vấn đề này trong Windows XP và Windows
Server 2003 bằng cách kích hoạt bộ lịch trình gói QoS (QOS packet
scheduler). Khi thực hiện điều đó, QOS packet scheduler sẽ tự động sử dụng
Deficit Round Robin để Windows có thể phát hiện ra liên kết chậm.
Deficit Round Robin làm việc bằng cách tạo động một hàng đợi phân biệt
cho mỗi ứng dụng có yêu cầu đến kết nối Internet. Windows sẽ bảo trợ cho
các hàng đợi này theo kiểu Robin vòng, cách thức tạo cải thiện đáng kể hiệu
quả của tất cả các ứng dụng cần truy cập Internet. Trong trường hợp này,
bạn sẽ phân vân rằng tại sao Deficit Round Robin cũng có trong Windows
2000 Server nhưng lại không được kích hoạt một cách tự động.
Chia sẻ kết nối Internet

Trong Windows XP và Windows Server 2003, QoS cũng hỗ trợ chia sẻ kết
nối Internet. Có lẽ các bạn đều biết, chia sẻ kết nối Internet là một cách thức
đơn giản trong việc tạo một bộ định tuyến dựa trên NAT. Máy tính được kết
nối vật lý sẽ đóng vai trò như một router và máy chủ DHCP cho các máy
tính khác trên mạng, vì thế cho phép chúng truy cập Internet thông qua host
đó. Kết nối Internet chia sẻ điển hình được sử dụng chỉ trong các mạng nhỏ,
ngang hàng, các mạng này không có cơ sở hạ tầng domain một cách đúng
nghĩa. Các mạng lớn hơn thường sử dụng router phần cứng hoặc các dịch vụ
định tuyến hay truy cập từ xa.
Trong phần trên, chúng tôi đã giải thích về cách Windows điều chỉnh động
kích thước cửa sổ nhận TCP như thế nào. Sự điều chỉnh động này đôi khi có
thể đem lại hiệu quả ngược như mong đợi khi việc chia sẻ kết nối Internet
được sử dụng. Lý do cho vấn đề này là kết nối giữa các máy tính trong cùng
mạng nội bộ đều rất nhanh có thể lên đến 100 Mb Ethernet.
Máy khách cần truyền thông trên Internet, nhưng nó không thể thực hiện
việc truyền thông một cách trực tiếp, mà thay vào đó là sử dụng kết nối
Internet chia sẻ cấu hình như một sự ủy quyền. Khi Windows tính toán kích
thước cửa sổ nhận TCP tối ưu, nó chỉ dựa vào tốc độ liên kết giữa máy nội
bộ và máy chia sẻ kết nối Internet. Sự khác biệt giữa số lượng dữ liệu mà
máy nội bộ có thể nhận từ Internet và số lượng dữ liệu máy có thể nhận dựa
vào tốc độ kết nối với máy cấu hình chia sẻ kết nối Internet có thể gây ra
nhiều vấn đề. Đặc biệt, có nhiều sự khác nhau trong tốc độ liên kết có thể
làm cho dữ liệu dồn ứ trong hàng đợi đã kết nối với liên kết chậm.
Đây chính là chỗ QoS thể hiện được vai trò của nó. Nếu bạn cài đặt QoS