Showing posts with label custom queueing. Show all posts
Showing posts with label custom queueing. Show all posts

Thursday, June 19, 2014

Hàng đợi tuỳ chỉnh - Custom Queueing

Custom Queuing (CQ) là kĩ thuật hàng đợi ra đời sau PQ, không giống như PQ, CQ sẽ phục vụ cho tất cả các hàng đợi có trong interface của nó thậm chí khi sảy ra nghẽn mạng. CQ có tất cả 16 hàng đợi, như vậy nó cho phép tối đa 16 lớp dịch vụ (vừa đủ cho các loại dịch vụ ngày nay). CQ còn không cung cấp cho một hàng đợi đặc biệt nào đó có mức ưu tiên cao hơn các hàng đợi khác và cũng không ưu tiên hàng đợi nào có low delay, low jitter, low loss…
CQ cung cấp một lượng băng thông ngang nhau cho tất cả các hàng đợi, việc lập lịch của CQ như sau:
       

Hình 1: Cách lấy gói tin của CQ
CQ sẽ kiểm tra lần lượt các hàng đợi, bắt đầu từ hàng đợi thứ 1, CQ sẽ lấy gói tin từ hàng đợi này cho tới khi số gói tin mà nó lấy vượt quá hoặc bằng giá trị cho phép, sau khi hàng đợi này đã được phục vụ với số gói tin nhu trên hoạc hàng đợi này không có gói tin thì CQ sẽ chuyển qua phục vụ cho hàng đợi kế tiếp và quá trình lặp lại như trên.
CQ không cho phép cấu hình băng thông cho từng hàng đợi mà chỉ cho phép cấu hình số gói tin sẽ lấy thừ hàng đợi đó. Ví dụ: ta thiết kế sẽ lấy 10000 bytes cho mỗi hàng đợi và ta có 5 hàng đợi tất cả, như vậy mỗi hàng đợi sẽ chiếm dụng băng thông là 20% (10000/50000). Bây giờ nếu ta thiết kế có 5 hàng đợi: hai hàng đầu tiên sẽ được phục vụ với số bytes là 5000, hai hàng tiếp theo là 10000, và hàng thứ 5 là 20000, như vậy hàng thứ nhất và thứ hàng mỗi hàng sẽ nhận băng thông là 10% (5000/50000), hai hàng tiếp theo mỗi hàng nhận là 20% (10000/50000) và thứ 5 là 40% trên tổng băng thông của link.
Khi thực hiện gởi gói tin, giả sử trong hàng đợi thứ 4 không có gói tin nào đang chờ, chỉ có hàng đợi 1,2,3 và 5 là có gói tin đang chờ, khi đó băng thông sẽ được phân phát lại như sau: hàng đợi thứ nhất nhận 12.5%, thứ 2 12.5%, thứ 3 25%, thứ 4 0% và thứ 5 là 50%.
Ta tính như sau:
Hàng đợi thứ 1 :  (5000*100) / 40000 =12.5%
Hàng đợi thứ 2:   (5000*100) / 40000 =12.5%
Hàng đợi thứ 3:    (1000*100) / 40000 =25%
Hàng đợi thứ 4:    (2000*100) / 40000 =50%
Quá trình gởi gói tin của CQ:

Hình 2: Quá trình gởi gói tin của CQ
1.CQ phân loại gói tin bằng các ACLs hoặc bằng các kĩ thuật khác.
2.Tail drop là kĩ thuật CQ dùng để chống nghẽn.
3.Tối đa là 16 hàng đợi.
4.Ta có thể set kích cỡ của hàng đợi về tới 0 (nghĩa là chiều dài là vô hạng).
5.Bên trong một hành đợi CQ sử dụng FIFO.
6.Khi lập lịch cho gói tin, CQ sẽ xoay vòng cho các hàng đợi (phục vụ cho hàng này xong thì tới hàng hàng khác).
Đặc điểm của CQ :
+ Không thích hợp cho các mạng cần low delay, low jitter,...
+ Không thể dành trước băng thông cho link.
+ Không cung cấp hàng đợi ưu tiên.
+ Không thích hợp cho Voice
+ Cho phép các hàng đợi được phục vụ xoay vòng.
+Cho phép các hàng đợi bình đẳng nhau.
Bảng tóm tắt hàng đợi tuỳ chỉnh.
7:55 AMNo comments

