Chúng tôi sẽ giới thiệu cho các bạn cách thay đổi số lượng băng thông được dự trữ trong phần 3 của loạt bài này.. Để xem cách băng thông dự trữ được sử dụng như thế nào, cho rằng bạn đã
Trang 1Điều chỉnh tiết lưu băng thông qua QoS (Phần 1)
Trang 2Một trong những xu hướng lớn nhất trong vấn đề kết nối mạng ngày nay là việc truyền cả tín hiệu thoại và video trên các mạng dữ liệu
truyền thống Một trong những vấn đề về việc hội tụ này là cách thực hiện như thế nào, các gói thoại và video cần phải phân phối đến người nhận một cách nhanh chóng và có độ tin cậy cao, không có độ jitter và
độ trễ vượt quá giới hạn
Một giải pháp để giải quyết vấn đề này là sử dụng QoS QoS, hoặc Quality
of Service, là một công nghệ xử lý gói ưu tiên Về bản chất, QoS cho phép bạn xử lý các gói thông tin nhạy cảm với mức ưu tiên cao hơn các gói khác
Đây là một chuẩn công nghiệp chứ không phải chuẩn thuộc quyền sở hữu của Microsoft Microsoft đã lần đầu tiên giới thiệu QoS trong Windows
2000 Phiên bản QoS của Microsoft đã được phát triển dần lên từ thời điểm
đó nhưng vẫn thích nghi với các chuẩn công nghiệp
Trong Windows XP Professional, QoS làm việc chủ yếu như một cơ chế dự trữ độ rộng băng thông Khi QoS được kích hoạt, ứng dụng được cho phép
dự trữ đến 20% tổng số băng thông, băng thông này được cung cấp bởi mỗi một trong các adapter mạng Số lượng băng thông một ứng dụng dự trữ hoàn toàn có thể điều chỉnh Chúng tôi sẽ giới thiệu cho các bạn cách thay đổi số lượng băng thông được dự trữ trong phần 3 của loạt bài này
Để xem cách băng thông dự trữ được sử dụng như thế nào, cho rằng bạn đã
có một ứng dụng video conferencing cần đến băng thông ưu tiên cao Thừa nhận rằng ứng dụng này đã được kích hoạt QoS, nó sẽ dự trữ 20% toàn bộ băng thông của máy, để lại 80% băng thông cho phần còn lại của lưu lượng
Trang 3mạng
Các ứng dụng không phải là video conferencing sẽ sử dụng cơ chế phân phối tốt nhất Điều này có nghĩa rằng các gói này sẽ được gửi theo cách “đến trước, phục vụ trước” Hay nói theo cách khác, lưu lượng của của ứng dụng video conferencing sẽ có ưu tiên cao hơn so với các lưu lượng khác, tuy nhiên không bao giờ được cho phép tiêu tốn hơn 20% tổng số băng thông
Mặc dù vậy, tuy Windows XP thiết lập băng thông dự trữ cho lưu lượng ưu tiên cao nhưng điều đó không có nghĩa rằng các ứng dụng mức ưu tiên thông thường không thể sử dụng băng thông dự trữ này Nói theo cách khác, tuy các ứng dụng video conferencing có mức ưu tiên cao, có băng thông dự trữ, nhưng Windows vẫn cho phép các ứng dụng khác có thể sử dụng cả băng thông dự trữ và băng thông không dự trữ để đạt được mục đích phân phối hiệu quả nhất miễn là ứng dụng mà băng thông dự trữ đang không sử dụng
Khi ứng dụng video conferencing được khởi chạy thì Windows sẽ bắt đầu công việc dự trữ của nó Mặc dù thế, sự dự trữ lúc này không tuyệt đối Cho
là Windows đã dự trữ 20% băng thông mạng cho ứng dụng video
conferencing, nhưng ứng dụng lại không cần đến tất cả 20% này Trong trường hợp như vậy Windows sẽ cho phép các ứng dụng khác sử dụng phần băng thông còn thừa nhưng sẽ kiểm tra liên tục những nhu cầu về băng
thông của ứng dụng với mức ưu tiên cao Nếu ứng dụng cần đến nhiều băng thông thì băng thông sẽ được gán cho nó, có thể lên đến toàn bộ 20%
Như những gì chúng tôi đã đề cập ở trên, QoS là một chuẩn công nghiệp chứ không phải là các công nghệ thuộc quyền sở hữu của Microsoft Chính vì
Trang 4vậy, QoS được thi hành bên trong Windows, nhưng Windows không thể tự thực hiện Để cho QoS làm việc, mỗi thành phần phần cứng giữa người gửi
và người nhận đều phải hỗ trợ QoS Điều này có nghĩa rằng các NIC, switch, router và những thứ có liên quan phải nhận biết về QoS
Trong trường hợp còn đang phân vân, bạn không phải thực thi một số hành động không cần thiết để sử dụng QoS Asynchronous Transfer Mode (ATM)
là một công nghệ kết nối mạng lý tưởng để sử dụng với QoS vì nó là một công nghệ hướng kết nối, tuy nhiên bạn cũng có thể sử dụng QoS với các công nghệ khác như Frame Relay, Ethernet hay thậm chí Wi-FI (802.11x)
Lý do tại sao ATM lại là một sự lựa chọn lý tưởng cho QoS là vì nó có khả năng thực thi dự trữ băng thông và phân phối tài nguyên dựa trên mức phần cứng Tuy các kiểu phân phối tài nguyên này lại nằm ngoài những khả năng của Etherrnet và các công nghệ kết nối mạng tương tự, nhưng điều đó không
có nghĩa rằng QoS không thể được sử dụng mà có nghĩa rằng, nó phải được thực thi trong môi trường ATM
Trong môi trường ATM các tài nguyên được phân chia hoàn toàn động (on the fly) ở mức phần cứng Do Ethernet và các công nghệ tương tự nó không thể phân chia tài nguyên theo cách này, các kiểu công nghệ của nó dựa trên
sự ưu tiên thay cho việc phân chia động Điều này có nghĩa là sự dự trữ băng thông xảy ra ở mức cao hơn bên trong mô hình OSI Khi băng thông được
dự trữ, các gói có mức ưu tiên cao hơn sẽ được truyền đi trước
Một thứ quan trọng cần phải lưu ý ở đây khi xem xét về việc thực thi QoS trên Ethernet, Wi-Fi, hoặc trên các mạng tương tự là ở chỗ các công nghệ
Trang 5này không có tính kết nối Điều đó có nghĩa rằng người gửi không thể kiểm tra trạng thái của người nhận hoặc trạng thái của mạng giữa người gửi và người nhận Điều này cũng có nghĩa rằng người gửi có thể bảo đảm rằng các gói ưu tiên cao hơn sẽ được truyền trước gói ưu tiên thấp hơn, nhưng không thể bảo đảm được rằng các gói sẽ đến người nhận trong một số lượng thời gian cụ thể Ngược lại, QoS lại có khả năng bảo đảm cho vấn đề này trên các mạng ATM vì ATM là công nghệ hướng kết nối
Windows 2000 và Windows Server 2003
Như chúng tôi đã đề cập từ trước rằng Microsoft đã giới thiệu lần đầu tiên về QoS là trong Windows 2000, và sự thực thi QoS của Microsoft đó đã được phát triển đáng kể từ thời điểm đó Chính vì vậy có một đôi chút khác biệt giữa QoS trong Windows 2000, Windows XP và Windows Server 2003
Sự thực thi của QoS trên Windows 2000 được dựa trên kiến trúc Intserv, đây
là kiến trúc không được hỗ trợ trong Windows XP hoặc Windows Server
2003 Lý do tại sao Microsoft không sử dụng kiến trúc này nữa là vì các API
cơ sở rất khó sử dụng và kiến trúc có nhiều vấn đề trong khi mở rộng
Một số tổ chức vẫn sử dụng Windows 2000, chính vì vậy chúng tôi muốn giới thiệu một chút thông tin về kiến trúc QoS của Windows 2000 làm việc như thế nào Windows 2000 sử dụng một giao thức có tên gọi RSVP để dự trữ tài nguyên băng thông Khi băng thông được yêu cầu, Windows sẽ chỉ định thời điểm các gói được gửi đi Để thực hiện được điều đó, Windows
2000 đã sư dụng một giao thức tín hiệu có tên gọi là SBM (Sunbelt
Bandwidth manager) nhằm thông báo cho người gửi biết rằng các gói đã sẵn
Trang 6sàng bên phía nhận Admission Control Service (ACS) sẽ thẩm định băng thông có đủ khả năng hiện có và sau đó sẽ cho phép hoặc từ chối yêu cầu về băng thông
Toàn bộ quá trình có một chút phức tạp hơn những gì ở trên, nhưng đó là một số phần chính mà Windows 2000 khác với Windows Server 2003 và Windows XP Còn lại Windows 2000, 2003 và XP đều sử dụng các cơ chế điều khiển lưu lượng giống nhau Về phần các cơ chế này chúng tôi sẽ giới thiệu cho các bạn trong phần 2
Kết luận
Trong phần một này chúng tôi đã giới thiệu cho các bạn các gói mang thông tin thoại và video phải được phân phối với tốc độ nhanh hơn các gói dữ liệu thông thường để tránh tình trạng jitter Chúng tôi cũng đã giải thích về các công nghệ QoS có thể được sử dụng như thế nào để giúp bảo vệ lưu lượng thoại và video được phân phối một cách hiệu quả Trong phần 2 của loạt bài này chúng tôi sẽ giải thích về cách làm việc của QoS
Trang 7Điều chỉnh tiết lưu băng thông qua QoS (Phần 2)
Trang 8Trong phần 1 của loạt bài này, chúng tôi đã giới thiệu cho các bạn về QoS là gì và nó được sử dụng cho mục đích nào Phần hai này chúng tôi
sẽ tiếp tục giới thiệu bằng cách giải thích về cách làm việc của QoS Khi
bạn đọc bài này, hãy lưu ý rằng các thông tin được trình bày ở đây đều được dựa trên sự thi hành QoS của Windows Server 2003, những thực thi này sẽ khác với thực thi QoS gốc có trong Windows 2000 Server
API điều khiển lưu lượng (Traffic Control API)
Một trong những vấn đề lớn nhất đối với việc ưu tiên lưu lượng mạng là bạn không thể ưu tiên lưu lượng dựa trên máy tính đã sinh ra nó Đây là một điểm rất phổ biến đối với một máy tính chạy nhiều ứng dụng, và cho từng một trong các ứng dụng đó (có cả hệ điều hành) để sinh ra chính luồng lưu lượng cho riêng nó Khi vấn đề này xảy ra, mỗi luồng lưu lượng phải được
ưu tiên theo các cách khác nhau Một ứng dụng có thể yêu cầu đến băng thông dự trữ nhưng trong khi đó cách phân phối hiệu quả nhất cũng sẽ rất có ích cho các luồng lưu lượng khác
Đây chính là lý do để giới thiệu Traffic Control API Traffic Control API là một giao diện ứng dụng lập trình cho phép các tham số QoS được áp dụng cho từng gói dữ liệu riêng Nó làm việc bằng cách phân biệt các luồng lưu lượng riêng, sau đó áp dụng các biện pháp điều khiển QoS khác nhau cho mỗi luồng
Thứ đầu tiên mà Traffic Control API thực hiện là tạo thứ được biết đến với
tư cách là các thông số kỹ thuật lọc (filterspec) Các chỉ tiêu này rất cần thiết cho một bộ lọc để định ra gói dữ liệu sẽ thuộc về luồng nào Một số thuộc
Trang 9tính được sử dụng bởi các chỉ tiêu lọc này gồm có cả địa chỉ IP đích và nguồn cùng với cả số cổng
Khi filterspec đã được định nghĩa, API sẽ cho phép tạo các thông số kỹ thuật
về luồng Thông số luồng này phân biệt các tham số QoS sẽ được áp dụng đối với một chuỗi các gói Một số các tham số được định nghĩa bởi thông số
kỹ thuật luồng gồm có tốc độ cho phép truyền tải và kiểu dịch vụ
Khái niệm thứ ba được định nghĩa bởi Traffic Control API đó là luồng Luồng chỉ đơn giản là một chuỗi các gói phải tuân thủ theo cùng một thông
số luồng Để đơn giản hóa, các tham số kỹ thuật lọc sẽ nhận diện các gói dữ liệu nào được nhóm vào thông số kỹ thuật luồng Thông số kỹ thuật luồng sẽ chỉ ra xem các gói đó có được “xử lý” ưu tiên hay không và luồng nào mới
là thành phần truyền dẫn thực sự các gói dữ liệu Tất cả các gói bên trong một luồng đều được “xử lý” một cách bình đằng
Một trong những ưu điểm đáng được đề cập đối với Traffic Control API so với Generic QoS API đã sử dụng trong Windows 2000 là khả năng sử dụng
sự thu nạp luồng Nếu một host có nhiều ứng dụng đang truyền tải các luồng
dữ liệu đến một đích nào đó thì các gói này sẽ có thể được kết hợp vào một luồng Điều này còn được thực hiện cả với những ứng dụng sử dụng các cổng khác nhau, miễn là địa chỉ IP nguồn và đích giống nhau
Bộ phân loại các gói chung
Trong phần trên, chúng tôi đã giới thiệu về mối quan hệ giữa thông số kỹ thuật luồng và thông số kỹ thuật lọc cũng như cả luồng Một điều quan trọng
Trang 10mà bạn cũng cần lưu ý là Traffic Control API chỉ là API Nó chỉ có nhiệm
vụ nhận ra và ưu tiên các luồng lưu lượng cần được ưu tiên chứ không hề tạo luồng thực sự
Việc tạo luồng là công việc của phần phân loại các gói dữ liệu chung
(Generic Packet Classifier) Bạn có thể xem lại ở phần trên, một trong những thuộc tính đã được định nghĩa bên trong thông số kỹ thuật luồng có cả kiểu dịch vụ Về cơ bản, kiểu dịch vụ có nhiệm vụ định nghĩa sự ưu tiên của luồng Generic Packet Classifier phải chịu tránh nhiệm cho việc kiểm tra kiểu dịch vụ đã được gán một thông số kỹ thuật luồng hay chưa, sau đó đưa các gói có liên quan vào một hàng đợi sao cho phù hợp với kiểu dịch vụ Mỗi một luồng đều được đặt vào một hàng đợi riêng
Lịch trình cho gói dữ liệu
Thành phần QoS thứ ba mà bạn cần biết đó là bộ lịch trình cho gói dữ liệu (QoS Packet Scheduler) Để đơn giản hóa bạn chỉ cần hiểu công việc chính của thành phần này là sắp đặt lưu lượng Bộ lập lịch trình các gói sẽ lấy gói
dữ liệu từ các hàng đợi khác nhau, sau đó đánh dấu sự ưu tiên cho các gói và tốc độ luồng
Như những gì chúng tôi đã giới thiệu ở phần một của loạt bài này, để QoS làm việc đúng cách thì các thành phần mạng khác nhau nằm giữa nguồn của gói và đích của nó phải biết về QoS Ngoài cần biết cách xử lý QoS chúng cũng cần biết về cách xử lý các lưu lượng không được ưu tiên cũng như các lưu lượng thông thường Để thực hiện công việc này, QoS sử dụng một kỹ thuật đánh dấu
Trang 11Ở đây có hai kiểu đánh dấu QoS Packet Scheduler sử dụng đánh dấu
Diffserv được thực hiện trong các thiết bị lớp thứ 3 và 802.1p được thực hiện bởi các thiết bị lớp 2
Thiết lập lịch trình gói QoS
Trước khi giới thiệu cho các bạn về cách đánh dấu các công việc, bạn cần thiết lập QoS Packet Scheduler để cho nó có thể làm việc Trong Windows Server 2003, QoS Packet Scheduler được coi như một thành phần mạng có tính chất tùy chọn, giống như Client for Microsoft Networks hoặc TCP/IP Protocol Để kích hoạt QoS Packet Scheduler, bạn hãy mở trang thuộc tính kết nối mạng của máy chủ, tích vào hộp kiểm QoS Packet Scheduler như thể hiện trong hình A Nếu QoS Packet Scheduler không có trong danh sách thì bạn hãy kích nút Install và thực hiện theo các nhắc nhở
Trang 12Hình A: QoS Packet Scheduler cần phải được kích hoạt trước khi bạn sử
dụng QoS
Một thứ khác mà bạn cần biết về QoS Packet Scheduler đó là, để làm việc đúng cách, adapter mạng của bạn cần phải hỗ trợ cách đánh nhãn 802.1p Để kiểm tra xem có hỗ trợ không, bạn kích vào nút Configure thể hiện trong hình A, Windows sẽ hiển thị trang thuộc tính về adapter mạng của bạn Nếu bạn quan sát trên tab Advanced thì sẽ thấy được các thuộc tính được hỗ trợ bởi adapter mạng của bạn
Nếu quan sát trong hình B, bạn sẽ thấy được một trong các thuộc tính được liệt kê là 802.1Q / 1P VLAN Tagging Cũng có thể thấy cả thuộc tính này bị
Trang 13vô hiệu hóa một cách mặc định Để kích hoạt nó, bạn chỉ cần kích vào thuộc tính đó là kích OK
Hình B: Bạn phải kích hoạt 802.1Q/1P VLAN Tagging
Bạn có thể thấy trong hình B thuộc tính mà bạn đã kích hoạt có liên quan tới việc gắn thẻ VLAN, không phải cách đánh dấu gói Lý do cho điều này là việc đánh dấu ưu tiên được nhúng vào bên trong các thẻ VLAN Chuẩn 802.1Q định nghĩa các VLAN và các thẻ VLAN Chuẩn này dự trữ ba bit bên trong gói VLAN để được sử dụng cho việc giữ code ưu tiên Tuy nhiên, chuẩn 802.1Q lại không định nghĩa các mã ưu tiên này
Chuẩn 802.1P được tạo ra như một phiên bản cải tiến đối với 802.1Q
802.1P định nghĩa việc đánh dấu ưu tiên để có thể được nhúng vào thẻ
Trang 14VLAN Chúng tôi sẽ giới thiệu cho các bạn về cách làm việc của hai chuẩn này với nhau như thế nào trong phần 3
Kết luận
Trong phần này chúng tôi đã giới thiệu cho các bạn những khái niệm cơ bản nằm trong kiến trúc QoS của Windows Server 2003 Ở phần 3 chúng tôi sẽ tiếp tục giới thiệu cho các bạn thêm về cách đánh dấu các gói dữ liệu của QoS Packet Scheduler và thảo luận cả về cách làm việc của QoS trong các môi trường băng thông thấp
Trang 15Điều chỉnh tiết lưu băng thông qua QoS (Phần 3)
Trang 16Trong phần trước của loạt bài này, chúng tôi đã giới thiệu cho các bạn
về sự thi hành QoS trong Windows Server 2003 có hỗ trợ cả 802.1p và đánh dấu ưu tiên Diffserv Trong phần 3 này chúng tôi sẽ tiếp tục giới thiệu cho các bạn về cách đánh dấu ưu tiên này làm việc như thế nào
802.1P
Như chúng tôi đã giải thích trong phần trước, 802.1p được thực hiện ở lớp 2 trong mô hình tham chiếu OSI Đó là lớp được sử dụng bởi các thiết bị phần cứng, ví dụ như các bộ chuyển mạch Các thiết bị lớp 2 có khả năng nhận biết 802.1p đều có thể xem các mức ưu tiên gán cho các gói, sau đó nhóm gói đó vào các lớp lưu lượng khác nhau
Trên các mạng Ethernet, việc đánh dấu ưu tiên đều được nhúng bên trong các thẻ VLAN Các VLAN và các thẻ VLAN lại được định nghĩa bởi chuẩn 802.1Q, chuẩn chỉ định một trường ưu tiên 3 bít, nhưng lại không chỉ định cách sử dụng trường ưu tiên này như thế nào Đây chính là vai trò của chuẩn 802.1P
802.1P định nghĩa các lớp ưu tiên khác nhau có thể được sử dụng kết hợp với chuẩn 802.1Q Tuy nhiên 802.1Q để mặc lại việc đánh dấu ưu tiên cho quản trị viên, chính vì vậy bạn không cần trung thành một cách kỹ thuật với các quy tắc của 802.1P nhưng chuẩn 802.1P lại đang là chuẩn được mọi người chấp thuận
Mặc dù ý tưởng sử dụng các chuẩn 802.1P để cung cấp sự đánh dấu lớp 2 nghe có vẻ mang tính lý thuyết nhưng việc đánh dấu quả thực có thể được