Thursday, June 19, 2014

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.

Sunday, June 15, 2014


Hình 1: Cách lấy gói tin của hàng đợi PQ
- 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. Nếu hàng đợi ưu tiên cao luôn có một gói đang chờ, bộ lập lịch luôn luôn lấy các gói trong hàng đợi ưu tiên cao. Nếu hàng đợi ưu tiên cao không có gói nào đang chờ nhưng có trong hàng đơi ưu tiên trung bình, một gói trong hàng đợi này sẽ được lấy và tiến trình cứ như thế tiếp tục.
- 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 (tail drop), 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, có nghĩa là chiều dài hàng đợi “không giới hạn”. (“không giới hạn” có nghĩ 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 chúng ta gặp vấn đề rắc rối hơn việc lập lịch cho gói nếu bộ định tuyến ngoài vùng nhớ.)
Hình 2: Tiến trình gởi gói tin của PQ                 
1. PQ có thể phân lớp các gói sử dụng danh sách điều khiển truy cập ACL với giao thức lớp 3. PQ cũng có thể so trùng trực tiếp không cần sử dụng ACL, đầu vào, chiều dài gói và cổng TCP và UDP.
2. Hủy bỏ gói cuối hàng đợi là chính sách bỏ gói mặc định.
3. Số hàng đợi cực đại là 4.
4. Chiều dài hàng đợi cực đại có thể là 0, nghĩa là hàng đợi có chiều dài “không xác định” theo lý thuyết. Mặc định là 20, 40, 60 và 80 tướng ứng với các hàng đợi ưu tiên cao,trung bình, bình thường và thấp.
5. Bên trong một hàng đợi, PQ sử dụng hảng đợi FIFO.
6. Khi lập lịch các hàng đợi, PQ luôn phục vụ các hàng đợi ưu tiên cao trước.
- Khi ngõ xuất không tắc nghẽn (nói một cách khác TX không đầy), các gói mới đặt vào TX một cách trực tiếp. Khi TX đầy, PQ thể hiện việc lập lịch. Khi tất cả các hàng đợi PQ truyền hết các gói (TX không đầy), tắc nghẽn dịu đi. Các gói mới đến lại vào TX, cho đến khi nó đầy trở lại, nó sẽ khởi động tiến trình hàng đợi với PQ.
     - PQ làm việc tốt trong các chính sách QoS 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 VoIP 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.

Bảng tóm tắc tính năng PQ:

Wednesday, June 11, 2014

First In-First Out Queuing
- Hàng đợi FIFO không có sự phân loại vì tất cả các gói đề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, như sắp xếp trật tự các gói, hàng đợi FIFO chỉ cung cấp một ý nghĩa giữ các gói trong khi chúng chờ để rời khỏi một cổng giao tiếp (interface). Hàng đợi FIFO sử dụng một hàng đợi đơn 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 gói đi vào. Và cũng không cần lập lịch ban đầu để cho hàng đợi lấy gói tiếp theo. Chỉ quan tâm đến cách cấu hình chiều dài hàng đợi FIFO tránh tác động đến độ trễ và mất gói.
- 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 một 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, nhưng hàng đợi FIFO đơn sẽ đầy nhanh chóng, lúc này các gói mới sẽ bị hủy bỏ.

Hình 1: Hàng đợi FIFO
Lập lịch hàng đợi FIFO:
- Sau khi gói đi vào hàng đợi thì bộ định tuyến sẽ sử dụng thuật toán lập lịch để duy trì công việc. Lập lịch FIFO là thuật toán lập lịch truyền thống được sử dụng trong Internet, đây là thuật toán lập lịch đơn giản nhất. Trong thuật toán này bộ lập lịch truyền các gói theo thứ tự đến và hủy các gói khi hàng đợi đầy. Tuy nhiên, bộ lập lịch gói không có sự phân biệt giữa các người sử dụng. Vì vậy nó không thể phân phối cho một số user độ trễ trung bình thấp hơn các người dùng khác. Mọi người dùng trong cùng lớp dịch vụ chịu cùng một độ trễ biến thiên (jitter delay). Ngoài ra, độ biến động trễ có xu hướng tăng lên khi số chặng tăng lên vì độ trễ hàng đợi của gói ở các chặng khác nhau không tương quan với nhau.
- Với FIFO, độ trễ trung bình của một người sử dụng có thể tăng lên nếu tổng tốc độ đến của tất cả người sử dụng tăng lên.
- Tuy nhiên việc 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 thấp gây ra tình trạng đầy hàng đợi FIFO. Các gói đi vào một hàng đợi đầy phải chờ một thời gian dà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 tảng.
• Hàng đợi FIFO được hỗ trợ trong tất cả các phiên bản của Cisco IOS.
Để cấu hình cho hàng đợi FIFO ta phải unable tất cả các kĩ thuật hàng đợi khác có trong interface đó. Mặc định thì WFQ (Weighted Fair Queuing) sẽ được áp dụng cho các interface và nó chạy ở tốc độ E1 (khoảng 2M).
- Để disable WFQ ta dùng câu lệnh “no fair-queue”, Khi đã disable tất cả các kĩ thuật hàng đợi có trong interface thì FIFO sẽ mặc nhiên được sử dụng.
- Để chọn chiều dài cho hàng đợi ta dùng câu lệnh “hold-queue x out”.
Ví dụ:
R3(config)#int s 0/0R3(config-if)#no fair-queue           // disable WFQ ;R3(config-if)#^ZR3#sh int s 0/0Serial0/0 is up, line protocol is up  …………………..  Last clearing of "show interface" counters 00:13:48  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0  Queueing strategy: fifo                    //hàng đợi FIFO được dùng
  Output queue :0/40 (size/max)       //Kích cỡ hàng đợi ngõ ra là 40 gói tin.……………………+Thay đổi chiều dài hàng đợi ngõ ra thành 50 gói tin:R3(config)#int s 0/0R3(config-if)#hold-queue 50 outR3(config-if)#^Z!R3#sh int s 0/0Serial0/0 is up, line protocol is up  Hardware is PowerQUICC Serial! Lines omitted for brevity  Queueing strategy: fifo  Output queue :0/50 (size/max)  //chiều dài hàng đợi là 50 :! Line omitted for brevity

