Có 3 quá trình xử lý gói tin từ thời điểm nhận được ở đầu vào (INPUT) tại một nút mạng bao gồm: Admision Control, Routing và Reservation (hình 1.9) Hình 1.9: Các quá trình xử lý gói tin tại nút mạng
Admision có thể hiểu là quá trình kiểm soát thông tin đầu vào, định tuyến có chức năng tìm đường đi thích hợp cho gói tin và Reservation là quá trình kiểm soát đầu ra của gói tin
Hình 1.9 minh họa việc sử dụng các kỹ thuật này trong thiết bị thực hiện chức năng của một nút mạng
Một kỹ thuật mới trong nguyên tắc thiết kế cũng được áp dụng cho các thiết bị trong mạng không dây là kỹ thuật thiết kế xuyên lớp, thiết kế này lợi dụng được các mối quan hệ tự nhiên giữa các lớp không lân cận trong các quá trình trao đổi thông tin của thiết bị ứng với mô hình OSI.
Hình 1.9: Sử dụng các kỹ thuật về QoS tại mỗi nút mạng
Egress VoIP HTTP FTP IP Traffic Marker or Policer VoIP HTTP FTP DSCP Written LLQ WRED Queuing and Shaping Scheduling Interface Congestion Managerment Congestion Avoidace
Classification and Marking
1.5.2.1 Admision control
Khi đi vào mạng các gói tin phải được phân biệt với nhau để có cách đối xử thích hợp gọi là sự phân lớp (Classification). Đánh dấu (marking) phân biệt các danh giới lưu lượng trong cùng lớp (ví dụ gói nào tuân thủ hay vi phạm các quy định về sử dụng băng thông) nhằm báo cho các bước xử lý sau đó có cách đối xử khác nhau với các gói được đánh dấu này.
Kiểm soát đầu vào (Call Admission Control, Policing) cũng là chính sách được sử dụng để hạn chế các yêu cầu vào khi khả năng của mạng là có hạn hay xử lý các gói tin khi vi phạm về chính sách (ví dụ SLA) nhằm tránh tắc nghẽn có thể xảy ra.
* Phân lớp (Classification) và Đánh dấu (Marking)
Trong chuỗi các chức năng quản lý QoS đây là các chức năng đầu tiên. Tại đầu vào, các luồng lưu lượng phải được phân biệt mức QoS để có thể sử dụng các biện pháp đối xử thích hợp.
Dưới đây là một vài điểm khác biệt giữa Classification và marking: - Classification (phân lớp) sắp xếp các loại gói theo các mức QoS theo kiểu dữ liệu, thường được thực hiện tại mỗi nút mạng (nhưng không bắt buộc tại tất cả các nút mạng);
- Marking (đánh dấu) và re-marking (đánh dấu lại) thực hiện việc đánh dấu các gói trên cơ sở tạo các ngưỡng để các chức năng xếp hàng và đánh lịch biết đối xử ra sao với gói này (ví dụ: các gói của cùng một lớp QoS nhưng có thể bị đánh dấu accepted hay rejected do vi phạm một điều kiện biên nào đó (nghẽn chẳng hạn)).
Việc phân lớp có thể thực hiện tại các lớp khác nhau:
- Các tham số lớp vật lý (Layer 1): interface, PVC hay port;
- Các tham số lớp 2 (Layer 2): MAC address, 802.1Q/p class of service (CoS) bits, VLAN id, experimental bits (MPLS EXP), MPLS cell loss Priority (CLP),…
- Các tham số lớp 3 (Layer 3): IP Precedence, Diffserv code poit (DSCP), source/destination IP address;
- Các tham số lớp ứng dụng (Layer 7): Application signatures và chuỗi URL (uniform resource locators) trong mào đầu gói tin;
Hình 1.11 là ví dụ về việc phân lớp của dữ liệu Voice và Fax (mặc dù cùng sử dụng RTP/RCTP để chuyển tải)
Hình 1.10: Frame/Packet Classification Fields NBAR DPLM Dst Port Src Port Dest IP Source IP ToS/ DSCP
IP Packet TCP/UDP Segment Data payload
Hình 1.11: Ví dụ về phân lớp lƣu lƣợng Voice và Fax
New packet Arrive
Class VOICE Classifier
NBAR: RTP Packet?
Police to 256 kbps Bandwidth and Transmit
Class Fax-Relay Classifier
DSCP EF? Police to 64 kbps Bandwidth and Transmit
Class Class-Default Yes
No
Yes
Hiện nay cơ chế kiểu class-based marking, class-based policing và một số kỹ thuật khác như committed access rate (CAR) và policy-based routing (PBR) thường được sử dụng để đánh dấu gói.
- Class-based marking: Các gói tin sẽ được đánh dấu sau khi phân loại. Việc đánh dấu này gồm các thao tác như: thay đổi các bít của trường ToS trong bản tin IP, thay đổi giá trị trường DSCP (nếu trong mạng diffserv), thay đổi trường EXP (MPLS)…
- Class-based policing: Thay chỉ vì việc đánh dấu các gói tin, ở đây có thể đánh dấu lại (re-mark) hoặc áp dụng chính sách (ví dụ: loại bỏ) với gói tin vi phạm qua định SLA
- Committed Access Rate: cùng với Class-based policing, CAR có thể được dùng để thiết lập hay thay đổi các dấu hiệu của gói tin, CAR sử dụng kỹ thuật thùng dò (token bucket) để kiểm soát tốc độ luồng dữ liệu vào có hay không tuân thủ tốc độ định trước.
- Policy-Based Routing: Thực chất, PBR là việc định tuyến dựa trên quy tắc định tuyến được áp đặt trước qua chính sách (policy), ví dụ việc định tuyến sẽ căn cứ vào kích thước gói tin, giao thức được sử dụng truyền gói tin hay một vài tính chất nào đó.
Bảng 1.4: ví dụ việc phân lớp dịch vụ trong các môi trường khác nhau:
WiMAX
(802.16) UMTS WiFi (802.11e)
VoIP UGS Conversational Voice
Video Conference UGS Conversational
Streaming UGS Streaming Voice/Video
FTP BE Background Background
Web Nrt-PS Interactive
Instant Message Rt-PS/nrt-PS Interactive Best
efdor/Video
Email BE Background Background
Ecomrerce Rt-PS/nrt-PS Interactive Best
efdor/Video
Online game Rt-PS/nrt-PS Interactive Best
efdor/Video Bảng1.4: Phân lớp dịch vụ trong các môi trường khác nhau
Có rất nhiều kiểu phân loại dịch vụ cũng như phân lớp QoS khác nhau và có thể cùng tồn tại trong một phiên giao dịch từ đầu cuối đến đầu cuối nên yêu cầu chuyển đổi giữa các mức QoS khi đi qua các miên hay giữa các lớp trong một miền.
Hình 1.13 là một ví dụ về ứng dụng trong đó có sự kết hợp giữa 2 miền sử dụng 2 công nghệ truy nhập không dây IEEE 802.11e (wifi) và IEEE 802.16 (wimax). Internet Wi-Fi WiMAX WiMAX Base Station WiMAX Base Station Wire Hình 1.13: ví dụ về sự kết hợp Wifi và WiMAX Hình 1.12: QoS liên miền
Caller Miền 1 Miền 2 Miền 3 Miền 4 Callee
Điểm cần ánh xạ QoS
Điểm cần ánh xạ QoS
...
Bảng 1.5 là ánh xạ các mức QoS giữa 2 miền này:
IEEE 802.11e (Wifi) IEEE 802.16 (WiMAX)
Traffic Class C1 Traffic Class C1
Peak data rate Delay bound
(Data rate + Delay bound)
Maximum subtained Tranffic rate Maximium latency
Tolerated Jitter
Tranffic Class C2 Traffic Class C2
Minimum data rate Peak data rate Delay bound Burst size
Maximum Reserved Traffic rate Maximum subtained Tranffic rate Maximum Latency
Maximum Traffic Burst
Traffic Class C3 Traffic Class C3
Minimum data rate Peak data rate User priority Burst size
Maximum Reserved Traffic rate Maximum subtained Tranffic rate Traffic Priority
Maximum Traffic Burst
Traffic Class C4 Traffic Class C4
Peak data rate User Priority
Maximum subtained Traffic rate Traffic Priority
Bảng 1.5: Ánh xạ các mức QoS giữa 2 miền IEEE 801.11e và IEEE 802.16 Do việc sử dụng các cơ chế QoS khác nhau trên các lớp nên cũng có sự ánh xạ chồng chéo trong một miền. Ví dụ Diffserv over MPLS chẳng hạn, ở đây phải ánh xạ giá trị của trường DSCP (Diffserv) sang trường EXP của MPLS (hình 1.14)
* Kiểm soát sự tuân thủ chính sách (Policing)
Các kỹ thuật nhằm phát hiện và xử lý các vi phạm về chính sách là Policing and shaping:
- Policing thực hiện đều đặn việc kiểm tra sự vi phạm của các luồng lưu lượng và thực hiện các tác động lên các luồng vi phạm này. Ví dụ, policer có thể xác định liệu tải hiện tại của nút mạng đã ở mức cảnh báo chưa? nếu tải đang ở trạng thái cảnh báo thì các gói tin mới đến có thể bị đánh dấu lại để các xử lý phía sau lưu ý hoặc policer có thể loại bỏ các gói mới ngay lập tức khi gói vi phạm điều kiện nào đó.
- Shaping là công cụ hỗ trợ tuân thủ tốc độ các luồng lưu lượng phía đầu ra, nó có sự kết hợp các hàng đợi (quence) trong việc xử lý. Mục đích của công cụ này là điều khiển luồng lưu lượng ra trên các giao diện tuân thủ các quy định về tốc độ đã thỏa thuận theo dịch vụ (SLA).
ISP core
P1 P2
Eth 1/0 Eth 0/0 Eth 1/0 Eth 0/0 Eth 1/0 Eth 0/0 Eth 1/0 Eth 0/0 Eth 1/0 CE2 CE1 Eth 0/0 VRF V1 VRF V1 DSCP:3 DSCP:3 EXP:3 EXP:3 DSCP:3 EXP:3 EXP:3 DSCP:3 EXP:3 DSCP:3
Hình 1.15 minh họa sự khác nhau giữa policing và shaping
Policer Shaper
Gây ra việc gửi lại gói trong TCP vì gói bị loại bỏ
Gây ra trễ và mất gói ít hơn, ít yêu cầu gửi lại hơn Policer
Kém linh hoạt, không tự thích nghi Có thể điều chỉnh theo mức độ nghẽn của mạng bằng cách điều chỉnh kích thước bộ đệm
Có thể dùng cho đầu vào và đầu ra Dùng cho đầu ra
Hạn chế tốc độ không dùng bộ đệm Hạn chế tốc độ có sử dụng bộ đệm
Bảng 1.6: So sánh các tính chất của policing và shaping
Policing và shaping điều hòa và làm ổn định các luồng dữ liệu để hỗ trợ cho các ứng dụng có sử dụng các luồng này chứ không trực tiếp cung cấp QoS cho các gói dữ liệu realtime. Các búi dữ liệu (burst) có thể làm ảnh hưởng đến trễ và biến động trễ của các luồng dữ liệu thời gian thực khi không có các policers and shapers .
Hình 1.15: Phân biệt giữa policing và shaping
Time Time Time Time O ffe re d T ra ffi c O ffe re d T ra ffi c O ffe re d T ra ffi c O ffe re d T ra ff ic Shaping Policing
Traffic Rate (Sent)
Các cơ chế tránh tắc nghẽn cũng được thực hiện ở đây nhằm phát hiện sớm khả năng nghẽn có thể xảy ra. (Ví dụ cơ chế phát hiện sớm tắc nghẽn WRED-Weighted Random Early Detection)
* Kiểm soát yêu cầu kết nối mức cao (Call Admision control)
Kiểm soát cuộc gọi vào mạng (Call admission control – CAC) là cơ chế nhằm đảm bảo QoS giữa các luồng traffic cùng loại (ví dụ giữa voice với voice, giữa video với video…)
CAC thực hiện việc áp đặt các xử lý đối với lưu lượng vào khi tài nguyên mạng bị sử dụng cho data vì các luồng data này đơn giản chỉ cần loại bỏ hoặc làm trễ lại khi mạng quá tải. Các luồng lưu lượng realtime không thể bị loại bỏ hoặc làm trễ khi phải thỏa mãn yêu cầu QoS. Vì vậy, các yêu cầu tạo mới các phiên liên lạc này cần được kiểm soát, CAC có thể loại bỏ các yêu cầu mới nhằm đảm bảo về chất lượng cho các phiên làm việc đã được thiết lập trướcđó.
Hình 1.16 minh họa việc sử dụng CAC trong việc bảo vệ giữa các luồng Voice với nhau.
CAC định ra các quyết định trước khi cuộc gọi được thiết lập. Ví dụ với hệ thống VoIP, CAC cho phép play các file âm thanh trong khi đợi mạng có sẵn tài nguyên cho cuộc gọi thông báo bận cho chủ gọi. Chủ gọi có thể thử gọi lại sau đó hoặc cuộc gọi được chuyển hướng tới tuyến trung kế VoIP khác hay chuyển qua mạng PSTN.
1.5.2.2 Routing
Tìm đường đi trong một mạng thỏa mãn ràng buộc nào đó là chức năng cơ bản của định tuyến (Routing). Trong định tuyến QoS (QoS routing – QoSR) thì việc tìm đường không chỉ với thỏa mãn một ràng buộc mà cần thỏa mãn nhiều ràng buộc khác nhau
Một số yêu cầu cơ bản của các thuật toán định tuyến QoSR: - Hiệu quả có tính khả mở thích nghi với mạng lớn;
- Độ phức tạp không quá lớn hơn các thuật toán đang được dùng hiện nay
- Phù hợp với kiến trúc hiện tại của Internet, để có thể triển khai trên mạng.
Một vài yêu cầu trong số các yêu cầu ở trên có thể xung đột với các yêu cầu khác, ví dụ một mặt mong muốn các thuật toán có hiệu quả và thuật toán có tính khả mở cao để dùng cho mạng IP lớn như Internet, mặt khác những thuật toán này phải không quá phức tạp.
Định tuyến QoS đa ràng buộc là một bài toán phức tạp và yêu cầu các tài nguyên tính toán lớn. Tuy nhiên, tài nguyên của các nút mạng thường hữu hạn.
Vấn đề QoSR sẽ được trình bày ở chương II
1.5.2.3. Reservation
Để kiểm soát việc phân pháp gói tin phía đấu ra các cơ chế quản lý tắc nghẽn (sử dụng hàng đợi - queuing), các kỹ thuật đánh lịch phân phát (scheduling), kỹ thuật làm tuân thủ tốc độ phát gói tin (sharping) được sử dụng.
* Quản lý hàng đợi (queuing) và định lịch phân phát (scheduling)
Công cụ quản lý tắc nghẽn sử dụng kỹ thuật hàng đợi cung cấp phương tiên kiểm soát tắc nghẽ trên các giao diện có khả năng xảy ra tắc nghẽn, bất cứ khi nào các gói đến một nút mạng nhanh hơn khả năng nút có thể sử lý thì có khả năng xảy ra tắc nghẽn và công cụ hàng đợi được sủ dụng ở đây.
Khi không tắc ghẽn thì các gói tin vào và ra gần như trong suốt và không cần sử dụng đền hàng đợi, nhưng khi có hiện tượng tắc nghẽn xảy ra thì các hàng đợi giống như các cổng dùng để kiểm soát luồng lưư lượng đến.
Các hàng đợi được tổ chức dựa trên sự phân loại lưu lượng và việc đánh dấu gói đã phân tích phí trên. Nó sắp xếp lại các gói theo một trật tự mới để sẵn sàng phát đi. Hàng đợi cũng có thể được thực hiện tại các lớp khác nhau của mô hình OSI.
Hình 1.17 minh họa việc xếp hàng (queuing) và địch lịch (scheduling)
Hàng đợi và định lịch là 2 việc quan hệ mật thiết với nhau: Hàng đợi nhằm phân chia các gói đến theo một thứ tụ ưu tiên nào đó (ví dụ: theo các mức QoS) với mong muốn là các gói có yêu cầu QoS cao hơn sẽ được xử lý trước. Còn, đánh lịch là tiến trình xử lý các gói tin trong hàng đợi, nó quyết định gói tin nào thuộc hàng đợi nào sẽ được truyền đi tiếp theo. Cũng như hàng đợi, đánh lịch chỉ hoạt động khi có hiện tượng tắc nghẽn xảy ra. Khi không có tắc nghẽn thì gói được xử lý theo trật tự chúng đến.
Một số sử dụng thuật toán trong đánh lịch Schedule như:
- Strict prỉoity: Các hàng đợi có ưư tiên thấp hơn chỉ được xử lý khi hàng đợi có ưu tiên cao rỗng (kiểu đánh lịch này có thể gây ra hiện tượng các hàng đợi có ưu tiên thấp không bao giờ được xử lý) đây là hiện tượng đói tài nguyên phục vụ cho các ưu tiên thấp;
Hình 1.17: Xếp hàng và định lịch
... ...
Inbound Packets Outbound Packets Queuing Scheduling
- Round-robin: các hàng đợi được xử lý tuần tự, cách này có thể tránh hiện tượng “đói tài nguyên” bên trên nhưng lại có nhược điểm là tạo ra các trễ không đón trước được cho các hàng đợi chứa các luồng dữ liệu thời gian thực;
- Weighted fair: Các hàng đợi được đánh ưu tiên có trọng số để mà một số các hàng đợi được phục vụ thường xuyên hơn các hàng đợi khác. Tuy nhiên cách này khắc phục được 2 nhược điểm trên nhưng lại có nhược điểm là không đảm bảo băng thông mà các luồng dữ liệu thời gian thực cần.
Không gian nhớ dành cho các hàng đợi ở mỗi thiết bị là hữu hạn do đó khi các hàng đợi hay bộ đệm tràn thì các gói cần được loại bỏ đến khi có sẵn không gian chứa cần cho nó. Kỹ thuật loại bỏ các gói được đề cập trong phần trên (cơ chế tránh tắc nghẽn).
* Kiểm soát tuân thủ tốc độ phát (sharping)
* Thiết kế xuyên lớp trong phần truy nhập mạng không dây
Theo mô hình OSI, mỗi lớp có một chức năng xác định độc lập với các lớp khác, giữa các lớp được quy định rõ tương đối rõ mặt cắt giao diện (SAP) và chỉ các lớp lân cận với nhau được phép trao đổi thông tin với nhau theo mặt cắt này. Tại mỗi lớp người ta cũng cố gắng cải thiện QoS hướng đến E2E QoS.
Việc áp dụng các lớp mô hình OSI một cách đơn lẻ trong mạng không dây sẽ rất hạn chế do sự thiếu hợp tác giữa các lớp không lân cận trong khi các tác động qua lại giữa các lớp không lân cận tồn tại một cách tự nhiên (ví dụ môi trường truyền sóng ở lớp vật lý nhưng có ảnh hưởng lớn và trực tiếp đến việc định tuyến ở lớp mạng, là lớp không lân cận).
Nhận thấy các hạn chế trên, các thiết kế trong phần mạng không dây có