Các giao thức định tuyến trên cơ sở QoS đã nỗ lực đưa các m tric thành các giá trị khi xây dựng các bảng định hướng của mạng. Các giao thức này đã được nghiên cứu trong nhiều năm và thường bắt đầu với sự thừa nhận rằng mạng được xây dựng từ các router IP Best-Effort. Bắt đầu từ giả thiết đó, việc định tuyến cho một metric
thường có một số hạn chế khi có them yêu cầu QoS trong một môi trường đa dịch vụ. Một metric có thể được x m xét như là một bảng các giá trị với mỗi tuyến (hay mỗi hop) có một giá trị đi kèm với nó. Các giao thức định tuyến nỗ lực để tìm các đường tối thiểu cho tất cả các tuyến có thể đi tới đích. Dù sao giá trị này không thể mô tả chi tiết và cần thiết cho tất cả các kiểu lưu lượng. Nó có thể đưa ra lat ncy của tuyến, băng thông sẵn có, khả năng mất gói hoặc có lẽ là các phí tổn thực tế của việc gửi gói trên mỗi tuyến? Bạn có thể thoả mãn với một vài lưu lượng đang tìm với sự lựa chọn thích hợp, nhưng ngược lại có sự lựa chọn lưu lượng khác lại gây lãng phí tài nguyên. Ví dụ, xét một mạng mà ở đó lat ncy là m tric. Tất nhiên đường đi ngắn nhất thích hợp cho các ứng dụng có yêu cầu chặt chẽ về thời gian thực. Mạng được sử dụng hầu hết là giống với mạng truyền thống, dữ liệu các ứng dụng bùng nổ mà đáng kể nhất là lat ncỵ Lưu lượng từ các ứng dụng khác cũng th o các đường ngắn nhất với latency tối thiểụ Điều không thuận lợi là lưu lượng bùng nổ, vùng bộ đệm được sử dụng cho lưu lượng yêu cầu thời gian thực tăng, jitt r và các lat ncy trung bình cũng gây ra đối với tất cả các luồng lưu lượng đi qua các rout r. Điều này ảnh hưởng lớn đến độ chính xác của các giá trị latency mà các giao thức sử dụng để lựa chọn đường đi ngắn nhất. Định tuyến dựa trên QoS tạo ra các cây đường đi ngắn nhất, bao gồm các topo thực tế của các tuyến và các router với mỗi cây sử dụng các tham số khác nhau của tuyến metric. Kết quả là nhiều lưu lượng không cần thiết cùng tồn tại trong các router với các yêu cầu về QoS khác nhaụ Các gói có yêu cầu nghiêm ngặt về lat ncy sau đó sẽ được định hướng bằng cách sử dụng cây xây dựng như một metric. Các gói không cần yêu cầu về thời gian thực cũng phải có một cây khác. Vài vấn đề tồn tại khi thực hiện định tuyến dựa trên QoS là:
Mỗi router cần có các bảng định tuyến (hoặc có chức năng tương tự như các bảng định tuyến đó) để thực hiện tìm kiếm thông tin các hop tiếp theo dựa vào đích đến của mỗi gói, phù hợp với mỗi kiểu của cây đường đi ngắn nhất. Thêm vào đó, các trường trong phần tiêu đề gói được sử dụng để lựa chọn một trong các hop tiếp theo phù hợp với địa chỉ đích của góị Điều này rất phức tạp đối với việc thiết kế các khối tìm kiếm thông tin của hop tiếp theọ
Các CPU của các router phải cung cấp phần tiêu đề trong giao thức định tuyến cho mỗi giao thức định tuyến phù hợp với các kỹ thuật cây đường đi ngắn nhất.
M tric như lat ncy hoặc khả năng của băng thông phụ thuộc nhiều vào lưu lượng thực tế qua mạng. Các cây đường đi ngắn nhất với các giá trị của lat ncy tĩnh có thể trở nên lỗi thời khi lưu lượng chảy thành luồng qua mạng. Việc cập nhật mỗi giá trị của kết nối có yêu cầu thời gian thực đã đặt ra thực tế là mỗi giá trị cập nhật có thể là kết quả trong một tập hợp các giá trị tính toán lại của cây đường đi ngắn nhất, hướng dẫn tiếp tục xử lý tải trọng trên tất cả các router .
Thú vị hơn, việc phát triển của các router với kiến trúc QoS có phần giảm bớt sự định tuyến dựa trên QoS. Ví dụ, xét ví dụ sử dụng lat ncy như một giá trị metric. Mỗi router có ít nhất hai hàng đợi tại giao diện đầu vào, một cho lưu lượng chịu tác động
của latency và một cho tất cả các lưu lượng còn lạị Tất cả các lưu lượng được định tuyến th o các đường có latency thấp nhất. Thực hiện phân loại lưu lượng phù hợp của các rout r vào các hàng đợi, dịch vụ được nhận lưu lượng có latency sẽ độc lập với việc bung nổ của các lưu lượng khác. Có thể cho rằng, mỗi qui ước, một giao thức định tuyến IP, khi đi cùng với các router có kiến trúc CQS có thể cung cấp các mức dịch vụ khác nhaụ Điều này cho thấy là nó có đủ khả năng của một cây để cung cấp đầy đủ các dịch vụ cho tất cả các thành phần tham giạ
KẾT LUẬN CHƯƠNG 1
Hiện nay có nhiều khái niệm về QoS, tùy thuộc vào vị trí, vai trò của người tham gia trong mạng viễn thông: là nhà cung cấp dịch vụ; người khai thác, quản lý thiết bị mạng hay người sử dụng dịch vụ…mà có sự quan tâm khác nhau về QoS. Sự lựa chọn các yếu tố, các tham số, các biện pháp hay các kỹ thuật cho vấn đề nâng cao QoS là tùy thuộc vào vị trí, vai trò nàỵ Riêng đối với các nhà quản lý thiết mạng thì QoS tuy là chất lượng dịch vụ mang tính chất end-to- nd, tuy nhiên đầu cuối ở đây chỉ tính đến thiết bị đầu cuối chứ không tính đến người sử dụng. Tùy thuộc vào vào đoạn mạng của mình quản lý mà vận dụng những khái niệm QoS phù hợp.
Chương 2
KIẾN TRÚC CQS 2.1. Tổng quan về kiến trúc CQS[5]
Mục đích của QoS là cung cấp các dịch vụ giao nhận thông tin tin cậy cho những lớp hay loại lưu lượng nào đó mà không quan tâm tới các loại lưu lượng khác đang cùng ở trong mạng. Tuyến đường mà gói phải đi qua để đến đích là một chuỗi các tuyến link và nút mạng (router hoặc switch). Do đó vấn đề trước tiên phải quan tâm là quá trình lưu và chuyển gói tại các nút mạng diễn ra như thế nàọ
Với một route truyền thống điều quan tâm nhất của nó là cần gửi gói đi đâụ Quyết định chuyển gói dựa trên địa chỉ đích của mỗi gói và thông tin trong bảng định tuyến của rout r. Nhưng những router cần cho mạng có đảm bảo chất lượng dịch vụ thì phải điều khiển thời điểm gửi gói tức là quan tâm khi nào cần gửi góị Sau đây ta x m xét sâu hơn những thành phần của router ảnh hưởng tới thời điểm chuyển góị Mỗi router là một điểm hội tụ hay phân kì của một góị Trong phần lớn các mạng, lưu lượng đến theo từng đợt thay đổi thất thường. Rất hay xảy ra trường hợp nhiều đợt gói đến từ các tuyến vào khác nhau đến cùng một tuyến ra (mà bản thân tuyến ra chỉ có dung lượng hữu hạn) làm cho router nhận được số gói vượt quá khả năng phân phát tức thời của nó. Ví dụ lưu lượng hội tụ từ nhiều tuyến Ethernet 100Mbps dễ dàng vượt quá dung lượng 155Mbps/STM-1 của tuyến rạ Để đối phó với trường hợp này, tất cả các rout r đều có các bộ đệm bên trong (các hàng đợi-queues) để lưu trữ những gói thừa khi chúng có thể được chuyển . Khi đó các gói này sẽ chịu thêm độ trễ, hay có thể nói router chịu mọt sự ứ nghẽn tức thờị Trễ của gói từ nguồn tới đích bao gồm nhiều thành phần nhưng phần trễ do bộ đệm kể trên rất thất thường, nó thay đổi ngay cả giữa các gói tới đích.
Ngoài ra khi hết dung lượng bộ đệm thì gói đến phải bị huỷ và tỉ lệ mất gói cũng là một yếu tố không thể kiểm soát được. Với các hàng đợi vào trước- ra trước sẽ không có các cơ chế để phân tách các loại lưu lượng khác nhau, lưu lượng này sẽ ảnh hưởng tới chất lượng dịch vụ của lưu lượng kia khi vượt qua cùng một hàng đợị Một số loại lưu lượng (như những kết nối TCP truyền điện tử-email) chịu được trễ tốt hơn việc mất gói thì muốn các hàng đợi dàị Tuy nhiên có những loại (như UDP mang tín hiệu voice) muốn hàng đợi càng ngắn càng tốt, những gói bị giữ lâu (trễ lớn) nên được huỷ bỏ vì không còn cần thiết nữa .
Cổng ra M Hàngđợi FIFO . . . . . Cổng 1 Cổng n
Chiều dài L gói
Để giải quyết vấn đề trên người ta đưa ra cơ chế Classification, Queuing, Scheduling (CQS). Thay vì chỉ có một hàng đợi phục vụ cho mọi loại lưu lượng, người ta sử dụng nhiều hàng đợi (với dung lượng và chính sách huỷ gói khác nhau) phù hợp với yêu cầu chất lượng dịch vụ của từng lớp lưu lượng cần phục vụ. Classification thực hiện phân loại gói và chỉ định hàng đợi phù hợp cho từng góị Các hàng đợi vẫn phải chia sẻ cùng một dung lượng tuyến ra (output link) hữu hạn, cần một cơ chế đặt ra lịch phục vụ (Scheduling) từng hàng đợi (để chuyển gói từ các hàng đợi ra outputlink). Các rout r như vậy gọi là kiến trúc CQS.
Hình 2. 2. Classify, Queue, Schedule trong router
Kiến trúc CQS bao gồm ba phần chính là:
Phân loại
Quản lý hàng đợi
Lập lịch
Nội dung của phần lập lịch sẽ được xét trong chương 3.
2.2. Các chức năng của kiến trúc CQS
2.2.1. Định hình lưu lượng
Với kiến trúc CQS cho phép chia tách, không cho các loại lưu lượng ảnh hưởng sang nhaụ Qua đó cũng thực hiện được sự ưu tiên với các loại lưu lượng cần chất lượng dịch vụ caọ Tuy nhiên cần đặt ra những giới hạn để các loại lưu lượng không được ưu tiên vẫn có được chất lượng dịch vụ tối thiểu cũng như đảm bảo băng thông cho những loại được ưu tiên khi tải trong mạng lớn.
Đặt ra các giới hạn băng thông cho một lớp lưu lượng được gọi là định hình lưu lượng (traffic shaping). Đây là một chức năng trong kiến trúc CQS. Nó kết hợp với chức năng lập lịch (sch duling) để qui định mức tần xuất phục vụ với từng hàng đợi hoặc khoảng thời gian giữa hai lần lấy gói ra ở cùng một hàng đợị Định hình lưu lượng cung cấp một cơ chế điều khiển lưu lượng tại một giao diện cụ thể. Nó giới hạn lưu lượng thông tin đi ra khỏi giao diện để tránh làm mạng bị tắc nghẽn bằng các ràng buộc tốc độ thông tin đi ra ở một tốc độ bit cụ thể đối với từng loại lưu lượng tránh trường hợp tốc độ bit tăng đột ngột.
Cổng ra M Hàngđợi . . . . . Cổng 1 Cổng N Hàngđợi Hàngđợi . . . Phân loại (Classify)
Hình 2. 3. Cơ chế traffic shaping trong router
Ta có thể hình dung cơ chế định hình lưu lượng như khi chúng ta dùng phễu để rót nước vào bình hoặc chaị Dùng ca múc nước vào phễu theo từng đợt nhưng nước chảy vào chai từ từ, ổn định nên ta dễ dàng kiểm soát được lượng nước trong chai để không bị tràn. Phễu cổ to thì nước chảy nhanh, cổ nhỏ thì chạy chậm. Nếu lúc nào cũng có nước trong phễu thì nước chảy vào trong chai là một dòng liên tục với tốc độ ổn định
Hình 2.4. Minh hoạ cơ chế định hình lưu lượng
2.2.2. Hợp đồng lưu lượng
Khi có quá nhiều gói đến trong một khoảng thời gian ngắn, thì việc huỷ gói là không thể tránh khỏị Nhưng việc huỷ gói phải tuân theo một số hợp đồng (policy). Quá trình này được gọi là traffic policing. Giống như định hình lưu lượng, policing cũng là một công cụ giới hạn tốc độ bit (rate-limiting tool) tạm dịch là kiểm soát lưu lượng. Chính sách huỷ gói có thể là đơn giản huỷ những gói mới đến khi không còn chỗ trong hàng đợi (queue) hay phức tạp hơn là có quan tâm tới thuộc tính của gói bị huỷ, đặc điểm của loại lưu lượng .
2.2.3. Phân mảnh hàng đợi
Đôi khi bộ lập lịch của một router thực hiện chèn lưu lượng một cách đơn giản tại mức gói tin IP. Bộ lập lịch có khả năng chèn lưu lượng của mỗi gói có thể được kết nối từ bên ngoài một cách nhanh chóng vào các hàng đợi khác nhaụ Với các kết nối tốc độ cao (như các kênh SONET hoặc SDH tốc độ 155Mb/s) một gói tin IP 1500 byte
1 2 3 4 Góiđến . . . . . Hàngđợi Cổng 1 Hàng được định hình
Ít nhất Tgiây giữa hai lần
Cổng M Schedule
1 2 3 4
có thể truyền dẫn trong khoảng nhỏ hơn 80ms. Điều này cho phép bộ lập lịch chia băng thông của liên kết thành các kh có độ dài 80ms-một con số rất hợp lý, và nó có thể tách 20ms cho các kênh có tốc độ 622Mb/s(OC-12 hoặc STM-4). Dù sao, tại mức biên của mạng Int rn t cũng có nhiều kết nối được vận hành với tốc độ 1Mb/s hoặc chậm hơn. Gói tin IP 1500 byt chiếm 94ms để truyền dẫn với tốc độ kết nối là 128Kb/s, và việc đóng khối kết nối được hoàn thành trong thời gian nàỵ Bất chấp mọi sự ảnh hưởng của biến động trễ, lưu lượng được phân loại vào các hàng đợi khác nhau, các gói đó sẽ chịu jitter là 94ms khi bộ lập lịch giữ các gói 1500 byte từ một hàng đợi khác. Rõ ràng điều này đặt ra một số vấn đề nếu các ứng dụng bị ảnh hưởng bởi QoS được cung cấp bởi khía cạnh xa hơn của các kết nối truy nhập tốc độ thấp. Cách giải quyết cơ bản là tiến hành thêm các đoạn của các gói IP tại các mức kết nối trong một lớp IP riêng biệt. Kiến trúc CQS được ứng dụng tại các mức kết nối bằng các mảnh hàng đợi chứa các gói lớn hơn, vì thế cho phép bộ lập lịch có thể chèn vào tại các đường ranh giới của đoạn. Điều này được mô tả như hình vẽ:
Hình 2.5. Phân đoạn trước bộ lập lịch 2.3. Đánh dấu và sắp xếp lại
Mặc dù định hình có thể là một giải pháp tinh vi để làm giảm sự bùng nổ lưu lượng nhưng các chính sách đơn giản lại là một công cụ không nhạy bén. Một số giá trị thay đổi được đưa ra có thể làm giảm hiệu quả của chính sách định tuyến ở router biên. Chính sách tại mỗi node có thể được lựa chọn chỉ để đánh dấu các gói (đúng hơn là loại bỏ chúng ngay lập tức) nếu chúng vượt quá ngưỡng tràn. Các router tiếp theo sẽ thừa nhận rằng các gói đã bị đánh dấu và chúng có độ ưu tiên thấp hơn so với các gói không bị đánh dấụ Nếu tắc nghẽn tạm thời làm đầy các hàng đợi trong router lõi, thuật toán quản lý hàng đợi có thể bắt đầu tách các gói đã bị đánh dấu trước khi tách các gói không bị đánh dấụ Khi thêm thiết bị lọc, các chính sách ở node gốc có thể sẽ bổ sung thêm ngưỡng bùng nổ kép (một ngưỡng cao và một ngưỡng thấp), nếu một gói bùng nổ vượt quá ngưỡng thấp, các gói đến sau bị đánh dấu và được truyền đi, nếu bùng nổ tiếp tục và vượt quá ngưỡng bùng nổ cao các gói sẽ bị tách khỏi hàng đợị Chính sách tại các node phải bổ sung các mức của tốc độ gói đến trung bình “cho phép”-tốc độ này thấp hơn tốc độ của các gói đã được xác định là không bị đánh dấu và cao hơn
Cổng N Phân loại(Classify) Đoạn hàng đợi Đoạn hàng đợi . . . Schedule Cổng tốc độ thấp Đoạn hàng đợi P H Â N M Ả N H G Ó I . . . . . Cổng 1
ngưỡng mà các gói có thể bị tách.
Nhiều thuật toán có thể được đưa ra để cung cấp các mức được đánh dấu và tính toán giá trị ngưỡng. Dù sao người thiết kế mạng đặt ra kế hoạch sử dụng lưu lượng bị đánh dấu ở biên cũng cần cẩn thận khi lựa chọn các router lõị Mối quan tâm chính là khả năng sắp xếp lại các gói bị đánh dấu và không bị đánh dấu trong lớp lưu lượng. Giải pháp này có thể xảy ra nếu router lõi sử dụng hai hàng đợi riêng biệt cho các gói bị đánh dấu và các gói không bị đánh dấụ Điều này được mô tả như trong hình vẽ:
Hình 2.6. Các hàng đợi cho các gói đánh dấu và không đánh dấu
Vì các gói bị đánh dấu có độ ưu tiên thấp nên khi thực hiện phải lựa chọn để đảm