Monday, June 2, 2014

Khái niệm về băng thông và các độ trễ gói tin

1.       Băng thông



Băng thông là số lượng bit trong một giây có thể gởi trên đường truyền. Băng thông thường bằng với tốc độ của đường truyền vật lý hay xung clock của thiết bị kết nối đó. Trong vài trường hợp nó nhỏ hơn tốc độ thực sự của đường liên kết.
            Ví dụ trên là một mạng trống gồm client và server đầu cuối. Giữa các con router sử dụng các băng thông khác nhau. Băng thông cao nhất cả đoạn đường từ server đến client là bằng đường dẫn có băng thông thấp nhất  (trong ví dụ này là 256kbps).
            Đó là cách tính băng thông của một đoạn đường, tuy nhiên, còn nhiều vấn đề phức tạp trong nhiều trường hợp mà có nhiều dòng lưu lượng dữ liệu đang được vận chuyển trong mạng.

2.       End-to-end delay


  • End-to-end delay bằng tổng tất cả propagation, processingqueuing delay có trên đường dẫn.
  • Propagation (serialization): Sự chậm trễ truyền tải dữ liệu trên phương tiện truyền dẫn, hầu hết xảy ra ở các phần, chỉ phụ thuộc vào băng thông.
  • Processing, queuing delay: Xảy ra trong Router.

Ping ( ICMP ) có thể sử dụng để đánh giá thời gian đi của gói tin IP trong mạng. Một vài công cụ khác cũng có thể đánh giá thời gian đáp ứng của mạng.


3.     Processing, Queuing và Propagation delay



Processing Delay là thời gian để một router đặt một gói tin vào cổng vào và đẩy gói tin đó ra hàng đợi của cổng ra router. Thời gian xử lý phụ thuộc vào nhiều vấn đề như:
  •          Tốc độ xử lý CPU.
  •         Tài nguyên CPU
  •          Chế độ chuyển đổi IP.
  •          Cấu trúc router.

-         Cấu hình các tính năng ở cả hai cổng vào và ra của router.

Queuing Delay là thời gian gói tin nằm trong hàng đợi cổng ra của một router. Nó phụ thuộc vào số lượng và kích thước của các gói tin đã có trong hàng đợi, và băng thông của cổng. Nó cũng  phụ thuộc vào cơ chế hàng đợi.
Propagation Delay ( Serialization Delay) là thời gian để vận chuyển gói tin. Nó thường chỉ phụ thuộc vào băng thông của cổng. Công nghệ CSMA/CD có thể làm chậm trễ thêm một chút vì khả năng xung đột các gói tin khi một cổng sắp bị nghẽn.

4.       Mất gói tin ( Packet loss)


          Mất gói tin thông thường xảy ra khi các router hết bộ nhớ đệm ở hàng đợi cổng ra. Hình trên cho thấy ở hàng đợi cổng ra đã đầy, dẫn tới việc gói tin mới tới sẽ bị đánh rớt. Được tạm gọi đơn giản là “ đánh rớt gói tin cổng ra (output drop)” hoặc “đánh rớt gói tin ở đuôi (tail-drop)” ( tức là gói tin bị đánh rớt ở đuôi của hàng đợi).
Router cũng đánh rớt các gói tin với nhiều lý do khác, ví dụ như:
  •          Hàng đợi vào – CPU bị tắc nghẽn và không thể xử lý các gói tin ( hàng đợi cổng vào đầy).
  •          Từ chối – bộ nhớ đệm của router đầy.
  •          Tràn – CPU bị tắc nghẽn và không thể chỉ định bộ nhớ đệm cho gói tin mới.
  •         Lỗi khung – lỗi phần cứng trong khung.



       Một vài phương án để giải quyết các vấn đề trên về băng thông:
-                      Cách tốt nhất để cải thiện khả năng truyền dẫn cho tất cả các ứng dụng và người dùng là làm tăng diện tích băng thông. Giải pháp này nghe có vẻ đơn giản nhưng thực tế thì nó mang về cái giá tiền rất cao và thời gian thực hiện nó.

