NGHIÊN CỨU VÀ ỨNG DỤNG QOS TRÊN MÔI TRƯỜNG LINUX
Trang 1Il Giới thiệu Vấn đề và Giải pháp thực hiện 5.5 5S 2223212112121 21222 re
ILI — Giớithiệu 22.222 22122222 2222222122221 raerre
IL2 Hệ thống hiện tại của công ty - 2.2222 25222221211212121121121212111212 He eg IEaaaiỔỔ 1.4 = Phuong an c n(4aiaaaiaiẳ I5 — Sơ đồ giải quyết bài toán 2222222222222 2222122222222 reo IIL — Cấu trúc đổ án 2222222212222 tr Hee 10
13.3 Phân biệt dịch vụ (DIfSeTV) eee eee Hà Hà HH HH ng 26
II Kiến trúc phân biệt địch vụ(DIServ) 5 2S 2222112112122121122.2 re 31
Il.1 Vùng phân biệt dịch vụ (DIffServ domain) c2 22222 như re 31
H.2 Trường D§ 2S 222 n tt n2 212211221121 ng 3 IH3 Chính sách từng chặn (Per-Hop Behaviour-PHB) - 2 co 33
I4 Các thành phần của Phân biệt dịch vụ 5-5222 2222222222122 me 35
IL5 Các loại định tuyến trong DIfẨS€TV 22- 222225122212211211211211 21.22 1 te 38
Trang 2
HLI Điều khiến lưu lượng mang trong LINUX eee tee eet tert 38
TIL.2 DifServ trên LinUX 722222222211 11111 1% kk kh Tnhh kh khe 44
GIẢI QUYẾT BÀI TOÁN c«<ccceceeserransrrastrrerrarsrererrarrasrerasnrrnssersee 48
IL Các bước triển khai mô hình Phân biệt dịch vụ eee eee teeters 5]
IL1 Biên dịch nhân LInux 5 22222232 122EE 9222225258222 rớt Hới HH 51 IL2 Cấu hình định tuyến và địa chỉ ÏP 5-22 2n 222 ttrrrhHHghhrên 53 IL3 Triển khai chất lượng dịch vụ 5: 5 2222222 tt Etttrrrrrrirrrrrrrrre 58 IL4_ Cầu hình Phân biệt dịch vụ trong Linux - - St cénnhhhhhhhhtttrrtrtrrre 62
Trang 3Nguyên nhân thành công của giao thức IP chính là sự đơn giản của nó Mọi tính năng
phức tạp được cài đặt tại đầu cuối còn mạng lõi thì đơn giản Bộ định tuyến trong mang sé
căn cir vao dia chi IP va cac nut trong mang để tìm nút mạng kế tiếp được nhận gói tin
Nếu hàng đợi dành cho nút mạng kế tiếp quá dài, thời gian trễ của gói dữ liệu sẽ lớn Nếu
hàng đợi đầy không còn chỗ trống gói đữ liệu sẽ bị hủy Như vậy, mạng IP chỉ cung cấp
mô hình dịch vụ “nỗ lực tối da” best effort service co nghĩa là mạng sẽ khai thác hết khả
năng trong giới hạn cho phép, nhưng không đảm bảo độ trễ và hay bị mất đữ liệu Vì vậy,
khi có nhiều luỗng lưu lượng truyền đi trong mạng vượt quá khả năng của mạng thì dịch
vụ không bị từ chối nhưng chất lượng dịch vụ giảm: thời gian trễ tăng, tốc độ giảm và mat
đữ liệu Do đó, mạng IP không thích hợp với những ứng dụng yêu cầu thời gian thực
Ngoài ra, với thông tim đa đi ém (multicast) đồng thời phục vụ hàng triệu khách hàng thì
hiện nay mạng IP không thực hiện được Ngày nay, lnternet phát triển quá nhanh dần dần trở thành mạng đa dịch vụ và hầu hết các ứng dụng mới yêu cầu tài nguyên hệ thống và băng thông mạng rất lớn cũng như các yêu cầu về điều khiển, giám sát mạng như: độ trễ,
độ lệch (jitter) của các gói tin khi truyền Internet ngày càng trở nên khống lồ trong khi dung lượng băng thông có giới hạn Do đó, khi nhu cầu băng thông tăng lên thì hiện tượng nghẽn mạng có thể xảy ra Để giải quyết vấn đề trên có hai giải pháp cơ bản:
ade Thứ nhất là nâng cấp tài nguyên mạng như nâng cấp đường truyền vật lý, thiết bị, giải pháp này không kha thi vi rất tốn kém và chỉ đáp ứng đến một giới hạn nào
đó
sẻ Thứ hai là bổ sưng cơ chế quản lý, phân phối tài nguyên mạng để đảm bảo chất
lượng dich vu (Quality of Service-QoS)
Do đó, việc đảm bảo chất lượng dich vu được triển khai đề giải quyết các vấn để trên và
cung cấp cho người dùng các địch vụ chất lượng cao Trong vòng 30 năm trở lại đây,
Trang 4
X25 vào cuối thập kỷ 70 và đầu thập kỷ 80, tiếp theo là công nghệ truyền không đồng bộ
(Asynchronous Transfer Mode-ATM) trong thập kỷ 90, hướng tới mạng số băng thông rộng (Broadband Integrated Services Digital Network-BISDN), Tuy nhiên, theo thời gian các trung tâm nghiên cứu và các nhà cung cấp dịch vụ nhận ra rằng giải pháp đảm
bảo chất lượng dịch vụ chỉ có giá tri thật sự khi nó được đặt nền móng trên các thay đổi
mang tính đơn giản so với cấu trúc mạng hiện tại Đồng thời giải pháp đảm bảo chất
lượng dịch vụ cần có khả năng mở rộng cao Bắt cứ một giải pháp nào yêu cầu nhiều thay đổi hạ tầng phức tạp và tốn kém sẽ không phù hợp với yêu cầu thực tế của thị trường công nehệ viễn thông, do đó sẽ không có tính khả thi cao Đây cũng là lý do lý giải tại sao công nehệ ATM không được ứng dụng rộng rãi và mang lại sự áp dụng phổ biến như mong đợi
và kỳ vọng ban đầu của các nhà nghiên cứu và kỹ sư phát triển mạng Khi công nghệ chuyển mạch gói IP là phương thức duy nhất áp dụng cho mạng Internet toàn cầu như
hiện nay thì xu hướng tất yếu dành cho công nghệ viễn thông là sự phát triển của các giải pháp chất lượng địch vụ trên nền tảng này Các nhà cung cấp dịch vụ phải đảm bảo chất lượng dịch vụ cho rất nhiều ứng dụng khác nhau như: các ứng dụng thời gian thực, Video,
FTP, Web, Mỗi ứng dụng ứng với những người dùng khác nhau sẽ đòi hỏi chất lượng dịch vụ khác nhau Chất lượng dịch vụ dùng để chỉ đến khả năng của mạng trong việc cung cấp dịch vụ tốt nhất cho mạng được chọn với những kỹ thuật khác nhau, bao gồm
FrameRelay, ATM, MPLS hoặc sử dụng tất cả các kỹ thuật trên Mục đích chính của
việc đưa ra QoS là cung cấp độ ưu tiên khác nhau về băng thông, jitter, độ trễ hoặc tỉ lệ mất gói Chất lượng dich vu QoS sé duge ap dung cho mot ludng tir nguén tdi dich va sé đặt độ ưu tiên khác nhau cho các luỗng đó Trong trường hợp mang bi tắc nghẽn hoặc lỗi thì tùy độ ưu tiên luỗng nào sẽ được xử lý trước
Trang 5
thiểu
Khách hàng mạng Internet gian thực Internet
Hình L1: Sự phát triển nhu cầu Chất lượng dịch vụ (QoS)
Sự ra đời các giao thức Chất lượng dịch vụ cung cấp cho mạng các tính năng giúp mạng
có thể phân biệt được các lưu lượng có đòi hỏi thời gian thực với các lưu lượng có độ trễ,
mắt mát hay độ biến động trễ (jitter) Băng thông sẽ được quản lý và sử dụng hiệu qua dé
có thể đáp ứng những yêu cầu vẻ chất lượng của các luồng lưu lượng Mục tiêu của chất
lượng dịch vụ (QoS) là cung cấp một số mức dự báo và điều khiển lưu lượng
Đảm bảo chất lượng dịch vụ (QoS) là đảm bảo chất lượng truyền tải các thông tin trên
mạng theo đúng thời gian, kiểm soát băng thông, đặt quyền ưu tiên cho các lưu thông,
cung cấp mức độ an toàn cao Chất lượng dịch vụ (QoS) còn được kết hợp với khả năng
chuyến tải các thông tin nhạy cảm trì hoãn (delay sensitive) như video trực tuyến hay âm | thanh mà vẫn có đủ băng thông cho các lưu thông khác dù ở tốc độ thấp hơn Quyền ưu
tiên liên quan đến việc đánh dấu một số thông tin để có thể đi qua những mạng đông đúc
trước khi những những thông tin khác có độ ưu tiên thấp hơn đi qua Hiện nay, có hai loại
chất lượng dịch vụ cơ bản:
Trang 6
+ Sự ưu tiên (Prioritization) với mô hình phân biét dich vu (Differentiated Service_ DiffServ) Lưu lượng vào mạng được phan loại và được cung cấp theo chỉ tiêu của chính sách quản lý băng thông
Chất lượng dịch vụ có thể được cài đặt theo các mô hình tùy chọn nhưng thông
thường ta sử dụng các mô hình do [ETF đưa ra Đó là các mô hình tích hợp dịch vụ
(Integrated Service_ IntServ) va mô hình phân biệt dịch vụ (Differentiated
Service DiffServ) Để triển khai chất lượng dich vụ có thể dùng các bộ định tuyến Hiện
nay, có hai loại bộ định tuyến là bộ định tuyến cứng (hardware router, sử dụng các bộ
định tuyến của Cisco, Nortel, Extreme, ) và bộ đmh tuyến mềm (software router, sử
dụng máy tính cá nhân như bộ định tuyến) Bộ định tuyến cứng với năng lực xử lý mạnh được sử dựng tại các nút có lưu lượng lớn Với các nút mà lưu lượng qua nó không quá
lớn, người ta có thể sử đụng bộ định tuyến cứng hoặc bộ định tuyến mềm Bộ định tuyến
mềm với ưu thế giá thành rẻ, độ linh động cao đang ngày càng được ưa chuộng Hệ điều
hành được lựa chọn cho bộ định tuyến mềm là Linux bởi Linux là một hệ điều hành mã
nguồn mở với nhiễu tính năng ưu việt đang được quan tâm rất nhiều hiện nay
Đề án lựa chọn phương án dùng bộ định mềm bằng Linux để triển khai chất lượng
dịch vụ thông qua mô hình Phân biệt dich vu (DiffServ)
Il Giới thiệu Vấn đề và Giải pháp thực hiện
Tọa lạc tại: 20 Tân Hòa Đông, Phường 14, Quận 6, thành phô Hồ Chí Minh Công ty tin
học Thời Đại là công ty tin học chuyên gia công phân phần mém và việt phân mêm trò
chơi, thiết kế website
SVTH: Ngô Thành An & Nguyễn Thị Thu Huyền Trang 6
Trang 7Nghiên cứu và ứng dụng QoŠ trên môi trường Linux
+ Gia công phần mềm (một phần hay toàn bộ) cho các công ty tin học khác ở Việt nam khi mà các công ty này không đủ nhân lực để giải quyết yêu cầu của khách hàng trong thời gian noắn Gia công phần mềm cho các công ty nước ngoài, thị trường chủ yếu của công ty là Nhật và Bắc Mỹ
44 Thiết kế, xây dựng các phần mém trò chơi trực tuyến và chơi trên máy PC Xây dựng các kịch bản trò chơi phù hợp với các chương trình chiến dịch quảng cáo cho
sản phẩm, dich vụ của quý công ty
“4 Website là một phương tiện quảng cáo hiệu quả hơn bất kỳ phương tiện nảo khác
Nó có thể truyền tải tất cả những gì bạn muốn gửi đến khách hàng, bất chấp khoảng cách về không gian và thời gian, không cần Catalogue, hay một phương
tiện quảng cáo nào khác Công ty tin học Thời Đại có đội ngũ thiết kê, lập trình
viên và kỹ sư chuyên nghiệp, trẻ trung, năng động, sáng tạo và kinh nghiệm Với nhiều năm hoạt động, công ty sẽ giúp cho sản phẩm của quy khách hàng tiếp cận thị trường
Để phát triển lâu dài và lớn mạnh, công ty luôn nắm bắt và cải tiến công nghệ nhằm phục vụ
khách hàng tốt nhất
H.2 Hệ thống hiện tại của công ty
Công ty tin học Thời Đại có một hệ thông mạng LAN gôm 288 máy client và 3 máy chủ Trong đó:
sk May chi 1: giữ chức năng là Web server nội bộ cho các nhân viên trong
công ty truy xuất
sk Máy chủ 2: giữ chức năng là FLP server
s& Máy chủ 3: đóng vai trò Video LAN Client (VLC) cung cấp các Video hoặc cuộc thoại mà ban giám đốc muốn phổ biến công việc cho nhân viên Nó còn là một kho đữ liệu phim ảnh cho nhân viên toàn công ty khi có nhu cầu
giai Stress
Trang 8
Nghiên cứu và ứng dụng QoS trên môi trường Linux
Hình L2: Sơ đồ mạng LAN của Công ty Thời Đại
I.3 Vấn đề của công ty
Công ty thường xuyên gặp các sự cô sau:
4 Hệ thống mạng của công ty thường xuyên bị tắc nghẽn
Những chỉ đạo quan trọng của ban giám đốc gửi cho nhân viên thực hiện thường xuyên bị chậm hoặc thất lạc nên ảnh hưởng rất nhiều đến tiến độ công VIỆC
4 Việc không kiểm soát được băng thông ảnh hưởng đến rất nhiều công việc cần
sự ưu tiên truy Xuất
Vì là công ty nhỏ nên số vốn đầu tư cho hệ thống mạng có phan hạn chế nên công ty cần
một giải pháp vừa giảm thiểu được những khó khăn trên của công ty vừa có chỉ phí thấp
Trang 9
Nghiên cứu và ứng dụng QoŠ trên môi trường Linux
I4 Phương án giải quyết bài toán
Giải pháp được đưa ra là triển khai mô hình Phân biệt dich vu (DiffServ) dé dam bao Chất lượng dịch vụ cho mạng trong công ty Phương án cung cấp Chất lượng dịch vụ thông qua mô hình Phân biệt dịch vụ sẽ sử dụng bộ định tuyến mềm chạy làm bằng Linux Phương án này có ưu điểm:
+ Giá thành đầu tư trang thiết bị rẻ
+ Bộ định tuyến mềm linh động hơn so với sử dụng bộ định tuyến dựa trên phan cứng Thay vì phải bỏ ra hàng nghìn déla dé mua bộ định tuyến cứng, người sử dụng chỉ cần sử dụng một máy tính thông thường Thêm vào đó, khác với bộ
định tuyến cứng, Linux cho phép tùy biến mô hình cung cấp chất lượng dịch vụ
linh hoạt
ae Mot loi thé lớn nữa là khả năng triển khai các ứng dụng IPv6 và các thuật toán định tuyến chất lượng dịch vụ (QoS Routing) mới vốn được thử nghiệm trên Linux rất lâu trước khi được đưa ra ứng dụng trong các sản phẩm thương mại IL5 Sơ đồ giải quyết bài toán
Trang 10
Giới thiệu tổng quan về tầm quan trọng của chất lượng địch vụ (QoS) trong mạng
IP Trọng tâm của chương 1 là nêu lên vấn đề khó khăn của công ty tin học Thời Đại và đưa ra phương án giải quyết là triển khai chất lượng dịch vụ thông qua mô hình phân biệt
dịch vụ bằng cách sử dụng bộ định tuyến mềm Linux Mô hình này sẽ được giải thích và demo ở chương 3
Trang 11
Nghiên cứu và ứng dụng QoS trén mdi truong Linux
Chương 2
Chương 2 mô tả các định nghĩa cơ bản của chất lượng dịch vụ trên mang IP, co cầu
được dùng để hỗ trợ, và 2 mô hình tích hợp dịch vụ và phân biệt dịch vụ thường được thực hiện để đảm bảo chất lượng dịch vụ trên mạng Trọng tâm của đỗ án là cơ câu phân
biệt dịch vụ (DifServ) sẽ được mô tả chi tiết trong phần II Trong phần III của chương sẽ
nói về cơ chế mà mô hình phân biệt dịch vụ thực hiện trén Linux
Chuong 3
Chuong 3 mé ta chi tiết mô hình giải quyết bài toán đã được giới thiệu ở chương 1
Cụ thể là phần I mô tả cơ câu làm việc của bộ định tuyến lõi và bộ định tuyến biên Phần
II mô tả từng bước triển khai demo để kiểm tra tính thực thi của mô hình
Chương 4
Phần I của chương 4 phân tích kết quả từ việc chạy demo mô hình thông qua 2
kich bản: có triển khai chất lượng dịch vụ và không triển khai chất lượng dịch vụ Chương
4 còn nêu lên những khó khăn khi thực hiện dé án và định hướng phát triển của đỗ án
Trang 12
Nghién ciru va ting dung QoS trén mé1 truong Linux
CHUONG 2
LY THUYET — CHAT LUONG DICH VU QoS
I Chat lwong dich vu trong mang IP
tin có độ ưu tiên thấp hơn đi qua Cung cấp chất lượng dịch vụ là cung cấp các dịch vụ tốt
hơn tới một dòng nào đó bằng cách nâng độ ưu tiên của dòng đó và giới hạn độ ưu tiên của các dòng khác
Trên mạng IP hiện nay, về cơ bản có hai loại lưu lượng chính là lưu lượng thời gian
thực và lưu lượng dữ liệu Hai loại lưu lượng này có đặc trưng khác nhau do đó chúng có
yêu cầu khác nhau:
s¿ Lưu lượng thời gian thực tạo ra bởi các ứng dụng thời gian thực như: video, vOIce,
đa truyền thông yêu cầu độ trễ nhỏ, nhạy cảm với sự biến thiên độ trễ và cần
được đảm bảo một lượng băng thông tối thiểu Khi độ trễ lớn, biến thiên độ trễ không ổn định hoặc băng thông dưới mức tối thiểu sẽ gây ảnh hưởng lớn đến chất
lượng ứng dụng
sẻ Lưu lượng đữ liệu tạo bởi các ứng dụng mềm dẻo nhu telnet, ftp, www, email,
ít bị ảnh hưởng bởi độ trễ, băng thông và ít nhạy cảm với biến thiên trễ Độ trễ lớp
có thể làm giảm hiệu suất thực hiện ứng dụng nhưng đữ liệu đi đến đều sử dụng
được Lưu lượng đữ liệu không yêu cầu băng thông tối thiểu nhưng khi tăng băng thông thì luôn nâng cao được hiệu suất ứng dụng khác với lưu lượng thời gian thực
Trang 13
Nghiên cứu và ứng dung QoS trén méi truong Linux
khi tăng băng thông đến một mức nào đó thì hiệu suất của ứng dụng không tăng lên nữa Lưu lượng thời gian thực và lưu lượng dữ liệu còn được phân loại chỉ tiết
| hơn dựa trên sự khác nhau về yêu cầu độ trễ
Trong việc thực thi mạng hiệu quả của chất lượng dịch vụ được đánh giá thông qua
các tham số đặc trưng sau:
> Bang thong
> Hệ số trễ
> Hệ số toàn vẹn dữ liệu: tý lệ các gói bị mat, bị hủy, và bị lỗi khi đi trong mạng
> D6 tin cay va dd sẵn sảng
Để cung cấp chất lượng dịch vụ, về nguyên tắc có hai phương pháp:
s Sử dụng giao thức phát và chất lượng dịch vụ được cài đặt vào bản thân giao thức phát hoặc sử dụng giao thức báo hiệu (như RSVP) kết hợp với giao thức truyền thông (như IP)
4 Cài đặt vào các phần tử mạng chuyển tiếp gói tin như thiết bị chuyên mạch hay bộ
định tuyến
Cài đặt chất lượng dịch vụ trên mạng có thê chia thành ba hoạt động:
«Phân loại gói tim (classification)
s* Lập hàng đợi gói tin (queuin9)
s* Lập lịch trình gói tin (queuing và scheduling)
Gới tin được phân loại khi tới bộ định tuyến, bộ định tuyến phân các gói tin vào các lớp
khác nhau dựa trên một tập các quy tắc (ví dụ như dùng trường Phân biệt dịch vụ
| Differentiated Service DS trong phan dau của gói tin IP, địa chỉ nguôn, dia chỉ dich hay
số cổng, .) Các gói tin thuộc cùng một lớp sau đó được xử lý như nhau tại g1ai đoạn lập
| lịch trình gói tin Hang doi (Queue) là bộ đệm chứa các gói tin, một bộ định tuyến có thê
có nhiều hàng đợi Bộ lập lịch gói tin (Scheduler) quyết định thứ tự gửi gói tin ra khỏi
mang Quản lý gói tim trong hàng đợi gồm có bốn hoạt đông cơ bản như: thêm một gói tin vào hàng đợi tương ứng với nó, loại bỏ gói tin khi hàng đợi đầy, chuyển gói tin theo yêu cầu của bộ lập lịch trình cho gói tin và xác định trạng thái của hàng đợi thực hiện các hoạt
Trang 14
Nghién ciru va tng dung QoS trén m6i truong Linux
động thích hợp dé tránh tràn hàng đợi Lập lịch gói tin là cơ chế xác định thứ tự gửi gói
tin ra khỏi mạng Hai khái niệm quản lý gói tin trong hàng đợi và lập lịch trình gói tin phụ thuộc lẫn nhau, loại hàng đợi sẽ quyết định cách gói tin được gửi ra khỏi mạng
L2 Cơ chế thực hiện chất lượng dịch vụ
Cơ chế để đạt được chất lượng địch vụ cho các ứng dụng mạng là:
Sự phân lớp (Classification): xac dinh luỗông đữ liệu của các gói tin đến Phân loại gói tin theo mức độ quan trọng của thông tin, mức độ ưu tiên từ thấp đến cao:
0 Dữ liệu cố gắng tối đa (Best-Effort data)
1 Dữ liệu có độ ưu tiên trung bình (Medium-Priorrty data)
2 Dữ liệu có độ ưu tiên cao (High-Prior1ty đata)
Go Tin hiéu goi (Call-Signaling)
_ H6i nghi truce tuyén (Videoconferencing)
4 5 Thông báo băng 4m thanh (Voice bearer)
6 Để dành
7 Để dành
Đánh dấu (Marking): Để các nút mạng biết gói tin thuộc lớp ưu tiên nảo, cần đánh dấu bằng số Mô hình này dùng 3 bit trong phần tiêu để của gói tin để đánh dấu Tùy theo
chuẩn mà 3 bit này được đánh dâu tương ứng
Quản lý nghẽn (Congestion managemenf): Nghẽn xảy ra khi gói tin đến mà hàng đợi vẫn đang đầy, để quản lý nghẽn ta áp dụng các thuật toán về hàng đợi:
& FIFO (First in First out): Hang doi FIFO khéng có sự phân loại vì tat cả các gói
tin đều thuộc về cùng một lớp Một bộ định tuyến hay bộ chuyển mạch cần các
hàng đợi xuất để giữ các gói trong khi chờ bộ giao tiếp sẵn sàng gửi gói Trong khi các công cụ hàng đợi khác thể hiện các tính năng khác chang han sắp xếp trật tự các gói, hàng đợi FIFO chỉ giữ các gói trong khi chúng chờ để rời khỏi mét cdng giao tiép (interface) Hang doi FIFO su dụng một hàng doi don cho
bô giao tiếp Vì chỉ có một hàng đợi nên không cần phân lớp để quyết định khi
Trang 15
Hàng đợi FIFO sử dụng kỹ thuật hủy gói cuối hàng đợi để quyết định khi nào
bỏ gói hay cho gói vào hàng đợi Nếu cấu hình hàng đợi dài hơn nhiều gói có
thể đặt trong hàng đợi, nghĩa là hàng đợi ít khả năng đầy Nếu không gian hàng
đợi còn trống nhiều thì gói ít bị mất Tuy vậy, với một hàng đợi dài, độ trễ và
độ biến động trễ của gói tăng Với hàng đợi ngắn, độ trì hoãn ít xuất hiện hơn,
nhung hang doi FIFO don sé đầy nhanh chóng, lúc này các gói mới sẽ bị hủy
bỏ
Sử dụng kỹ thuật hàng đợi FIFO có các nhược điểm:
+ FIFO không hoàn toàn tin cậy khi một luồng không mong muốn tranh giành với các luỗng có độ ưu tiên thấp Các luồng không mong muốn gửi một số lượng lớn các gói (đa số các gói đó bị huỷ bỏ) Trong khi đó, các luồng với độ
ưu tiên thấp gửi một số lượng gói xác định và hầu hết chúng bị hủy bởi vì hàng
đợi lúc nào cũng đầy do các luông không mong muốn đã chiếm hết không gian
hàng đợi
+ Sự bùng nỗ cao hay thap gay ra tinh trang day hang doi FIFO Cac goi di vao
một hàng đợi đầy phải chờ một thời gian đài trước khi chúng được truyền
Nhưng ở thời điểm khác, hàng đợi có thé trồng và các gói trong cùng một luồng không bị trì hoãn
Các ưu điểm của kỹ thuật hàng đợi FIFO:
+ Đây là kỹ thuật đơn giản và nhanh
+Nó được hỗ trợ trên tất cả các nên
Hang doi uu tién (Priority Queuing - PQ): dat ra nhiều hàng đợi khác nhau tương ứng với các mức ưu tiên, hàng đợi có mức ưu tiên cao hơn được xử lý trước cho đến khi rỗng thì mới chuyển xuống hàng đợi tiếp theo Việc này có
Trang 16
Nghiên cứu và ứng dụng QoS trên môi trường Linux
thể dẫn đến các hàng đợi có mức ưu tiên thấp không bao giờ được xử lý đến khi
mà các hàng đợi có mức ưu tiên cao liên tục có gói tin cần xử lý
Tính năng đặc biệt của PQ là ở bộ lập lịch PQ lập lịch lưu lượng đảm bảo hàng
đợi ưu tiên luôn được phục vụ trước Với 4 mức ưu tiên: cao, trung bình, bình thường, và thấp Bộ lập lịch PQ có một số thuận lợi và hạn chế Các gói trong
hàng đợi ưu tiên cao có thể đạt 100% băng thông liên kết, với độ trì hoãn nhỏ
và độ biến động trễ nhỏ Thật ra, khi nghẽn mạch, các gói trong hàng đợi ưu tiên thấp tốn nhiều thời gian phục vụ Khi liên kết tắc nghẽn, các ứng dụng người dùng có thể ngừng làm việc nêu các gói đặt trong hàng đợi ưu tiên thấp
PQ phân lớp các gói dựa trên nội dung của các tiêu đề Nó sử dụng tối đa 4 hàng đợi Chỉ áp dụng chính sách hủy gói cuối hàng đợi, mặt khác sau khi phân
lớp các gói, nếu hàng đợi tương ứng đây, các gói bị bỏ Mặt khác, chiều dài mỗi
hàng đợi là nguyên nhân ảnh hưởng đến độ trễ và mất gói Thật ra, PQ có thê
thiết lập chiều dài hàng đợi trở về giá trị 0 nghĩa là chiều đài hàng đợi “kbông
giới hạn” (“không giới hạn” tức là khi bộ định tuyến ra ngoài vùng nhớ, các gói không thê lập lịch) Tuy nhiên sẽ gặp nhiều vấn đề rắc rối hơn trong việc lập lịch cho gói nếu bộ định tuyến nằm ngoài vùng nhớ
PQ làm việc tốt trong các chính sách chất lượng dịch vụ cần xử lý một loại lưu
lượng với khả năng phục vụ tốt nhất Tuy nhiên, dịch vụ PQ với các hàng đợi thập giảm nhanh chóng, làm cho PQ không thiết thực cho hầu hết các ứng dụng
hiện nay Chẳng hạn, việc chạy một kết nối FTP, một trình duyệt web, một
cuộc gọi NetMeeting, và 2 cuộc gọi VolP khi xuất, các kết nối TCP với lưu lượng HTTP và FTP thường xuyên vượt quá thời gian cho phép
sẻ Round Robin: lần lượt lẫy gói tin ở các hàng đợi theo thứ tự, nhưng không thực
hiện được sự ưu tiên
s& Weighted Round Robin: cũng thực hiện lấy gói tin lần lượt ở các hang đợi như
Round Robin nhưng thực hiện sự ưu tiên bằng cách: hàng đợi có mức ưu tiên cao được lấy nhiều gói tin hơn hàng đợi có mức ưu tiên thấp, việc lay nhiều hay
Trang 17
Đề quản lý nghẽn cần kết hợp nhiều thuật toán hàng đợi như:
Tránh nghẽn (Congestion avoid): Khi tắc nghẽn xảy ra, hệ thống sẽ loại bỏ các gói tin đến sau (tail-drop) Nếu để đến khi nghẽn mới tiến hành loại bỏ sẽ làm cho nhiều gói tin phía sau cùng bị loại bỏ, thậm chí có cả các gói tin quan trọng, như vậy sẽ tăng độ trễ, trong khi 1 số ứng đụng lại cần độ trễ nhỏ và tỷ lệ mất gói tin trong giới hạn cho phép Cách thức của tránh nghẽn là bắt đầu thực hiện loại bỏ ngẫu nhiên 1 số gói tin khi mà
hàng đợi đạt đến 1 cơn số định trước (nhưng chưa đầy) Việc thực hiện ưu tiên ở đây chính là các hàng đợi ưu tiên khác nhau thì ngưỡng loại bỏ ngẫu nhiên khác nhau
Kiểm soát và định hướng (Policing & Shaping): Có thể mô tả hai cơ chế này như sau: sử dụng một giỏ các thẻ tại một nút mạng, số lượng thẻ trong giỏ được đặt trước tùy theo khả năng xử lý của nút mạng, mỗi gói tin trước khi được xử lý được cấp cho một thẻ, sau khi xử lý xong thì trả lại thẻ cho giỏ Nếu gói tin đến mà trong giỏ không còn thẻ thì:
“& Cơ chế Policing sẽ loại bỏ gói tin đó đi, điều này sẽ làm gói tin phải được truyền
lại
s: Cơ chế Shaping ném gói tin đó vào hàng đợi, giảm bớt khả năng truyền lại Cần có
bộ nhớ đệm nhiều hơn Policing
Phần Shaping sẽ đẩy gói tin chưa kịp xử lý vào hàng đợi, và tại hàng đợi này thực hiện cách thức Congestion Avoidance, từ đó khống chế ngưỡng dưới băng thông Shaping chi la gian tiếp thực hiện, ban chất là của Congestion Avoidance
Link fragmentation & Inferleaving: Việc một nút mang phải xử lý một gói tin quá dài, có thể làm cho các gói tin nhạy cảm thời gian (time-sensitive) phía sau phải chờ lâu, tăng độ trễ của gói tin đó Phương án giải quyết là phân nhỏ gói tin dài ra thành nhiều gói tin nhỏ hơn, chen gói tin nhạy cảm thời gian vào giữa các gói bị phân mảnh đó dé dam
Trang 18Nghién citu va tmg dung QoS trén môi trường Linux
Nén gói tin (Compression): Các gói tin liên tiếp nhau có thể có phần đầu (header)
giống nhau và việc xử lý các gói tin đó có thể rút ngắn lại bằng cách chỉ cần đọc phan tiêu
đề (header) của gói đầu, cắt bớt phần tiêu đề của các gói sau
định gói tin nào sẽ được chuyển tiếp trước Tắt cả các bước trên đều làm trong bộ định
SVTH: Ngô Thành An & Nguyễn Thị Thu Huyền Trang 18
Trang 19Nghiên cứu và ứng dụng QoS trên môi trường Linux
tuyển đề gán độ ưu tiên riêng cho mỗi dòng Và những dòng có độ ưu tiên cao sẽ có độ trê thấp hơn các dòng khác Vì vậy, luông nào có QoS sẽ có chât lượng dịch vụ tôt hơn các luông khác
L3 — Các cấu trúc chất hrợng dịch vụ
13.1 Dịch vụ cố gang toi da (Best Effort Service)
Đây là dịch vụ phổ biến trên mạng Internet hay mạng IP nói chung Các gói thông tin được truyền đi theo nguyên tắc “đến trước được phục vụ trước” mà không quan tâm
đến đặc tính lưu lượng của dịch vụ là gì Điều này dẫn đến rất khó hỗ trợ các địch vụ đòi hỏi độ trễ thấp như các dịch vụ thời gian thực hay video Cho đến thời điểm này, đa phan
các địch vụ được cung cấp bởi mạng Internet vẫn sử dụng nguyên tac Best Effort nay
I3.2 Mô hình Tích hợp dịch vu (Interageted Services-IntServ)
Đứng trước nhu cầu ngày cảng tăng trong việc cung cấp địch vụ thời gian thực (thoại video) và băng thông cao (đa phương tiện), tích hợp dich vu (Interageted Services)
đã ra đời Đây là sự phát triển của mạng IP nhằm đồng thời cung cấp dịch vụ nỗ lực tối đa
(Best Effort) và các dịch vụ thời gian thực Sau đây là những động lực thúc đây sự ra đời
o Dich vu né luc téi da khdng con đủ đáp ứng nữa: ngày càng có nhiéu tng dung
khác nhau, các yêu cầu khác nhau về đặc tính lưu lượng được triển khai, đồng thời người sử dụng cũng yêu cầu chất lượng dịch vụ ngày càng cao hơn
o_ Các ứng dụng đa phương tiện ngày cảng xuất hiện nhiều: mạng IP phải có khả
năng hỗ trợ không chỉ đơn dịch vụ mà còn hỗ trợ đa dịch vụ của nhiều loại lưu lượng khác nhau từ thoại, số liệu đến video
o_ Tối ưu hóa hiệu suất sử dụng mạng và tài nguyên mạng: đảm bảo hiệu quả sử dụng
và đầu tư Tài nguyên mạng sẽ được dự trữ cho lưu lượng có độ ưu tiên cao hơn,
phân còn lại sẽ dành cho số liệu nô lực tôi da
Trang 20
Nghiên cứu và ứng dung QoS trén môi trường Linux
o_ Cung cấp dịch vụ tốt nhất : mô hình Tích hợp địch vụ cho phép nhà cung cấp mạng
tung ra những dịch vụ tốt nhất, khác biệt với các đối thủ cạnh tranh khác
Y tưởng của mô hình Tích hop dịch vụ như sau: ứng dụng tại nút gửi đữ liệu thông
báo yêu cầu đến tất cả các nút mạng trên đường đi từ nút gửi đến nút nhận Tùy thuộc lượng tài nguyên khả dụng, các nút có thể chấp nhận hoặc từ chối yêu cầu Nếu yêu cầu được tất cả các nút chấp nhận, các nút sẽ đành riêng lượng tài nguyên đã được yêu cầu cho ứng dụng và bắt đầu truyền đữ liệu Thông thường chất lượng dịch vụ được nhà cung
cấp và khách hàng thỏa thuận từ trước, do đó mô hình này có thể đảm bảo chất lượng dịch
vụ cho từng luỗng lưu lượng Một ứng dụng sẽ xác định đặc tính của luỗng lưu lượng mà
nó đưa vào mạng đồng thời xác định một số yêu cầu về mức địch vụ mạng Đặc tính của lưu lượng Tspec (Traffic Specification) yêu cầu mức chất lượng địch vụ RSpec (Required Specification) Vì thế các bộ định tuyến phải có khả năng thực hiện các công việc sau:
Trang 21
“_ Phân lớp (Classification): phân loại gói dữ liệu căn cứ vào mức yêu cầu chất
lượng dịch vụ của gói
» Hang doi va lap lich (Queuing and Scheduling) : đưa gói dữ liệu vào hàng đợi tương ứng và quyết định hủy gói đữ liệu nào khi xảy ra xung đột
Một số thành phần chính tham gia trong mô hình như :
m Giao thức thiết lập (setup) : cho phép các máy chủ và các bộ định tuyến dự trữ tài nguyên mạng để xử lý các yêu cầu của các luồng lưu lượng riêng RSVP là một trong những giao thức đó
“_ Đặc tính luồng : xác định chất lượng dịch vụ sẽ cung cấp cho các luồng xác định Luông ở đây được định nghĩa như một luồng các gói từ nguồn đích có cùng yêu
cầu về Chất lượng dịch vụ Về nguyên tắc có thể đặc tính luéng nhu bang tần tối
thiểu mà mạng bắt buộc phải cung cấp dé đảm bảo chất lượng địch vụ cho các
luỗng yêu cầu
“_ Điều khiển lưu lượng : trong các thiết bị mạng (máy chủ, bộ định tuyến, chuyển
mạch) có thành phần điều khiến và quản lý tài nguyên mạng cần thiết để hỗ trợ chất lượng dịch vụ theo yêu cầu Các thành phần điều khiển lưu lượng này có thé
được khai báo bởi giao thức báo hiệu RSVP Thành phần điều khiển lưu lượng bao
gồm :
+ Điều khiển chấp nhận : xác định các thiết bi mang có khả năng hỗ trợ chất lượng
dịch vụ theo yêu cầu hay không
+ Bộ phân loại (Classifier) : nhận dạng và chọn lựa lớp dịch vụ trên nội dung của một số trường nhất định trong phan đầu gói tin
+ Thiết bị điều phối (Scheduler) : cung cấp các mức chất lượng dich vu qua kênh
ra của thiết bị mạng
Trang 22
Nghiên cứu và ứng dụng QoS trén méi truong Linux
Các mức chất lượng dịch vụ cung cấp bởi Tích hợp dịch vụ gồm :
4 Đảm báo dịch vụ: Cho phép giới hạn thời gian chuyển tiếp các gói dữ liệu đến đích
trong một khoảng thời gian nhất định, đảm bảo số đữ liệu không bị loại bỏ khi
hàng đợi đầy Thông tín đặc tính lưu lượng (Traffic Specification) phải bao gồm
các thông số như: tốc độ đỉnh, kích thước lớn nhất của gói đữ liệu Trong khi đó
thông số quan trọng nhất của Rspec cho phép xác định thời gian trễ lớn nhất có thê
chấp nhận được của dữ liệu Nhược điểm của lớp dịch vụ này là hiệu quả sử dụng tài nguyên mạng thấp vì nó đòi hỏi mỗi luỗông lưu lượng có hàng đợi riêng
s- Kiểm soát tải: Các ứng dụng của dịch vụ này có thể chấp nhận khả năng mất dữ
liệu và thay đổi độ trễ ở một mức độ nhất định Luông đữ liệu khi đi vào mạng sẽ
được kiểm tra đối chiếu với những đặc tả lưu lượng Tspec đã được đăng ký Nếu không phù hợp với các đặc tả đã được đăng ký trước thì đữ liệu sẽ được chuyển tiếp theo phương thức “nỗ lực tối đa”
s> Dịch vụ nỗ lực tối đa
* Giao thức dành trước tài nguyên RSŠVP
Trung tâm của mô hình Tích hợp dịch vụ là cơ chế dự trữ tài nguyên (Resource
ReserVation Mechenism) Để báo hiệu dự trữ tài nguyên, mô hình Tích hợp dịch vụ
thường sử dụng giao thức dành trước tài nguyên (Resource ReserVation Protocol -
RSVP) Đây là giao thức điều khiển Internet được thiết kế để cài đặt chất lượng dịch vụ
trên mạng IP Nhưng nó cũng không nhất thiết phải sử dụng với mô hình Tích hợp dịch
vụ
RSVP phải mang các thông tm sau:
| RSVP là giao thức cho phép các ứng dụng thông báo các yêu cầu về Chất lượng
dịch vụ với mạng và mạng sẽ đáp ứng bằng những thông báo thành công hoặc thất bại
SVTH: Ngô Thành An & Nguyễn Thị Thu Huyền
Trang 23
Nghiên cứu và ứng đụng QoS trên môi trường Linux
* Thông tin phân loại, nhờ nó mà các luỗông lưu lượng với yêu cầu Chất lượng dịch
vụ cụ thể có thể được nhận biết trong mạng Thông tin này bao gồm địa chỉ IP phía gửi và phía nhận, số cổng
v Chỉ tiêu kỹ thuật của luồng lưu lượng và các yêu cầu Chất lượng dịch vụ, theo
khuôn dạng Tspec và Rspec, bao gồm các dịch vụ yêu cầu (có bảo đảm hoặc cân
bằng tải điều khiến)
Rõ ràng là RSVP phải mang những thông tin này từ các máy chủ tới tat cả các thiết
bị chuyển mạch và các bộ định tuyến đọc theo đường truyền từ bộ gửi đến bộ nhận, vì vậy tất cả các thành phần mạng này phải tham gia vào việc đảm vảo các yêu cầu Chất lượng
dịch vụ của ứng dụng
RSVP mang các thông tin trong hai loại bản tin cơ bản là: PATH và RESV Các
ban tin PATH truyén từ bộ gửi tới một hoặc nhiều bộ nhận có chứa Tspec và các thông tin
phân loại do bộ gửi cung cấp Một lý do cho phép có nhiều bộ nhận là RSVP được thiết
kế để hỗ trợ Multicast Một bản tin PATH bao giờ cũng được gửi tới một địa chỉ được gọi
là địa chỉ phiên, nó có thể là địa chỉ unicast hoặc multicast Chúng ta thường xem phiên
đại diện cho một ứng dụng đơn, nó được xác nhận bằng một địa chỉ đích và số cổng dich
sử dụng riêng cho ứng dụng
Khi bộ nhận nhận được bản tin PATH, nó có thể gửi bản tin RESV trở lại cho bộ gửi Bản tin RESV xác nhận phiên có chứa thông tin về số công dành riêng và Rspec xác nhận mức Chất lượng dịch vụ mà bộ nhận yêu cầu Nó cũng bao gồm một vài thông tin xem xét những bộ gửi nào được phép sử dụng tài nguyên đang được cấp phát Hình 9 bên
dưới biểu diễn trình tự bản tin trao đổi giữa bộ gửi và nhận Ở đây chúng ta lưu ý rằng các
cổng đành riêng là đơn công Nếu cân sử dụng các công dành riêng song công (ví dụ như
phục vụ cho thoại truyền thống) thì phải có các bản tin bổ sung theo chiều ngược lại
Cũng chú ý rằng các bản tin được nhận và chuyên tiếp bởi tất cả các bộ định tuyến dọc theo đường truyền thông tin, do đó việc cấp phát tài nguyên có thể được thực hiện tại tất
cả các nút mạng cân thiết
Trang 24
Nghiên cứu và ứng dung QoS trén méi truong Linux
Khi các cổng dành được thiết lập, các bộ định tuyến nằm giữa bộ gửi và bộ nhận sẽ xác định các gói tin thuộc cổng dành riêng nào nhờ việc kiểm tra năm trường trong phần đầu của IP và giao thức truyền tải đó là: dia chi dich, số cổng đích, số giao thức (ví dụ UDP,TCP, ), địa chỉ nguồn và cổng nguồn Chúng ta gọi tập các gói tin được nhận dạng
theo cách này gọi là luồng dành riêng Các gói tin trong luồng đành riêng thường bị khống
chế (đảm bảo cho luồng không phát sinh lưu lượng vượt quá so với thông báo trong TSpec) và xếp vào hàng đợi phủ hợp với yêu cầu về Chất lượng địch vụ Ví dụ một cách
để có dịch vụ bảo đảm là sử dụng các hàng đợi có trọng số (WFQ) O day mỗi công dành riêng khác nhau được xem như một luồng đối với các hàng đợi, và trọng số được ân định
cho mỗi luỗng phù hợp với tốc độ dich vụ yêu cầu trong Rspec của nó Đối với các luồng unicast thì RSVP là khá đơn giản Nó trở nên phức tạp hơn trong môi truong multicast,
bởi vì có thể có rất nhiều bộ nhận dành riêng cổng cho một phiên đơn và các bộ nhận
khác nhau có thể yêu cầu các mức Chất lượng dịch vụ khác nhau
Ngoài ra, RSVP là giao thức mềm, có nghĩa là các ban tin PATH va RESV sé được gửi lại sau khoảng thời gian nhất định để duy trì lâu dài sự chiếm giữ tài nguyên Nếu sau
khoảng thời gian này không có bản tin nào gửi đi, sự dự trữ tài nguyên sẽ bị xóa bỏ Mặt khác, lưu lượng RSVP có thể đi qua các bộ định tuyến không hỗ trợ RSVP Tại những bộ định tuyến này dịch vụ được phục vụ theo mô hình nỗ lực tối đa Nói tóm lại, RSVP đóng vai trò quan trọng trong quá trình triển khai việc chuyển tải nhiều dịch vụ như: âm thanh,
hình ảnh và đữ liệu trong cùng một hạ tầng mạng Các ứng dụng có thể lựa chọn nhiều mức chất lượng dịch vụ khác nhau cho luông lưu lượng của mình
Trang 25
Nghiên cứu và ứng dụng QoS trên môi trường Linux
Hình H3: Các bản tn PATH truyền từ bộ gửi tới bộ nhận và các bản tín RESV truyền
theo hướng ngược lại
* Cấu trúc Tích hợp dịch vụ
Cấu trúc Tích hợp dịch vụ gồm các khối:
& Khối điều khiển lưu lượng bao gồm: bộ phân loại (Classifier), bộ lập lịch gói tin
(scheduler)
& Khối điều khiển thu nhận và thiết lập dự trữ bao gồm: thực thể điều khiển thu
nhận và thực thê thiết lập dự trữ Đầu tiên các ứng dụng đưa ra yêu cầu lớp dịch
vụ: đảm bảo dịch vụ hoặc kiểm soát tải đồng thời đặt đường dẫn và chiếm giữ tài
nguyên mạng cho việc truyền dữ liệu Khối điều khiển thu nhận sẽ xem xét có thể
đáp ứng được các yêu cầu mà dịch vụ đưa ra hay không Bộ phân loại tiến hành
phân loại và đưa các gói đữ liệu nhận được vào hàng đợi riêng Bộ lập lịch sẽ lập
cách xử lý để đáp ứng yêu cầu về chất lượng dịch vụ
Các ứng dụng đưa ra yêu cầu mức chất lượng dịch vụ dành cho luồng lưu lượng xác định
qua giao diện dịch vụ ứng dụng Bộ điều khiển thu nhận và thiết lập dự trữ đáp ứng yêu
câu của các ứng dụng bằng cách tạo ra các bản tin của giao thức RSVP yêu cầu chiếm giữ
tài nguyên Bản tin này sẽ đi qua các bộ định tuyến nằm trên đường dẫn từ đầu gửi đến
đầu thu Tại mỗi bộ định tuyến, khói điều khiển thu nhận sẽ tiến hành quá trình điều khiển
chấp nhận kết nối, quyết định xem có thể đáp ứng được yêu cầu chất lượng dịch vụ mà
ứng dụng đưa ra hay không Nếu được, bộ định tuyến sẽ dựa vào thông tin trong bản tin
RSVP để cấu hình cho bộ điều khiển lưu lượng
Trang 26
Nghiên cứu và ứng dung QoS trén môi trường Linux
* Tóm lại
Mô hình Tích hợp dịch vụ đòi hỏi các bộ định tuyến trong mạng phải có khả năng
dự trữ tải nguyên cho các luồng lưu lượng khác nhau do đó bộ định tuyến phải lưu và xử
lý thông tin của từng luéng Yéu cau nay khiến cho tính khả mở của mô hình Tích hợp dịch vụ không cao bởi vì những mạng máy tính lớn, số luồng lưu lượng có thé lên tới hàng trăm nghìn, tốn nhiều dung lượng dữ trữ và năng lực xử lý Vì vậy mô hình Tích hợp dịch vụ chỉ thích hợp cho những mạng nhỏ với it luông lưu lượng
Do tổn tại của mô hình Tích hợp dịch vụ về tính khả mở, mô hình Phân biệt dịch
vụ đã được phát triển nhằm cung cấp một cơ chế chất lượng dịch vụ đơn giản, khả dụng,
độ tin cậy cao
1.3.3 Phan biệt dich vu (DiffServ)
Việc đưa ra mô hình tích hợp dịch vụ chưa giải quyết nhiều vấn dé liên quan đến chất lượng địch vụ trong mạng IP Tuy nhiên trong thực tế mô hình này đã không đảm
bảo được chất lượng địch vụ xuyên suốt (end to end) Đã có nhiều cố gắng nhằm thay đổi
điều này nhằm đạt một mức chất lượng dịch vụ cao hơn cho mạng IP, và một trong những
cố gắng đó là sự ra đời của mô hình Phân biệt dịch vụ Mô hình Phân biệt dịch vụ sử dụng
việc đánh dấu gói và xếp hàng theo loại để hỗ trợ dịch vụ ưu tiên qua mạng IP Hiện tại
IETF đã có một nhóm làm việc Phân biệt dịch vụ để đưa ra các tiêu chuẩn REC về Phân
biệt dịch vụ
Kiến trúc Phân biệt dich vu ding dé cung cấp sự uyễn chuyển và linh hoạt cho các dịch vụ khác nhau, nó có khả nắng điều khiển các “lớp” lưu lượng khác nhau theo các hướng khác nhau bên trong Internet Trên thực tế có đồng thời hàng trăm nghìn dòng lưu lượng nguôn - đích có thể có mặt trong mạng xương sống (backbone), Phân biệt dịch vụ được sinh ra để cung cấp một sự điều khiển linh hoạt cho các lớp lưu lượng khác nhau
Ý tưởng của kiến trúc Phân biệt dịch vụ khá đơn giản, các luồng lưu lượng ổi vào mạng được điểu chỉnh, định dạng tại các bộ định tuyến ở biên mạng và cũng tại đây các
luồng được phân vào một số lớp nhật định Các nút trung gian sẽ xử lý gói tin theo các
Trang 28
Nghiên cứu và ứng dụng QoS trên môi trường Linux
—*Lưu lượng thời gian thc (Real-time traffic)
lưu lượng tổ gắng tối đa (Best-effort traffic)
Trang 29
Nghiên cứu và ứng dụng QoŠ trên môi trường Lnux
Nguyên tắc cơ bản của Phân biệt dịch vụ như sau:
» Định nghĩa một số lượng nhỏ các lớp dịch vụ hay mức ưu tiên Một lớp dịch vụ có
thể liên quan đến đặc tính lưu lượng (băng tân tối thiểu, băng tần tối đa, kích cỡ
burst, thoi gian kéo dai burst)
= Phan loai va danh dau cac g6i riêng biệt tại biên của mạng vào các lớp dịch vụ
„_ Các thiết bị chuyển mạch, bộ định tuyến trong mạng lõi sẽ phục vụ các gói theo nội dung của các bít đã được đánh dấu trong phần đầu của gói tin
Khi lưu lượng đi vào mạng hỗ trợ Phân biệt dịch vụ, thông thường các bộ định
tuyến ở biên mạng giới hạn tốc độ của các luỗng lưu lượng Nếu tốc độ lưu lượng vượt quá sẽ bị loại bỏ, hoặc chuyển sang lớp khác có mức ưu tiên thấp hơn, hoặc được lưu lại trong bộ đệm chờ đến khi lưu lượng của luỗông đó giảm xuống dưới lưu lượng cho phép
mới gửi ổi Việc làm này gọi là điều chỉnh, định dạng lưu lượng được thực hiện ở biên của mạng để giảm thiểu hao phí bộ nhớ cũng như năng lực xử lý
Sau khi các gói tin đã được điều chỉnh và định dạng, chúng được phân vào các lớp
có mức ưu tiên khác nhau bằng cơ chế đánh dấu Cụ thé các bộ định tuyến ở biên mạng sẽ thiết lập trường DS trong phan đầu gói tin tương ứng với lớp của gói tin được phân định
và có thể là cả mức ưu tiên của gói tin trong lớp
Sau khi gói tin được phân lớp, chúng được các nút mạng trung gian chuyển tiếp
theo cách đã được xác định cho lớp IETE đưa ra một số mô hình chuyển tiếp cơ bản như:
Chuyển tiếp gói tin theo mô hình cố gắng tối đa (Best - Effort), Chuyển tiếp gói tin dựa trên 3 bit đầu tiên của trường loại dịch vụ trong phần đầu của gói tin IP Tuy nhiên hai mô
hình này hầu như không được sử dụng trong mạng Phân biệt dịch vụ, nó tổn tại chỉ để duy trì sự tương thích ngược với các mô hình chuyên tiếp trong mạng IP truyền thống Hai mô
hình chuyển tiếp chính của Phân biệt dịch vụ là mô hình Chuyển tiếp đảm bảo và Chuyển
tiếp nhanh Mô hình Chuyển tiếp đảm bảo tập trung vào mục tiêu cung cấp dịch vụ
chuyển tiếp gói tin an toàn nghĩa là đảm bảo mat mát gói tin thấp, tuy nhiên nó không
đảm bảo về độ trễ và biển thiên trễ của gói tin Mô hình này cung cấp nhiều mức đảm bảo
Trang 30
Nghiên cứu và ứng dụng QoS trên môi trường Lnux
khác nhau Mô hình Chuyển tiếp nhanh chú trọng đến vấn đề tốc độ, nó cung cấp dịch vụ
chuyển tiếp với độ trễ, biến thiên trễ nhỏ, tỷ lệ mất gói thấp và băng thông đảm bảo
Ứu điểm của mô hình Phân biệt dịch vụ:
+ Không yêu cầu báo hiệu cho từng luỗng
s Dịch vụ ưu tiên có thé 4p dung cho một số luông riêng biệt cùng một lớp dịch vụ
Điều này cho phép nhà cung cấp địch vụ đễ dàng phân phối một số mức dịch vụ
khác nhau cho các khách hàng có nhu cầu
+ Không yêu cầu thay đổi tại máy chủ hay các ứng dụng để hỗ trợ dịch vụ ưu tiền
Đây là nhiệm vụ của thiết bị biên
s Hỗ trợ rất tốt dịch vụ VPN
Nhược điểm của mô hình Phân biệt dịch vụ:
Không có khả năng cung cấp băng tần và độ trễ đảm bảo như đảm bảo địch vụ
(Guaranted servIces) của mô hình Tích hợp dịch vụ dịch vụ hay ATM
sk Thiết bị biên vẫn yêu cầu bộ phân loại (Classifier) chất lượng cao cho từng gói
giống như trong mô hình Tích hợp dịch vụ
Vấn để quản lý trạng thái Phân loại của một số lượng lớn các thiết bị biên là một
vấn đề không nhỏ cần quan tâm
*So sánh Phần biệt dịch vụ và Tích hợp dịch vụ
Trong mô hình tích hợp dịch vụ, các bộ định tuyến cần ưu tiên tài nguyên cho các
dòng lưu lượng riêng, vì thế bộ định tuyến cần lưu và xem xét thông tin của mỗi dòng
Trong mạng lớn, có nhiều đòng lưu lượng, các router cần tốn tài nguyên ưu tiên và đung
lượng quá lớn Vì thé, mô hình tích hợp dịch vụ phù hợp cho mạng nhỏ có ít dòng lưu
lượng
Trong mô hình phân biệt dịch vụ, các bộ định tuyến xử lý các dòng tổng hợp thay
vì các dòng riêng, vì thế mô hình phân biệt dịch vụ phù hợp cho mạng có nhiều dòng Tuy
nhiên, mô hình phân biệt dịch vụ không chắc chắn đảm bảo chất lượng dịch vụ như mô
hình tích hợp địch vụ
SVTH: Ngô Thành An & Nguyễn Thị Thu Huyền Trang 30
Trang 31
Nghiên cứu và ứng dụng QoS trên môi trường Linux
Tóm lại, mô hình tích hợp dịch vụ thường được triển khai trong mạng truy xuất,
mô hình phân biệt dịch vụ thường được triển khai trong mạng xương sống
Il Kiến trúc phân biệt dịch vụ(DiffServ)
II.1 Vùng phân biệt dich vy (DiffServ domain)
DiffServ chia toàn bộ mạng vào trong vùng, vùng DiffServ là một tập các nút hoạt động kề nhau với một tập chính sách cung cấp dịch vụ phố biến và PHB xác định Một vùng DiffServ chứa các thành phân biên để kết nối với các vùng khác và các thành phần nội được sử dụng bên trong vùng Điều hòa lưu lượng được làm bên trong nút biên bởi bộ điều hòa lưu lượng Nó phân loại, đánh dấu, và điều hòa các gói tin vào hoặc rời khỏi
Trang 32Nghiên cứu và ứng dụng QoS trên môi trường Linux
Hinh IL.6: IP ToS va trường DS
Truong DS la su dinh nghia lai trugng TOS (type of service) cia IP header
Trường D§ được ding dé lua chon 1 g6i tin đặc biệt được xử lý chuyển tiếp Trường DS
sử dụng khoảng trống 8 bít TOS của phan dau IP trong Ipv4 hoặc 8 bít lớp lưu lượng của phần đầu IP trong Ipv6 Tất cả lưu lượng bên trong vùng nhận dịch vụ phụ thuộc vào lớp lưu được chỉ định trong trường DS Trong trường này có 6 bịt dài và giá trị của trường được gọi là DS codepoint (DSCP) DSCP được dùng để lựa chon PHB ở mỗi nứt 2 bịt hiện tại không dùng — currently unused (CU) được bỏ đi trong xt ly DS Truong nay
dùng để thông báo tắt nghẽn rõ ràng
6-bit cua truong DSCP (Differentiated Services Code Point) duoc chia thành 3 phan nham muc dich gan và quản lý codepoint Phan 1 với 32 codepoint duoc gan cho
hoạt động chuẩn (Standard Action), 16 điểm mã của phần 2 được dự trữ để dùng hoặc sử
dụng trong nội bộ và 16 điểm mã của phần 3 có sẵn lúc ban đầu để dùng hoặc sử đụng trong nội bộ nhưng có thể được dùng để chuẩn hóa các nhiệm vụ nếu phân 1 có một vài điểm đã cạn kiệt
Trang 33
Nghiên cứu và ứng dụng QoS trên môi truong Linux
HI.3 Chính sách từng chặn (Per-Hop Behaviour-PHP)
Chính sách từng chặn dùng để định hướng cho các bộ định tuyến hoạt động với các
gói tin cần chất lượng dịch vụ Chính sách từng chặn là cách xử lý gói tin dựa vào một số thông số trong phần đầu của gói tin Chính sách này được áp dụng trên các bộ định tuyến như sau:
*x Bộ phân loại (Classtfer): lưu lượng đầu vào sẽ được phân loại theo chính sách đã
Có 3 loại Chính sách từng chặn:
+ PHB mic định: các gói tin được đánh đâu một giá trị DSCP, thông thường gan
giá trị “000000” cho các dịch vụ cố gắng tôi đa truyền thống ở mỗi nút
Trang 34
Nghiên cứu và ứng dụng QoS trên môi trường Linux
+ Chuyển tiếp nhanh (Expected forwarding - EF PHB): là một khóa trong Phân biệt dịch vụ cung cấp một low-loss, low-latency, và băng thông đảm bảo EF PHB thực thị trong Phân biệt dịch vụ để cung cấp các dịch vụ : voiee over IP(voip),
video, mua bán truc tuyén, gdi tin được đánh đấu với trường DSCP có giá trị
“101110” Gói dữ liệu có giá trị này sẽ có thời gian trễ nhỏ nhất và độ mắt gói thấp
nhất
+ Chuyển tiếp đảm bảo (Assured Forwarding - AF PHB): AF PHB định nghĩa
4 lớp Mỗi lớp yêu cầu số lượng băng thông cố định và bộ đệm trống Trong mỗi
lớp AF là 3 danh sách tham chiếu đánh rớt của nó Khi có xung đột xảy ra, bộ định
tuyến có thể chọn gói tin để đánh rớt từ đanh sách tham chiếu đánh rớt của nó
' Độ ưu tiên rớt Lop | Lép 2 Lớp 3 Lớp 4
001010 010010 011010 | 100010 Trung binh (AF12) (AF22) (AF32) | (AF42)
Hình IL7: Giá trị trường DSCP của 4 lớp AE
Mỗi PHB mang một giá trị AFxy Giá trị x cho phép xác định hàng đợi dành cho
gói, giá trị y xác định mức độ ưu tiên hay nói cách khác là khả năng mất gói khi
xảy ra hiện tượng nghẽn mạch hoặc tranh chấp Như vậy, nếu các gói được đánh
dau AF11, AF 12, AF13 thì chúng được xếp chung vào một hàng đợi nhưng mức
ưu tiên của các gói AF13 thấp hơn và xác suất mất cao hơn Riêng các gói AF2y có hàng đợi khác gói AFly Số lượng AF PHB là 12, trong đó x có 4 giá trị và y có 3
giá trị Và điều quan trọng cần phải nhắc đến là các gói AFxl, AFx2, AFx3 sẽ
được đưa vào cùng một hàng đợi để không bị mắt thứ tự.- Mỗi thiết bị định tuyến
SVTH: Ngô Thành An & Nguyễn Thị Thu Huyền Trang 34
Trang 35Hinh IL8: So dd khéi cla bộ phân loại và lưu lượng điều kiện
Bộ phan loai (Classifier)
Phân loại được thực hiện để nhận dạng lưu lượng và phân chia lưu lượng thành các lớp khác nhau Để phân loại gói, ta dùng bộ mô tả lưu lượng để phân chia các gói trong phạm vi các nhóm riêng biệt để định nghĩa các gói đó Một số bộ mô tả đặc trưng dùng để phân loại gói bao gồm: bộ giao tiếp ngõ vào, độ ưu tiên IP (IP Precedence), DSCP, địa chỉ
nguồn hay địa chỉ đích và các ứng dụng Sau khi gói đã được định danh, chúng có khả năng được tiến hành các chức năng QoS trên mạng
Với việc sử dụng phân loại gói, nhà quản trị mạng có thể phân vùng lưu lượng mạng thành nhiều mức ưu tiên hay nhiều lớp dịch vụ Khi bộ đặc tả lưu lượng được sử
dụng để phân loại, lưu lượng nguồn đồng ý tham gia đẻ thỏa thuận các giới hạn và mạng
sẽ thực hiện các giới hạn đó với việc đảm bảo về chất lượng dịch vụ Các kỹ thuật chất
lượng dịch vụ khác như giám sát lưu lượng, năn dạng lưu lượng và kỹ thuật hàng đợi sử
SVTH: Ngô Thành An & Nguyễn Thị Thu Huyền Trang 35
Trang 36Nghiên cứu và ứng dung QoS trên môi trường Linux
dụng bộ mô tả lưu lượng để đảm bảo giữ đúng thỏa thuận Việc phân loại nên được đặt ở
biên mạng
Sự phân loại gói tin giám sát nhận dạng các dòng lưu lượng, nó có thể nhận các
mức dịch vụ khác nhau bằng điều kiện và/hoặc được ánh xạ đặc biệt giá trị DSCP trong
vùng Phân biệt dịch vụ Sự phân loại có thể dựa trên nội đung phần đầu của IP Có hai
kiểu phân loại gói tin:
+ Phân loại dựa trên giá tri DSCP goi la Behaviour Aggregate Classifier
+ Su lựa chọn gói tin dựa trên giá trị của trường IP header vi du dia chỉ nguồn, địa chỉ
phân loại Bộ phân loại | *Thuậttoánñlttry _— y Ngộ rạb
—* Không thuật toán ——— Ngõ ra c
Hình IL9: Sơ đồ Bộ phân loại
Bộ phân loại xem dòng lưu lượng nhận được như ngõ nhận và hướng chúng ra
đúng ngõ ra Da số các ngõ ra của phan tử Classifier sẽ được kết ni tới ngõ vào của phần
tử Classifier khác trong kiến trúc Phân biệt dịch vụ
Bộ đánh dấu (marker)
Hoạt động đánh đâu cho phép các thiết bị mạng phân loại gói hay khung (#ame)
dựa vào bộ mô tả lưu lượng đặc trưng Một số bộ mô tả lưu lượng được sử đụng để đánh
dâu gói như: lớp dịch vụ (Class of Service - CoS), DSCP, độ ưu tiên IP, nhóm QoS,
chuyển mạch nhãn đa giao thức (Mulii-Protocol Label Switching -MPLS) Việc đánh dấu
SVTH: Ngo Thành An & Nguyễn Thị Thu Huyền Trang 36
Trang 37
Nghiên cứu và ứng dung QoS trén méi truong Linux
gói hay khung củng với việc phân loại cho phép thiết bi mạng dễ dàng phân biệt các gói
tin hay khung đã được đánh dấu Đánh dấu là yếu tổ hữu dụng vì nó cho phép thiết bị
mạng dễ dàng nhận dạng các gói tin hay khung theo các lớp đặc trưng Khi đó kỹ thuật
Chất lượng dịch vụ có thể ứng dung tương thích để đảm bảo sự đúng đắn với các chính sách quản trị Chất lượng dịch vụ
Đánh đấu vị trí eodepoint của trường DSCP trong phan dau IP, và vị trí đánh dấu là
ở các nút biên của vùng Phân biệt dịch vụ Tùy chọn này luôn luôn có sẵn trong trường
TOS của phần đầu trong Ipv4 Trường TOS dùng để xác định độ ưu tiên của gói tin và tùy chọn dịch vụ yêu cầu 3 bít đầu tiên chỉ độ ưu tiên gói tin, các bit còn lại được dùng dé xác định độ trễ, độ tin cậy và số lượng yêu cầu Phân biệt dịch vụ cho phép sử dụng 6 bit của trường TOS để xác định DSCP Bộ đánh dấu có thé được cấu hình bang các chính
sách khác nhau Do đo, bộ đánh dấu có thể đánh dấu trong 1 thành phân của lớp Khi một
bộ đánh dấu thay đổi sự phân loại của một gói tin thì nó luôn đánh dấu, sau đó nó gọi là
“đánh đấu lại” gói tim
Bộ đánh giá (Meter)
Bộ đánh giá hoạt động giữa bộ phân loại (classifier) va bộ diéu phối lưu lượng
(traffic conditioner) Các gói tin nhận được từ bộ phân lớp, bộ đánh giá đếm thuộc tính
“tức thời” của dòng dựa vào hiện trạng lưu lượng (traffic profile) thích hợp từ TCA Hơn
nữa quá trình xử lý được làm bởi bộ đánh dấu, bộ định dạng, và bộ kiểm soát dựa trên các
gói tin bên trong hoặc bên ngoài hiện trạng (profile)
Bộ định dạng (Shaper)
Bộ định đạng về cơ bản là một hàng đợi để đệm cho dòng lưu lượng và độ trễ các
gói tin, để làm việc này nó làm tùy theo 1 hiện trạng lưu lượng riêng biệt Các gói tin có thể bị loại bỏ nếu không đủ bộ đệm trống
Bộ hủy (Droper)
Trang 38
Nghién ctu va tng dung QoS trén mé1 truong Linux
Bộ hủy đánh rớt các gói tim, nó làm tùy theo hiện trạng của đòng Bộ hủy có thê
được thực thi như là một trường hợp đặc biệt của bộ định dạng với kích thước bộ đệm là
0
I5 Các loại định tuyén trong DiffServ
Trong một vùng DS có 3 loại nút: nút đi vao (ingress node), nut di ra (Egress node), nut bén trong (Interiot node) Nut di vao va nut di ra người ta thường gọi là nút biên
4 Nút biên: thực thi điều phối lưu lượng Điều phối lưu lượng gém các loại: phân loại gói tin vao, metering, marking va shapping
% Nút nội : chức năng của nút nội là chuyển tiếp DS đánh dấu gói tin để chuyển tiếp theo PHB phù hợp với các lớp của gói tin PHB hiển thị bộ đệm của bộ định tuyến nào và băng thông nào được chia sẽ xung quanh các lớp của lưu lượng
IH Phân biệt dịch vụ trong Linux
Chúng ta có thể cài đặc chất lượng dịch vụ trên mang IP trong các bộ định tuyến Ngày nay, có 2 loại bộ định tuyến: bộ định tuyến cứng và bộ định tuyến mềm (dùng pc như là một bộ định tuyến) Bộ định tuyến cứng với bộ xử lý mạnh được dùng cho các nút
lưu lượng truyền tải nặng Ở những nút có lưu lượng truyền tải không cao thì bộ định tuyến cứng và bộ định tuyến mềm đều có thể được sử dụng Bộ định tuyến mềm có các
thuận lợi như sau: giá thành thấp, dễ dàng thay đổi hơn, và ngày càng phổ biến hơn Hệ điều hành được chọn là Linux vì Linux là mã nguồn mở, hệ điều hành với nhiều chức năng nổi bật
Linux cung cấp điều khiển lưu lượng từ kenel 2.2.x Linux đựa ra I tập chức năng
điều khiến lưu lượng có thê dùng đê thực thi một cơ câu chất lượng dịch vụ
HI.1 Điều khiến lưu lwong mang trong Linux
Trang 39
Nghiên cứu và ứng dung QoS trên môi truong Linux
Nhân linux cho phép mở rộng đa dạng chức năng điều khiển lưu lượng Vài mô dun Phân biệt địch vụ được xác lập cho Linux Điểu khiển lưu lượng là một mã cứng
(hard-coded) có thể được tải trong lúc biên dịch nhân hoặc có thê được tải động sau khi
hệ thống bắt đầu hoặc trong thời gian chạy Các thành phần mới như bộ giám sát (shaper),
bộ đánh dấu (marker), bộ đếm (meter), bộ hủy (droper) có thể được thêm hoặc xóa bỏ thông qua dòng lệnh Điều khiến lưu lượng có thể biên địch một nhân cho một nút, nó
cũng có thê cầu hình Phân biệt địch vụ ở bộ định tuyến biên, bộ định tuyến lõi
Y Các lớp cao hơn:
TCP, UDP, ICMP Điều khiển lưu
(0), (3) lượng
(3), (4)
i
———p»| vào P#lệuvàoda thành phân | ` Bộ chuyển tiếp | —>| Hàng đợi xuất |—
Hình H10: Xử lý gói tin của môđun điều khiển lưu lượng trong nhân Linux
Hình II.10 hiển thị cách xử lý các gói tin IP trong nhân Linux Bộ định tuyến
chuyển tiếp trực tiếp các gói tin nhận được đến mạng, chẳng hạn đến giao điện khác (1) Nếu nút mạng cũng là một hệ thống đầu cuối (máy chủ, máy trạm, .) hoặc một ứng dụng mức độ gateway, các gói tin đó sẽ được chuyển đến các lớp giao thức cao hơn để làm nhiệm vụ xử lý thêm (2) Nó thao tác các trường và sau đó chuyển tiếp đến mang tro lai (3) Mot hé théng dau cudi cd thé tr tạo Ta các gói tin, sau đó các gói tin được gửi qua chồng giao thức đến khối chuyển tiếp (4)
Trang 40
ném gói tin thì một thiết bị mạng đặc biệt có thé bắt được nó đề truyền
Khối hàng đợi đầu ra được kích hoạt bởi giao diện đầu ra Để xử lý gói tin kế tiếp, giao diện gửi một tín hiệu bắt đầu đến khôi hàng đợi xuất Sau khi bộ điều khiển lưu
lượng biên dịch và nạp các mô đun, các thành phần mã có thê được thêm vào qua dòng
lệnh hoặc công cụ quản lý (Shell hoặc Perl script) đến khối hàng đợi gửi đi Mã gồm có
các cơ chế hàng đợi, các lớp (sự nhận dạng cơ chế hàng đợi), bộ lọc và các chức năng
kiểm soát (bên trong các bộ lọc và các lớp)
Chất lượng dịch vụ được cài đặt bang cách cấu hình mô đun điều khiển lưu lượng
để nó điều khiển các luồng lưu lượng qua đó cung cấp các dịch vụ chuyền tiếp khác nhau cho các lưu lượng khác nhau Mô đun Điều khiển lưu lượng thường được cầu hình bằng tiện ích Tc trong phần mềm iproute2, cả mô đưn Điều khiến lưu lượng và 1proute2 đều do Alexay Kuznetsov phát triển
Mô đun Điều khiển lưu lượng bao gồm bốn thành phần chính có quan hệ chặt chẽ
với nhau là cơ chế hàng đợi (queueing điscipline), bộ loc (filter), lớp (class) và kiểm soát (police) Mỗi thiết bị mạng có một cơ chế hàng đợi Cơ chế hàng đợi quyết định cách xử
lý các gói tin, nó sử dụng bộ lọc để phân các gói tin vào một số lớp, các gói tin trong một
lớp có thể tiếp tục được phân vào các lớp nhó hơn là con của lớp này, một lớp không có
lớp con goi la lép 14 (leaf class), mỗi lớp lá dùng một cơ chế hàng đợi để quản lý các gói
tin được phân vào nó Các gói tin trong một lớp lá sẽ được cơ chế hàng đợi đối xử như
nhau và các gói tin thuộc các lớp lá khác nhau được đối xử khác nhau tùy thuộc vào mức
ưu tiên của chúng Một số loại cơ chế hàng đợi và bộ lọc có thể khống chế lưu lượng của các luồng bằng cơ ché kiém soat (policing)