Monday, June 9, 2014

Trong một mạng sử dụng QoS, chúng ta có thể không cần dùng đến IntServ hay DiffServ mà mạng vẫn chạy bình thường, tuy nhiên nếu có ứng dụng DiffServ hay IntServ vào thì sẽ cho kết qua tốt hơn nhiều, và có thể đảm bảo chất lượng dịch vụ cao hơn.
DiffServ ra đời để khắc phục các khuyết điểm của IntServ, giữa chúng có những sự khác nhau:

                         DiffServ
                             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 thông mạng.
Dùng giao thức báo hiệu RSVP để dành trước băng thông mạng, do đó sẽ tốn tài nguyên mạng vô ích.
Có thể sử dụng cho mạng lớn và cả 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ỏ
Ít tốn tài nguyên mạng
Tốn nhiều tài nguyên mạng
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ụ.

Saturday, June 7, 2014

  Mô hình mạng DiffServ
- Cấu trúc của mô hình DiffServ bao gồm nhiều lớp dịch vụ và mỗi lớp sẽ được cung cấp một lượng tài nguyên xác định.
- Ví dụ trong mạng bao gồm hai lớp dịch vụ: “nỗ lực tối đa” và “độ ưu tiên” (premium). Điều này có nghĩa là những gói dữ liệu thuộc lớp ưu tiên sẽ được cung cấp chất lượng dịch vụ tốt hơn: dữ liệu được đảm bảo, ít mất hơn và có độ trễ thấp hơn.
- Điểm khác nhau giữa mô hình DiffServ và IntServ: IntServ dùng giao thức báo hiệu để thông báo cho các nút mạng chất lượng dịch vụ mà luồng yêu cầu. Với mô hình DiffServ, trên mỗi gói dữ liệu sẽ chứa thông tin xác định lớp dịch vụ. Thông tin này được gọi là điểm mã dịch vụ phân biệt DSCP (Differentiated Service Code Point) của tiêu đề IP, tiền thân là vùng ToS (Type of Service). Như vậy trên lý thuyết chúng ta có tất cả 64 lớp dịch vụ khác nhau nhưng trong thực tế số lượng lớp dịch vụ ít hơn nhiều.
- Câu hỏi đặt ra ở đây là các bộ định tuyến sẽ làm gì khi nhận gói dữ liệu với giá trị DSCP nào đó?
- Giá trị DSCP cho biết yêu cầu chất lượng dịch vụ mà gói dữ liệu yêu cầu mạng cung cấp hay nói cách khác DSCP xác định một hành vi hop PHB (Perhop behavior). Ngoài những giá trị PHB chuẩn, trong nội bộ một mạng có thể định nghĩa riêng những giá trị PHB. 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 nỗ lực tối đa.
• Chuyển tiếp nhanh EF (Expedited Forwarding): 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 bảo đảm AF (Assured Forwading): 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 dấu AF11, AF12, 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 AF1y. 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 AFx1, 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 sẽ lưu giữ một bảng ánh xạ giá trị DSCP của gói với giá trị PHB, từ đó xác định phương thức xử lý gói.

 Mô hình DiffServ tại biên và mạng lõi

Thursday, June 5, 2014

Đứng trước nhu cầu ngày càng tăng trong việc cung cấp dịch vụ thời gian thực (thoại, video) và băng thông cao (đa phương tiện), dịch vụ tích hợp IntServ đã 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ụ truyền thống 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 của mô hình này:
+ Dịch vụ cố gắng tối đa không còn đủ đáp ứng nữa, ngày càng có nhiều ứng dụng 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. 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. 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 best effort. Cung cấp dịch vụ tốt nhất.     
+ Mô hình IntServ 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.

