Tình huống đặt ra cho cả hai trường hợp Hình 2.2.1a và Hình 2.2.1b là nếu lưu lượng mạng được truyền đi nhiều và với tốc độ lớn thì các hàng đợi sẽ đầy và có thể xảy ra nghẽn mạng.. Các
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC THUẬT CÔNG NGHỆ TP.HCM - HUTECH
-o0o -
BÁO CÁO ĐỀ TÀI MÔN XÂY DỰNG QUẢN TRỊ CHẤT LƯỢNG MẠNG
BÁO CÁO MÔN: QoS
GVHD: Nguyễn Ngọc Đại
SVTH: Lê Tấn Hiếu Lớp: C11QM15 MSSV: 1122060388
Trang 2A LÝ THUYẾT
1.1 Đặt vấn đề
- Việc trao đổi thông tin qua mạng là rất cần thiết và ngày càng nhiều
- Việc xử lý một số lượng lớn thông tin
- Việc phát triển nhiều dịch vụ (hình ảnh, âm thanh, video…)
Gây ra các vấn đề thường gặp như:
Voice
Âm thanh nghe rất khó hiểu, tiếng bị đứt quãng
Việc giao tiếp khó khăn, người gọi không biết bên kia
đã ngưng nói chưa
Cuộc gọi bị ngắt quãng
Video Âm thanh không đồng bộ với hình ảnh Chuyển động hay bị giật
Data Truyền và tải dữ liệu bị gián đoạn làm người dùng từ bỏ việc truyền hoặc thực hiện lại sau Bảng 1.1 Các vấn đề thường gặp khi chưa sử dụng QoS
2.1 Giới thiệu về QoS
Quality of Service (QoS) là một kỹ thuật để quản lý, phân phối các tài nguyên cho hệ thống mạng
Cài đặt QoS trên mạng có thể chia thành ba hoạt động chính:
- (1) Classification (phân loại gói tin) và Marking (đánh dấu gói tin): Gói tin được phân loại khi tới router Router dùng khái niệm class (lớp) để thực hiện phân loại Ví dụ, hệ thống mạng triển khai QoS cho 2 dịch vụ là FTP và VoIP Khi các gói tin FTP đến router sẽ được router phân vào class “ftp” Tương tự, các gói tin VoIP sẽ được router phân vào class “voip” (“ftp” và “voip” là tên gọi của class, được đặt tùy ý khi cấu hình) Các gói tin thuộc cùng một class được xử lý giống nhau tại giai đoạn Scheduling Sau khi được phân loại, các gói tin sẽ được đánh dấu để xác định độ ưu tiên
- (2) Queuing (hàng đợi gói tin): Là bộ đệm chứa các gói tin, một router hay switch có thể có nhiều hàng đợi Các gói tin phải vào hàng đợi trước khi được truyền
ra khỏi một interface (cổng giao tiếp của thiết bị mạng) Hàng đợi thực hiện quản lý các gói tin như sau:
Thêm một gói tin vào hàng đợi tương ứng
Trang 3 Bỏ gói tin khi hàng đợi đầy
Chuyển gói tin theo yêu cầu của Scheduling
Thực hiện các chính sách thích hợp như: Điều hòa tốc độ, khống chế tốc độ cho các gói tin để có thể tránh được hiện tượng tràn hàng đợi
- (3) Scheduling (lập lịch trình gói tin): Cơ chế xác định thứ tự các gói tin được truyền ra khỏi một interface Các gói tin được đánh dấu ưu tiên sẽ được truyền đi trước
Mô hình cài đặt QoS được thể hiện như sau:
Hình 2.1 Mô hình cài đặt QoS 2.2 Những vấn đề ảnh hưởng tới QoS
Cung cấp QoS thực chất là việc quản lý các lưu lượng trên mạng IP Hiện nay,
cơ bản có hai loại lưu lượng 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 nên có các yêu cầu về QoS khác nhau
Lưu lượng thời gian thực tạo ra bởi các ứng dụng như Video, Voice thường yêu cầu độ delay nhỏ, nhạy cảm với sự thay đổi delay và cần được đảm bảo một lượng bandwidth tối thiểu Khi độ delay lớn, sự thay đổi độ delay không ổn định hoặc bandwidth dưới mức tối thiểu sẽ gây ra ảnh hưởng như bảng 1.1
Lưu lượng dữ liệu tạo bởi các ứng dụng như Telnet, FTP, HTTP… ít bị ảnh hưởng bởi delay và bandwidth Độ delay lớn có thể làm giảm hiệu suất thực hiện ứng dụng nhưng dữ liệu đi đến đều sử dụng được Lưu lượng dữ liệu không yêu cầu một lượng bandwidth tối thiểu
Do đó, có thể xét những nguyên nhân gây ảnh hưởng đến QoS như:
2.2.1 Bandwidth
Bandwidth là số bit dữ liệu trong 1 giây có thể gửi trên đường truyền Giá trị của bandwidth tùy thuộc vào tốc độ đường truyền vật lý (serial, fastEthernet…) hoặc tốc độ xung nhịp truyền dữ liệu (clock rate) của interface
Trong một số trường hợp thì tốc độ bandwidth bằng với tốc độ đường truyền vật lý hoặc bằng với tốc độ xung nhịp truyền dữ liệu Ví dụ, mạng point-to-point
Trang 4
Hình 2.2.1a Ví dụ tốc độ bandwidth trong mạng point-to-point Theo hình 2.2.1a, giả sử tốc độ bandwidth của đường truyền vật lý là 64Kbps thì R1 sẽ truyền dữ liệu cho R2 với bandwidth là 64Kbps và ngược lại
Trong một số trường hợp khác, tốc độ bandwidth thường nhỏ hơn tốc độ tốc
độ đường truyền vật lý Ví dụ, mạng Frame Relay thì tốc độ bandwidth là CIR (Commited Information Rate – tốc độ truyền dữ liệu được cam kết bởi nhà cung cấp dịch vụ)
Hình 2.2.1b Ví dụ tốc độ bandwidth trong mạng Frame Relay
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Theo hình 2.2.1b, R3 phải truyền với tốc độ bandwidth là 256Kbps và R4 là
1.544Mbps (T1), trong khi tốc độ CIR chỉ là 128Kbps
Tình huống đặt ra cho cả hai trường hợp (Hình 2.2.1a và Hình 2.2.1b) là nếu lưu lượng mạng được truyền đi nhiều và với tốc độ lớn thì các hàng đợi sẽ đầy và có thể xảy ra nghẽn mạng Lúc này, làm cho các ứng dụng bị chậm, các gói tin bị đánh rớt và sẽ vào trạng thái truyền lại (gói tin TCP – Transmission Control Protocol) Do
đó, bandwidth là một nguyên nhân gây ảnh hưởng đến QoS
Tăng bandwidth là công cụ có thể cải thiện vấn đề về bandwidth Vài công cụ khác như: Nén, phân lượng bandwidth cần thiết cho các lưu lượng mạng ưu tiên hơn, hàng đợi
- Nén: Nén cả IP header và dữ liệu tải, làm giảm số bits dữ liệu truyền
- Phân lượng bandwidth cần thiết cho các lưu lượng mạng ưu tiên hơn: Ví dụ,
hệ thống mạng có hai dịch vụ mạng là Voice và FTP Lưu lượng Voice luôn được ưu tiên hơn nên sẽ được dành 75% bandwidth, 25% bandwidth còn lại là cho lưu lượng FTP
- Hàng đợi: Tạo ra nhiều hàng đợi và sau đó lập Scheduling cho các gói tin trong từng hàng đợi tương ứng Đồng thời bảo đảm lượng bandwidth tối thiểu cho một hàng đợi cụ thể
Trang 5
Hình 2.2.1c Phân lượng bandwidth với việc sử dụng hàng đợi
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Theo hình 2.2.1c, R1 được cấu hình 2 hàng đợi (Queue 1 và Queue 2) Giả sử có 4
gói tin đến R1 Các gói 1, 2, 3 được phân loại vào class ít ưu tiên hơn nên được router đưa vào hàng đợi Queue 1 và chỉ được truyền với 25% bandwidth Gói tin thứ 4 đến sau cùng nhưng được phân loại vào class có độ ưu tiên cao nên được router đưa vào hàng đợi Queue 2 và được truyền với 75% bandwidth Gói tin thứ 4 đến sau nhưng vẫn được truyền đi trước
2.2.2 Delay
Delay là thời gian trễ của gói tin khi truyền trên mạng Mọi gói tin đều có một thời gian trễ trong suốt quá trình được gửi đi và đến được đích Delay được tính bằng milli-seconds (ms)
Hình 2.2.2a Ví dụ về thời gian trễ của gói tin khi truyền giữa nơi gửi và đích
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Delay phụ thuộc đường truyền vật lý, môi trường truyền dẫn, khoảng cách giữa các hops, loại hàng đợi, mô hình mạng (Frame Relay, ATM…)
Các loại delay được thể hiện cụ thể trong bảng sau:
Serialization
delay (cố định)
Thời gian trễ để đặt tất cả các bit của một đặt frame (đơn vị của gói tin ở tầng Data Link) trên đường truyền vật lý Tùy thuộc vào kích thước frame và tốc độ đường truyền vật lý
interface vật lý Không ảnh hưởng trên đường truyền T3 (45Mbps) hay nhanh hơn
Trang 6Tại các đường truyền vật lý Không ảnh hưởng trên đường truyền trong mạng
Network)
Queuing delay
(thay đổi được)
Thời gian trễ của gói tin trong hàng đợi khi gói tin chờ để được truyền đi hoặc chờ để được chuyển mạch
(thay đổi được)
Thời gian trễ khi nhận Frame cho đến khi Frame được vô hàng đợi để truyền
Tại các thiết bị mạng (router, Lan switch, Frame Relay switch, ATM switch…)
Shaping delay
(thay đổi được)
Làm chậm tốc độ truyền các gói tin để tránh việc mất gói tin giữa các mạng Frame Relay và mạng ATM
Tại nơi được cấu hình Traffic Shaping Đặc biệt là tại router khi gửi gói tin tới mạng Frame Relay hoặc mạng ATM
Network delay
(thay đổi được)
Thời gian trễ được tạo ra khi sử dụng dịch vụ (Frame Relay, ATM…) Ví dụ thời gian trễ của Frame Relay frame khi đi qua mạng Frame Relay
Bên trong mạng của nhà cung cấp dịch vụ
Bảng 2.2.2 Các loại Delay
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Do đó, delay xuất hiện ở tất cả những nơi có gói tin đi qua Điều này làm cho các ứng dụng bị chậm, sự rớt gói tin sẽ xảy ra Để đảm bảo QoS hoạt động hiệu quả thì cần quan tâm đến delay Để giảm các vấn đề liên quan đến delay thì có thể tăng
Trang 7bandwidth Vài công cụ khác như: Hàng đợi, Link Fragmentation and Interleaving (chia nhỏ gói tin và truyền xen kẽ), nén, Traffic Shapping
- Hàng đợi: Cấu hình hàng đợi cho các gói tin được đánh dấu ưu tiên có thể được truyền đi trước
Hình 2.2.2c Ví dụ về công cụ hàng đợi đối với delay
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Theo hình 2.2.2c, các gói tin theo thứ tự được truyền đi là 1, 2, 3, 4 Nhưng gói tin thứ 4 có độ ưu tiên cao hơn, nên được xếp vào hàng đợi thứ 2 và được truyền đi trước các gói tin 1, 2, 3 Nếu không sử dụng hàng đợi thì gói tin thứ 4 phải đợi cho các gói tin 1, 2, 3 được truyền xong Do đó, gói tin thứ 4 có thể bị đánh rớt do ảnh hưởng của delay
- Link Fragmentation and Interleaving: Công cụ này chia nhỏ gói tin lớn ban đầu thành nhiều gói tin nhỏ hơn trước khi gửi
- Nén: Làm giảm số bits dữ liệu Các gói tin sẽ được truyền đi nhanh hơn
- Traffic Shapping: Làm chậm tốc độ truyền gói tin và làm giảm được sự rớt gói tin (trong mạng Frame Relay và mạng ATM)
2.2.3 Jitter
Các gói tin truyền liên tục trên mạng có độ delay khác nhau sẽ tạo ra jitter Jitter được định nghĩa như là sự thay đổi trong tỉ lệ xuất hiện của các gói tin khi chúng được truyền giữa hai thiết bị đầu cuối
Hình 2.2.3 Ví dụ về Jitter khi truyền các gói tin trên mạng
Trang 8[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Theo ví dụ hình 2.2.3 thì điện thoại 201 sẽ gửi mỗi gói tin với độ delay là 20ms Nhưng gói tin thứ 3 đến với độ delay là 30ms Vậy 10ms là độ jitter đã xảy ra
Điều này làm ảnh hưởng đến chất lượng của cuộc gọi, âm thanh hay bị ngắt quảng
Vì jitter được hình thành từ delay của các gói tin nên công cụ để giảm các vấn
đề liên quan đến jitter tương tự như delay
2.2.4 Packet Loss
Packet loss (rớt gói tin) là do nhiều nguyên nhân khác nhau mà chủ yếu là do hàng đợi quá đầy Công cụ QoS không thể giúp tránh rớt gói tin mà chỉ giúp làm giảm số lượng gói tin bị đánh rớt
Hình 2.2.4a Ví dụ về packet loss
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Theo hình 2.2.4a, một hàng đợi có kích thước 40 nhận được 50 gói tin liên tục Khi 40 chỗ trong hàng đợi đã đầy thì 10 gói tin cuối sẽ bị đánh rớt
Đối với lưu lượng thời gian thực (Voice, Video) chỉ cần một vài gói tin liên tục nhau bị mất thì sẽ dẫn đến mất âm thanh hoàn toàn, hình ảnh không đồng bộ với âm thanh… Ngược lại, lưu lượng dữ liệu (HTTP, FTP…) thì chịu lỗi tốt hơn do sử dụng TCP để phục hồi dữ liệu Do đó, khi thực hiện QoS cần chú ý đến vấn đề packet loss
QoS có thể giảm thiểu việc rớt gói tin bằng cách cấu hình cho các gói tin được gửi đi trước khi hàng đợi đầy (theo ví dụ trên thì số gói tin bị đánh rớt sẽ ít hơn 10) Hoặc sử dụng các hàng đợi mở rộng có kích thước lớn
Tăng bandwidth cũng là một công cụ để ngăn chặn mất gói tin Nhiều bandwidth hơn cho phép truyền dữ liệu nhanh hơn, các gói tin ra khỏi hàng đợi nhanh hơn, giảm độ dài hàng đợi và sẽ ít bị đầy hơn Do đó, giảm được hiện tượng cắt đuôi (tail drop – hiện tượng các gói tin bị đánh rớt khi khi hàng đợi đầy) xảy ra
Ngoài ra, còn có các công cụ phát hiện hiện tượng hàng đợi có dấu hiệu bị đầy như: Random Early Detection (RED), Weighted Random Early Detection (WRED)… 2.3 Kiến trúc cơ bản của QoS
Trên cơ sở việc cài đặt (Classification, Queuing, lập Scheduling cho gói tin) thì QoS có thể được gồm có các mô hình sau:
Trang 92.3.1 Mô hình Best-Effort
Mô hình Best-Effort sử dụng hàng đợi First In – First Out (FIFO) Các gói tin đến trước thì được quyền ra trước Do đó, mô hình không có khả năng dành trước bandwidth cho các gói tin có quyền ưu tiên
Mô hình Best-Effort được thể hiện qua hình sau:
Hình 2.3.1 Mô hình Best-Effort Nhược điểm của mô hình Best-Effort là không đảm bảo QoS cho các lưu lượng mạng Các gói tin không được đánh dấu độ ưu tiên trong quá trình xử lý Các gói tin quan trọng được xử lý như các gói tin bình thường
2.3.2 Mô hình Integrated Service (IntServ)
2.3.2.1 Tổng quan về mô hình IntServ
Mạng đòi hỏi phải dành tuyệt đối tài nguyên (bandwidth, độ delay…) cho một
số dịch vụ cụ thể Nghĩa là, mô hình IntServ sẽ dành riêng tài nguyên mạng cho từng luồng thông tin xuyên suốt từ nguồn đến đích
2.3.2.2 Nguyên lý hoạt động của mô hình IntServ
IntServe sử dụng giao thức RSVP (Resource Reservation Protocol) để báo hiệu RSVP được định nghĩa trong RFC 2205-2215 RSVP sẽ thiết lập phiên báo hiệu cho các thiết bị đầu cuối trên đường truyền có giành tài nguyên cho những luồng ứng dụng cần được đảm bảo QoS theo 1 chiều từ nguồn đến đích
Mô hình IntServ thực hiện QoS theo luồng (flow) Một luồng được xác định bởi các tham số: địa chỉ IP nguồn, IP đích, cổng nguồn, cổng đích, nhận dạng giao thức (Protocol indentifier)
Hình 2.3.2.2a Ví dụ về QoS IntServ
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Theo ví dụ hình 2.3.2.2a, một luồng dữ liệu được cấp tài nguyên (bandwidth là
Trang 1030Kbps, độ delay thấp) xuyên suốt từ nguồn (Hannah) đến đích (Server 1)
Khi một luồng được thiết lập thì tương ứng với 1 phiên RSVP được thiết lập Điều này dẫn đến một hạn chế là: Đối với mạng có lưu lượng cao như mạng ISP (Internet Service Provider) hoặc các tổ chức doanh nghiệp lớn thì số lượng luồng có thể lên đến hàng trăm ngàn luồng trong một thời điểm và dẫn đến hiện tượng lãng phí tài nguyên do bandwidth được sử dụng để thiết lập kênh RSVP lên rất nhiều (RSVP không phải là luồng dữ liệu mà là luồng thông tin điều khiển, báo hiệu)
Đặc điểm của luồng lưu lượng như sau:
- Kiểm soát Traffic Specification (TSpec): TSpec dùng để xác định đặc tính của luồng lưu lượng Thông số quan trọng của TSpec là kích thước lớn nhất của gói tin TSpec kiểm tra luồng lưu lượng, nếu không phù hợp thì loại bỏ luồng
- Điều khiển Required Specification (RSpec): RSpec dùng để xác định các yêu cầu về QoS cho một dịch vụ mạng cụ thể Thông số quan trọng của RSpec là tốc độ dịch vụ (bandwidth mà lưu lượng cần khi đi trong mạng) RSpec kiểm tra xem tài nguyên mạng có đáp ứng được yêu cầu của ứng dụng hay không Nếu không thể đáp ứng, mạng sẽ từ chối
Do đó ngoài Classification, Queuing và Scheduling thì router còn phải thực hiện được kiểm soát TSpec và điều khiển RSpec
Nguyên lý hoạt động của mô hình IntServ nêu trên được thể hiện trong mô hình sau đây:
Trang 11củ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
Ví dụ, gói tin có kích thước 125 bytes (1000 bits), gói tin yêu cầu bandwith là 56Kbps (56000bps) Độ delay của gói tin trong trường hợp này là 17.85ms (1000bits / 56000bps = 0.01785 giây)
- Control Load Service: Một luồng dữ 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 Nếu không phù hợp với các đặc tả lưu lượng TSpec thì dữ liệu sẽ được chuyển tiếp theo phương thức Best-Effort
2.3.2.3 Nguyên lý hoạt động của giao thức RSVP
Một phiên làm việc của giao thức RSVP được các định bởi các tham số trong một luồng dịch vụ (địa chỉ IP nguồn, IP đích, cổng nguồn, cổng đích, nhận dạng giao thức)
Nguyên lý hoạt động của giao thức RSVP được thể hiện qua hình sau:
Hình 2.3.2.3a Mô hình nguyên lý hoạt động của giao thức RSVP Theo hình 2.3.2.3a, máy gửi gửi bản tin PATH (mô tả thông tin truyền thông qua địa chỉ IP nguồn và địa chỉ IP đích theo chiều đi) đến máy nhận để yêu cầu dành trước tài nguyên và thiết lập một luồng truyền thông Máy nhận nhận được bản tin PATH sẽ gửi lại máy gửi bản tin RESV (mô tả thông tin truyền thông qua địa chỉ IP nguồn và địa chỉ IP đích theo chiều về) để thiết lập và duy trì việc dự trữ tài nguyên Khi đi qua các router, dựa vào hai bản tin PATH và RESV, các router đăng ký nhận dạng luồng và lưu đặc tính luồng vào cơ sở dữ liệu
Tại mỗi node mạng, yêu cầu dự trữ tài nguyên gồm 2 hoạt động:
- Dự trữ tài nguyên tại một node mạng Quá trình xử lý dự trữ tài nguyên được thể hiện qua mô hình sau:
Trang 12
Hình 2.3.2.3b Mô hình quá trình xử lý dự trữ tài nguyên Theo hình 2.3.2.3b, yêu cầu dự trữ tài nguyên được chuyển tới TSpec và RSpec Nếu RSpec xác định router đủ tài nguyên để thiết lập dự trữ và thông số trong TSpec là hợp lệ thì bản tin RESV sử dụng thông tin của trường FILTERSPEC để phân loại gói tin và thông tin của trường FLOWSPEC để thiết lập Scheduling cho gói tin Nếu quá trình kiểm tra RSpec và Tspec xảy ra lỗi thì việc dữ trữ tài nguyên bị hủy bỏ
và một bản tin lỗi ResvErr se được gửi tới máy nhận
- Chuyển tiếp yêu cầu dự trữ tài nguyên cho các node khác còn lại trên mạng Trong môi trường truyền đa hướng (một máy nhận dữ liệu từ nhiều máy gửi, một máy gửi dữ liệu tới nhiều máy nhận) các yêu cầu dự trữ tài nguyên được chuyển sang một node khác khi node trước đó đã đáp ứng việc dự trữ các yêu cầu tài nguyên
Một ví dụ về việc chuyển tiếp yêu cầu dự trữ tài nguyên cho các node khác còn lại trên mạng được thể hiện trong hình sau:
Hình 2.3.2.3c Ví dụ về việc chuyển tiếp yêu cầu dự trữ tài nguyên
Định dạng các trường trong giao thức RSVP được thể hiện như sau:
Trang 13
Hình 2.3.2.3d Định dạng các trường trong giao thức RSVP
2.3.3 Mô hình Differentiated Service (DiffServ)
2.3.3.1 Tổng quan về mô hình DiffServ
Mô hình DiffServ được thể hiện trong các RFC: 2474, 2475, 2597, 2598, 3260 Thay vì thực hiện QoS xuyên suốt và thống nhất trên cả đường truyền như mô hình IntServ, mô hình DiffServ thực hiện QoS riêng lẻ trên từng router
2.3.3.2 Nguyên lý hoạt động của mô hình DiffServ
Nguyên lý hoạt động của mô hình DiffServ như sau: Các gói tin được phân loại
ra thành nhiều nhóm ưu tiên từ thấp đến cao tùy theo đặc điểm của từng dịch vụ, thiết bị sẽ tiến hành cung cấp tài nguyên theo từng nhóm, nhóm nào có thứ tự cao hơn thì sẽ được cung cấp quyền được sử dụng tài nguyên ưu tiên hơn, tài nguyên sẽ được các nhóm thấp hơn dùng nếu nhóm trên không sử dụng nữa Tất cả các quá trình này sẽ được thực hiện riêng lẻ trên từng thiết bị
Khi router nhận gói tin với giá trị DSCP nào đó thì chính giá trị DSCP cho biết yêu cầu QoS cho gói tin đó DSCP sẽ xác định một hành vi Perhop Behavior (PHB) Hành vi PHB dùng để kích hoạt và hỗ trợ QoS cho các gói tin được đánh dấu bằng giá trị DSCP Sau đây là một số giá trị PHB chuẩn:
- Giá trị mặc định (Default): Tương đương với yêu cầu Best-Effort
- Expedited Forwarding (EF) PHB – Chuyển tiếp nhanh: Gói tin được gán giá trị này sẽ có độ delay nhỏ nhất và packet loss thấp nhất
- Assured Forwading (AF) PHB – Chuyển tiếp bảo đảm: Những gói tin có thể được đảm bảo chọn cho một PHB với yêu cầu bandwidth, delay, jitter, packet loss hoặc cả độ ưu tiên cho truy cập đến dịch vụ mạng
Giải pháp QoS theo mô hình DiffServ được thực hiện nhờ các kỹ thuật sau: Classification (phân loại) và Marking (đánh dấu) Việc phân loại và đánh dấu sẽ giúp thực hiện các cơ chế QoS ở những bước sau:
- Quản lý tắc nghẽn: Cơ chế quản lý tắc nghẽn được thực hiện trên các interface của thiết bị mạng Khi gói tin đến các interface này, các gói tin sẽ được phân vào từng hàng đợi có mức độ ưu tiên khác nhau
- Tránh tắc nghẽn: Cơ chế loại bỏ gói tin khỏi hàng đợi trước khi hàng đợi đây (nếu hàng đợi đầy có thể gây ra hiện tượng tắc nghẽn)
- Đặt ngưỡng: Cơ chế đặt ngưỡng trên, ngưỡng dưới cho bandwidth
Trang 14Bandwidth sẽ được đảm bảo một ngưỡng dưới tối thiểu và khi lớn hơn ngưỡng trên thì gói tin có thể bị đánh rớt hay được đưa vào hàng đợi
- Nén Header: Header chiếm phần lớn trong 1 gói tin nhưng không mang thông tin thật sự, cơ chế nén header sẽ giúp tiết kiệm được băng thông (nhờ làm giảm số lượng bits truyền đi)
- Fragmentation (phân mảnh): Các gói tin có độ dài lớn có thể gây ra delay và tắc nghẽn Cơ chế phân mảnh sẽ phân các gói tin này thành các gói tin nhỏ hơn để tránh tắc nghẽn
So sánh hai mô hình DiffServ và IntServ:
Không dùng bất kì giao thức báo hiệu
nào để dành trước băng thông
mạng,do vậy tiết kiệm được băng
mạng nhỏ với số lưu lượng rất lớn Chỉ có thể sử dụng cho mạng cỡ nhỏ với số lượng lưu lượng nhỏ
Xét ưu tiên gói trên từng chặn Khởi tạo một kênh truyền trước khi
truyền
Khả năng mở rộng mạng cao và phục
vụ đa dịch vụ Khả năng mở rộng mạng thấp và phục cụ ít dịch cụ
Bảng 2.3.3.2 So sánh hai mô hình DiffServ và IntServ
2.3.4 Kết hợp hai mô hình IntServ và DiffServ trong vấn đề thực hiện QoS
Ý tưởng đặt ra đảm bảo chất lượng cho các dịch vụ xuyên suốt từ đầu đến đích,
đồng thời cho phép tăng khả năng của mạng khi cần thiết Ý tưởng này có thể thực hiện được nếu kết hợp được giữa hai mô hình IntServ và DiffServ trong mô hình mạng Các router hoặc các thiết bị đầu cuối chạy trong mạng có thể theo mô hình IntServ và kết nối với nhau qua vùng DiffServ Một mô hình cụ thể như sau:
Trang 15
Hình 2.3.4 Ví dụ về mô hình kết hợp giữa IntServ và DiffServ Giao thức báo hiệu RSVP được thiết lập bởi các ứng dụng yêu cầu dịch vụ trên các máy trạm (host A, host B) Các bản tin báo hiệu RSVP từ đầu đến đích được thay đổi giữa các máy trạm trong các mạng Intranet Do đó, việc dự trữ tài nguyên được thực hiện hoàn toàn bên ngoài vùng DiffServ
Router R2 và R3 không quan tâm đến giao thức RSVP Các router này chỉ điều khiển và xử lý các gói tin dựa trên trường DSCP Do đó, bất kỳ bản tin RSVP nào đi qua
vùng mạng DiffServ một cách trong suốt và ảnh hưởng đến hiệu năng của mạng là không đáng kể
Việc cần thiết tiếp theo là ánh xạ kiểu dịch vụ và các tham số trong mạng IntServ
tới mạng DiffServ Khi các tham số này tới mạng DiffServ, QoS DiffServ sử dụng kỹ thuật hành vi từng bước PHB để ánh xạ các giá trị tham số mô tả luồng lưu lượng trong mạng IntServ sao cho phù hợp cho mạng DiffServ Giá trị ánh xạ là 1 bit kết hợp trong trường DSCP Ánh xạ này được thực hiện qua việc quản lý bandwidth trong mạng DiffServ
Các router trong mạng DiffServ đều biết giá trị DSCP Để các giá trị DSCP được truyền đến các router này Có thể thực hiện theo một trong hai cách như sau:
- Giá trị DSCP được đánh dấu tại router biên của vùng DiffServ Trong trường hợp này, các giá trị này có thề được đánh dấu lại tại router biên theo chiều ra của vùng DiffServ
- Đánh dấu DSCP có thể được xảy ra tại một router trong mạng Intranet Trong trường hợp này, vấn đề ánh xạ giá trị DSCP từ router biên mạng Intranet tới mạng DiffServ là cần thiết cho việc truyền thông giữa các thiết bị thuộc 2 vùng mạng khác nhau này
Trang 16CHƯƠNG 3 CÁC CÔNG CỤ QOS3.1 Classification (phân loại) và Marking (đánh dấu)
Trước khi các kỹ thuật QoS được áp dụng, lưu lượng (www, FTP…) phải được nhận biết và sắp xếp vào trong các class khác nhau Thiết bị mạng sử dụng Classification (phân loại) phân loại để nhận biết lưu lượng theo các class dịch vụ riêng biệt Các thiết bị mạng có thể quyết định những gói tin nào thuộc về class dịch
vụ nào để sau đó thực hiện những chức năng QoS riêng biệt cho từng loại dịch vụ Sau khi lưu lượng mạng được sắp xếp, việc Marking (đánh dấu) gói tin được thực hiện để các thiết bị mạng khác có thể thực hiện chức năng QoS cho các gói đó khi chúng di chuyển qua mạng
Đánh dấu gói tin dựa trên IP header, LAN trunking header, Frame Relay header và ATM cell header Vì IP header, LAN trunking header, Frame Relay header
và ATM cell header đều có một trường được dùng đánh dấu Điều này giúp cho các thiết bị mạng khác phân loại các gói tin bằng cách phân tích các bit được đánh dấu
Hầu hết các công cụ phân loại và đánh dấu đều hoạt động trên các gói tin vào hoặc ra khỏi interface nào đó
3.1.1 Classification (phân loại)
Phân loại gói tin là một phần quan trọng trong các chức năng của QoS giúp cho việc nhận biết và phân biệt các luồng lưu lượng khác nhau trên mạng
Các công cụ dùng đề phân loại gói tin gồm:
Địa chỉ IP
nguồn Địa chỉ nguồn có thể được match dùng wildcard mask Địa chỉ IP đích Địa chỉ đích có thể được match dùng wildcard mask
IP Precedence Các giá trị của IP Precedence định mức ưu tiên cho lưu lượng
IP DSCP Các giá trị DSCP (theo giá trị thập phân) định mức ưu tiên cho lưu lượng
IP ToS
Kểm tra các bit ToS có bật lên hay không Với các từ khoá : normal (0000), max-reliability (1000), max-throughput (0100), min-delay (0010) và min-monetary-cost (0001)
Trang 17[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Bên cạnh các trường có thể phân loại với Class-Based Marking bằng cách dùng ACL, còn có các trường đối chiếu trực tiếp với Class-Based Marking mà không cần dùng ACL như trong bảng sau:
Trang 18QoS Group
Trường QoS dùng để dán nhãn gói tin bên trong router
Bảng 3.1.1.1b Các trường có thể phân loại với Class-Based Marking không dùng ACL
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Chú ý: IP Precedence và DSCP có thể phân loại với Class-Based Marking bằng cách dùng hoặc không dùng ACL
3.1.1.2 Phân loại với Network-Based Application Recognition (NBAR)
Class-Based Marking có thể cấu hình để tìm kiếm nhiều trường trong hai bảng trên để phân loại gói tin trực tiếp Tuy nhiên Class-Based Marking cũng có thể dùng NBAR để phân loại gói tin NBAR cung cấp cho router khả năng phân loại gói tin đặc biệt là các gói tin khó nhận dạng Ví dụ, một vài ứng dụng dùng các cổng có số hiệu động, cho nên lệnh match cấu hình tĩnh tìm kiếm một cổng UDP hay TCP có số cụ thể
sẽ không thể phân loại lưu lượng NBAR có thể tìm kiếm bên trong UDP hay TCP header và tìm đến tên host, URL hay MIME trong các HTTP request NBAR cũng có thể tìm trong các TCP header hoặc UDP header đó để nhận biết thông tin ứng dụng
cụ thể
NBAR cũng có thể được dùng để đếm các loại lưu lượng và tải của từng loại lưu lượng đó Đối với QoS, NBAR có thể được dùng bởi Class-Based Marking để lựa
ra những loại gói tin phức tạp
Khi lệnh match protocol được dùng, Class-Based Marking tìm kiếm để so trùng các giao thức được phát hiện bởi NBAR Bất kể NBAR có được sử dụng trong Class-Based Marking hay không nó cũng có thể được sử dụng để thu thập và báo cáo thông tin về các gói tin đi vào hay đi ra một interface Để xem danh sách các giao thức đang chạy trên một router mà NBAR được kích hoạt cho một hay nhiều interface, ta dùng lệnh show ip nbar protocol-discovery Dưới đây là bảng các trường thông dụng có thể đối chiếu dùng NBAR:
Trang 19Trường Giải thích
RTP Audio đối với Video
RTP dùng số cổng UDP chẵn từ 16,384 đến 32,767 Số cổng lẻ sẽ được dùng bởi RTCP cho việc điều khiển lưu lượng thoại NBAR chỉ so trùng số cổng chẵn, do đó cho phép sự phân loại dữ liệu âm thanh vào trong một lớp dịch
vụ còn tín hiệu voice thì không
Tên host, chuỗi URL, loại
MIME NBAR cũng có thể đối chiếu các chuỗi URL, kèm theo tên
host và loại MIME dùng lệnh đơn giản
Ứng dụng ngang hàng Có thể tìm các ứng dụng chia sẻ file như KaZaa, Morpheus, Grokster và Gnutella Bảng 3.1.1.2 bảng các trường thông dụng có thể đối chiếu dùng NBAR
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
3.1.2 Marking (đánh dấu)
Sau khi đã được phân loại, các gói tin sẽ được Marking (đánh dấu) Hoạt động
đánh dấu 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ử
dụng để đánh dấu gói như: Class of Service (CoS), DSCP, IP Precedence Việc đánh dấu được thực hiện trong tiêu đề gói tin (IP header, LAN trunking header, Frame Relay header và ATM cell header) Đánh dấu bằng cách sắp đặt một vài bit bên trong tiêu đề gói tin với mục đích giúp cho các công cụ QoS của thiết bị khác có thể phân
loại dựa trên các giá trị được đánh dấu
3.1.2.1 IP Precedence và DSCP (Differentiated Services Code Point)
IP Precedence và DSCP là hai trường được sử dụng nhiều nhất để đánh dấu Các công cụ QoS sử dụng chúng bởi vì header của gói tin IP tồn tại ở mọi nơi trên mạng
Trong IP header của mỗi gói tin có chứa một trường gọi là ToS (Type of Service) Trường Type of Service có giá trị 1 byte Và 3 bits đầu tiên (P2 đến P0) dùng để quy định các giá trị đánh dấu độ ưu tiên của gói tin và các giá trị này được gọi là IP Precedence
- 3 bits tiếp theo (T2 đến T0):
Trang 20 bit T2 (T2=1): Yêu cầu truyền gấp
bit T1 (T1=1): Yêu cầu truyền với đường truyền chất lượng cao
bit T0 (T0=1): Yêu cầu truyền đảm bảo
- 2 bit cuối (CU1-CU2): Không dùng tới (Currently and Unused)
Tuy nhiên, hiện nay không dùng các giá trị của IP Precedence để đánh dấu gói tin Với mục đích làm tăng hiệu quả chất lượng dịch vụ thì các công cụ QoS sẽ dùng các giá trị được gọi là điểm mã dịch vụ phân biệt DSCP (Differentiated Service Code Point) để tiến hành đánh dấu gói tin 3 bits IP Precedence sẽ kết hợp với 3 bits tiếp theo (từ T2 đến T0) tạo thành 6 bits thể hiện các giá trị của DSCP Các bits này được ánh xạ như sau:
Hình 3.1.2.1c Giá trị IP Precedence có thể được ánh xạ đến trường DSCP
6 bits DiffServ (DS) từ DS5 đến DS0 được dùng để đánh dấu gói tin và chỉ ra cách thức mỗi router xử lý gói tin như thế nào Với 6 bits có thể tạo ra đến 64 (26) class dịch vụ
Hình 3.1.2.1d IP Header trước và sau đánh dấu DSCP
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Tuy nhiên, trong thực tế chỉ có một số lớp dịch vụ được triển khai Tập hợp các gói tin có cùng giá trị DSCP, và di chuyển qua mạng theo cùng một hướng được gọi là tập hợp hành vi (Behavior Aggregate - BA) PHB sẽ thực hiện các chức năng
Trang 21của nó (Queuing, Scheduling, đánh rớt) cho bất kì gói tin nào thuộc về một BA Những thiết bị mạng khác nhau mà DiffServ hỗ trợ sử dụng giá trị DSCP trong IP header để chọn một PHB cho gói tin và cung cấp QoS thích hợp Hai bit sau không xác định trong kiến trúc trường DiffServ, hai bit này bây giờ sử dụng bởi Explicit Congestion Notification (ECN)
Mặc định DSCP là 000000 Lựa chọn giá trị DSCP phải tương thích với thứ tự
IP Precedence Nói cách khác là phải so trùng khớp giá trị của 3 bits đầu tiên Mọi sự thay đổi đều phải chú ý đến sự trùng khớp này
Ví dụ: giá trị IP Precedence là 5 (101) thì giá trị DSCP là 101 000
Hình 3.1.2.1e Ví dụ về sự ánh xạ từ IP Precedence sang DSCP
Do đó, QoS DiffServ sử dụng 3 bits (DS5 – DS3) để thiết lập độ ưu tiên của gói tin DiffServ cũng sử dụng 3 bits này để tổ chức và duy trì thành 8 mức thứ tự như sau:
7 Lớp liên kết và duy trì Routing Protocol
6 Sử dụng cho IP Routing Protocol
5 Express Forwarding (EF)
4 Assured Forwarding (AF) - Class 4
3 Assured Forwarding (AF) - Class 3
2 Assured Forwarding (AF) - Class 2
1 Assured Forwarding (AF) - Class 1
0 Best-Effort
Bảng 3.1.2.1 Xác định mức thứ tự trong DiffServ
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
3.1.2.2 Assured Forwarding (AF) PHB và giá trị DSCP
Trạng thái truyền đảm bảo Assured Forwarding (AF) PHB được quy định bởi RFC 2597 và định nghĩa bốn nhóm lưu lượng (class 1 – class 4 trong bảng 3.1.1) cho mục đích tạo hàng đợi, cùng với ba mức khác nhau về khả năng bị loại bỏ bên trong
Trang 22từng hàng đợi Ngoài các bits DS5, DS4 và DS3 xác định class, DiffServ còn sử dụng 3 bits tiếp theo (DS2 – DS1) để thực hiện truyền đảm bảo
Để đánh dấu các gói tin và đẩy các gói vào hàng đợi, trạng thái AF PHB định nghĩa 12 giá trị DSCP khác nhau và các ý nghĩa của nó Tên của các các trạng thái AF DSCP tuân theo dạng sau: AFxy Trong đó x ngầm định chỉ đến một trong bốn hàng đợi (giá trị từ 1 đến 4) và y chỉ ra một trong ba giá trị ưu tiên loại bỏ gói tin (giá trị
từ 1 đến 3) Ví dụ, nếu các gói được đánh dấu AF11, AF12, AF13 thì chúng được xếp chung vào một hàng đợi (class 1) nhưng mức ưu tiên của các gói thì khác nhau
Trạng thái AF PHB đề xuất rằng giá trị x càng cao trong công thức AFxy, gói tin
sẽ được xếp vào hàng đợi tốt hơn Ví dụ, gói tin với giá trị AF11 DSCP sẽ được đưa vào hàng đợi kém hơn gói tin có giá trị DSCP là AF23 Thêm vào đó, giá trị y càng cao trong công thức AFxy, gói tin càng có nguy cơ bị loại bỏ càng cao Ví dụ gói tin có DSCP AF11 sẽ ít nguy cơ bị loại bỏ hơn gói tin có DSCP AF23
Bảng dưới đây chỉ ra tên của giá trị DSCP, các nhóm hàng đợi và trạng thái loại
bỏ mặc định
AF11 DSCP 10
010010 AF21 DSCP 18
011010 AF31 DSCP 26
100010 AF41 DSCP 34 Medium 001100
AF12 DSCP 12
010100 AF22 DSCP 20
011100 AF32 DSCP 28
100100 AF42 DSCP 36
AF13 DSCP 14
010110 AF23 DSCP 22
011110 AF33 DSCP 30
100110 AF43 DSCP 38 Bảng 3.1.2.2 Xác định cấp DSCP để chỉ định class AF với khả năng của từng class
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Theo bảng 3.1.1b, ví dụ AF11 tượng trưng giá trị DSCP thập phân là 10 và tên AF13 tượng trưng giá trị DSCP thập phân là 14 AF11 thì tốt hơn AF13 bởi vì AF11
và AF13 là trong cùng một nhóm hàng đợi, nhưng AF11 có khả năng bị loại bỏ thấp hơn so với AF13 Trong dạng hiển thị nhị phân, các bits DS2 và DS1 chỉ định khả năng gói tin bị loại bỏ, bit DS0 thì luôn luôn là 0 Kết quả là, các công cụ hàng đợi hoạt động chỉ trên IP Precedence vẫn có thể phản ứng với các giá trị AF DSCP, làm cho các giá trị DSCP tương thích một cách cơ bản với các hệ thống mạng non-DiffServ
Để chuyển đổi từ dạng AF sang dạng tương đương thập phân, ta có thể dùng công thức đơn giản Nếu giá trị AF có dạng AFxy thì công thức tính giá trị thập phân là: Giá trị thập phân = 8x + 2y Ví dụ, giá trị AF41 sẽ tương đương với (8 * 4) + (2 * 1)
= 34
Trang 233.1.2.3 Expedited Forwarding (EF) PHB và giá trị DSCP
RFC 2598 định nghĩa trạng thái chuyển tiếp nhanh – Expedited Forwarding (EF) PHB và thuộc mức thứ tự DiffServ thứ 5 (class 5 trong bảng 3.1.1) RFC mô tả hai hành động đơn giản của trạng thái này:
- Đưa vào hàng đợi các gói tin EF sao cho nó có thể được giải phóng nhanh, độ delay thấp
- Áp đặt băng thông cho các gói EF sao cho các gói tin này không làm tốn băng thông trên kết nối hoặc làm ảnh hưởng các hàng đợi khác
Giá trị DSCP định nghĩa cho EF có giá trị nhị phân là 101110 (giá trị thập phân
Trang 24DSCP 38 100110 AF43 2597
Bảng 3.1.2.3 bảng thống kê các giá trị IP Precedence, DSCP, AF, CF
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
3.1.2.4 LAN Class of Service – CoS
Nhiều LAN Switch hiện nay có thể đánh dấu và tác động trên các trường 3 bit Layer 2 được gọi là CoS nằm bên trong Ethernet header Trường CoS chỉ tồn tại bên trong Ethernet frame khi các đường trunk 802.1Q và ISL được sử dụng Có thể sử dụng trường này để thiết lập 8 giá trị nhị phân khác nhau mà có thể dùng cho chức năng phân loại của công cụ QoS như IP Precedence và DSCP
Hình 3.1.2.4a Trường LAN CoS bên trong ISL và 802.1Q IP header
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
CoS thật tế là hai trường khác nhau – Một field bên trong 802.1Q trunking header và một ở ISL header Chuẩn IEEE 802.1Q dùng 3 bit đầu trong 2 byte của trường Tag Field Còn đặc điểm ISL độc quyền của Cisco dùng 3 bit cuối từ 1 byte của trường User Field trong ISL header Xét ví dụ cụ thể về gán giá trị CoS và DSCP:
Trang 25
Hình 3.1.2.4b Ví dụ cụ thể về gán giá trị CoS và DSCP
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Theo hình 3.1.2.4b, minh hoạ một LAN switch thực hiện chức năng QoS dựa trên CoS R3 đọc các frame đi vào trên một cổng (ví dụ F0/9), đánh dấu giá trị DSCP dựa trên các thông số CoS Thêm vào đó R3 đọc các giá trị DSCP cho các gói tin đang
đi ra cổng F0/0 về SW2, gán giá trị trong 802.1Q header Giá trị thực sự trên cổng F0/0 của R3 cho quá trình phân loại và đánh dấu như sau:
- Các frame đi vào với giá trị CoS 5 sẽ được gán giá trị DSCP EF
- Các frame đi vào với giá trị CoS 1 sẽ được gán giá trị AF11
- Các frame đi vào với bất kỳ giá trị CoS nào sẽ được gán DSCP 0
- Các frame đi ra với giá trị DSCP EF sẽ được gán CoS 5
- Các gói đi ra với DSCP AF11 sẽ được gán Cos 1
- Các gói tin đi ra với bất kỳ giá trị DSCP nào sẽ được gán CoS 0
3.1.2.5 Đánh dấu gói tin trên WAN
Frame Relay và ATM (Asynchronous Transfer Mode) hỗ trợ một bit đơn có thể được dùng để đánh dấu, nhưng các bit đơn này chỉ ra khả năng loại bỏ gói tin Các frame có bit này được gán bằng 1 thì frame đó có thể bị loại bỏ Các bit này được đặt tên là bit DE (Discard Eligibility) và ATM CLP (ATM Cell Loss Priority) Các bit này có thể gửi bởi một router, một tổng đài ATM hoặc FR Switch Router và switch
sẽ được cấu hình để chủ động loại bỏ các frame và các cell có DE=1 hoặc CLP=1
Hình 3.1.2.5a Bit DE trong Frame Relay header
Hình 3.1.2.5b Bit CLP trong ATM Frame MPLS (Multiprotocol Label Switching) định nghĩa trường 3 bits khác gọi là MPLS Experimental (EXP) bit cho mục đích đánh dấu Thường thì các công cụ đánh dấu và phân loại được dùng ở ngoài biên của mạng MPLS để ánh xạ giá trị DSCP hoặc
IP Precendence sang EXP để cung cấp chức năng QoS bên trong một mạng MPLS
Hình 3.1.2.5c 3 bits EXP trong MPLS Label
Trang 26Trong các hệ thống mạng trên, các giá trị IP Precedence và DSCP bên trong một gói tin IP không bị thay đổi Tuy nhiên, một vài thiết bị có thể không có khả năng đọc vào các trường IP Precedence và DSCP và một vài thiết bị có thể đọc các trường khác dễ dàng hơn Ví dụ, một router MPLS Label Switch Router (LSR) bên trong một đám mây MPLS có thể được cấu hình để ra quyết định QoS dựa trên ba bit MPLS EXP trong nhãn MPLS nhưng không có khả năng đọc đến các IP header đã đóng gói bên trong Trong những trường hợp như vậy, các công cụ QoS có thể cần phải được cấu hình trên những thiết bị ngoài biên của hệ thống mạng để đọc các giá trị DSCP và đánh dấu bằng những trường khác nhau Các trường có thể dùng để đánh dấu cho các giao thức non-IP có thể tồn tại chỉ cho các trường này là như sau: CoS, DE, CLP, EXP
Do đó, phân loại và đánh dấu như sau:
- Để phân loại: Chỉ trên cổng vào và chỉ nếu cổng đó của router hỗ trợ trường trong header
- Để đánh dấu: Chỉ trên cổng ra và chỉ nếu cổng đó của router hỗ trợ trường đó trong header
Nếu quá trình đánh dấu phải được cấu hình trên R1 802.1Q subinterface (ví
dụ, F0/0.1), nó có thể phân loại các frame đi vào dựa trên giá trị CoS và đánh dấu các frame đi ra với giá trị CoS Tuy nhiên, khi dữ liệu đi vào, router không thể đánh dấu giá trị CoS và trên chiều đi ra, router cũng không thể phân loại dựa trên CoS Tương
tự như vậy, quá trình đánh dấu cũng không thể phân loại hay đánh dấu các bit DE, CLP hoặc MPLS EXP bởi vì các header này không tồn tại trong theo chuẩn Ethernet
3.1.3 Các câu lệnh cấu hình trong phân loại và đánh dấu
3.1.3.1 Cấu hình theo Class – Based Marking
Để cấu hình theo Class – Based Marking, thực hiện theo các bước sau :
- Phân loại các gói tin vào trong các lớp dịch vụ bằng lệnh match
- Đánh dấu các gói tin trong mỗi lớp dịch vụ dùng lệnh set
- Kích hoạt Class – Based Marking dùng lệnh service-policy ở một interface Vài cấu hình lệnh match trong Marking được thể hiện trong bảng sau:
match [ip] precedence
precedence-value [precedence-precedence-value
precedenc-value]
So trùng Precedence trong gói tin IPv4 khi tham số ip được thêm vào So trùng giữa các gói tin IPv4 và IPv6 nếu không có [IP]
match access-group {access-group
| name access-group-name} So trùng một ACL theo số hay tên
match class-map class-map-name So trùng theo một class-map khác
match cos value [value
cos-value cos-cos-value] So trùng một giá trị CoS
match destination-address mac
Trang 27match fr-dlci dlci-number So trùng giá trị DLCI trong mạng
Frame Relay
match ip rtp starting-port-number
port-range So trùng dãy số cổng UDP của RTP
match mpls experimental number So trùng giá trị MPLS Experimental
match input-interface
match [ip] dscp ip-dscp-value So trùng DSCP trong gói tin IPv4 khi
tham số IP được thêm vào So trùng giữa các gói tin IPv4 và IPv6 nếu không có [IP]
match packet length {max
maximum length-value [min
match protocol protocol-name So trùng loại giao thức NBAR
match qos-group qos-group-value So trùng một QoS group
match resource-address mac
address-destination So trùng một địa chỉ MAC nguồn
Bảng 3.1.3.1a Vài cấu hình lệnh match trong Class – Based Marking
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Vài cấu hình lệnh set trong Marking được thể hiện trong bảng sau:
ip-precedencep-value Đánh dấu giá trị của IP Precedence cho các gói tin IPv4 và IPv6 nếu tham
số IP bị bỏ qua Nếu tham số ip được thêm vào thì chỉ thiết lập cho gói tin IPv4
set [ip] dscp ip-dscp-value Đánh dấu giá trị của IP DSCP cho các
gói tin IPv4 và IPv6 nếu tham số IP bị
bỏ qua Nếu tham số IP được thêm vào thì chỉ thiết lập cho gói tin IPv4
set qos-group group-id Đánh dấu giá trị của QoS group
Relay
Bảng 3.1.3.1b Vài cấu hình lệnh set trong Class – Based Marking
Trang 28[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Các lệnh cấu hình thực thi trong Class – Based Marking được thể hiện trong bảng sau:
service-policy {input|output}
policy-map-name Chỉ định Class-based Marking trên một interface
show policy-map policy-map-name Liệt kê thông tin cấu hình về policy
map
show policy-map interface-spec
[input | output ][class class-name] Liệt kê thông tin về hoạt động của policy map khi được kích hoạt tại một
interface
Bảng 3.1.3.1c Các cấu hình lệnh thực thi trong Class – Based Marking
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
3.1.3.2 Cấu hình theo NBAR
Class – Based Marking có thể dùng NBAR để phân loại lưu lượng Dùng lệnh
class-map hỗ trợ lệnh match có thể so trùng các giao thức được nhận biết bởi
NBAR
Các câu lệnh cấu hình được thể hiện trong bảng sau:
ip nbar protocol-discovery Interface mode Kích hoạt NBAR cho
lưu lượng ra và vào interface đó
ip nbar port-map protocol-name
[tcp | udp] port-number Global mode NBAR tìm kiếm các giao thức sử dụng số cổng khác với những
cổng đã biết Cũng có thể định nghĩa số cổng được dùng cho gói tin từ thiết lập
ip nbar pdlm pdlm-name Global mode Mở rộng danh sách các
giao thức nhận biết bởi NBAR bằng cách thêm vào PDLMs
snmp-server enable traps cnpd Global mode Kích hoạt việc gởi các
protocol-name | top-n number}]
Liệt kê thông tin thống kê các giao thức phát hiện được Các số thống kê
có thể được liệt kê theo interface, giao
thức hay theo n giao thức đầu
show ip nbar port-map [protocol- Liệt kê danh sách các cổng đang được
Trang 29name] dùng bởi các giao thức được tìm thấy
Bảng 3.1.3.2 Các cấu hình lệnh cấu hình cho NBAR
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
3.2 Congestion Management (quản lý tắc nghẽn)
3.2.1 Các khái niệm và cơ chế cơ bản
3.2.1.1 Các nguyên nhân gây tắc nghẽn
Nghẽn xảy ra do lưu lượng mạng quá nhiều dẫn đến đầy hàng đợi và các
router vượt quá khả năng xử lý Tăng bandwidth đường truyền có thể giải quyết nhưng chỉ ở một giới hạn nhất định Vì thế các kỹ thuật quản lý nghẽn trên nền tảng
Cisco IOS cung cấp cho nhà quản trị mạng khả năng quản lý hàng đợi một cách hiệu quả và cấp phát bandwidth cần thiết đến các ứng dụng đặc biệt khi trạng thái nghẽn tồn tại
Nghẽn có thể xảy ra khi tốc độ đường truyền không phù hợp Chủ yếu là khi lưu lượng di chuyển từ mạng có tốc độ cao như LAN (100Mbps hay 1000Mbps) sang các đường truyền có tốc độ thấp như đường WAN (1Mbps hay 2Mbps) Sự không phù hợp về tốc độ cũng xảy ra trong mạng LAN-LAN, khi lưu lượng di chuyển từ mạng LAN có tốc độ 1000 Mbps sang mạng LAN có tốc độ đường truyền 100 Mbps
3.2.1.2 Cơ chế quản lý tắc nghẽn
Cơ chế quản lý nghẽn còn được gọi là cơ chế Queuing (hàng đợi) Hàng đợi nói đến cách thức mà một router hay một switch quản lý gói tin hay một frame khi dữ liệu đó đang chờ để đi ra một cổng Với router, hàng đợi chứa gói tin trước khi gói tin này được gửi ra một interface Vì vậy, cơ chế hàng đợi trên router thường chỉ được xem xét là hàng đợi ra Các LAN switch thường hỗ trợ cả hàng đợi vào và hàng đợi ra, trong đó hàng đợi vào thường được dùng để nhận frame
Công cụ hàng đợi quyết định có hay không và khi nào thì gói tin nên bị loại bỏ khi một hàng đợi đã bị quá tải Công cụ hàng đợi dựa trên các hoạt động của TCP để thực hiện giảm sự tắc nghẽn Hầu hết Internet phổ biến là các lưu lượng dạng TCP, tốc độ truyền thông TCP đều bị giảm tốc độ sau khi có sự rớt các gói tin
3.2.1.3 hái niệm hàng đợi
Các router Cisco có thể được cấu hình để thực hiện đưa vào hàng đợi những gói tin đang chờ chuyển ra khỏi một cổng Ví dụ, nếu một router nhận mức lưu lượng 5Mbps trong vài giây liên tiếp và tất cả các lưu lượng đó phải đi ra cổng T1 (1.544Mbps), router sẽ không thể truyền tất cả các lưu lượng đó Vì vậy, router sẽ đặt tất cả các gói tin vào một trong những hàng đợi Những hàng đợi này có thể cấu hình và thông qua đó, người quản trị có thể can thiệp những gói tin nào có thể kế tiếp rời khỏi cổng, những gói tin nào có thể loại bỏ
Hàng đợi bao gồm có: hàng đợi cứng và hàng đợi mềm
Các hàng đợi được tạo ra trên một cổng của router bằng các công cụ hàng đợi
là hàng đợi mềm vì các hàng đợi này có thể cấu hình được Khi cơ chế hàng đợi xử lý đến những gói tin kế tiếp trong hàng đợi mềm, gói tin này không được di chuyển trực tiếp ra cổng vật lý Thay vào đó, router sẽ di chuyển gói tin từ hàng đợi mềm sang một hàng đợi nhỏ bằng phần cứng FIFO Cisco gọi các hàng đợi riêng biệt cuối
Trang 30cùng này là hàng đợi truyền (transmit queue-TX queue) hoặc vòng tròn hay vòng tròn truyền (TX ring) tùy thuộc vào kiểu router Các hàng đợi này được gọi là các hàng đợi phần cứng
Hình 3.2.1.3a Ví dụ về hàng đợi cứng
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Theo hình 3.2.1.3a, hàng đợi cứng có kích thước là 4 Khi chỉ có đúng 4 gói tin đến router (giả sử không có các gói tin khác đến sau), đúng với kích thước của hàng đợi cứng Các gói tin này sẽ được đặt ngay vào hàng đợi cứng để được chuyển đi Trong trường hợp này không cần sử dụng đến các hàng đợi mềm
Hình 3.2.1.3b Ví dụ về hàng đợi mềm
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
Theo hình 3.2.1.3b, hàng đợi cứng có kích thước là 4 Khi 4 gói tin được đặt vào hàng đợi cứng để chờ được chuyển đi thì có tiếp 3 gói tin khác đến 3 gói tin đến sau sẽ được đặt vào hàng đợi mềm đã cấu hình từ trước
Các hàng đợi phần cứng có các đặc điểm sau đây :
- Khi một cổng hoàn tất việc gởi một gói tin, gói tin kế tiếp từ hàng đợi cứng có thể được mã hóa và gởi ra cổng mà không cần ngắt CPU, giúp đảm bảo sử dụng đầy
đủ bandwidth của cổng
- Luôn luôn dùng cơ chế FIFO
- Không thể bị ảnh hưởng bởi các công cụ hàng đợi QoS (hàng đợi mềm)
- IOS tự động giảm kích thước của hàng đợi phần cứng đến một chiều dài nhỏ hơn khi một công cụ hàng đợi được dùng
- Các hàng đợi phần cứng có chiều dài ngắn có ý nghĩa là các gói tin có thể kiểm soát bằng các phần mềm hàng đợi, cho phép các hàng đợi mềm kiểm soát chặt chẽ hơn lưu lượng đi ra khỏi cổng Chức năng duy nhất của hàng đợi phần cứng mà có thể thao tác là chiều dài của hàng đợi
Trang 31là số hàng đợi tối đa được hỗ trợ trong mỗi kỹ thuật và chiều dài tối đa của mỗi hàng
- Low Latency Queuing (LLQ)
3.2.2.1 First-in, first-out (FIFO)
Hàng đợi First-in, first-out (FIFO) dựa trên khả năng store-and-forward thực hiện việc lưu trữ các gói tin khi mạng bị tắc nghẽn và chuyển các gói tin đi khi mạng
đã thông FIFO là kỹ thuật hàng đợi mặc định trên những giao diện của router có băng thông bằng hoặc lớn hơn 2Mbps Do đó không cần phải cấu hình loại hàng đợi này Đây là một ưu điểm của hàng đợi FIFO
FIFO hoạt động theo cơ chế các gói tin vào hàng đợi trước sẽ được truyền đi trước, các gói tin vào hàng đợi sau sẽ được truyền đi sau
Hình 3.2.2.1a Hàng đợi FIFO
[Tham khảo: IP Telephony Self-Study Cisco QOS Exam Certification Guide]
3.2.2.2 Truyền thông có thứ tự - Priority Queuing (PQ)
Priority Queuing (PQ) đảm bảo cho lưu lượng có độ ưu cao được giải quyết trước nhất và nhanh nhất tại mỗi nơi có lưu lượng này Thuật toán này được thiết kế dành cho các lưu lượng quan trọng với một thứ tự khắc khe Việc sắp xếp thứ tự ưu tiên rất phức tạp Có thể ưu tiên theo từng giao thức (IP, IPX, Apple Talk), theo các cổng đến, kích thước của gói tin, địa chỉ nguồn hay địa chỉ đích…