-                       Một sự lựa chọn khác đó chính là phân loại lưu lượng truy cập vào QoS và độ ưu tiên của nó theo tầm quan trọng của dữ liệu. Có nhiều cơ chế có sẵn trong Cisco IOS cung cấp đảm bảo băng thông, ví dụ:

o   Priority Queuing.
o   Custom Queuing.
o   Modified Deficit Round Robin.
o   IP RTP prioritzation.
o   Class-based Weighted Fair Queuing.
o   Class-based Low-latency Queuing.

-                       Tối ưu hoá việc sử dụng đường dẫn bằng cách nén gói tin để làm tăng băng thông đường dẫn. Mặt khác, nén cũng làm tăng độ trễ do tính phức tạp trong giải thuật nén. Sử dụng phần cứng để nén có thể làm tăng tốc độ nén một gói tin. Stacker và Predictor là 2 giải thuật nén có sẵn trong Cisco IOS.

-         Một phương pháp hiệu quả khác đó là nén tiêu đề. Cơ chế này đặc biệt hiệu quả trong mạng, nơi vận chuyển nhiều gói tin với lượng dữ liệu nhỏ. Ví dụ như nén tiêu đề TCP và RTP.
Dưới đây là bảng yêu cầu cho các ứng dụng của doanh nghiệp:


Khi QoS được xem xét, các ứng dụng quan trọng và yêu cầu về QoS phải được xác định. Hình trên minh hoạ về các loại ứng dụng khác nhau với yêu cầu QoS tương ứng. (throughput, bandwidth, delay, jitter and loss).
Phương pháp để cung cấp QoS tới các ứng dụng thường được sử dụng trong các mạng doanh nghiệp nơi có nhiều ứng dụng quan trọng (Bussiness-critical).
Hầu hết các ứng dụng có thể được phân loại dựa trên số cổng trên TCP hoặc UDP. Một vài ứng dụng sử dụng cổng động (dynamic port), nó làm khó khăn trong việc phân loại. Cisco IOS hỗ trợ Network-based Application Recognition ( NBAR), có thể phân loại cho các ứng dụng như vậy.

Bảng minh hoạ từng cấp độ trong QoS
Nhà cung cấp dịch vụ, hay nói cách khác, là cung cấp kết nối tới người dùng. Họ thường không quan tâm tới các ứng dụng mà người dùng đang sử dụng. Tuy nhiên, họ cung cấp các cấp độ khác nhau của dịch vụ cho người dùng. Một số người dùng sẵn sàng trả nhiều hơn cho kết nối của họ tới Internet, và nhận được một số đảm bảo. Bảng trên minh hoạ từng cấp độ mà nhà cung cấp dịch vụ có thể đáp ứng tới người dùng của họ.
Trong lịch sử Internet, có thể chia QoS thành 3 mô hình:
  •          Best-effort: Internet được thiết kế cho best-effort, không đảm bảo việc vận chuyển gói tin. Ngày nay, mô hình best-effort vẫn chiếm ưu thế trong Internet.
  •          Mô hình tích hợp dịch vụ ( Integrated Services model): Được ra đời nhằm bổ sung vào best-effort bằng cách cài đặt băng thông cho ứng dụng, những ứng dụng được yêu cầu về băng thông và đảm bảo độ trễ. Mô hình tích hợp dịch vụ này cho ứng dụng báo hiệu yêu cầu khi vào mạng. Phương thức dành tài nguyên ( Resource Reservation Protocol – RSVP) được sử dụng để báo hiệu yêu cầu QoS tới mạng.
  •          Mô hình phân biệt dịch vụ ( Defferentiated Services model): Được thêm vào để cung cấp khả năng mở rộng hơn trong việc cung cấp QoS tới các gói tin IP. Sự khác biệt chính là mạng nhận ra các gói tin ( không yêu cầu về tín hiệu) và cung cấp dịch vụ thích hợp tới chúng.


Ngày này, mạng IP có thể sử dụng 3 mô hình trên trong cùng một thời điểm.
1:13 AM1 comment