- Mô hình IntServ được IETF giới thiệu vào giữa thập niên 90 với mục đích hỗ trợ chất lượng dịch vụ từ đầu cuối tới đầu cuối. Các ứng dụng nhận được băng thông đúng yêu cầu và truyền đi trong mạng với độ trễ cho phép.
- Trên thực tế giao thức RSVP là giao thức duy nhất dùng để báo hiệu cho mô hình IntServ. Vì thế đôi khi người ta lầm lẫn dùng RSVP để nói về IntServ.Thật ra, IntServ là kiến trúc hỗ trợ chất lượng dịch vụ mạng, còn RSVP là giao thức báo hiệu cho IntServ.
- Ngoài giao thức báo hiệu, mô hình tích hợp dịch vụ còn định nghĩa thêm một số lớp dịch vụ.
- 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 dịch vụ mạng. Đặc tính lưu lượng Tspec (Traffic Specification) và yêu cầu mức chất lượng dị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:
• Kiểm soát ( bằng các policing): kiểm tra TSpec của luồng lưu lượng; nếu không phù hợp thì loại bỏ luồng.
• Điều khiển chấp nhận: 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.
• 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.
• Hàng đợi và lập lịch (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 dữ liệu nào khi xảy ra xung đột.
a. Các lớp dịch vụ
Có hai loại dịch vụ: đảm bảo dịch vụ (Guaranteed Service) và kiểm soát tải (Control load service).
Đả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ố dữ liệu không bị loại bỏ khi hàng đợi đầy.
- Thông tin Tspec 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 dữ liệu. Trong khi đó thông số quan trọng nhất của Rspec là tốc độ dịch vụ. Thông số này cho phép xác định băng thông mà lưu lượng cần khi đi trong mạng. Thông số này cùng với các thông số trong 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.
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 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 đã được đăng ký. Nếu không phù hợp với các đặc tả đã được đăng ký trước thì dữ liệu sẽ được chuyển tiếp theo phương thức “nỗ lực tối đa”.
 b. Giao thức dành trước tài nguyên RSVP
- RSVP là giao thức báo hiệu cung cấp thủ tục để thiết lập và điều khiển quá trình chiếm giữ tài nguyên, hay nói cách khác RSVP cho phép các chương trình ứng dụng thông báo cho mạng những yêu cầu về mức chất lượng dịch vụ; và mạng sẽ hồi đáp chấp nhận hoặc không chấp nhận yêu cầu đó.
 - Các bản tin RSVP được các bộ định tuyến hay các bộ chuyển mạch trên liên kết giữa hai đầu cuối gửi và nhận trao đổi với nhau để đáp ứng yêu cầu về mức chất lượng dịch vụ của ứng dụng.
- RSVP có 2 bản tin cơ bản: bản tin Path (hay Request) và bản tin Resv. Bản tin Path (hay Request) mang thông tin về đặc tả luồng lưu lượng Tspec và các thông tin như: địa chỉ IP của nút gửi, địa chỉ IP nút nhận, chỉ số cổng UDP. Và khi nhận được bản tin Path (hay Request), nút mạng đích sẽ gửi lại bản tin Resv. Bản tin Resv sẽ gửi kèm theo phần mô tả yêu cầu RSpec chỉ định kiểu dịch vụ tích hợp là kiểm soát tải hay đảm bảo dịch vụ; ngoài ra còn có dấu hiệu nhận dạng luồng (flow descriptor) mà mỗi bộ định tuyến dùng để nhận diện mỗi phiên chiếm giữ tài nguyên.
- Khi nhận được bản tin Resv, mỗi bộ định tuyến trung gian sẽ tiến hành quá trình điều khiển chấp nhận (admission control). Nếu yêu cầu không được chấp nhận, do không đủ tài nguyên mạng thì bộ định tuyến sẽ báo lỗi về phía đầu thu. Nếu yêu cầu được chấp nhận thì bộ định tuyến sẽ gửi bản tin Resv đến bộ định tuyến đã gửi bản tin Path (hay Request) cho nó.
- Ngoài ra, RSVP là giao thức mềm, có nghĩa là các bản tin Path (hay Request) và 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 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à dữ 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.
c. Kiến trúc IntServ
- Cấu trúc của các bộ định tuyến và các bộ chuyển mạch có hỗ trợ RSVP trong mạng.                                                                    

- Như vậy ta thấy cấu trúc 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 (scheduler).
• Khối điều khiển thu nhận và thiết lập dự trữ (set up).
- Đầ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 dữ 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ụ.


Hình vẽ trên là cách thức hoạt động của RSVP, 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.

- Chúng ta đã xem xét kiến trúc của mô hình tích hợp dịch vụ cũng như một giao thức rất quan trọng RSVP. Mô hình này cho phép triển khai các ứng dụng thời gian thực và lưu lượng truyền thông trên cùng một hạ tầng mạng.

Monday, June 2, 2014

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.